C++ 如何读取整数直到行尾?
我试图在图上做bfs,给定一个邻接列表。 这是一个示例输入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的答案。如果有人能想出一个更优雅的解决方案,那就
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以证明这一点。