gpt4 book ai didi

c++ - 如何保存文件中的所有数据? C++

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:49 25 4
gpt4 key购买 nike

我有问题,我想在文本文件中保存所有 ID 号,但它只保存用户输入的最后一个 ID 号。

#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";
}

最佳答案

您只要求用户提供 1 个 ID,然后用包含这 1 个 ID 的新文件覆盖现有文件。

std::ofstream除非您明确要求它不要这样做,否则会破坏现有文件的内容。因此,对于您尝试执行的操作,要附加一个新 ID 到现有文件的末尾,您需要包含 appate打开 std::ofstream 时的标志(参见 C++ Filehandling: Difference between ios::app and ios::ate? ),例如:

ofstream IdData ("data.txt", ios::app);

或者:

ofstream IdData ("data.txt", ios::ate);

关于c++ - 如何保存文件中的所有数据? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com