如何读取整数直到行尾?

时间:2017-03-07 17:15:31

标签: c++ input

我试图在图表上做bfs,给出一个邻接列表。 这是一个示例输入。

1 2 3
2 4
1
2 3 4

我知道行数,n(验证数)。 每行包含0到n-1个整数。

这是一次尝试,但它不起作用,因为它读取所有整数直到输入结束。

 for(i=0;i<n;i++)
{
   while(cin>>v)
   {insert(i,v);}
}

我想分别处理每一行。 在搜索时,我找到了向量和stl的答案。如果有人能想出一个更优雅的解决方案,那将会很好。

感谢。

1 个答案:

答案 0 :(得分:4)

首先,使用getline读取一行:

string line;
getline( cin, line );     // should be error handling here

然后,使用istringstream读取行中的整数:

istringstream is( line );
int n;
while( is >> n ) {
  // do something with n
}