如何将不同长度的数据读入2d数组?

时间:2017-12-28 19:23:26

标签: c++ arrays

作为标题,我怎样才能将不同长度的数据读入2d数组? 我知道每行数据长度的上限。 像..

5 6 9 8 4

5 4 9 5 6 5

1 2 3

4 5

我想将这些数据输入到2d数组的每一行,但c ++的cin将跳过输入,即' \ n'

所以下面的方法不起作用

for(int i=0; i<m; i++)
{
 int ch=0;
 while( (cin >> ch)!='\n' )
 {   
  element[i][ch] = true;
 }
}

所以,我怎么能解决这个问题呢? 或者,我怎么能区分&#39; \ n&#39;?让我的&#34;而#34;我知道 。 很多。

1 个答案:

答案 0 :(得分:1)

使用std::stringstream将一行读入字符串。从中创建std::string line; int row = 0; while(std::getline(cin, line)) { std::stringstream linein(line); int num; int col = 0; while (linein >> num) { element[row][col++] = num; } row++; } ,然后将每个数字读入数组元素。

AppComponent