在C中返回文本文件中的部分行

时间:2017-10-10 09:09:43

标签: c regex string validation text

我有一个文本文件,其中包含用户名和密码:

Username        999999

我尝试提取行,以便将用户名放入一个数组,并将密码(位于同一行)放入一个单独的数组中。我是C的新手,无法弄清楚如何做到这一点。

当我试图验证用户身份验证时,我觉得另一种方法是使用正则表达式。例如用户输入用户名,文本文件中的行匹配以查找具有此输入的行。用户输入密码,验证相同的行以查看密码是否与用户名匹配。

有谁知道如何实现这个?

1 个答案:

答案 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);
}