comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[C] Funcion Split

  • 1 Respuestas
  • 1566 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mr.blood

  • *
  • Underc0der
  • Mensajes: 73
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
  • Skype: red_ink@hotmail.es
« en: Mayo 14, 2013, 02:39:36 am »
Yo no he visto fallos, si los encontrais, comentadlos por favor. No tiene control de errores, lo hice para dar una idea ;).

Código: C
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #include <string.h>
  4.  
  5. int len_palabra(char *cadena, int inicio, char separador);
  6. char **split(char *cadena, char separador);
  7.  
  8. int main()
  9. {
  10.         char cadena[]="MrBlood.split.crea.funcion";
  11.         int i;
  12.         char **retorno=split(cadena, '.');
  13.         for(i=0;retorno[i]!=NULL;i++)
  14.         {
  15.                 You are not allowed to view links. Register or Login("%s\n", retorno[i]);
  16.                 You are not allowed to view links. Register or Login(retorno[i]);
  17.         }
  18.         You are not allowed to view links. Register or Login(retorno);
  19.         return 0;
  20. }
  21.  
  22. int len_palabra(char *cadena, int inicio, char separador)
  23. {
  24.         int len=0, i=inicio;
  25.         while(cadena[i]!=separador&&cadena[i]!='\0')
  26.         {
  27.                 len++;
  28.                 i++;
  29.         }
  30.         return len;
  31. }
  32.  
  33. char **split(char *cadena, char separador)
  34. {
  35.         int num_palabras=1, len_cadena=You are not allowed to view links. Register or Login(cadena), i, j=1, *inicios;
  36.         for(i=0;i<len_cadena;i++)
  37.         {
  38.                 if(cadena[i]==separador)
  39.                 {
  40.                         num_palabras++;
  41.                 }
  42.         }
  43.         inicios=You are not allowed to view links. Register or Login(sizeof(int)*num_palabras);
  44.         inicios[0]=0;
  45.         for(i=1;i<len_cadena;i++)
  46.         {
  47.                 if(cadena[i]==separador)
  48.                 {
  49.                         inicios[j]=i+1;
  50.                         j++;
  51.                 }
  52.         }
  53.         char **retorno=You are not allowed to view links. Register or Login(sizeof(char *)*num_palabras+1);
  54.         retorno[num_palabras]=NULL;
  55.         for(i=0;i<num_palabras;i++)
  56.         {
  57.                 j=len_palabra(cadena, inicios[i], separador);
  58.                 retorno[i]=(char *)You are not allowed to view links. Register or Login(sizeof(char)*j);
  59.                 You are not allowed to view links. Register or Login(retorno[i], &cadena[inicios[i]], j);
  60.                 retorno[i][j]='\0';
  61.         }
  62.         You are not allowed to view links. Register or Login(inicios);
  63.         return retorno;
  64. }
  65.  

Sa1uDoS
« Última modificación: Octubre 28, 2013, 09:18:44 am por Expermicid »

Desconectado D4rkC0d3r

  • *
  • Underc0der
  • Mensajes: 202
  • Actividad:
    0%
  • Reputación 0
  • \xeb\x16\x5e\x31\xd2\
    • Ver Perfil
    • Ethical Hacking, Malware Analysis, Disinfection Techniques and more...
« Respuesta #1 en: Mayo 25, 2013, 02:33:47 am »
Gracias por el aporte!  :)

D4rkC0d3r

 

¿Te gustó el post? COMPARTILO!



[C] Función acción cada x segundos - Sanko

Iniciado por Sanko

Respuestas: 3
Vistas: 1990
Último mensaje Diciembre 24, 2012, 08:01:14 pm
por linkgl
Funcion instr o strpos

Iniciado por linkgl

Respuestas: 4
Vistas: 2945
Último mensaje Diciembre 24, 2012, 08:16:13 pm
por linkgl
Función SPLIT con delimitador multicarácter

Iniciado por binary_death

Respuestas: 2
Vistas: 2067
Último mensaje Septiembre 04, 2013, 05:45:48 pm
por [L]ord [R]NA