c++ - 如何存储旧的 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
解决方案
听起来您想附加到文件中。
要附加到文件,请将mode
参数传递std::ofstream::app
给open
函数。
例子:
void saveuser() {
....
ofstream database;
database.open ("userdatabase.txt", std::ofstream::out, | std::ofstream::app);
...
}
这不会覆盖文件的先前内容。
推荐阅读
- algorithm - 如何在两个集合之间交换数据时降低运行时复杂性
- c++ - 将变量更改为串行监视器的文本(Arduino Uno)
- jquery - isotope : 过滤多个数据属性和seelect
- python - 如何从字典的元素信息中提取
- git - Sourcetree:将分支与新的子模块合并
- mysql - MySQL查询返回未定义-NodeJS
- stream - 在 Akka Streams 中使用 TTL 管理状态
- python - 错误:使用 heroku CLI 部署 Python 应用程序
- swift - 如何让我的 CustomView 返回 View 以及 SwiftUI 中的更多额外数据?
- c# - 将 Excel 单元格区域转换为 DataTable C#