索引不等于值

时间:2015-06-25 07:09:09

标签: c++ boost boost-spirit boost-spirit-qi

< 0776> < 0778>并[d 00a600310030002f0031> < 006B> < 00A4>] 我在文本文件中有这一行,我正在解析它并将值存储在

vector<unsigned long long> myVector;

它存储在这样的向量中,前两个值总是我的起点和终点,而在[]中是我的数组值。前两个值是键(范围),而在[]中的值是三个值将映射到键

控制台

myVector[0] = 0776 
myVector[1] = 0778
myVector[2] = 00a600310030002f00
myVector[3] = 31
myVector[4] = 006b
myVector[5] = 00a4

// CODE

static qi::uint_parser<unsigned long long, 16, 2, -1> hex_int;
qi::rule<It, std::vector<unsigned long long>()> braced_hex = '<' >> qi::repeat(1,2)[hex_int] >> '>';
bool check1 = qi::phrase_parse(str_line, l, *braced_hex >> *('[' >> *braced_hex >> ']') , qi::space, v_Begin_BF_Range);
string str;
int startingpoint = myVector[0];
for(int i = myVector[0]; i<= myVector[1]; i++)
{
  str = myVector[i - startingpoint];
}

我想要的是

0776 = 00a600310030002f0031;
0777 = 006b
0778 = 00a4

0 个答案:

没有答案