1

问题太长了。这是解决方案。

解决方案:

当试图获取“只是”没有任何特殊字符(如 \n 或 \r)的行时,然后循环遍历字符串(char* 类型)直到你点击 \r 或 \n 以便它在 Windows 之间稍微交叉兼容和其他 Linux 机器。

可能的代码:

for (i = displacement; i < strlen(line) && line[i] != '\r' && line[i] != '\n'; i++) {
    newString[i - displacement] = line[i];
}
4

1 回答 1

1

从文件读取时, fgets 最多读取 \n 行终止符(它包括)。

在 Windows 下,从文本文件中读取的行以 \r\n 结尾。

在 Unix 下,从文本文件中读取的行仅以 \n 结尾。

因此,在 Windows 下,您希望 fgets 读取的字符串长 1 个字节。

于 2013-10-14T03:23:24.683 回答