Archivos bINARIOS c++

Iniciado por SojatDotar, 7 Febrero 2016, 19:17 PM

0 Miembros y 1 Visitante están viendo este tema.

class_OpenGL

Supongo que es el código suyo que expuso al principio pero cambiándolo con mis consejos. Vamos, que sería así:

Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;
using std::exit;

struct alumno {
    char nombre[256];
    char apellido[256];
    int edad;
};

int main () {
int i;
alumno alum[50];

ofstream f;

f.open("alumnos.bin", ios::out | ios::binary);
if(f.open) {
for (i=0; i<=50; i++) {
cout<<"Teclee el nombre del alumno"<<endl;
cin>>alum[i].nombre
cout<<"Teclee  el apellido"<<endl;
cin>>alum[i].apellido;
cout<<"Teclee  la edad"<<endl;
cin>>alum[i].edad;
f.write(reinterpret_cast<const char*>(&alum[i]), sizeof(alumno);
}
} else {
cout<<"Error al abrir el archivo"<<endl;
exit(1);
}
is.close();


//leemos el archivo

ifstream fe("alumnos.bin", ios::in | ios::binary);
if (fe){
cerr<<"Se abrio correctamente"<<endl;
} else {
cout<<"No se abrio correctamente"<<endl;
exit(1);
}

while (fe && !fe.eof()){
for (i=0; i<=50; i++){
cout<<"Teclee el nombre del alumno"<<endl;
cin>>alum[i].nombre
cout<<"Teclee  el apellido"<<endl;
cin>>alum[i].apellido;
cout<<"Teclee  la edad"<<endl;
cin>>alum[i].edad;

fe.read( reinterpret_cast<const char*>(&alum[i]), sizeof(alumno));
}
}//fin del while

return 0;
}

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

SojatDotar