Чтение из двоичного файла. Проблема с памятью [закрыто] ⇐ C++
-
Гость
Чтение из двоичного файла. Проблема с памятью [закрыто]
Моя проблема в том, что при попытке прочитать двоичный файл возникла ошибка:
Выброшено исключение: нарушение прав доступа для чтения. _Val был 0x2248ECF3C78. Я провел небольшое исследование и пришел к выводу, что плохо обращаюсь с указателями и памятью.
У меня есть класс Пользователь:
класс Пользователь { частный: std::string firstName; std::string LastName; std::string имя пользователя; std::строковый пароль; беззнаковый идентификатор = 0; беззнаковые точки = 0; Bool модератор = ложь; и у меня есть класс System для обработки вещей:
Система классов { частный: беззнаковое число учетных записей = 16; беззнаковый currAccount = 0; Учетные записи пользователей; И у меня есть эта функция loadUsersFromFile():
void System::loadUsersFromFile() { std::ifstream file(fileNameBinary, std::ios::binary); если (!file.is_open()) { std::cerr currAccount == this->numOfAccounts) изменитьРазмер(); this->accounts[this->currAccount++] = readUser; } файл.закрыть(); } Я не знаю, откуда возникла проблема.
Я пытался заставить его читать файл, как в C. Или внес некоторые изменения в класс User, попробовал std::exchange() и std: :swap().
Моя проблема в том, что при попытке прочитать двоичный файл возникла ошибка:
Выброшено исключение: нарушение прав доступа для чтения. _Val был 0x2248ECF3C78. Я провел небольшое исследование и пришел к выводу, что плохо обращаюсь с указателями и памятью.
У меня есть класс Пользователь:
класс Пользователь { частный: std::string firstName; std::string LastName; std::string имя пользователя; std::строковый пароль; беззнаковый идентификатор = 0; беззнаковые точки = 0; Bool модератор = ложь; и у меня есть класс System для обработки вещей:
Система классов { частный: беззнаковое число учетных записей = 16; беззнаковый currAccount = 0; Учетные записи пользователей; И у меня есть эта функция loadUsersFromFile():
void System::loadUsersFromFile() { std::ifstream file(fileNameBinary, std::ios::binary); если (!file.is_open()) { std::cerr currAccount == this->numOfAccounts) изменитьРазмер(); this->accounts[this->currAccount++] = readUser; } файл.закрыть(); } Я не знаю, откуда возникла проблема.
Я пытался заставить его читать файл, как в C. Или внес некоторые изменения в класс User, попробовал std::exchange() и std: :swap().
Мобильная версия