[C con Clase] Guardar y Leer Ficheros :-/
alan
alandavidmc en hotmail.com
Vie Mar 30 00:11:15 CEST 2007
Hola a todos, agradeciendo de antemano su ayuda, quiciera que vean este codigo y me digan cual es el error porque no veo donde pueda estar cuando lo ejecuto (en visual C++ y en Dev-C++) me da un error (imprime basura) cuando llega al numero 26 (sin importar de donde empiece de 0 otro numero antes) y se repite cada 256 numeros.
-------------------------------------------------------------------------------
#include <iostream>
using namespace std;
#define TAM 290
typedef struct stDATOS
{
int edad; //si aca cambio a float el error aparece mas adelante
char nombre[40];
} DATOS;
int main()
{
FILE *arch;
DATOS datosG, datosA[TAM];
arch = fopen("prueba.txt", "w");
for(int i = 0; i < TAM; i++)
{
datosG.edad = (int)i;
sprintf(datosG.nombre, "Alan David Manosalva Cordova_%i", datosG.edad);
fseek(arch, i*sizeof(DATOS), SEEK_SET);
fwrite(&datosG, sizeof(DATOS), 1, arch);
}
fclose(arch);
arch = fopen("prueba.txt", "r");
for(i = 0; i < TAM; i++)
{
fseek(arch, i*sizeof(DATOS), SEEK_SET);
fread(&datosA[i], sizeof(DATOS), 1, arch);
}
fclose(arch);
for(i = 0; i < TAM; i++)
printf("%s - %i\n", datosA[i].nombre, datosA[i].edad);
return 0;
}
Más información sobre la lista de distribución Cconclase