说,我在文本文件上有这个
1 15
2 20
3 25
4 30
5 35
如何拆分它们以便将第一列存储在矢量x上,第二列存储在矢量y中?
答案 0 :(得分:1)
我从最简单的解决方案开始,然后逐步将其细化为使用流迭代器等。然后,您将了解C ++(模板)库的强大功能。
的伪代码:
Open file
Declare vectors x and y
while ( not end-of-file )
{
int tmp1, tmp2;
stream into tmp1 and tmp2
check stream status for format violations
add tmp1 to x, add tmp2 to y
}
答案 1 :(得分:0)
假设您的数据干净且您知道如何打开文件:
while(std::cin >> x >> y){
vectorx.pushback(x);
vectory.pushback(y);
}
std::cin
不会读取空格。只要数据具有可预测的组织且您知道数据类型,就可以使用std::cin
从文件中读取数据。否则,您可能需要考虑使用std::getline()
,例如。