首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符保存EOF,该如何处理

2012-05-27 
字符保存EOF我们知道EOF(-1)是一个整数,但是如果我们用有符号字符型如ch保存他,这样ch中将保存0xff,之后我

字符保存EOF
我们知道EOF(-1)是一个整数,但是如果我们用有符号字符型如ch保存他,这样ch中将保存0xff,之后我们有以下判断:
if(EOF == ch) //ch为有符号数,转换成整数时进行符号扩展编程0xffffffff,这样这个判断也能成立。我想问的是用“有符号”字符型(不是无符号)保存EOF有什么潜在危险??

[解决办法]
EOF是由系统库来定义的,可能定义为-1,也有可能不是呢。潜在危险不清楚,我觉得如果你用0xff表示的话就不具有可移植性了。
[解决办法]
危险就是当你真的从文件里面读出一个字节0xff的时候你会误以为EOF了。

热点排行