我是编程新手。我正在尝试创建一个登录程序,其中用户和密码已经存储在“.txt”文档中,但无论用户的输入是什么,它总是显示“用户或密码不正确!”。这就是我所做的:
#include <stdio.h>
#include <string.h>
int sign_In(char user[30], char pass[30]){
FILE *p;
char user2[30], pass2[30];
p= fopen("users.txt", "r");
fscanf(p,"User: %s Password: %s",user2,pass2);
if( (strcmp(user,user2)==0) && (strcmp(pass,pass2)==0) )
printf("\nUser and password correct!!!");
else
printf("\nUser or password incorrect!\n\n");
printf("\n\n");
fclose(p);
return 0;
}
int main(){
char user[30], pass[30];
printf("\nUser:");
scanf("%s",user);
printf("\nPassword:");
scanf("%s",pass);
sign_In(user, pass);
}
我究竟做错了什么?
这段代码实际上对我来说非常好,所以我假设您可能没有正确创建users.txt
文件。确保它采用您设置的格式:
用户:Space Chosen_Username空格密码:Space Chosen_Password
就文档的格式而言,包括空格在内的所有内容都应与fscanf
调用相匹配。当您在提示符下输入输入的用户名时,请不要添加额外的空格,否则它可能与您在fscanf
调用中的格式不匹配。
否则,代码完美无缺。只要users.txt
格式正确。