Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c++;从文件中读取并匹配id 我是C++新手,想把基础知识搞清楚。我正在尝试读取文件的输入并打印出文件中的所有内容,最重要的是,将项目id与我输入的值匹配,并删除文件中与id匹配的行。_C++ - Fatal编程技术网

c++;从文件中读取并匹配id 我是C++新手,想把基础知识搞清楚。我正在尝试读取文件的输入并打印出文件中的所有内容,最重要的是,将项目id与我输入的值匹配,并删除文件中与id匹配的行。

c++;从文件中读取并匹配id 我是C++新手,想把基础知识搞清楚。我正在尝试读取文件的输入并打印出文件中的所有内容,最重要的是,将项目id与我输入的值匹配,并删除文件中与id匹配的行。,c++,C++,您的代码有两个问题 第一个是输入操作符>在空格上分离,而不是在任意字符上分离,因此您对输入文件的解析是错误的 您可以使用例如获取单个字段作为字符串,然后将其转换为正确的类型(通过std::istringstream或使用例如) 第二个问题是,您读入了所有数据,但只保存了最后一行。您需要将数据存储在向量中的结构中,然后搜索该向量。如果您的文件格式是固定的(int:字符串:int) 您可以找到/匹配“id”,如下所示: cout << "Input the id that you wi

您的代码有两个问题

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

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



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

如果您的文件格式是固定的(
int
字符串
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();
cout输入;
char ch;//对于冒号(:)
同时(读取文件>>id>>ch>>itemName>>ch>>数量)
{
if(输入==id){
//库特