Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 2
Регистрация: 14.05.2012
Сообщений: 28

Fstream и ошибка в ios_base

14.05.2012, 00:45. Показов 1905. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
при попытке загрузки данных используя поток fstream компилятор выдает следующие ошибки:



код прилагается.
Файл СLUser.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Файл CLUser.h
 
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
 
enum enUsrType {Adm, Other };
 
class CUser
{
private:
 string FIO;
 enUsrType UserType;
 string password;
public:
 CUser();
 CUser(string fio, enUsrType usT, string pass);
 void LoadUserDataFromFile(fstream _file);
 void SaveUserDataToFile(fstream _file);
 ~CUser();
};


Файл CLUser.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Файл CLUser.cpp
 
#include "CLUser.h"
CUser::CUser()
{
};
 
CUser::CUser(string fio, enUsrType usT, string pass)
{
 this->FIO = fio;
 this->UserType = usT;
 this->password = pass;
};
 
void CUser::LoadUserDataFromFile(fstream _file)
{
  string fio, pass;
  enUsrType Utype;
  _file>>fio;
  string ut;
  _file>>ut;
  if (ut=="Adm") Utype = Adm;
  else if (ut=="Other") Utype = Other;
  else Utype = Other;
  _file>>pass;
  this->FIO = fio;
  this->UserType = Utype;
  this->password = pass;
};
 
void CUser::SaveUserDataToFile(fstream _file)
{
  _file<<this->FIO;
  _file<<this->UserType;
  _file<<this->password;
};


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// И собственно процедура на которую ругается компилятор(
 
void __fastcall TformLogIn::FormCreate(TObject *Sender)
{
        ListAdm.clear();
        ListOther.clear();
        CUser New;
        fstream _AdmFile("files\UserList\AdminList.lst"), _OtherFile("files\UserList\OtherList.lst");
        while (!_AdmFile.eof())
        {
          New.LoadUserDataFromFile(_AdmFile);
          ListAdm.push_back(New);
        };
        while (!_OtherFile.eof())
        {
          New.LoadUserDataFromFile(_OtherFile);
          ListOther.push_back(New);
        };
        ListAdm.begin();
        ListOther.begin();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2012, 00:45
Ответы с готовыми решениями:

Visual c++ fstream разница ios_base и ios
#include &lt;fstream&gt; ofstream fout(&quot;data_types.txt&quot;, ios_base::out | ios_base::trunc); почему указывают ios_base:: или ios:: при...

Не работает корректно ios_base::trunc | ios_base::out
Вкратце суть проблемы в том, что запись(ниже) не удаляет содержимое файла, а записывает данные в конец вдобавок к тем, что там были. ...

Ошибка при повторном запуске: terminate called after throwing an instance of 'std::ios_base::failure'
Здравствуйте, вот этот кусок кода(дан ниже) при повторном запуске программы выдает ошибку: terminate called after throwing an instance of...

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
14.05.2012, 01:26
ошибка в ios_base
Ошибка не в ios_base по ходу

Передавать поток по ссылке никогда не пробовал?
C++
1
2
 void LoadUserDataFromFile(fstream& _file);
 void SaveUserDataToFile(fstream& _file);
Кстати, бэк-слэши неплохо бы дублировать, подсветка тебе на это намекает:
C++
1
fstream _AdmFile("files\\UserList\\AdminList.lst"), _OtherFile("files\\UserList\\OtherList.lst");
1
0 / 0 / 2
Регистрация: 14.05.2012
Сообщений: 28
14.05.2012, 01:29  [ТС]
Если честно то с потоками редко когда работаю и как-то гуглил да ничего толкового не нашел...
а про бэк-слэш реально промах(((

СПАСИБО!
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
14.05.2012, 10:30
Глядя на сообщение об ошибке, я бы разбил вот это
C++
1
fstream _AdmFile("files\UserList\AdminList.lst"), _OtherFile("files\UserList\OtherList.lst");
на две команды (с парными "косыми", естественно).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2012, 10:30
Помогаю со студенческими работами здесь

Ошибка с fstream
При создании исполняемого файла (т.е release версии) вылезает ошибка: raised exception class EAccessViolation with message 'Access...

C++, <fstream>, начинающий, ошибка на выполнении
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; class Write { public: char s, *name, way; short int N; ...

C++, <fstream>, начинающий, ошибка на выполнении
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; class Write { public: char s, *name, way; short int N; ...

Ошибка компилятора при работе с fstream
Опыта с ним мало, работал всё время c freopen. Но тут нельзя им. Короче простейшая прога: есть база данных рабочих, вводят с консоли...

Ошибка в копирование файла через fstream
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru