Título: [AYUDA]C++.Matrices de char en archivos binarios Publicado por: DPool en 31 Julio 2018, 09:41 am Buenas, recien estoy empezando en esto de la programacion en c++, y tengo una duda. No se como escribir los datos que tengo en una matriz de tipo char en un archivo binario, si me lo pudieran responder se los agradeceria mucho.
Aca les dejo el codigo del programa CODIGO #include <iostream> #include <stdlib.h> #include <fstream> #include <string.h> #include<stdio.h> #define BOL 4 #define EQUIPO 32 #define CONF 6 #define BOLEQ 8 #define BOLCONF 3 using namespace std; struct Bolilleros{ //Registros de los bolilleros(numero de bolillero,equipo,confederacion) char *numBol[BOL]={"1","2","3","4"}; char *equipo[EQUIPO]={"Rusia","Alemania","Brasil","Portugal","Argentina", "Belgica","Polonia","Francia","España","Peru","Suiza","Inglaterra","Colombia", "Mexico","Uruguay","Croacia","Dinamarca","Islandia","Costa Rica","Suecia", "Tunez","Egipto","Senegal","Iran","Serbia","Nigeria","Australia","Japon", "Marruecos","Panama","Corea del Sur","Arabia Saudita"}; char *conf[CONF]={"AFC","CAF","Concacaf","Conmebol","OFC","UEFA"}; //Crea la matriz del bolillero 1 (numero de bolillero,equipo,confederacion) char *bolillero1[BOLEQ][BOLCONF]={ {numBol[0],equipo[0],conf[0]}, {numBol[0],equipo[1],conf[5]}, {numBol[0],equipo[2],conf[3]}, {numBol[0],equipo[3],conf[5]}, {numBol[0],equipo[4],conf[3]}, {numBol[0],equipo[5],conf[5]}, {numBol[0],equipo[6],conf[5]}, {numBol[0],equipo[7],conf[5]}, }; //Crea la matriz del bolillero 2 (numero de bolillero,equipo,confederacion) char *bolillero2[BOLEQ][BOLCONF]={ {numBol[1],equipo[8],conf[5]}, {numBol[1],equipo[9],conf[3]}, {numBol[1],equipo[10],conf[5]}, {numBol[1],equipo[11],conf[5]}, {numBol[1],equipo[12],conf[3]}, {numBol[1],equipo[13],conf[2]}, {numBol[1],equipo[14],conf[3]}, {numBol[1],equipo[15],conf[5]}, }; //Crea la matriz del bolillero 3 (numero de bolillero,equipo,confederacion) char *bolillero3[BOLEQ][BOLCONF]={ {numBol[2],equipo[16],conf[5]}, {numBol[2],equipo[17],conf[5]}, {numBol[2],equipo[18],conf[2]}, {numBol[2],equipo[19],conf[5]}, {numBol[2],equipo[20],conf[1]}, {numBol[2],equipo[21],conf[1]}, {numBol[2],equipo[22],conf[1]}, {numBol[2],equipo[23],conf[0]}, }; //Crea la matriz del bolillero 4 (numero de bolillero,equipo,confederacion) char *bolillero4[BOLEQ][BOLCONF]={ {numBol[3],equipo[24],conf[5]}, {numBol[3],equipo[25],conf[1]}, {numBol[3],equipo[26],conf[5]}, {numBol[3],equipo[27],conf[0]}, {numBol[3],equipo[28],conf[1]}, {numBol[3],equipo[29],conf[2]}, {numBol[3],equipo[30],conf[0]}, {numBol[3],equipo[31],conf[0]}, }; }; void mostrarBolilleros(){ Bolilleros muestraBolillero; //Muestra el bolillero 1 cout<<"BOLILLERO 1"<<endl; cout<<"Bolillero|Equipo|Confederacion|"<<endl; for(int i = 0; i < BOLEQ; i++){ for(int j = 0; j < BOLCONF; j++){ cout<<muestraBolillero.bolillero1[j]<<" |"; } cout<<endl; } //Muestra el bolillero 2 cout<<"BOLILLERO 2"<<endl; cout<<"Bolillero|Equipo|Confederacion|"<<endl; for(int i = 0; i < BOLEQ; i++){ for(int j = 0; j < BOLCONF; j++){ cout<<muestraBolillero.bolillero2[j]<<" |"; } cout<<endl; } //Muestra el bolillero 3 cout<<"BOLILLERO 3"<<endl; cout<<"Bolillero|Equipo|Confederacion|"<<endl; for(int i = 0; i < BOLEQ; i++){ for(int j = 0; j < BOLCONF; j++){ cout<<muestraBolillero.bolillero3[j]<<" |"; } cout<<endl; } //Muestra el bolillero 4 cout<<"BOLILLERO 4"<<endl; cout<<"Bolillero|Equipo|Confederacion|"<<endl; for(int i = 0; i < BOLEQ; i++){ for(int j = 0; j < BOLCONF; j++){ cout<<muestraBolillero.bolillero4[j]<<" |"; } cout<<endl; } }; //mal void crearArchivoBolilleros(){ Bolilleros numberBoli; ofstream escribirFichero("Bolilleros.dat", ios::binary); // Apertura como salida if (escribirFichero){ cout << "Apertura con éxito \n"; for (int i = 0; i < BOL; i++){ escribirFichero.write((char *)&numberBoli.numBol,sizeof(Bolilleros)); } }else{ cout << "No se ha podido abrir el fichero"; } escribirFichero.close(); /* Bolillero Archivo; ofstream fichero("Bolilleros.dat", ios::binary); strcpy(Archivo.nombreEquipo,"Argentina"); strcpy(Archivo.confederacionEquipo,"Conmebol"); fichero.write((char*)&Archivo, sizeof(Bolillero)); fichero.close(); */ } //mal void leerArchivoBolilleros(){ ifstream lectura("Bolilleros.dat", ios::binary); Bolilleros al[BOL]; for (int i = 0; i < BOL; i++){ lectura.read((char *)(&al),sizeof(Bolilleros)); cout<<"Equipo: "<<al.numBol<<endl; } lectura.close(); } /* Bolillero LeerArchivo; ifstream leerfichero("Bolilleros.dat", ios::binary); leerfichero.read((char*)&LeerArchivo, sizeof(Bolillero)); cout<<"Equipo: "<<LeerArchivo.nombreEquipo<<endl; cout<<"Confederacion del Equipo: "<<LeerArchivo.confederacionEquipo<<endl; */ int main(){ //Ejecuta la funcion de crear un bolillero crearArchivoBolilleros();//sigue mal esta wea //mostrarBolilleros(); leerArchivoBolilleros(); return 0; } |