Páginas: [1]
|
 |
|
Autor
|
Tema: ayuda con explicacion de split (Leído 298 veces)
|
Proxy Lainux
Desconectado
Mensajes: 142
|
hola
he estado leyendo algunos manuales de C sobre split, pero no quiero hacer un copy paste, prefiero entender bien que se debe de hacer... espero me puedan explicar
quisiera saber que debe hacer un split hecho en C... como iniciarlo, que debo de saber hacer para crear un split, bueno cualquier cosa que deba saber hacer, entender, o crear para realizar un split en C.. antes tengo que decir que ya e usado splits en VB6 asi que ya se como funcionan, pero obviamente en VB ya me dan la funcion hecha solo para escribir split() y listo, pero como en C eso no existe, por ejemplo si yo escribiera "hola|adios" como darle a entender que me separe ese string y si fueran string dinamicos?, como lo haria...
espero me puedan ayudar con alguna explicacion...
gracias
|
|
|
|
|
En línea
|
|
|
|
Events
Desconectado
Mensajes: 960
Cibao 809
|
|
|
|
|
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 142
|
hola, gracias dominicano... estaba viendo un ejemplo de strtok que funciono bien... y lo modifique asi para entenderle mejor... el problema que tengo, es que estoy un poco mal acostumbrado por VB porke alli con una variante spi = split , puedes escoger cual string usar solo haciendo esto spi(0), pero con strtok como podria escoger cual string quiero usar?... lo unico que se me a ocurrido es usar matrices... por ejemplo copiar con strcpy el contendo del puntero y luego elegir que string quiero usar, pero la verdad no pude... solo logre copiar en un array comun la primera frase, pero las demas no supe como... alguien podria decirme como lograria utilizar solo la palabra que yo kiera y mostrarla con printf?... o seria mejor que estudiara como hacer mi propio split? espero me puedan ayudar... gracias  /* strtok example */ #include <stdio.h> #include <string.h>
int main () { char str[] ="This a sample string"; char * pch; pch = strtok (str," "); while (pch != NULL) { printf ("%s\n",pch); pch = strtok (NULL, " "); } return 0; }
|
|
|
|
|
En línea
|
|
|
|
cΔssiΔnі
Desconectado
Mensajes: 548
|
Guiandome de tu ejemplo: #include <stdio.h>//print #include <string.h>//strtok #include <conio.h>//clrscr() / getche() #include <dos.h>//delay() int main() { char s1[49] = "Esto en un ejemplo del uso de strtok"; char s2[4] = " "; char *ptr; char *Split[10]; int I=1; clrscr(); printf( "s1=%s\n\n", s1 ); ptr = strtok(s1, s2 );// Primera llamada => Primer token Split[I]=ptr; printf("Llamada 1: %s\n",Split[1]); while( (ptr = strtok( NULL, s2 )) != NULL )// Posteriores llamadas { I=I+1; Split[I]=ptr; printf( "Llamada %d --> %s\n",I,Split[I]); } delay(1000); printf("\n\nMostrando Split[5] --> %s",Split[5]); getche(); return (0); } Corriganme si he hecho algo mal que bastante tiempo tengo sin usar c/c++ saludos!!
|
|
|
|
« Última modificación: 02 Junio 2008, 16:24 por cΔssiΔnі »
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 142
|
hola grandioso.. era lo que estaba buscando.. gracias.. solo que al compilarlo, por si alguien mas lo kiere hacer... en dev-c++ deben de cambiar las librerias #include <stdio.h>//print #include <string.h>//strtok #include <windows.h> y kitar clrscr(); y en delay pueden poner Sleep o kitarlo... pero todo perfecto.. gracias de nuevo 
|
|
|
|
|
En línea
|
|
|
|
cΔssiΔnі
Desconectado
Mensajes: 548
|
Claro, claro, yo uso borland  saludos!!
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|