2013-10-14 26 views
1

問題太長了。這是解決方案。不同的字符串長度從Windows與Linux輸入文件但不是stdin strcmp不起作用

解決方案:

當試圖讓「只是」行沒有任何特殊字符,如\ n或\ r 然後通過字符串(字符*類型)的循環,直到你打要麼\ R或\ n,以便它在Windows和其他Linux機器之間輕微交叉兼容。

可能的代碼:

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

回答

1

從文件讀取時,與fgets最多讀取成\ n行結束(它包括)。

在Windows下,從文本文件中讀取的一行以\ r \ n結尾。

在Unix下,從文本文件中讀取的行僅以\ n結尾。

所以在Windows下,你會希望fgets讀取的字符串長1個字節。

+0

請參閱編輯1.它看起來像字符串的第一部分被搞砸了,字符串的第二部分甚至沒有出現。 – donkon

相關問題