0

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

4

1 回答 1

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
}
于 2013-10-20T13:41:54.147 回答