amigos... estoy leyendo un archivo binario de la siguiente forma:
Código:
int main ()
{
fstream archivoRegistrosBinarios("Usuarios.dat", ios::in | ios::app | ios::out |ios::binary);//abrimos un archivo en modo añadidura, escritura y modo binario
if (!archivoRegistrosBinarios)//si no existe
{
//ofstream archivoManipulacion("Usuarios.dat", ios::out | ios::binary);//crear el archivo
if (!archivoRegistrosBinarios) //si no se pudo crear... salimos del programa
{
cerr << endl << "No se pudo crear o abrir el archivo..." << endl;
exit(1);
}
}
imprimeArchivoTexto(archivoManipulacion);
}
imprimeArchivoTexto(fstream &archivoaLeer)
{
ofstream archivoTexto("Usuarios.txt", ios::out);
if (!archivoTexto){
cerr << endl << "No se pudo crear el archivo de texto." << endl;
exit(1);
}
archivoTexto << endl << "Posición\tNombre\t\t\t\t\t\tGrupo\t\tAciertos\tErrores\tCalificación"<< endl;
archivoaLeer.seekg(0);
datosArchivar datosTexto;
archivoaLeer.read( reinterpret_cast <char *>(&datosTexto),sizeof(datosArchivar));
while(!archivoaLeer.eof())
{
archivoaLeer.read( reinterpret_cast <char *>(&datosTexto),sizeof(datosArchivar));
archivoTexto << datosTexto.posicion << "\t\t";
archivoTexto << datosTexto.nomb << "\t";
archivoTexto << datosTexto.grup << "\t";
archivoTexto << datosTexto.acier << "\t\t";
archivoTexto << datosTexto.error << "\t";
archivoTexto << datosTexto.calif << endl;
archivoaLeer.read( reinterpret_cast <char *>(&datosTexto),sizeof(datosArchivar));
}
}
Al momento de correr este código.. :( me marca un error "fallo de segmentación" y la verdad no sé que estoy haciendo mal :( alguien tiene idea de que pueda estar haciendo mal?? :) se agradece su ayuda :)!!