我想從Linux/Mint上的txt文件獲取輸入數據。因此,在編譯代碼之後,我運行以下命令:./a.out output.txt 我需要填充一個二維數組,但像一個鋸齒形數組(每行中的列數不同)。所以我想通過查看字符從文件中讀取什麼來分割它。如果字符是'\ n',我想填寫第二行。但我想我無法讀取'\ n'字符。我希望我能解釋這個問題。 我在寫代碼,也許它會更清晰。如何從輸入文件中獲取字符' n'?
我input.txt的文件是:
我的C++代碼的部分是用於獲取輸入:
for (int i = 0; i<n; i++) {
char ch;
cin >> ch;
int j = 0;
while (ch != '\n') {
arr[i][j] = ch;
cin >> ch;
j++;
}
}
我想的是,如果字符是等於「\ n '然後程序繼續填充數組到下一行。
arr[0][0] = 'a';
arr[0][1] = 'f'
arr[0][2] = 'h'
arr[1][0] = 'b'
arr[1][1] = 'e'
arr[1][2] = 'g'
arr[2][0] = 'c' .......)
['getline'](http://www.cplusplus.com/reference/istream/istream/getline/)讀,直到線 – user463035818
不的端部太清楚你想要什麼,但爲什麼不使用std :: get()。 –
我強烈建議你使用'std :: ifstream'來輸入文本文件,而不是'std :: cin'。正如之前所評論的,'getline'是讀取輸入文件的好選擇。 – EuGENE