Hi,
no se si es esto lo que quieres, pero ahi va de todas formas:
strtok te devuelve el puntero al siguiente "token" de la cadena str1, donde str2 contiene el separador de los "tokens" de str1. Cuando ya no encuentra mas tokens devuelve NULL. Asi que la primera llamada a strtok deberia ser con la cadena a ser "separada" en str1 y el delimitador en str2. El resto de llamadas hasta que te devuelva NULL deberia ser con str1 a NULL y str2 con el delimitador.
La salida seria:
El resultado es: Ejemplo
El resultado es: tipico
El resultado es: Hola
El resultado es: mundo
Espero que te haya servido,
Un saludo,
-Rubén-
no se si es esto lo que quieres, pero ahi va de todas formas:
Código [Seleccionar]
#include <string.h>
char *strtok( char *str1, const char *str2 );
strtok te devuelve el puntero al siguiente "token" de la cadena str1, donde str2 contiene el separador de los "tokens" de str1. Cuando ya no encuentra mas tokens devuelve NULL. Asi que la primera llamada a strtok deberia ser con la cadena a ser "separada" en str1 y el delimitador en str2. El resto de llamadas hasta que te devuelva NULL deberia ser con str1 a NULL y str2 con el delimitador.
Código [Seleccionar]
#include <stdio.h>
#include <string.h>
int main(){
char cadena[] = "Ejemplo@tipico@Hola@mundo";
char delimitador[] = "@";
char* cadenaResultado = strtok( cadena, delimitador);
while( cadenaResultado != NULL ) {
printf( "El resultado es: %s\n", cadenaResultado );
cadenaResultado = strtok( NULL, delimitador );
}
return 0;
}
La salida seria:
El resultado es: Ejemplo
El resultado es: tipico
El resultado es: Hola
El resultado es: mundo
Espero que te haya servido,
Un saludo,
-Rubén-