比如我在一个文本文件asc.txt中写一行如下的字符串: abc\x64e\x66g 其中\x64和\x66是字母d和f的ASCII码

2020-07-15 社会 83阅读
问题出在getc这个函数上,其实getc并不是大多数人想象的那样返回的是一个char类型的数据
实际上它的返回值是int型,也就是占4个字节,用char来装它的时候会出现溢出
所以正确的方式应该是
int i;
char c;
i = getc(fp);
c = i&0xff;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com