c ++如何从文本文件中将一行拆分为两行,然后将每行存储到两个不同的数组中?

时间:2015-02-07 13:23:57

标签: c++ vector

说,我在文本文件上有这个

1   15
2   20
3   25
4   30
5   35

如何拆分它们以便将第一列存储在矢量x上,第二列存储在矢量y中?

2 个答案:

答案 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(),例如。