微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在记事本中编辑/替换值文件

如何解决在记事本中编辑/替换值文件

当我编辑该值时,它不会替换记事本中的原始值。 c++ - 如何在不显示旧数据的情况下更新c ++文件中的数据?我想删除特定数据并更新。

str_ID = to_string(ID);

cout<<"\tEnter ID to edit: ";
cin>>value;
if(value == str_ID){
    cout<<"\tThe Member is available"<<endl;
    ifstream myfile2;//File to read from
    myfile2.open("editfile.txt");

    ofstream temp; //Temporary file
    temp.open("temp.txt");
    while (getline(myfile2,line))
    {
        if (line != str_ID)
            temp << line << endl;
    }
    while (getline(myfile2,line)){
        line.replace(line.find(str_ID),str_ID.length(),"");
        temp<<line<<endl;
    }

    myfile2.close();
    temp.close();
    remove("editfile.txt");
    rename("temp.txt","editfile.txt");

    cout<<"\tEnter name :";
    cin>>name;

    cout << "\tENTER IC : ";
    cin>> IC;
    cout << "\tENTER AGE : ";
    cin>> age;

    cout << "\tENTER GENDER (F / M): ";
    cin>> gender;

    ofstream myfile;
    myfile.open("editfile.txt",ios::app | ios::out);
    myfile<<ID;
    myfile<<"\t"<<name;
    myfile<<"\t"<<IC;
    myfile<<"\t"<<gender<<endl;
}

解决方法

如果在外部更改,请在记事本中重新加载文件!

,

我根据您的代码编写了一个测试程序。希望能帮到你。

#include <string>
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    string value;
    string str_ID = "123"; //. assume to_string(ID)

    cout << "\tEnter ID to edit: ";
    cin >> value;

    if (value == str_ID)
    {
        ifstream myfile2("editfile.txt");
        ofstream temp("temp.txt");
        string name,IC,age,gender;

        cout << "\tEnter name: ";
        cin >> name;

        cout << "\tEnter IC: ";
        cin >> IC;

        cout << "\tEnter Age: ";
        cin >> age;

        cout << "\tEnter GENDER (F / M): ";
        cin >> gender;

        string line;
        while (getline(myfile2,line))
        {
            if (line.find(str_ID) != string::npos)
            //. or like this: if (line.substr(0,str_ID.length()) == str_ID)
            {
                temp << str_ID << "\t" << name << "\t" << IC << "\t" << gender << endl;
            }
            else
            {
                temp << line << endl;
            }
        }

        myfile2.close();
        temp.close();

        remove("editfile.txt");
        rename("temp.txt","editfile.txt");
    }

    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?