从txt文件中读取用户名和密码

时间:2011-04-22 23:52:30

标签: c++ readline fstream

我需要从.txt文件中提取用户名和密码,而我很难想到如何准确地执行此操作。我会试着打破这个。

  1. 打开文件
  2. 读入用户名
  3. 将用户名与用户输入进行比较
  4. 将密码与与用户名
  5. 关联的用户输入进行比较
  6. 如果用户名和密码匹配,则返回true或false
  7. 是的,这是家庭作业。我正在学习如何在等待USPS运送我的课程txt书时使用fstream。非常感谢您的帮助!

    这是我到目前为止所做的:

    bool User::check(const string &uname, const string &pass)
    {
        //open the file
    
        fstream line;
        line.open("users.txt");
    
        //Loop through usernames
            //If a username matches, check if the password matches
    }
    

    users.txt文件如下所示:

    ali87   8422
    
    ricq7   bjk1903
    
    messi   buneyinnessi
    
    mike    ini99ou
    
    jenny   Y00L11A09
    
    end
    

2 个答案:

答案 0 :(得分:2)

我认为以下伪算法对您来说可能是更好的选择:

  1. 输入用户名,密码
  2. 打开文件流到文件
  3. 搜索用户名匹配流(如果未找到则退出)
  4. 如果找到,请将加密输入密码与存储的加密密码进行比较。
  5. 如果找到,则返回成功,否则,“找不到用户名或密码不正确。”。
  6. 对于第3步,您将每个行缓冲区存储在一个字符串中,您可以将其存储在字符串容器中。 理想情况下,在此处理过程中,您可以将字符串拆分为用户名,密码对,然后将它们存储在std :: map中;然后通过map.find(输入用户名)==输入密码来访问它。

    您不需要将地图存储的时间超过登录过程的持续时间,然后您应该丢弃地图(可能作为本地函数变量)。

    如果你的程序实际上有一个目的,这是理想的,否则,只是让它工作:)。

答案 1 :(得分:1)