Utilizando Boost Tokenizer escaped_list_separator con diferentes parámetros

Hola, he estado tratando de hacer que un tokenizador funcione usando la clase de tokenizer de la biblioteca boost. Encontré este tutorial en la documentación de impulso:

http: //www.boost.org/doc/libs/1 _36 _0 / libs / tokenizer / escaped _list _separator.htm

problema es que no puedo obtener los argumentos para escapar _list _separator ("", "", "");

pero si modifico el archivo boost / tokenizer.hpp funciona. pero esa no es la solución ideal y me preguntaba si me falta algo para obtener diferentes argumentos en el _list _separator escapado.

Quiero dividirlo en espacios con "y 'para escapar y sin caracteres de escape dentro de la cadena entre comillas.

esto se utiliza para un sistema de análisis de argumentos en un sistema de consola dentro del juego.


include <iostream>
include <boost/tokenizer.hpp>
include <string><p></p>

int main() { using namespace std; using namespace boost; string s = "exec script1 \"script argument number one\""; string separator1("");//dont let quoted arguments escape themselves string separator2(" ");//split on spaces string separator3("\"\'");//let it have quoted arguments tokenizer<escaped_list_separator<char>(separator1,separator2,separator3)> tok(s); for(tokenizer<escaped_list_separator<char>(separator1,separator2,separator3)>::iterator beg=tok.begin(); beg!=tok.end();++beg) { cout << *beg << "\n"; } } the error from visual studio 2005 is error C2974: 'boost::tokenizer' : invalid template argument for 'TokenizerFunc', type expected

EDIT: This question was awnsered by ferrucio and explained by peter thank's everybody.

Respuestas a la pregunta(3)

Su respuesta a la pregunta