#include<stdio.h>
#include <locale.h>
#include <cstring>
#include <stdlib.h>
int numero;
int main(int argc, char*argv[])
{
setlocale(LC_ALL, "Portuguese");
FILE * p_au;//variável ponteiro para o arquivo
FILE * p_as;
FILE * p_aus;
//FILE
char usuario_c[20];
char c_usuario[20];
char senha_c[20];
char c_senha[20];
p_au = fopen("email_cadastro.txt", "w"); //abrindo o arquivo com tipo de abertura w
p_as = fopen("senha_cadastro.txt", "w");
p_aus = fopen("email_cadastro.txt", "r");
int usuario, senha,usuario_i,i_usuario, senha_i, i_senha;
char sinco[] = "Senha incorreta, tente novamente!";
char csenha[] = {0};
char clogin [] = {0};
char p_aul[]={0};
int senha1, i, t, r, s,ilogin, ip_aul;
printf("Já possui login?\n\n");
printf("1 - Não\n");
printf("2 - Sim");
printf("\nEscolha a opção desejada: \n");
scanf("%d", &numero);
switch(numero){
case 1:
printf("Insira os dados para cadastro");
if(p_au ==NULL && p_as ==NULL){
printf("Erro na abertura do arquivo!");
return 1;
}
else{
fflush(stdin);
printf("\nEscreva um email para cadastro: ");
scanf("%s", &usuario_c);
i_usuario = strtol(usuario_c, NULL, 10);
printf("\nCódigo %i\n", &i_usuario);
printf("Confirme seu email");
s=3;
fflush(stdin);
for (i=0; i<3; i++){
printf("\nVocê só terá %i chances", s);
s--;
printf("\nInsira o email novamente: \n");
scanf("%s*%c", &c_usuario); //usuario teste
usuario_i= strtol(c_usuario, NULL, 10);//transformando string em int
printf("\nCódigo rastreio %i\n", &usuario_i);
fflush(stdin);
if (i_usuario != usuario_i){
printf("\nO email está incorreto, por favor tente novamente!");
}
else{
printf("\nEmail correto.\n");
fprintf(p_au, "%s", usuario_c); //usando fprintf para armazernar string no arquivo
fclose(p_au); //usando fclose para fechar o arquivo
fflush(stdin);
printf("\nDados gravados com sucesso!");
break;}
}
//DEU CERTO *****, so não sei como, fazer o mesmo para senha
printf("\nEscreva uma senha para cadastro: ");
scanf("%s", senha_c);
i_senha = strtol(senha_c, NULL, 10);
printf("Confirme sua senha");
r=3;
for (i=0; i<3; i++){
printf("\nVocê só terá %i chances", r);
r--;
printf("\nInsira a senha novamente: \n");
scanf("%s*%c", c_senha); //usuario teste
senha_i= strtol (c_senha, NULL, 10);//transformando string em int
if (i_senha != senha_i){
printf("\nA senha está incorreta, por favor tente novamente!");
}
else{
printf("\nSenha correta.\n");
fprintf(p_as, "%s", c_senha); //usando fprintf para armazernar string no arquivo
fclose(p_as); //usando fclose para fechar o arquivo
printf("\nDados gravados com sucesso!");
//printf("\nDados gravados com sucesso!");
break;}
}
}
break;
case 2:
p_aus = fopen("email_cadastro.txt", "r"); //abrindo o arquivo com tipo de abertura w
//p_as = fopen("senha_cadastro.txt", "r");
fprintf(p_aus, "email_cadastro");
if (p_aus == NULL){
printf("Não há login cadastrado");
}else{
fscanf(p_aus, "email_cadastro.txt", &p_aul);
printf("Insira o login: ");
scanf("%s*%c", &clogin);
ilogin= strtol(clogin, NULL, 10);
ip_aul= strtol(p_aul, NULL, 10);
} if (ilogin !=ip_aul){
printf("Login incorreto");
}}}
Boa tarde, estou fazendo um menu de cadastro de usuário e toda vez que o Dev compila o código, ele acaba apagando os arquivo txt gravados no endereço! Como posso resolver? Pois em determinada parte do programa, eu quero pegar estes dados e após compilar novamente, eu gostaria de resgatar os mesmo! A última parte ainda está em fase de construção, então há erros de sintaxe, mas o maior problema é que mesmo retirando ela, o Dev ainda exclui o que foi escrito em txt. (O código está horrivelmente feio para visualizar, mas está funcionando).