On Oct 22, 2013, at 8:42 PM, Edward Diener
wrote: 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
#include #include int main() {
boost::property_tree::ptree pt; boost::property_tree::ini_parser::read_ini("input.ini", pt); std::cout << pt.getstd::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.
Or algorithm::split http://www.boost.org/doc/libs/1_54_0/doc/html/boost/algorithm/split_idp54600...