使用C ++读取和解析文本文件

时间:2016-04-24 19:56:30

标签: c++

我无法理解如何读取文本文件的行,然后将每行分成整数和字符串。这是我的read.txt的样子:

ID   Name 
1234 name1
ID   Name  
5678 name2 
9101 name3
ID   Name 
1121 name4 
3141 name5

我通过检查该字符串的每一行来跳过标题“ID Name”。

编辑(我将代码更改为此代码并且值似乎已存储)。

ofstream write2 ("write2.txt");
ifstream infile ("read.txt");
string header = "ID   Name";
string strVal;
string str;
int intVal;
vector <int> ID;
vector <string> NAME;

if ( infile.is_open() )
{
    while ( !infile.eof() )
    {
        getline(infile, str);
        istringstream ssin(str);

        ssin >> intVal >> strVal;
        ID.push_back(intVal);
        NAME.push_back(strVal);

    }
}

for ( int i = 0; i < (int)ID.size(); i++ )
    cout << endl << NAME[i] << "\t" << ID[i] << endl;

这些值现在存储在我的向量中,但我不完全理解为什么stringstream以它的方式工作。

0 个答案:

没有答案