gpt4 book ai didi

c++ - 在同一程序中从同一文件读取和写入时出现问题... C++

转载 作者:行者123 更新时间:2023-11-30 00:42:09 24 4
gpt4 key购买 nike

我正在开发一个程序,它需要在启动时从文本文件加载数据,并在退出时将数据保存到同一个文本文件中。我有负载工作,我有保存工作,但出于某种原因,我似乎无法让它们在同一个程序中工作。

这行不通...

ifstream loadfile("test.txt");
ofstream savefile("test.txt");

void load()
{
string name;

while(!loadfile.eof())
{
getline(loadfile,name);
cout<<"name " << name<<"\n";
}
}

void save(User &name)
{
savefile << name.getName() << endl;
}

这也不是...

fstream file("test.txt");

void load()
{
string name;

while(! file.eof())
{
getline(file,name);
cout<<"name " << name<<"\n";
}
}

void save(User &name)
{
file << name.getName() << endl;
}

问题是,我可以保存一个名字列表,这很好用...但是一旦我启动程序,列表中的所有名字都会从文本文件中删除。

此外,我知道 getline() 从文本文件中获取字符串类型的数据,但我如何将其转换为类似 int 的类型。

谢谢

最佳答案

您的文件正在全局打开并且永远不会关闭。尝试:

void load()
{
ifstream loadfile("test.txt");
string name;
while(!loadfile.eof())
{
getline(loadfile,name);
cout<<"name " << name<<"\n";
}
}
void save(User &name)
{
ofstream savefile("test.txt");
savefile << name.getName() << endl;
}

关于c++ - 在同一程序中从同一文件读取和写入时出现问题... C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698796/

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