Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows与Linux文件输入的字符串长度不同,但stdin strcmp不起作用_C_Linux_Windows_Strlen_Calloc - Fatal编程技术网

Windows与Linux文件输入的字符串长度不同,但stdin strcmp不起作用

Windows与Linux文件输入的字符串长度不同,但stdin strcmp不起作用,c,linux,windows,strlen,calloc,C,Linux,Windows,Strlen,Calloc,问题太长了。这是解决办法 解决方案: 当试图“仅”获取没有任何特殊字符(如\n或\r\n)的行时 然后在字符串(char*type)中循环,直到您点击\r或\n,以便它在Windows和其他Linux机器之间稍微交叉兼容 可能代码: for (i = displacement; i < strlen(line) && line[i] != '\r' && line[i] != '\n'; i++) { newString[i - displaceme

问题太长了。这是解决办法

解决方案:

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

可能代码:

for (i = displacement; i < strlen(line) && line[i] != '\r' && line[i] != '\n'; i++) {
    newString[i - displacement] = line[i];
}
for(i=displacement;i
从文件读取时,fgets最多读取\n行终止符(包括)

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

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


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

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

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

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


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

请参见编辑1。看起来字符串的第一部分搞乱了,第二部分甚至没有显示。请参见编辑1。看起来字符串的第一部分搞乱了,而字符串的第二部分甚至没有出现。