C语言 txt文件的读写方法?

现有User.txt文件,保存着如下数据:
aaa 1111
bbb 2222
ccc 3333
前面d1是账户,后面d2是密码,要求用C语言写个密码验证模块!用键盘接受的name[20]和ps[8]分别与d1和d2比较(d1,d2从User.txt中读取,注意:d1,d2之间的空格不止一个)
大家帮忙看看呀,可以的话再加20分

第1个回答  推荐于2016-08-01
例子一个,比较简单:

#include<stdio.h>
#include<string.h>

void main()
{
char line[50];
char name[20], ps[8];

FILE *fp = fopen("User.txt","r");
if(!fp)
{
return;
}

while(!feof(fp))
{
memset(line,0,50);
memset(name,0,20);
memset(ps,0,8);
fgets(line,50,fp);

sscanf(line, "%s%s", name, ps);
printf("Name:[%s], Pass:[%s]\n",name,ps);
}
}本回答被提问者采纳
第2个回答  2009-06-03
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main()
{
char name[21], ps[9];
char nm[21], pwd[9];
FILE *fp;
fp = fopen("User.txt", "r");
printf("User name: ");
scanf("%20[^\n]", name);
getchar();
printf("Password: ");
scanf("%8[^\n]", ps);
getchar();

if (NULL == fp)
{
printf("Can not open file.\n");
exit(-1);
}

while (1)
{
if (feof(fp))
break;

fscanf(fp, "%s %s", nm, pwd);

if (!strcmp(nm, name) && !strcmp(pwd, ps))
{
// do something here
printf("logging in..\n");
break;
}
}

fclose(fp);
getchar();
}
第3个回答  2009-06-03
fopen()
fread()
估计是用这两个函数。
第4个回答  2009-06-03
sscanf()
相似回答