Buenas!
Soy nueva en el foro y en esto de la programación, hace unos pocos meses empecé a aprender C.
Me dieron estos datos y tengo que escribir la definición de la función:
void my_strtok(char *strin, char *strout[], char tok);
donde:
char *strin es el string que queremos separar en partes
char *strout[] Un vector con los strings separados. El vector tendrá un string por posición del vector.
El vector finalizará con un puntero nulo cuando no hayan mas partes. Si hay error será un puntero nulo.
char *tok es un carácter que nos permite separar el texto
Alguien podría ayudarme? Estoy perdida y nisiquiera sé por donde empezar.
Gracias.
Hola twiny14,
Nadie te va a hacer la tarea, pero como ayuda te puedo decir que lo que te piden es esto:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
Puedes leer un poco sobre la función en http://www.cplusplus.com/reference/cstring/strtok/ (http://www.cplusplus.com/reference/cstring/strtok/)
Lo que puedes hacer dentro de esa funcion es recorrer con un bucle la cadena que quieres separar y contar las veces que aparece el caracter, luego declaras una matriz con ese tamaño y simplemente vas copiando hasta que encuentres ese caracter, luego incrementas el indice de la matriz y sigues copiando, asi hasta el final :silbar:
Espero que te sirva de ayuda,
Saludos
Cita de: twiny14 en 25 Junio 2014, 23:43 PM
Me dieron estos datos y tengo que escribir la definición de la función:
void my_strtok(char *strin, char *strout[], char tok);
Te paso un enlace donde puedes ver la implementación de la función estandar strtok
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/strtok.c?rev=1.6;content-type=text%2Fplain (http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/strtok.c?rev=1.6;content-type=text%2Fplain)
Como puedes ver es muy sencilla, creo que con eso ya tendras una idea de como funciona
Saludos
en resumen es para partir una cadena en trozos o fragmentos de la cadena.
podrias ejecutar el programa de @MeCraniDOS para hacerte una idea mas clara