Windows与Linux文件输入的字符串长度不同,但stdin strcmp不起作用
问题太长了。这是解决办法 解决方案: 当试图“仅”获取没有任何特殊字符(如\n或\r\n)的行时 然后在字符串(char*type)中循环,直到您点击\r或\n,以便它在Windows和其他Linux机器之间稍微交叉兼容 可能代码: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
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。看起来字符串的第一部分搞乱了,而字符串的第二部分甚至没有出现。