c++ - 添加到文件而不删除里面的内容
问题描述
我正在编写一个代码,该代码从用户那里获取一些输入并将其存储在一个文件中。我的代码应该保留旧数据并添加新数据,但是每次我运行代码时,文件中的旧数据都会被新数据替换。
if(input == 1){
outFile.open("personnel2.dat");
int numRecords = 0;
do{
cout << "#1 of 7 - Enter Employee Worker ID Code(i.e AF123): ";
cin >> id;
cout << "#2 of 7 - Enter Employee LAST Name: ";
cin >> lastN;
cout << "#3 of 7 - Enter Employee FIRST Name: ";
cin >> firstN;
cout << "#4 of 7 - Enter Employee Work Hours: ";
cin >> workH;
cout << "#5 of 7 - Enter Employee Pay Rate: ";
cin >> payRate;
cout << "#6 of 7 - Enter FEDERAL Tax Rate: ";
cin >> federalTax;
cout << "#7 of 7 - Enter STATE Tax Rate: ";
cin >> stateTax;
outFile << id << " " << lastN << " " << firstN << " " << workH << " " << payRate << " "
<< federalTax << " " << stateTax << "\n";
numRecords++;
cout << "Enter ANOTHER Personnel records? (Y/N): ";
cin >> moreRecords;
}while(moreRecords != 'N' && moreRecords != 'n');
outFile.close();
cout << numRecords << " records written to the data file.\n";
}
解决方案
改变outFile.open("personnel2.dat");
到
outFile.open("personnel2.dat", std::fstream::app);
假设您使用的是fstream::open()
.
推荐阅读
- java - java.lang.IndexOutOfBoundsException: setSpan (118 ... 119) 结束超过长度 118
- c++ - boost::dynamic_bitset<> 无论如何都以相反的顺序填充
- spring-boot - 使用 spring session 和 spring security 为访客用户存储购物车
- python - python不写csv文件
- python - matplotlib 多项式回归 (polyfit) 的值太高
- ios - 为什么带有 2D 数组的 MTLTexture 不起作用?
- haskell - 错误:不在范围内。为什么会这样?
- reactjs - React Native - 我如何显示来自 API 的数据?
- android - Android 6.0.1 谷歌地图异常 IllegalAccessError
- swift - How to suspend a work item on the main queue