如何读取整数直到线结束

How to read integers till end of line?

本文关键字:线结 结束 整数 何读取 读取      更新时间:2023-10-16

我正在尝试在图形上进行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的答案。如果有人能提出更优雅的解决方案,那就太好了。

谢谢。

首先,使用getline阅读一行:

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

然后,使用Isringstream从行中读取整数:

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