Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Volodymyr02
1 / 1 / 0
Регистрация: 26.09.2015
Сообщений: 35
#1

типизированный файл, ошибка ошибка при выходе - C++

21.05.2016, 19:22. Просмотров 148. Ответов 3
Метки нет (Все метки)

Работа с типизированным файлом. В функцию вывода добавляю проверку if для вывода персонала только 1 подразделения. Выводит на 1 элемент меньше, без if выводит все элементы правильно. Finansovuy -> string. Если проверяю int работает правильно. В чем ошибка при string?
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
37
38
39
case '2': {
    system("cls");
    output = fopen("output.dat", "ab+");        // відкриття файлу для дозапису у бінарному режимі
    if (output == NULL) {                       // перевірка чи вдалось відкрити файл
        printf("Error opening file");
    }
    cout<<"******************************************************************************\n";
    cout<<" ----------------------------------------------------------------------------\n";
    cout<<" |                              *Info*                                      |\n";
    cout<<" ----------------------------------------------------------------------------\n";
    cout<<" |Kod | Surname |  Name   |    S.Name    |Vik| Posada  |Pidrozdil |Stag| $  |\n";
    cout<<" ----------------------------------------------------------------------------\n";
        
                int i=0;
    do{
        read_size = fread(&my_elem_read[i], sizeof(my_struct), 1, output);
        if (read_size == 0) break;
        if (my_elem_read[i].pidrozdil== "Finansovuy"){
        
        cout <<" |"; 
        cout.width(4),cout << my_elem_read[i].kod<<'|';
        cout.width(9),cout << my_elem_read[i].fio<<"|";
        cout.width(9),cout << my_elem_read[i].fio1<<"|";
        cout.width(14),cout  << my_elem_read[i].fio2<< "|";
        cout.width(3),cout  << my_elem_read[i].vik<< "|";
        cout.width(9),cout  << my_elem_read[i].posada << "|";
        cout.width(10),cout  << my_elem_read[i].pidrozdil << "|";
        cout.width(4),cout  << my_elem_read[i].stag << "|";
        cout.width(4),cout  << my_elem_read[i].zarplata<< "|"<< "\n";
        i++;
        }
    } while (read_size > 0);
cout<<" ----------------------------------------------------------------------------\n";
    cout<<"******************************************************************************\n";
    fclose(output);
                
            
            
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2016, 19:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос типизированный файл, ошибка ошибка при выходе (C++):

Ошибка при выходе из программы - C++
Работаю с экселем.Открываю книгу,обрабатываю.Если открываю документ из моей программы,то после обработки,когда закрываю ее - все...

Ошибка доступа к памяти при выходе из программы - C++
Подскажите почему после завершения работы выдаётся ошибка, что идёт запись данных в память? вроде всё очистил #include &lt;iostream&gt; ...

Ошибка при выходе из программы, а в отладке с самого начала её нет - C++
Программа должна повторять действия калькулятора. Условия таковы вводим строку и после работаем с ней как с числами и символами, но при...

Ошибка о выходе за пределы массива - C++
При изменении условия s&gt;1 на s&gt;0 ошибка о выходе за пределы массива. как исправить? #include &lt;iostream&gt; #include &lt;vector&gt; using...

Ошибка о выходе за границу памяти кучи - C++
Собственно изучаю месяца три, первый мой язык. Сначала был вебинар, сейчас читаю А. Пол. Пока интересно. Собственно вопросы. Есть...

Ошибка при записи в файл - C++
помогите, вылетает ошибка при записи в файл ф-я void add_in_file(int n) что не так? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

3
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
21.05.2016, 19:33 #2
потому что нельзя fread в string
0
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
21.05.2016, 19:51 #3
Вообще не советую в одной программе смешивать iostream с stdio.h
Если бы использовали ifstream, такой ошибки не возникло бы.
0
Volodymyr02
1 / 1 / 0
Регистрация: 26.09.2015
Сообщений: 35
21.05.2016, 23:09  [ТС] #4
Всем спасибо. Ошибку допустил когда заполнял структуру. В коде нету ошибок)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2016, 23:09
Привет! Вот еще темы с ответами:

Ошибка при записи в файл - C++
Помогите добить задачку на С++. В общем прога работает правильно вот только когда идет запись в файл, то в файле находятса не данные...

Ошибка при записи в бинарный файл - C++
Задание - записать в бинарный файл последовательность из N байт вида &quot;00001111 11110000 00001111 ...&quot;. Почему-то 11110000 записывается...

Ошибка при вводе даных в файл - C++
Компилируется прога хорошо, но почему то не вводимые слова не записываются в файл не понимаю что я не так сделала? #include &quot;stdafx.h&quot; ...

Ошибка при записи данных в файл - C++
Для записи перменной типа string выделяю динамически массив из 64 элементов char,после записи данных освобождаю память,но почему-то при...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru