Test Foro de elhacker.net SMF 2.1

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
int main(){
FILE *filePointer=fopen("beads.in.txt","r");
    int n;
    fscanf(filePointer,"%d",&n);
    char beads[n];
    fscanf(filePointer,"%s",beads);
    fclose(filePointer);
   
    printf("%s\n",beads);
getch();
return(0);
}


Saludos