Обработка текстового файла с помощью C ++ - извлечение определенной строки из текстового файла - PullRequest
1 голос
/ 10 марта 2011

Я новый ученик в 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 Ответ

5 голосов
/ 10 марта 2011

Вот подход:

  1. создайте std::istringstream используя строку, которую вы только что прочитали.
  2. чтение из потока двух std::string объектов, ключа и значения
  3. если ключ соответствует тому, что вы ищете, значение должно содержать то, что вам нужно.
...