C语言中文件输入输出的问题
我设计了一个程序有一个功能就是密码验证,默认为admin,但是在第一次登陆的时候,总是不能在新建的password中写入admin,表现为写入的时候直接退出程序,求大神们解释# include <stdio.h>
# include <windows.h>
# include <stdlib.h>
# include <string.h>
void InformationSearch();
void BackStage();
bool Login();
void main()//主函数登陆
{
printf("--------请输入登陆状态-------\n");
printf("1.游客登录\n");
printf("2.管理员登陆\n");
int i;
scanf("%d", &i);
switch(i)
{
case 1:
{
system("cls");
Sleep(800);
InformationSearch();break;
}
case 2:
{
system("cls");
Sleep(800);
BackStage();break;
}
}
}
void InformationSearch()//信息查询系统
{
}
void BackStage()//后台系统
{
if(Login())
{
return;
}
printf("--------欢迎登陆图书后台管理系统--------\n");
printf("1.初始化 所有信息\n");
printf("2.添加 图书信息\n");
printf("3.修改 图书信息\n");
printf("4.删除 图书信息\n");
printf("5.查询/查看 图书信息\n");
printf("6.建议查看\n");
printf("7.管理员密码修改\n");
}
bool Login()//打开保存密码的文件,并验证
{
FILE * fp;
int i, count;
char filename[] = "password";
char c, ch[] = "admin";
char stringIn[10];
char stringOut[10];
if((fp=fopen(filename, "rb+"))==NULL)
{
printf("这是您首次使用本系统\n默认密码为admin\n");
fp = fopen(filename, "wb+")
fprintf(fp, "admin");
}
fscanf(fp, "%s", stringOut);
printf("请输入密码: ");
scanf("%s", stringIn);
count = strcmp(stringIn, stringOut);
if(count==0)
return false;
else
return true;
}