acceso directo en archivos

angie05
22 de Octubre del 2005
Hola

Necesito ayuda con un programa de registros de longitud fija, nose como hacer los accesos directos para hacer las modificaciones aqui les pongo la parte del codigo de modificar en objetos le hice algunas modificaciones pero no funciona:

Código:
void boleto::modificar(){
int band=0,pos=0;
long int num,n;
char resp;
ifstream b("a:\\arcobj.txt");
ofstream a("a:\\arcobj.txt",ios::app);
if(!b.good())
cout<<"\n No existe el archivo";
else{
printf("\n Numero a modificar: ");
cin>>num;
n=num;
while(!b.eof()){
b.read((char*)&x,sizeof(x));
if(b.eof())
break;
if(num==numero){
cout<<"\n\n Nombre: ";
cout<<nombre;
cout<<"\n lugar: ";
cout<<lugar;
cout<<"\n precio: ";
cout<<precio;
cout<<"\n Numero: ";
cout<<numero;
band=1;
n=num;
num=n;
fflush(stdin);
printf("\n\n Desea modificarlo (s/n): ");
scanf("%s",&resp);
if(resp==\'s\'|| resp==\'S\'){
b.seekg(0,ios::beg);
while(!b.eof()){
b.read((char*)&x,sizeof(x));
if(b.eof())
break;
if(num==numero){
a.seekp(pos,ios::beg);
cout<<"\n lugar: ";
fflush(stdin);
gets(lugar);
cout<<"\n precio: ";
cin>>precio;
fflush(stdin);
cout<<"\n Nombre: ";
gets(nombre);
a.write((char*)&x,sizeof(x));
break;
}//fin if(modificando)
else
pos=pos+68;
}//fin while leyendo archivo para copiarlo
break;
}//fin if (comparando respuesta para eliminar)
else
break;
}//fin if (comparando registro con numero)
}//fin while (leer archivo)
if(band==0)
printf("\n\n No se encuentra registro");
}//fin else(se pudo abrir archivo)
a.close();
b.close();
getch();
}

Ojala puedan ayudarme es muy urgente