首页 > 解决方案 > 如何存储旧的 txt 行并将新输出存储到 iostream 上的新行(C++)

问题描述

从C++开始,我准备了一个用户注册和登录程序。我编写的程序将信息记录到文件中。但是当我再次打开程序时,它会清除旧记录并将其重新写入。

我试图定义字符串并从文本中获取输入,但它失败了。

using namespace std;
void saveuser() {
    string datausername = "test";//User name to save or read from txt
    string datapassword = "pass";//password to save or read from txt
    string datarealname = "realname";//Real name of the user
    ofstream database;
    database.open ("userdatabase.txt");
    database << datausername.c_str();
    database << " , ";
    database << datapassword.c_str();
    database << " , ";
    database << datarealname.c_str();
    database.close();
}

我想将所有用户信息存储在单独的行上。

喜欢,User1 的详细信息: User1 , Pass1 , UserName1 和其他行 User2 , Pass2 , UserName2

标签: c++

解决方案


听起来您想附加到文件中。

要附加到文件,请将mode参数传递std::ofstream::appopen函数。

例子:

void saveuser() {
    ....
    ofstream database;
    database.open ("userdatabase.txt", std::ofstream::out, | std::ofstream::app);
    ...
}

这不会覆盖文件的先前内容。


推荐阅读