Здравствуйте, пока в моей программе у меня есть три класса (регистрация, логин и пользователь (родительский класс)), в этом вопросе меня интересуют только 2 пользователя и регистрация.
в родительском классе я создал этот небольшой фрагмент кода, который проверяет мой текстовый файл на наличие имен пользователей и паролей, и возвращает мне значения 1,2 или 0, которые я затем использую для проверки возможности входа или регистрации.
#include "User.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
User::User()
{
}
string user;
string pass;
string tUser;
string tPass;
int User::fileCheck(){
ifstream inFile;
inFile.open("Text.txt");
//Check For error
if (inFile.fail()) {
cerr << "error opening file" << endl;
exit(1);
}
int Count = 0;
//read file till you reach the end and check for matchs
cout << "Please enter username: ";
cin >> tUser;
cout << "Please enter password: ";
cin >> tPass;
while (inFile >> user >> pass) {
if (tUser == user && tPass == pass) {
Count = 1;
break;
}
else if (tUser == user && tPass != pass) {
Count = 2;
break;
}
}
return Count;
inFile.close();
};
User::~User()
{
}
Затем перейдем к классу регистров,
Затем я хочу использовать tUser и tPass и записать их в файл, если это имя пользователя не используется. Я попытался открыть в режиме добавления, затем записать в него tUser и tPass, но каждый раз вылетает, вот мой код. Я удалил последнюю строку после открытия файла в приложении.
#include <string>
using namespace std;
ofstream myFile;
Register::Register()
{
}
Register::~Register()
{
}
void Register::Registion()
{
User user1;
if (user1.fileCheck() > 0) {
cout << "This username has been taken please try something else";
}
else if (user1.fileCheck() == 0)
myFile.open("Text.txt", std::ios_base::app);
}
любая помощь будет оценена, также я могу использовать указатели для этого?