Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: utz en 13 Mayo 2012, 01:47 am



Título: Guarda basura al leer string desde un fichero.[RESUELTO]
Publicado por: utz en 13 Mayo 2012, 01:47 am
hola, estaba leyendeo un string de tamaño 77 desde un fichero.txt, pero cuando voy a imprimir el string me imprime solo los 70 primeros caracteres correctamente, el resto solo "basura".

Alguien me podria decir porque pasa esto y como arreglarlo por favor?
o bien que solo me diga como arreglarlo y ya me imaginare por que sucede :D

pd: estoy leyendo este string de la forma mas simple, con un fscanf... sin utilizar memoria dinamica ni nada de eso.


desde ya muchas gracias por su ayuda.


Título: Re: Guarda basura al leer string desde un fichero.
Publicado por: durasno en 13 Mayo 2012, 02:36 am
Hola! pone el codigo q estas haciendo, no podemos decirt q esta mal sino mostras nada, y aclara como esta formado tu fichero


Saludos


Título: Re: Guarda basura al leer string desde un fichero.
Publicado por: utz en 13 Mayo 2012, 02:46 am
hola, esta es la forma en que leo el string, en el archivo en la primera linea hay un numero que me indica la longitud de la cadena y el en la siguiente linea esta la cadena que debo leer.
esto es lo que leo desde el fichero:
77
rwrwrwrwrwrwrwrwrwrwrwrwbwrwbwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwr

al momento de imprimir me muestra bien solo hasta la posicion 70, luego solo "basura"

FILE *filePointer=fopen("beads.in.txt","r");
    int n;
    fscanf(filePointer,"%d",&n);
    char beads[n];
    fscanf(filePointer,"%s",beads);
    fclose(filePointer);



Título: Re: Guarda basura al leer string desde un fichero.
Publicado por: durasno en 13 Mayo 2012, 03:15 am
Parece no haber problema con eso, pone como imprimis


Título: Re: Guarda basura al leer string desde un fichero.
Publicado por: utz en 13 Mayo 2012, 22:05 pm
lo imprimia con printf o con puts... pero ya da lo mismo, decidi hacerlo con memoria dinamica para salir del paso rapido.

saludos


Título: Re: Guarda basura al leer string desde un fichero.[RESUELTO]
Publicado por: durasno en 14 Mayo 2012, 03:36 am
mmm q raro, decidi compilarlo y me anda bien
Código
  1. int main(){
  2. FILE *filePointer=fopen("beads.in.txt","r");
  3.    int n;
  4.    fscanf(filePointer,"%d",&n);
  5.    char beads[n];
  6.    fscanf(filePointer,"%s",beads);
  7.    fclose(filePointer);
  8.  
  9.    printf("%s\n",beads);
  10. getch();
  11. return(0);
  12. }

Saludos