CODE#1:C编程中的文件处理:下面两个代码有什么区别?
#include<stdio.h>
void main()
{
FILE *fp;
char ch;
fp=fopen("1.txt","r");
while((ch=fgetc(fp))!=EOF)
{
printf("%c",ch);
}
fclose(fp);
}
代码#2:
#include<stdio.h>
void main()
{
FILE *fp;
int ch;
fp=fopen("1.txt","r");
while((ch=fgetc(fp))!=EOF)
{
printf("%c",ch);
}
fclose(fp);
}
在这里,在CODE#1变量CH为下的字符数据类型中声明的,而在 CODE#2它下整数数据类型中声明,我的问题是两个代码的输出如何相同?我们如何比较字符(存储在代码#1中的ch变量中)与整数值(由EOF返回)?如何将整数值存储在ch变量(整数数据类型)中并打印在CODE#2中?
现在有了一个包含字符十六进制'0xFF'文件运行这个程序,突然两个代码的输出是不一样的。 –
保存与0xFF 1.txt文件,然后通过使用上面的代码#1和代码#2我得到相同的输出。请你详细说明你的答案吗? – Vinu