试图查看论坛但无法重新访问。
我正在尝试阅读文本。文字是: “给 b”
但是在使用 fgetc() 时,没有达到 EOF,最后我得到 '\n',然后是无穷大的 'y' 样本。
这是我的代码:
Node* getBinTree(FILE *fsrc){
Node* root=NULL;
unsigned char tmp=NULL;
while ((tmp=fgetc(fsrc))!=EOF)
globalArray[tmp]++;
return root;
非常感谢
最佳答案
您遇到的问题与fgetc
返回的内容有关。返回类型是 int
但您将其存储到 unsigned char
中。
您必须将其更改为 int
,或者使用 feof
来检查文件结束条件。
关于eof - fgetc() 不会在 EOF 中停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30139937/