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