Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problemilla con strtok

Estas en el tema de problemilla con strtok en el foro de C/C++ en Foros del Web. Holas, tengo un problemilla con la función strtok. Este es el código de una función que trata una cadena: void TokenBuffer::tratar(string cadena, string separador){ int ...
  #1 (permalink)  
Antiguo 07/11/2007, 09:52
Avatar de verop  
Fecha de Ingreso: abril-2007
Mensajes: 3
Antigüedad: 17 años, 8 meses
Puntos: 0
problemilla con strtok

Holas,
tengo un problemilla con la función strtok. Este es el código de una función que trata una cadena:

void TokenBuffer::tratar(string cadena, string separador){
int i = 0;
char *cstr = new char [cadena.size()+1];
strcpy (cstr, cadena.c_str());
char *ptr = "--";
ptr = strtok(cstr, separador.c_str());
tokens->insertar(i, cadena.assign(cstr));
i++;

longitud = tokens->getLongitud();
delete[] cstr;
cout << endl;
}

Con esta función se cogen bien los tokens pero lo que me gustaría es que si aparecen dos delimitadores seguidos me cogiera un token que fuera una cadena cualquiera, por ejemplo "---" ¿Cómo lo podría hacer?. Muchas gracias.
  #2 (permalink)  
Antiguo 07/11/2007, 12:38
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: problemilla con strtok

En principio, sería preferible que tratases de usar métodos estándar de string, en vez de jugar con las cadenas C que van por debajo, memoria dinámica y demás.

Sobre buscar tokens de más de un caracter, creo que tendrás que hacer un bucle usando string::find() y string::substr().
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.