返回信息流今天在网上http://hi.baidu.com/westsand/blog/item/f0db997e77284d3b0dd7da10.html看到一段代码(经过稍微修改):
int main(void){
FILE *fpin;
char ch;
if((fpin=fopen("H:\\eof.txt","r"))==NULL)
{ printf("Cann't open this file!\n");
exit(0);}
ch=fgetc(fpin);
while (ch!=EOF)
{ putchar(ch);
ch=fgetc(fpin);}
printf("\n%x",ch);
fclose(fpin);
}
当然,我认为红色处是错的,因为EOF是不同于任何一个字符(在stdio.h中定义为-1),而ch是char类型,只有8位,不可能放下32位的0xffffffff。
但是奇迹般的运行成功。
而且把ch打印出来却是ffffffff.
为什么char可以容下32位?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #22525同步于 2007/11/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
关于char类型与EOF
yejiji
2007/11/27镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复