InicioCiencia EducacionUso de Ficheros binarios en C++
Buenas amigos de taringa, regreso hoy con este nuevo post porque es algo que me costo mucho entender espero facilitarles un poco la cosa este método me funciono muy bien.

Primer paso Abrir el Fichero:

Para usar ficheros primero hay que abrirlo, para esto hay que crear un puntero de tipo FILE que apunte a la dirección de memoria del fichero.

File *Puntero

hay que asignarle la direccion de memoria del archivo y ponerle un modo de apertura, los modos de apertura son los siguientes:

"r" -- Abre solo para Lectura
"w" -- Abre para escritura (en caso que el archivo ya exista borra la información)
"a" -- Abre el archivo y agrega info en la ultima linea
"r+" -- Abre archivo ya existente para leerlo o escribir en el
"w+" -- Crear un archivo para leer y escribir (si ya existe borra la información)
"a"+"-- Abre un archivo para agregar información(si no existe el archivo funciona igual que "w+"


y también la dirección del archivo, para hacerla fácil se puede poner una variable de tipo char con valor predefinido algo así:

char f1[]={"D: Progra\Agenda\BDAgenda.dat" ) ;

Ojo el \ es para abrir carpetas el : es para abrir discos

si ya tenemos nuestra variable char ya solo nos queda abrir el puntero.

Puntero=fopen(f1,"a+b" );

Segundo paso Leer el Fichero y Guardar la información en un Vector o Array:

Para pasar lo que tengo en un archivo a un vector solo creo mi vector y uso fread para leer el archivo y guardarlo en mi vector.
supongamos que mi vector es de 10

int vectorcreado[10];

fseek(Puntero,0,0);
for(int t=0; t<10; t++){
fread(&vectorcreado[t],size of(Estructura o vector),1,Puntero) ;
}



notese que el & esta antes del vector esto se tiene que hacer con un ciclo for si no lleva el & solo pasara el primer indice

Cuando terminamos el ciclo para guardar la información tenemos que cerrar el archivo con fclose

fclose(Puntero)
;


Tercer paso Escribir en el Fichero:

Para escribir se usa la función fwrite, esto lo hacemos así:

Recordemos que el modo de apertura "w+" me va a sobrescribir todo
pero eso es bueno en este caso, porque los datos actualmente están en mi vector, y los estoy manipulando en mi vector, y si los borre fue de mi vector, ahora lo que tenemos que hacer es borrar nuestro archivo ya existente y reemplazar la información que hay allí con la que esta en mi vector (para mantenerla actualizada)

Pues bien entonces usaremos el modo así:

Puntero=fopen(f1,"w+b";

sii estoy volviendo a abrir el archivo por eso es tan necesario cerrarlo arriba, para poder abrirlo ahorita pero de otro modo.

Luego escribimos con fwrite siempre usando un for para escribir toda la información de mi vector en el archivo.


for(int t=0;t<10;t++){
fwrite(&vectorcreado,size of(Estructura o vector),1,Puntero);
}



y volvemos a cerrar el archivo o fichero

fclose(Puntero);



vemos que es igual al fread que si no lleva el & antes del vector solo escribirá el primer indice del vector

pues nada eso es todo por mi parte el resto les toca a ustedes lo que estoy haciendo aquí es crear un archivo binario, guardando la información de mi programa en este archivo y luego guardando la información de mi archivo en mi vector para poder manipularla como yo quiera lo que me permite guardar mi archivo actualizado


Aclaro: esta es mi forma de hacerlo y a mi criterio la mas fácil y funcional
si alguien conoce una forma mas fácil comentadla, puede que ayuden a alguien
y si se sienten tan tontos como me sentí yo al principio que empece a ver este tema pregunten
puedo tardar un par de horas o días en contestar pero siempre contesto


Les dejo los links para mis otros post por si les interesa:



Datos archivados del Taringa! original
5puntos
1,857visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
deaniell🇦🇷
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.