在我们在完成C++课设的过程中,对我来说就是文件操作部分是不容易的。接下来给大家介绍一种很好理解的文件部分内容删除操作。
以我刚完成的通讯录系统为例:
void book::del() {//删除
ofstream outData("temp.txt", ios::out);//写入
ifstream inData("person.txt", ios::in);//读取
if(!outData||!inData) {
cout<>sign; //输入变量
bool flag=true;
string str; //定义变量
while(inData>>name>>number) {
getline(inData, str);//getline( istream,string)把一行 读入到string对象中 以换行符结束
if((sign==name)||(sign==number)) {
cout<
原本录入的信息都储存在person.txt中
用户输入要删除的联系人姓名和电话号码,这次的删除操作在开始的时候会以读取的方式打开person.txt,以写入的方式打开temp.txt,用户输入要删除的联系人姓名和电话号码后,用getline读取到并写入到temp.txt中,但会用if语句过滤出姓名和手机号相同的联系人的信息,输出并显示到屏幕上被删联系人的信息,用break终止del()函数中对信息进行筛查的if循环,接着会继续将下面的信息读取并写入temp.txt中此时temp.txt的信息中就没有了被删除联系人的信息,这些操作完成后关闭文件 outData.close();
inData.close();
之后在以写入的方式打开person.txt,以读取的方式打开temp.txt,将temp.txt的信息读取并写入到person.txt文件中,对person.txt的内容进行覆盖,最后删除操作完成后,要及时关闭文件。
ofstream out("person.txt", ios::out);//写入
ifstream in("temp.txt", ios::in);//读取
if(!out||!in) {
cout< system("pause");
return;
}
while(getline(in, str)) {
out< }
out.close();
in.close();
cout< }成后关闭文件。



