Voici le code Je veux prendre l'entrée du fichier et compter le nombre de caractères dans chaque ligne, mais il s'arrête à la première ligne elle-même.
#include<stdio.h>
int main(){
FILE *instream;
int c;
char in;
int linenum = 1;
int charcount = 0;
if ((instream = fopen("in.txt","r+")) == NULL) {
printf("Unable to open file3\n");
return(0);
}
while ((c = fgetc(instream)) != EOF ){
if(c == '\n') {
printf("%3d: %d\n",linenum,charcount);
linenum++;
charcount = 0;
}
else{
charcount++;
}
}
fclose(instream);
}
Voici le format du fichier
abcdef
mnopqr
Et la sortie
1: 6
Mais ce que j'attendais était
1: 6
2: 6
Comment puis-je faire cela en utilisant getc ? J'ai vu beaucoup de réponses sur le fait que getc se comporte différemment lors de la rencontre de ' \n mais ils semblent trop différents de ce que je veux.