Salut,
j'ai trouvé ce code source sur votre site je n'arrive pas a le compiler avec visual c++ 6.0
#include <stdio.h>
#define DEDANS 1
#define DEHORS 0
int main(int argc, char *argv[])
{
FILE *fichier; /*Declaration du flux*/
int c, nl, nm, nc, etat; /*nl = nb de lignes, nc = nb de caractere et nm =
nb de mots*/
etat = DEHORS;
nl = nm = nc = 0; /*Initialise tout a 0*/
fichier = fopen(argv[1], "r"); /*Ouvre le ficheir passer en argument*/
while(!feof(fichier)) /*tant que l'on est pas a la fin du fichier*/
{
c = fgetc(fichier); /*recuperation caractere par caractere*/
++nc; /*donc on incremente nc (nc=nc+1)*/
if(c == '\n') /*Si c = \n c'est que l'on est a la fin d'une ligne
++nl;*/ /*donc on incremente nl (nl=nl+1)*/
if(c == ' ' || c == '\n' || c == '\t') /*si on est dans un espace a la
fin d'une ligne ou dans une tabulation on est pas dans un mot*/
{
etat = DEHORS; /*donc on change l'etat et passe donc a l'etat = dehors*/
}
else if(etat == DEHORS) /*si non si l'etat est dejas = dehors*/
{
etat = DEDANS; /*on passe a etat = dedans (on est dans un mots)*/
++nm; /*donc un nouveau mots alors on incremente nm (nm=nm+1)*/
}
}
nm--; /*Il faut decrementer nm pour eviter d'afficher un mot de trop car a la
fin du fichier la boucle s'arrete et donc pas de verification de l'etat, donc
on decremente (nm=nm-1)*/
nc-=2; /*et pour les memes raison on decrement nc de 2 (nc=nc-2)*/
printf("Nd de lignes: %d\nNb de mots: %d\nNb de caracteres: %d\n", nl, nm,
nc); /*Affichage du resultat*/
}
cordialement