Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何读取整数直到行尾?_C++_Input - Fatal编程技术网

C++ 如何读取整数直到行尾?

C++ 如何读取整数直到行尾?,c++,input,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);} } for(i=0;i>v) {插入(i,v);} } 我想分别处理每一行。 通过搜索,我找到了向量和stl的答案。如果有人能想出一个更优雅的解决方案,那就

我试图在图上做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);}
}
for(i=0;i>v)
{插入(i,v);}
}
我想分别处理每一行。 通过搜索,我找到了向量和stl的答案。如果有人能想出一个更优雅的解决方案,那就太好了


谢谢。

首先,用getline阅读一行:

string line;
getline( cin, line );     // should be error handling here
然后,使用istringstream从行中读取整数:

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

首先,使用getline阅读一行:

string line;
getline( cin, line );     // should be error handling here
然后,使用istringstream从行中读取整数:

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

使用标准库有什么不雅观的地方?使用它应该使代码大约有4行。“这是一个尝试,但它不起作用,因为它读取所有整数直到输入结束。”-不正确。发布一个MCVE来证明这一点。使用标准库有什么不优雅的地方?使用它应该使代码大约有4行。“这是一个尝试,但它不起作用,因为它读取所有整数直到输入结束。”-不正确。发布MCVE以证明这一点。