Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2010, 00:21
jesda_dleon
 
Fecha de Ingreso: diciembre-2010
Mensajes: 8
Antigüedad: 13 años, 4 meses
Puntos: 0
error de segmentación (archivo de texto) ayuda c++

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 :)!!