• Sábado 16 de Noviembre de 2024, 02:52

Autor Tema:  Ayuda Con Strings En C  (Leído 1478 veces)

Jevi

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
    • http://jevi.ods.org
Ayuda Con Strings En C
« en: Domingo 14 de Diciembre de 2003, 23:33 »
0
Estoy intentando hacer un programa que me filtre unas determinadas líneas de un archivo.

Lo que hago es leer el archivo y comprobar si parace la cadena "GET" en la línea leída.

Código: Text
  1. fgets(w_cadena, w_long, file_access);
  2. strtok(w_cadena_file,"GET");
  3. printf("%d\n",strlen(w_cadena_file));
  4.  
  5.  

Esto me devuelve un número con la posición de la cadena "GET" en la cadena original W_cadena.

Ahora quisiera copiar la cadena origianl desde la posición de "GET" hasta el final, algo así como un substr.

¿Alguien puede decirme cómo hacerlo en C?

He estado buscando por Internet pero no he encontrado nada.  :(

Gracias. :hola:
El software es como el sexo, es mejor cuando es gratis. (Linus Torvalds)

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Ayuda Con Strings En C
« Respuesta #1 en: Lunes 15 de Diciembre de 2003, 14:38 »
0
Hola:
 
  Seguramente haya alguna función en la librería string.h que sirva para hacer lo que quieres, pero si no es así, puedes recurrir al hecho de que las cadenas de caracteres en C pueden tratarse como arrays.

  Teniendo la posición desde donde quieres empezar a copiar, haces lo siguiente:
for (i=posicion; i<strlen(w_cadena); i++)
  nuevaCadena[i-posicion] = w_cadena;


  Espero que te sea de ayuda.

Saludos.

Jevi

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
    • http://jevi.ods.org
Re: Ayuda Con Strings En C
« Respuesta #2 en: Lunes 15 de Diciembre de 2003, 16:30 »
0
mabrev, muchas gracias    :)

creo que sí que me servirá. Estoy haciendo unas pruebas a ratos perdidos en el trabajo  :D Ya os diré algo cuando termine.

Ta luegorrrrrr  :hola:
El software es como el sexo, es mejor cuando es gratis. (Linus Torvalds)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ayuda Con Strings En C
« Respuesta #3 en: Martes 16 de Diciembre de 2003, 15:00 »
0
hechale una ojeada al reto de hdlc, alli encontraras apuntes que te serviran, si lo requieres y solo si de verdasd lo resuieres, te puedo pasar un fragmento de codigo de un programa que hice con allegro.
lo importante es que este fragmento  esd una rutina para buscar diferentes datos en un archivo de configuracion, de donde se lee la resolucion de la pantalla y el volumen: ejemplo:

res:32
vol:200

lo bueno de esto es que el programa esta en capacidad de buscar los datos en el archivo asi q
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ayuda Con Strings En C
« Respuesta #4 en: Martes 16 de Diciembre de 2003, 15:02 »
0
hechale una ojeada al reto de hdlc, alli encontraras apuntes que te serviran, si lo requieres y solo si de verdasd lo resuieres, te puedo pasar un fragmento de codigo de un programa que hice con allegro.
lo importante es que este fragmento  esd una rutina para buscar diferentes datos en un archivo de configuracion, de donde se lee la resolucion de la pantalla y el volumen: ejemplo:

res:32
vol:200

lo bueno de esto es que el programa esta en capacidad de buscar los datos en el archivo asi que si el archivo es asi:

fvrtbtyhnn
ervres:32drgfbfbntynvol:200edcwedc
vregvfre

es capaz de buscarlo.

La verdad no quisiera PASARTELO POR QUE AHI YA ESTA TODO HECHO.
pero si lo llegas ha necesitar , ya en caso de necesidad extrema....
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Jevi

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
    • http://jevi.ods.org
Re: Ayuda Con Strings En C
« Respuesta #5 en: Martes 16 de Diciembre de 2003, 18:24 »
0
Finalmente lo he resuelto así;

Código: Text
  1. #include &#60;stdio.h&#62;
  2. #include &#60;string.h&#62;
  3.  
  4. int main(){
  5. char texto_orig[]=&#34;Me parece haber GET visto un lindo gatito&#34;;
  6. char texto[]=&#34;Me parece haber GET visto un lindo gatito&#34;;
  7. char w_cadena_fin[1000];
  8. int longitud,i,w_long1;
  9. int j=0;
  10.  
  11. longitud = strlen(texto);
  12. strtok(texto,&#34;GET&#34;);
  13. w_long1 = strlen(texto);
  14. printf(&#34;&#092;n&#34;);
  15. printf(&#34;texto_orig es: %s&#092;n&#34;,texto_orig);
  16. printf(&#34;Longitud es: %d&#092;n&#34;,longitud);
  17. printf(&#34;GET esta en: %d&#092;n&#34;,w_long1);
  18.  
  19. for (i=w_long1; i&#60;longitud; i++){
  20. w_cadena_fin[j] = texto_orig[i];
  21. j++;
  22. }
  23.  
  24. printf(&#34;&#092;n&#34;);
  25. printf(&#34;La cadena fin es: %s&#092;n&#34;,w_cadena_fin);
  26.  
  27. getch();
  28. }
  29.  
  30.  

Ahora hay que pulirlo, jejeje.
El software es como el sexo, es mejor cuando es gratis. (Linus Torvalds)