Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在boost中解析标记时的基础字符串索引_C++_Boost_Boost Spirit - Fatal编程技术网

C++ 在boost中解析标记时的基础字符串索引

C++ 在boost中解析标记时的基础字符串索引,c++,boost,boost-spirit,C++,Boost,Boost Spirit,我想知道在使用boost标记进行解析时,是否有可能获得底层字符串的索引值 word\u count\u lexer是一个boost::spirit::lex::lexer 以下是我的示例代码: base_iterator first = str.begin(); base_iterator last = str.end(); lexer_type::iterator_type iter = word_count_lexer.begin(first, last); lexer_type::iter

我想知道在使用boost标记进行解析时,是否有可能获得底层字符串的索引值

word\u count\u lexer是一个boost::spirit::lex::lexer 以下是我的示例代码:

base_iterator first = str.begin();
base_iterator last = str.end();
lexer_type::iterator_type iter = word_count_lexer.begin(first, last);
lexer_type::iterator_type end = word_count_lexer.end();
while (iter != end && token_is_valid(*iter)) {
    if(iter->id() == ID_WORD) {
       std::cout << iter->value() << std::endl;
    }
    ++iter;
    ++w;
}

但由于it类型的原因,这在这里不起作用。

我发现了一个关于这个主题的讨论。
最终我改变了我的方法,使用了不同的解析策略

我发现了一个关于这个话题的讨论。 最终我改变了我的方法,使用了不同的解析策略

std::distance(str.begin(), it)