一个小C问题给你,感谢你的帮助:
文件的第一行是:
“添加A”
下面有更多线条。
我正在使用 fgets 读取文件的第一行:
char str [500];
fgets(str,sizeof(str),filePointer);
由于 fgets 在换行符处停止,我用 '\0' 替换不需要的换行符:
char *p;
if ((p = strchr(str, '\n')) != NULL)
*p = '\0';
现在如果我这样打印 str:
printf("DEBUG: str:=[%s]\n",str);
为什么我会得到这样的蹩脚输出:
]EBUG: str:=[add A
而不是:
DEBUG: str:=[add A]
??
谢谢!!
最佳答案
您的文件可能使用 \r\n
行结尾(又名 Windows 行结尾),因此您留下了尾随 \r
。
同时杀死\r
,你就应该完成了。
关于c - 使用 fgets 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18806372/