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 回答