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
Accede a tu Router!!(Solo para Routers Claro)
Accede a Wifi Facil y Rapido (Comprobado solo en Guatemala)
via Taringa.net - �ltimos posts http://ift.tt/1klieZh
No hay comentarios:
Publicar un comentario