c ++从文件中读取并匹配id

时间:2013-10-14 05:36:58

标签: c++

我是C ++的新手并试图充实基础知识。我试图读取文件的输入并打印出文件中的所有内容,最重要的是,将项目的ID与我键入的值匹配,并删除我的文件中与id匹配的行。

2 个答案:

答案 0 :(得分:0)

您的代码存在两个问题。

第一个是输入操作符>>在空格上分隔,而不是在任意字符上分开,因此您对输入文件的解析是错误的。

您可以使用例如std::getline将单个字段作为字符串,然后将其转换为正确的类型(通过std::istringstream或使用例如std::stoi)。


第二个问题是您读入了所有数据,但只保存了您读入的最后一行。您需要将数据存储在放在向量中的结构中,然后搜索该向量。

答案 1 :(得分:0)

如果您的文件格式已修复(int string int

你可以找到/匹配“id”,如下所示:

cout << "Input the id that you wish to find" << endl;
cin >> input;

char ch; // for colon (:)
while(readFile >> id >> ch >> itemName >> ch >> quantity )
{
   if (input == id) {
     //cout << "valid Input";
    }

}

readFile .close();