Compter le nombre de caractères

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 933 fois - Téléchargée 39 fois

Contenu du snippet

C'est un code qui permet de compter le nombre de caractères dans un fichier.

Il liste les caractères (32 à 126) et marque combien de fois ils se trouvent dans le fichier.

Pratique et apprend la lecture d'un fichier tableau...

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>

///////////// LE NOMBRE DE CARACTERES ////////////////

int file_exists(char *filename);

main()
{
		char ch, source[80];
		int index;
		long count[127];
		FILE *fp;

		fprintf(stderr, "\nEntrez le nom du fichier source : ");
		gets(source);

		if(!file_exists(source))
		{
			fprintf(stderr, "\n%s n'existe pas.\n\n", source);
			exit(1);
		}
		else
		{
				
			if ((fp = fopen(source, "r")) == NULL)
			{
				fprintf(stderr, "\nErreur d'ouverture de %s en mode r.\n\n", source);
				exit(1);
			}

			for (index = 31; index<127; index++)
			{
				count[index] = 0;
			}

			while(1)
			{
				ch = fgetc(fp);
				if(feof(fp))
				{
					break;
				}

			if(ch > 31 && ch < 127)
				count[ch]++;
			}	

			printf("\nChar\t\tCount\n");
			for (index=32; index<127; index++)
				printf("[%c]\t\t%d\n", index, count[index]);

			fclose(fp);
			return(0);
		}
}

int file_exists(char *filename)
{
		FILE *fp;
			if((fp = fopen(filename, "r")) == NULL)
			{
				return 0;
			}
			else
			{
				fclose(fp);
				return 1;
			}
}

Conclusion :


Amusez-vous bien ! :))

A voir également

Ajouter un commentaire

Commentaires

DolfinCry
Messages postés
25
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
7 octobre 2002
-
Tant qu'a moi cela ressemble plus a un code de niveau 1 mais bon, si ca te fais plaisir de penser que tu es un pro. Prend le pas mal, c'est bien comme script mais pas pour ce niveau, crois moi...
elendilm
Messages postés
21
Date d'inscription
mardi 23 juillet 2002
Statut
Membre
Dernière intervention
14 août 2002
-
donc du coup.. pour tester l'existence de ce fichier... tu dois faire 2 fopen .........
trop lol!!!!! ta reflechis en ecrivant ? (je veux pas etre mechant..) mais bon..

ta jamais lu que fopen retourne NULL si le fichier existe pas?
d'ailleurs.. avec ce source.. tu laisse 1 pointeur non liberé a la fin de l'execution.. l e pointeur FILE *fp .. qui n'est pas declaré static, ni liberé qd le fichier existe.....!



t'aurai ptetre du mettre
if (fopen(source,"r") == (FILE *) NULL)
{
// PB
}
else
{
// TU FAIS TON PROG
}

c + propre non??
cs_nEUrOne
Messages postés
41
Date d'inscription
dimanche 17 novembre 2002
Statut
Membre
Dernière intervention
14 avril 2004
-
c koi l'interet d'un code de ce style ?

elendilm> tout à fait d'accord de plus.
mais en remplacant ton code par:

if ((fp fopen("src","r")) (FILE *)NULL)
{
//
}
else
{
//
}

en plus, là tu peux lire :D
delafontaine
Messages postés
1
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
8 mai 2003
-
l'intérêt de ce script est de permettre aux débutant de se retrouver dans les méthodes d'ouverture de fichiers; car j'aimerais utilisé FmOpenRead, mais je ne sais pas comment l'ouvrir
cs_firemax
Messages postés
24
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
19 août 2005
-
Je suis debutant et pourtant je ne vois pas ce que fais ce code ici :s

Il n'y a rien d'expert la dedans..

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.