我正在编写一段代码,它从用户那里获取一些输入并将其存储在一个文件中。我的代码应该保留旧数据并添加新数据,但每次运行代码时,文件中的旧数据都会被新数据替换。
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()
。
关于c++ - 添加到文件而不删除里面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498954/