我试图用c ++编写程序的配置文件。我想这样做,所以我的属性存储在这样的文本文件中:
MUSIC 0.25
FX 0.25
MUTE false
所以,我这样使用ofstream:
fStream file;
file.open(route);
string read;
int value;
while(file >> read){
if(read.compare("MUSIC")==0){
//Here I want to replace the 0.25 with value desired
}
}
问题是,如何阅读0.25并用我想要的值替换它?
提前致谢。
编辑:将流更改为fStream,因此它支持读写
编辑2:使用用户Kerrek SB建议的代码:
使用输入:
MUSIC 0.25
FX 0.25
MUSIC_MUTE false
FX_MUTE false
和代码:
fStream file;
file.open(route);
string read;
string value;
bool found = false;
while(file >> read){
if((read.compare("MUSIC_MUTE")==0) || (found==false){
file >> read >> value; //code suggested
if(read == "false"){
file << "true"; // write desired value
found=true; //stop the iteration
}
}
}
我明白了:
MUSIC 0.25
FX 0.25
MUSIC_MUTE false
FX_MUTE falsetrue
所以它没有消耗输入,也没有覆盖它。