【发布时间】:2014-02-08 08:44:26
【问题描述】:
我想从文件中找到特定的id 并修改内容。
这是我想要的原始代码。
// test.txt
id_1
arfan
haider
id_2
saleem
haider
id_3
someone
otherone
C++ 代码:
#include <iostream>
#include <fstream>
#include <string>
using namesapce std;
int main(){
istream readFile("test.txt");
string readout;
string search;
string Fname;
string Lname;
cout<<"Enter id which you want Modify";
cin>>search;
while(getline(readFile,readout)){
if(readout == search){
/*
id remain same (does not change)
But First name and Last name replace with
user Fname and Lname
*/
cout<<"Enter new First name";
cin>>Fname;
cout<<"Enter Last name";
cin>>Lname;
}
}
}
假设:
用户搜索 ID *id_2*。在该用户之后输入名字和姓氏 Shafiq 和 Ahmed。
运行此代码后,test.txt 文件必须像这样修改记录:
...............
...............
id_2
Shafiq
Ahmad
.................
.................
只有id_2 记录更改保留文件将是相同的。
更新:
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;
int main()
{
ofstream outFile("temp.txt");
ifstream readFile("test.txt");
string readLine;
string search;
string firstName;
string lastName;
cout<<"Enter The Id :: ";
cin>>search;
while(getline(readFile,readLine))
{
if(readLine == search)
{
outFile<<readLine;
outFile<<endl;
cout<<"Enter New First Name :: ";
cin>>firstName;
cout<<"Enter New Last Name :: ";
cin>>lastName;
outFile<<firstName<<endl;
outFile<<lastName<<endl;
}else{
outFile<<readLine<<endl;
}
}
}
它还在temp.txt 文件中包含先前的名字和姓氏。
【问题讨论】: