我有一个文本文件,其中包含用户名和密码:
Username 999999
我尝试提取行,以便将用户名放入一个数组,并将密码(位于同一行)放入一个单独的数组中。我是C的新手,无法弄清楚如何做到这一点。
当我试图验证用户身份验证时,我觉得另一种方法是使用正则表达式。例如用户输入用户名,文本文件中的行匹配以查找具有此输入的行。用户输入密码,验证相同的行以查看密码是否与用户名匹配。
有谁知道如何实现这个?
答案 0 :(得分:1)
这是一个简单的例子 -
- 打开文件"数据"包含
类型的行username number
- 循环读取这些行的文件
- 每行使用用户名初始化变量
初始化变量name
,使用数字N
- 打印用户名和N并再次循环,直到到达文件末尾。
假设用户名短于100个字符,否则会出现段错误。此外,假设该数字小于usinged long,否则将被截断。
#include <stdio.h>
main()
{
FILE *f = fopen("data", "r");
char name[100];
unsigned long n;
while (fscanf(f, "%s %u", name, &n)!=EOF)
{
printf("%s -- %u\n", name, n);
}
fclose(f);
}