[ Foro de C++ ]

Ayuda!!No me reconoce un fichero.txt creado

01-Apr-2021 22:04
Invitado (jhontitor)
0 Respuestas

uenas, no se porque 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 ningun fichero o estuviera vacio 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');


}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)