Tema: C++ Ayuda!!!
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2004, 01:19
Avatar de Yashiro
Yashiro
 
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 20 años
Puntos: 0
C++ Ayuda!!!

-Con respecto a mi problema o mas bien experimento e declarado unos struct ejemplo:

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.....