boost::config_file_iterator
От: A.A.L. Украина  
Дата: 18.08.08 14:52
Оценка:
Здравствуйте.
Сразу хочу признаться, что с бустом не дружу.
Но вот надо распарсить .ini файл.
Файл не совсем стандартный, со своими нюнсами.
И не как не могу разобраться с config_file_iterator
Не смогла отрыть оп нему нормальную доку с примерами :-[
В общем буду благодарна, за любую внятную сслочку
на данынй момнт юзаю его так

#include <boost/config.hpp>
#include <boost/program_options/detail/config_file.hpp>
#include <boost/program_options/parsers.hpp>
namespace pod = boost::program_options::detail;
#include <fstream>
#include <set>
#include <map>

//.... 
  std::ifstream config(IniFileName);
  if(!config)
     return false;
 
  //parameters
  std::set<std::string> options;
  std::map<std::string, std::string> parameters;
  options.insert("*");
  try
  {      
    for (pod::config_file_iterator i(config, options), e ; i != e; ++i)
    {
      parameters[i->string_key] = i->value[0];
    }
  }
  catch(std::exception& e)    
  {
   return false;
  }


Код мной слизан
На данный момент не устраивает то, что не может работать с пустыми значениями параметров. Вылетает по эксепшену
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.