Tengo que realizar un programa que me lleve la gestión de clientes, el problema es que he creado una función para darlos de alta que me crea un archivo con los registros, pero luego no puedo visualizarlos, por lo que me parece que algo no estoy haciendo bien a la hora de guardarlos, tengo que realizarlo con el Borland y no se si es un fallo del propio Borland porque no veo el error por ningún lado( también puede tener que ver que estoy empezando), me gustaría saber si podrías echarle un vistazo.
1 Respuesta
Respuesta de raguin
1
1
raguin, Pues porque veo que eres un curioson, soy Ingeniero Tecnico de...
Pasteame en código de acceso a disco que tengas, así como el tipo de estructuras que uses para tus registros, a ver que t puedo decir, ¿ok? De todas formas t pasteo un par de programas con dos formas de realizar la E/S, echale un vistazo. /////////// PROGRAMA 1 ///////////// #include <stdio.h> #include <string.h> void main( void ) { FILE *stream; int n=35; //abrimos el archivo para escribir (formato binario) stream = fopen( "fread_b.dat", "w+b" ); //escribimos un entero sobre el archivo fwrite( &n, sizeof( int ), 1, stream ); //cerramos el fichero fclose( stream ); n=0; //abrimos el fichero anterior, pero ahora para leer (binario) stream = fopen( "fread_b.dat", "rb" ); //leemos un entero fread( &n,sizeof(int),1,stream); //cerramos el fichero fclose( stream ); //abrimos un nuevo fichero para escribir (ahora en formato texto) stream = fopen( "fread_t.dat", "w+t" ); char cad[3]="35"; //escribimos el entero leido del archivo binario fwrite( &n, sizeof( int ), 1, stream ); //escribimos su valos ascii fwrite(cad,strlen(cad)*sizeof(char),1,stream); //cerramos el archivo fclose( stream ); } ////////////////////////////////////// ////////////// PROGRAMA 2 C++ //////////////// #include "fstream.h" #include "iostream.h" void main() { float f = 12; ofstream output("fichero.dat", ios::out|ios::binary, 0); output << f; output.close(); f = 0; ifstream input( "fichero.dat", ios::in|ios::binary, 0 ); input >> f; input.close(); cout << f; } ////////////////////////////////////////////////