main()
{
FILE *fp;
char c;
int count=1;
fp=fopen("D:\file.txt","r");
printf("%d ",count);
c = fgetc(fp);
while(c!=EOF)
{
if(c=='\n')
{
count++;
printf("\n%d",count);
}
putchar(c);
c=fgetc(fp);
}
fclose(fp);
}
質問する
144 次
1 に答える
2
また、ファイルから読み取ったばかりの改行を印刷しています。
変化する
if(c=='\n') {
count++;
printf("\n%d ",count);
}
putchar(c);
に
if(c=='\n') {
count++;
printf("\n%d",count);
} else {
putchar(c);
}
または、行番号を印刷するときに改行を印刷しないでください。
putchar(c);
if(c=='\n') {
count++;
printf("%d ",count);
}
あなたも変更する必要があります
char c;
に
int c;
getchar()はintを返し、EOFはcharで表すことができない値です。
于 2012-09-02T09:51:43.210 に答える