69,373
社区成员
发帖
与我相关
我的任务
分享
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main(void)
{
FILE *file;
char name[123];
char password[123];
char name_tmp[123];
char password_tmp[123];
char name_pass[256];
char *ret;
int login_success = 0;
file = fopen("D:\\liu\\lx.txt","r+");
if (file == NULL)
{
printf("文件打开失败!");
return 1;
}
while(1)
{
printf("请输入用户名:");
scanf("%s",name);
printf("请输入密码:");
scanf("%s",password);
while(1)
{
// ret = fgets(name_pass,sizeof(name_pass),file);
// if (ret==NULL) //判断文件有没有读取成功
// {
// break;
// }
//
// sscanf(name_pass,"%s %s",name_tmp,password_tmp);
fscanf(file,"%s %s",name_tmp,password_tmp);
if((strcmp(name,name_tmp) == 0) && strcmp(password,password_tmp) == 0)
{
printf("登陆成功!\n");
break;
}
else
{
printf("用户名或密码错误!");
system("pause");
system("cls");
break;
}
}
}
fclose(file);
return 0;
}
char name_pass;
应该是想定义成类似如下的字符数组的吧 char name_pass[256];
#include<stdlib.h>
至少你贴出来的代码可以运行了,如下#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main(void)
{
FILE *file;
char name[123];
char password[123];
char name_tmp[123];
char password_tmp[123];
char name_pass[256];
char *ret;
file = fopen("D:\\liu\\lx.txt","r+");
if (file == NULL)
{
printf("文件打开失败!");
return 1;
}
while(1)
{
printf("请输入用户名:");
scanf("%s",name);
printf("请输入密码:");
scanf("%s",password);
while(1)
{
ret = fgets(name_pass,sizeof(name_pass),file);
if (ret==NULL) //判断文件有没有读取成功
{
break;
}
sscanf(name_pass,"%s %s",name_tmp,password_tmp);
if((strcmp(name,name_tmp) == 0) && strcmp(password,password_tmp) == 0)
{
break;
}
else
{
printf("用户名或密码错误!");
system("pause");
system("cls");
}
}
}
return 0;
}