在.txt更新中添加行或行不存在不工作



我试图编写一个程序,用其中的单词替换特定的行,或者如果行不存在于文件中,它应该添加它。有点像键值存储

我尝试了下面的代码,不幸的是没有结果。要么他只是覆盖了文件并删除了其他行,要么他根本没有写任何东西。最后,这段代码保留了下来。我知道这是低效和令人困惑的,但也许你可以帮助我。

! !目前,他没有向文件写入任何内容!!

代码:

void edit(char*key, char*value){
ifstream filein("test.txt");
ofstream fileout("tempTest.txt");
if(!filein || !fileout)
{
cout << "Error opening files!" << endl;
return;
}
bool found = false;
string line;
while(getline(filein, line))
{
if(line.find(key) == 0)
{
fileout << key << "=" << value << endl;
found = true;
}
else
{
fileout << line << endl;
}
if(!found)
{
fileout << key << "=" << value << endl;
}   
}
filein.close();
fileout.close();
remove("test.txt");
}

在你的while循环中,你继续写

fileout << key << "=" << value << endl;

,直到找到键为止。

那一行应该在循环之外。

相关内容

  • 没有找到相关文章

最新更新