Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Sistema de usuarios en C

Estas en el tema de Sistema de usuarios en C en el foro de C/C++ en Foros del Web. Hola, a ver si alguien me puede ayudar, tengo que hacer un sistema que permita registrar usuarios y por supuesto tambien hacer el login, habia ...
  #1 (permalink)  
Antiguo 14/05/2008, 10:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 51
Antigüedad: 19 años, 2 meses
Puntos: 0
Sistema de usuarios en C

Hola, a ver si alguien me puede ayudar, tengo que hacer un sistema que permita registrar usuarios y por supuesto tambien hacer el login, habia pensado que al registrarse guardara la informacion (usuario y contraseña) en una estructura y de ahi lo pasara todo a un archivo binario para poderlo cargar la proxima vez que se ejecute el programa. Y para hacer el login recoger los datos (usuario y contraseña) del archivo binario y compararlos con los datos que ha introducido el usuario para ver si el login es correcto.

El problema que tengo es que no se como recorrer el archivo binario para ir comparando todos los nombres y contraseñas de todos lo usuarios registrados con los datos que ha introducido el usuario actual en el formulario. No se si me explico XD, a ver si alguien me puede dar alguna idea o me puede ayudar con algo.

Un saludo y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 14/05/2008, 12:02
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 3
Re: Sistema de usuarios en C

Emplea fwrite y fread... Al emplear una estructura tanto al escribir como al leer no tendras problemas en que los datos caigan en las variables correspondientes... Si quieres recorrer tu archivo en multiplos de la estructura emplea fseek...
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
  #3 (permalink)  
Antiguo 14/05/2008, 13:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 51
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Sistema de usuarios en C

El programa me funciona bien sin utilizar una estructura y con un solo usuario registrado usando fread y fwrite, mi problema es que me lio bastante con las estructuras no se como guardar datos en ella ni de que forma se guardan, a ver si alguien me puede pasar un tutorial sobre estructuras o me explica un poco como va el tema (ya he mirado alguno, ademas de los apuntes de clase pero aún asi me sigo liando). Como se guarda con fwrite una estructura en un binario? igual que una variable normal? y para leerlo lo mismo?
para guardarlo en el binario podria ser por ejemplo algo asi¿?:

Código PHP:
struc login{
char nombre [25];
char pass [25];
}
log;

/*para el ejemplo meto desde el codigo los datos*/
strcpy(log.nombre,"Juan");
strcpy(log.pass,"hola");

fwrite(&log.nombre,sizeof(char)*25,1,punteroarchivo);
fwrite(&log.pass,sizeof(char)*25,1,punteroarchivo); 
y para leerlo lo mismo solo que con fread ¿?


"Si quieres recorrer tu archivo en multiplos de la estructura emplea fseek..."
Cual es el formato de fseek y exactamente cual es su funcion, es que he estado buscando y he encontrado parametros bastante "raros" y no me aclaro mucho.

Muchas gracias de antemano ;)
  #4 (permalink)  
Antiguo 14/05/2008, 18:15
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 3
Re: Sistema de usuarios en C

Defines la estructura

Código:
struct RegArch{
   char Nombre[25];
   char Psw[25];
};
Declaras un apuntador a la estructura

Código:
RegArch *RegArchptr
Reservas memoria para tu estructura

RegArchptr = (RegArch *) malloc(sizeof(RegArch));

Escribes los valores en la estructura

Código:
strcpy(RegArchptr->Nombre,"Usuario");
strcpy(RegArchptr->Psw,"Password",4);
Escribes en tu archivo la estructura
Código:
fwrite(RegArchptr,sizeof(RegArch),1,File);
Para leer con fread
Código:
fread(RegArchptr->Nombre,sizeof(RegArchptr->Nombre)-1,1,File);
fread(RegArchptr->Psw,sizeof(RegArchptr->Psw)-1,1,File);
liberas la memoria reservada con un free()

Si no quieres emplear estructuras, puedes hacerlo directamente por posicion en el archivo, tu defines la forma que tendra tu archivo y es como lo leeras... Por ejemplo, puedes decir que cada linea de tu archivo esta compuesta por dos cadenas, por lo que desde el inicio de la linea hasta encontrar un separador, por ejemplo un pipe (|) es el nombre, despues de este caracter hasta encontrar el fin de linea es el password. Aqui la lectura la tendrias que hacer por cada elemento de tu archivo binario...

Espero te ayude esto y no te haya generado mas dudas... jejejeje
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
  #5 (permalink)  
Antiguo 11/11/2008, 02:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Sistema de usuarios en C

Sabes como puedo pasar un archivo a binario
gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:51.