Я думаю, что следующий псевдоалгоритм может быть лучшим вариантом для вас:
- Введите имя пользователя, пароль
- Открыть поток файлов в файл
- Поток поиска для совпадения имени пользователя (выход, если не найден)
- Если найдено, сравните зашифрованный входной пароль с сохраненным зашифрованным паролем.
- Если найдено, верните успех, иначе «Имя пользователя не найдено или пароль неверный».
На шаге 3 каждый строковый буфер хранится в строке, которую можно сохранить в контейнере строк.
В идеале, во время этой обработки вы можете разбить строку на имя пользователя и пару паролей, а затем сохранить их в std :: map; и затем получить доступ к этому через map.find (введите имя пользователя) == введите пароль.
Вам не нужно хранить карту дольше, чем время входа в систему, затем вам следует сбросить карту (возможно, как локальную переменную функции).
Если у вашей программы действительно есть цель, это идеально, в противном случае просто включите ее:).