1 / 1 / 0
Регистрация: 26.09.2015
Сообщений: 38
1

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

21.05.2016, 19:22. Показов 467. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2016, 19:22
Ответы с готовыми решениями:

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

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

При выходе из программы выдаётся ошибка о испорченности данных
Здравствуйте, форумчане Взгляните код: Сам код работает правильно, но есть одна проблема, после...

Ошибка при сохранении в типизированный файл
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

3
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
21.05.2016, 19:33 2
потому что нельзя fread в string
0
Модератор
Эксперт С++
11354 / 9315 / 5597
Регистрация: 18.12.2011
Сообщений: 24,858
21.05.2016, 19:51 3
Вообще не советую в одной программе смешивать iostream с stdio.h
Если бы использовали ifstream, такой ошибки не возникло бы.
0
1 / 1 / 0
Регистрация: 26.09.2015
Сообщений: 38
21.05.2016, 23:09  [ТС] 4
Всем спасибо. Ошибку допустил когда заполнял структуру. В коде нету ошибок)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2016, 23:09

Ошибка с записью в типизированный файл
В строчках под номером 21, 25, 29 при кампиляции кода, выдает ошибку о несовместимости типов. Если,...

Ошибка при выходе
День добрый. Проблема в следующем: Выход из программы сделан следующим способом см.код При выходе...

Ошибка при выходе
Сижу по RDP на сервере. Захожу 1с , работаю и при выходе из 1с появляется такая ошибка. Что делать ?

Ошибка. Сохранение элементов очереди в типизированный файл
Пробывал f:file of elementtype но не хочет принимать. Ошибку выдаёт на Write(f,x); в процедуре...


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

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

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