通过C ++处理文本文件 - 从文本文件中提取某个字符串

时间:2011-03-10 14:52:13

标签: c++ string getline substr strtok

我是C ++的新学习者。 我有一个文本文件,其内容如下:

Systemname    localtesthost
SystemIp      X.X.X.X
Systemowner   root
...

现在我要提取“Systemname”的值,即“localtesthost”。

我可以提取包含“Systemname localtesthost”的行,但我不知道如何提取字符串“Systemname”。

以下是我的程序需要帮助:

const char* configInfoFile = "config_info";//the text file name
ifstream ifs(configInfoFile);
    string line;
    while(getline(ifs,line)) {
        if(line.length() > 0){
            int index = line.find("SystemName");
            if (index != -1)
            {

                                .
                                .

            }

        } 
}

有没有人能告诉我如何提取字符串"localtesthost"

非常感谢!

1 个答案:

答案 0 :(得分:5)

这是一种方法:

  1. 使用您刚刚阅读的行创建std::istringstream
  2. 从流中读取两个std::string个对象,键和值
  3. 如果密钥与您要查找的内容相匹配,则值应包含您需要的内容。