在C ++中读取和使用单个单词

时间:2017-04-11 10:28:44

标签: c++ file file-io

我试图用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

所以它没有消耗输入,也没有覆盖它。

0 个答案:

没有答案