Conter le nombre de ligne, de caracteres et de mots dans un fichier [code en c] [gcc]

Contenu du snippet

Ici nous allons voir, comme le titre l'indique, comment compter le nombre de mots, de lignes et de caractere contenu dans un fichiers

Source / Exemple :


#include <stdio.h>

#define DEDANS /*a l'interieur d'un mot*/
#define DEHORS /*a l'exterieur d'un mot*/

main(int argc, char *argv[])
{
	int c, nl, nm, nc, etat;	//declaration des variables

	etat = DEHORS;			
	nl = nm = nc = 0;		//toutes initialisees a 0

	FILE *fic;
	fic = fopen(argv[1], "r");	//ouvre le fichier en lecture seule

	while(!feof(fic))	//tant que je suis pas a la fin du fichier
	{
		c = fgetc(fic);		 
		++nc;			//incremente nc, donc nc + 1
		if(c == '\n')		//Si je suis a la fin de la ligne donc nouvelle ligne et j'incremente alors nl
			++nl;
		if(c == ' ' || c == '\n' || c == '\t')  //Si je suis pas dans un mot je suis don dehors 
			etat = DEHORS;    //alors on change l'etat
		else if(etat == DEHORS)   //Si l'etat est egal a dehors ca veut dire un nouveau mot
		{
			etat = DEDANS;	  //donc on revient dans l'etat dedans
			++nm;		  //et on incremente donc nm
		}
	}
	printf(\nNombre de ligne: "%d\nNombre de mot: %d\nNombre de caracteres: %d\n", nl, nm, nc);  //Affichage du resultat
}

Conclusion :


Execution du programme:
programme fichier.txt

A voir également

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.