栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++文件部分内容的删除操作(文件覆盖)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++文件部分内容的删除操作(文件覆盖)

   在我们在完成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<     }成后关闭文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675645.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号