c ++读取文本文件并将其存储到矢量中

时间:2013-10-20 13:40:13

标签: c++

我目前正在尝试读取此格式的文本文件(item.txt) 的itemId:itemDescription:itemCategory:itemSubCategory:amountPerUnit:itemQuantity:日期 我想要的是读取文本文件并根据我的预期输出将其存储在向量中。

1 个答案:

答案 0 :(得分:2)

使用std::getline,你是正确的。但是你应该逐行读取文件,然后将整行放在std::istringstream中,然后然后,你可以使用std::getline来标记该行。

您不能使用正常输入运算符>>,因为它在空格上分开。


实施例

while (std::getline(readFile, line))
{
    std::istringstream iss(line);
    std::string temp;

    std::getline(iss, temp, ':');
    itemId = std::stoi(temp);

    std::getline(iss, itemDescription, ':');
    std::getline(iss, itemCategory, ':');
    std::getline(iss, itemSubCategory, ':');

    std::getline(iss, temp, ':');
    amountPerUnit = std::stod(temp);

    std::getline(iss, temp, ':');
    quantity = std::stoi(temp);

    std::getline(iss, date, ':');

    // Create object and add it to the vector
}