using namespace std;
string Get_write(string login, ifstream &fb1)
{
User x;
string a;
fb1.open("data.dat", ios::binary | ios::in | ios::out);
//fb1.seekg(sizeof(User) * 0, ios::beg);
fb1.read((char *)&x, sizeof(User));
while (!fb1.eof() || ((x.Get_NickName()) != login))
{
fb1.read((char *)&x, sizeof(User));
}
//a = x.Get_Pass();
fb1.close();
return a;
}
bool Proverka_Logina(string login)
{
User x; bool tr = false;
fstream fb;
fb.open("data.dat", ios::out | ios::binary | ios::app);
do
{
fb.read((char *)&x, sizeof(User));
if (x.Get_NickName() == login)
{
tr = true;
}
} while (!fb.eof());
fb.close();
if (tr = true)
{
return true;
}
return false;
}
case 2:
cout << "\nВведите логин пользователя: ";
cin >> login;
if (Proverka_Logina(login) == true)
{
ifstream fb1;
password = Get_write(login,fb1);
}
do
{
cout << "Введите пароль: ";
cin >> password;
} while (Klient.Get_Pass() != password);
break;
default:
break;
}
}
Здравствуйте, третий час сижу и не могу понять, выдает ошибку при выходе из функции Get_write, помогите пожалуйста!
Ну нельзя читать/писать вот так -
fb1.read((char *)&x, sizeof(User));
что-то, кроме простейших структур! Вряд ли у вас User
- plain old data (POD). Там же наверняка что-то есть не совсем фундаментальное :)
На фоне этого стандартная ошибка
while (!fb1.eof()
это уже и вовсе мелочи...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вопрос на счет подключения своих классов в cli, есть код, и при подключении класса с интами все хорошо, но при попытке подключить со string выдает...
Что означает запись vector<unsigned char> vec(300)? Именно если в конструктор передается число