关于c语言fgetc()函数


为什么用 putchar(fgetc(fp)); 读取文件会返回乱码?

代码:
</coding>#include <stdio.h>
int main() {
char ch;
FILE *fp;

if((fp = fopen("text.txt", "r")) != NULL) {
while((ch = fgetc(fp)) != EOF){
putchar(fgetc(fp));
}
}else
{printf("fail to open! \n");}
fclose(fp);
return 0;
}

c 编程语言

wfwfwf 12 years, 6 months ago
   
  putchar(fgetc(fp));//错误,修改为putchar(ch)
 

在while循环中已经获取了所要打印的字符,打印的时候又从新获取了下一个,相当于丢掉了一半的字符。到最后一个获取时出错了。

NStal answered 12 years, 6 months ago

Your Answer