从文本文件中读取,存储数据C++的最佳方法

Har*_*vey 3 c++ file input tryparse

基本上我有一个文本文件,我需要读入值,以便程序可以操作它们.

我使用C++,我已经编写了工作代码来判断文件是否存在.

文本文件的格式如下:

1    7
8    10
20   6
3    14
...
Run Code Online (Sandbox Code Playgroud)

左边的值是X值,右边的值是Y值.(中间的空格是一个选项卡)如何提取此数据?说把它们传递给像这样的班级......

myVector(X,Y);
Run Code Online (Sandbox Code Playgroud)

另外,我想在我可以在类中使用它之前我必须将TryParse从字符串更改为int对吗?C++可以这样做吗?

谢谢!

lpa*_*app 6

如果我是你,我会写这样的东西.注意,这只是原型代码,甚至没有经过测试.

基本思想是在一行中读取两次,但使用不同的分隔符.您将首先使用制表符分隔符进行读取,然后仅使用默认行结束.

当你没有更多要阅读的内容时,你需要确保优雅地退出循环,因此如果你的文件是"正确的",那么第二个就足够了.

您还需要确保转换为矢量类所需的正确类型.我假设这是int,但如果它是字符串,则不需要我已经实现的转换.

#include <string>
#include <fstream>

using namespace std;

void yourFunction()
{
    ..
    ifstream myfile("myfile.txt");
    string xword, yword;
    while (1) {
        if (!getline(myfile, xword, '\t'))
            break;
        if (!getline(myfile, yword))
            break;
        myVector.push_back(stoi(xword), stoi(yword));
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)