2011-03-10 4 views
1

Я новый ученик для C++. У меня есть текстовый файл, его содержимое, как следующее:Обработать текстовый файл с помощью 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"?

Большое спасибо!

ответ

5

Вот подход:.

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

Ним, благодаря вашему методу. Это очень просто, чем я думал. Благодаря! – zhaojing

+0

@zhaojing, добро пожаловать! – Nim

 Смежные вопросы

  • Нет связанных вопросов^_^