typedef struct {
char Nombre[34];
char apellidos[70];
char usuario[50];
}Datos_persona;
//Defino persona de tipo Datos persona
Datos_persona persona;-y lo voy a almacenarlo en un archivo (supongamos que esta en a) con:
//personales es el puntero de el fichero
FILE *personales;
personales = fopen("a:\datos_p.dat","a+b");
-Despues de solicitar los datos como por ejemplo:
cout<<"Digite el nombre"<<endl;
cin>>persona.Nombre;
cout<<"Digite apellidos "<<endl;
cin>>persona.apellidos;
cout<<"Digite el Nick de usuario "<<endl;
cin>>persona.usuario;
-Ya lleno el Struct lo almaceno en el archivo en esta forma:
fwrite(&persona,1,sizeof(persona),personales);
fclose(personales);
-Ahora mi duda es que cuando leo el fichero que contiene muchos struct llenos de informacion ya almacenada se me ocurrio hacer esto:
cout<<"Digite el nombre a buscar"<<endl;
cin>>nom;
FILE *personales;
personales = fopen("a:\datos_p.dat","r+b");
fseek(personales,recoge_num_reg,0);
cout<<"se han encontrado los siguientes datos";
//realiza una lectura de datos buscados en el fichero
fread(&persona,1,sizeof(persona),personales);
cout<<persona.Nombre<<"\n";
cout<<persona.apellidos<<"\n";
cout<<persona.usuario<<"\n";-Tengo errores de compilacion en la funcion de busqueda la cual es:
FILE *personales;
personales = fopen("a:\datos_p.dat","r+b");
rewind(personales)
while not eof(){
if strcmp(fseek(personales,count,0),char_recibe) {
return count;
}
else {
count++;
}
}
-El error esta en el if strcmp(fseek(personales,count,0),char_recibe)
- Pero mi gran problema es que no puedo realizar correctamente busquedas (esto a la vez me impide el darlemantenimiento a los datos del archivo)
- Te pido que por favor me ayudes en mis primeros pasos en C (bueno creo que mas bien C++), y te lo agradeceria.....
