Boost logo

Boost Users :

Subject: Re: [Boost-users] Reading & Parsing an .ini input file using BOOST... ..!!
From: Edward Diener (eldiener_at_[hidden])
Date: 2013-10-22 20:42:11


On 10/22/2013 7:52 PM, Rahul Mathur wrote:
> All,
>
>
> Need small help. I have an "input.ini" input file which contains sample
> values like –
>
>
> ---
>
> App=| 5000 | 5001 | 0 | | | | 1BYTE |
>
> ---
>
>
> Starting with word (viz. App), followed by equal sign, than data within
> pipes (|) and blank space between two pipes ( | | ). Anything only between
> two pipes is to be read.
>
>
>
> I am looking to parse this input file. After parsing, assign each data to
> struct member type and than send this complete struct as socket.
>
>
>
> I am looking to use Boost property tree (or the needed one) and finally the
> ASIO to send the complete filled struct as stream.
>
> I tried below code to read complete data and it worked but -
>
> ---
> #include <iostream>
> #include <boost/property_tree/ptree.hpp>
> #include <boost/property_tree/ini_parser.hpp>
> #include <boost/filesystem/fstream.hpp>
>
> int main()
> {
>
> boost::property_tree::ptree pt;
> boost::property_tree::ini_parser::read_ini("input.ini", pt);
> std::cout << pt.get<std::string>("App") << std::endl;
> }
> ---
>
> But, how to read between pipes?

Look at Boost tokenizer library. Or use standard regex or Boost regex
depending on what your compiler supports.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net