C++ 如何保存文件中的所有数据?C++;
我遇到一个问题,我想在文本文件中保存所有ID号,但它只保存用户输入的最后一个ID号C++ 如何保存文件中的所有数据?C++;,c++,fstream,ifstream,ofstream,C++,Fstream,Ifstream,Ofstream,我遇到一个问题,我想在文本文件中保存所有ID号,但它只保存用户输入的最后一个ID号 #include <iostream> #include <fstream> #include <iomanip> #include <string> using namespace std; int main() { string line; int idnum; ofstream IdData ("data.txt");
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
string line;
int idnum;
ofstream IdData ("data.txt");
cout<<" Enter your ID number: "<<endl;
cin>>idnum;
if(IdData.is_open())
{
IdData<< "ID number of voter is: ";
IdData << idnum << endl;
IdData.close();
}
else
cout<<" Unable to open file";
ifstream Data ("data.txt");
if(Data.is_open())
{
while (getline (Data, line))
{
cout<< line << endl;
}
Data.close();
}
else
cout<<" Unable to open file";
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
弦线;
int-idnum;
流IdData(“data.txt”);
cout您只要求用户提供1个ID,然后使用包含该ID的新文件覆盖现有文件
std::ofstream
会销毁现有文件的内容,除非您明确要求它不要这样做。因此,对于您尝试执行的操作,要在现有文件的末尾附加新ID,您需要在打开std::ofstream
时包含app
或ate
标志,例如:
流IdData的(“data.txt”,ios::app);
或:
流IdData的(“data.txt”,ios::ate);
您只要求用户提供一个ID,然后用包含该ID的新文件覆盖现有文件
std::ofstream
会销毁现有文件的内容,除非您明确要求它不要这样做。因此,对于您尝试执行的操作,要在现有文件的末尾附加新ID,您需要在打开std::ofstream
时包含app
或ate
标志,例如:
流IdData的(“data.txt”,ios::app);
或:
流IdData的(“data.txt”,ios::ate);
当你说“最后一个”身份证号码时,你的意思是什么?你只要求一个身份证号码!是的,但在文本文件中,我想看到不同用户键入的所有身份证号码。如果IdData
无法打开,你的程序在打印消息后继续。你可能想在打印后使用return EXIT\u FAILURE;
正在关闭消息。当您说出“最后一个”ID号时,您的意思是什么?您只需要一个ID号!是的,但在文本文件中,我希望看到不同用户键入的所有ID号。如果IdData
无法打开,您的程序将在打印消息后继续运行。您可能需要使用return EXIT\u FAILURE;
r打印消息。