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
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.