Buenas, no se por qué al crear un fichero txt para guardar un password, es decir, una cadena de caracteres, al salir del programa cuando quiero volver a entrar e introduzco el password de nuevo es como si dentro del programa no reconociera ningún fichero o estuviera vacío cuando en realidad sigue creado en el escritorio. Ejecutadlo vosotros mismos , dentro del programa te deja elegir para crear un password nuevo o cambiarlo y luego acceder con el password creado que efectivamente si no salgo del programa me deja entrar pero cuando salgo del programa y vuelvo a entrar porque carajos cuando quiero acceder con el password no me deja ?? si se supone que el fichero no ha muerto y sigue intacto en el escritorio No lo pillo. No se que mas opciones pueden haber para solucionar este dilema , Gracias!!
#include<stdlib.h>
#include<iostream>
#include<conio.h>
#include<string.h>
struct fichero{
char pass_admin[20];
};
main(){
FILE *archivo;
struct fichero f;
char exit;
char write[20];
int config;
int select;
do{
printf("\n>>>>>>>>>>>>>>>>>>MENU ACCESO<<<<<<<<<<<<<<<<<<<<<<<<<");
printf("\n__________Configuracion mi cuenta(C)__________");
printf("ACCEDER(A)__________");
printf(":");scanf("%c",&select);
fflush(stdin);
switch(select){
case 'c':
archivo=fopen("admin.txt","wt");
printf("NEW PASSWORD:");gets(f.pass_admin);
fwrite(&f,sizeof(f),1,archivo);
fclose(archivo);
fflush(stdin);
printf("\nyour password has been changed succesfully");
printf("\nVolver al menu de acceso?(S),pulse cualquier otra letra para salir del programa:");scanf("%c",&exit);
break;
case 'a':
printf("PASSWORD:");scanf("%s",write);
fflush(stdin);
if(strcmp(f.pass_admin,write)==0){
printf("acceso permitido");
printf("\nVolver al menu de acceso?(S),pulse cualquier otra letra para salir del programa:");scanf("%c",&exit);
break;
// todo el codigo que sigue
}
}
system("cls");
}
while(exit=='s');
}