Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: palacio29 en 18 Mayo 2019, 20:04 pm



Título: No encuentro el error en este programa - Structs + Punteros
Publicado por: palacio29 en 18 Mayo 2019, 20:04 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. struct s_texto
  5. {
  6.    char*txt;
  7.    unsigned int longitud;
  8.  
  9. };
  10. typedef struct s_texto t_texto;
  11.  
  12. t_texto* CARGARTEXTO();
  13. char* CARGASTRING();
  14. void escribirarch(const char* nomArch,t_texto*);
  15.  
  16. int main()
  17. {
  18. escribirarch("frases_con_longitud.csv",CARGARTEXTO());
  19.  
  20.  
  21.    return 0;
  22. }
  23. t_texto* CARGARTEXTO()
  24. {
  25.  
  26.    t_texto kiko;
  27.    kiko.txt=CARGASTRING();
  28.    printf("\n%s\n",kiko.txt);
  29.    return &kiko;
  30. }
  31. char*CARGASTRING()
  32. {
  33.  
  34.    char*texto=NULL;
  35.    char letra;
  36.    int i=0;
  37.    texto=malloc(sizeof(char));
  38.    letra=getche();
  39.    while(letra!='\r')
  40.    {
  41.        *(texto+i)=letra;
  42.        i++;
  43.        texto=realloc(texto,((i+1)*sizeof(char)));
  44.        letra=getche();
  45.    }
  46.    *(texto+i)='\0';
  47.    return texto;
  48. }
  49.  
  50. void escribirarch(const char* nomArch,t_texto* kiko)
  51. {
  52.  
  53.    FILE*arch=NULL;
  54.    printf("Llegue");
  55.    printf("%s",kiko.txt);
  56.    arch=fopen(nomArch,"w");
  57.    fprintf(arch,"%d",5);
  58.    printf("%d",longitud(kiko));
  59.    fclose(arch);
  60. }

Lo que tengo que hacer es cargar la estructura con un texto y la longitud de un texto y eso mandarlo a un archivo de texto
Dentro de la estructura hay un puntero.
Mi problema es en la linea 55. No se como hacer que imprima la frase.
Al intentar mandarlo por archivo, no manda nada...justamente porque hay intentar llamar a la frase para que se ponga ahi, me da error.


Título: Re: No encuentro el error en este programa - Structs + Punteros
Publicado por: lordluisiv en 18 Mayo 2019, 21:56 pm
Oye puedes guiarte de aqui

es un sistemita de guardado que hice, ahi puede revisar como escribir en un archivo y sacar esa informacion, y editarla.
https://foro.elhacker.net/programacion_cc/solucion_eliminareditar_contenido_de_un_fichero-t495331.0.html (https://foro.elhacker.net/programacion_cc/solucion_eliminareditar_contenido_de_un_fichero-t495331.0.html)



Título: Re: No encuentro el error en este programa - Structs + Punteros
Publicado por: MAFUS en 18 Mayo 2019, 22:23 pm
Cómo usas conio pues no lo puedo probar, y ahora mismo me da pereza cambiar código, pero ya que kiko es un puntero deberías usar el operador -> en vez de . para acceder a su miembro.