小C问题,感谢您的帮助:
文件的第一行是:
“加A”
它下方有更多的线条。
我正在使用fgets从文件中读取第一行:
char str [500];
fgets(str,sizeof(str),filePointer);
由于fgets在换行符char处停止,我将不需要的换行符替换为'\ 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]
...
谢谢!
答案 0 :(得分:3)
您的文件可能会使用\r\n
行结尾(也就是Windows行结尾),因此您会留下一个尾随\r
。
同样杀死\r
,你应该完成。