Форум программистов, компьютерный форум CyberForum.ru

Чтение из бинарного файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязные списки, стек http://www.cyberforum.ru/cpp-beginners/thread28976.html
Помогите пожалуйста, кто может:(. нужно только дописать удаление. вот само задание: удаление из линейного стека входной последовательности целых чисел все узлы, содержащие наиболее часто встречающееся значение. #include <iostream> using namespace std; struct node{ int info; node *link; };
C++ Как убрать окно консоли Всем привет! Посмотрите как можно убрать черное окно чтобы осталась только окно диалога.... http://www.cyberforum.ru/cpp-beginners/thread28971.html
Посоветуйте задачу к курсовой. Одномерные массивы и указатели C++
Если у кого-нибудь есть программа на одномерные массивы пожалуйста скиньте код + если у вас есть блок схемы. Ещё если не трудно с пояснениями. Вообще прога должна быть не простой, скажу так - какая-то замысловатая, ну чтобы для курсовой подошла Всем ответившим спасибо :)
Несоставляемое число C++
Подскажите решение плииз.... Дано N натуральных чисел. Требуется найти минимальное натуральное число, не представимое суммой никаких из этих чисел, если в эту сумму каждое исходное число может входить не более одного раза. Входные данные Входной файл INPUT.TXT в первой строке содержит натуральное число N, не превосходящее 104, далее следуют N строк, в каждой из которых записано по одному...
C++ вывод в файл таблицы http://www.cyberforum.ru/cpp-beginners/thread28957.html
Привет всем. Помогите пожалуйста с курсовой, мне нужно написать программу на языке С для вывода в файл таблицы значений функции. Аргумент функции t должен принимать значения от 0 до +2п с шагом дельта t = п/20. 2 пособия пересмотрел, ничего подобного не увидел, даже намёка на данную работу... за рание спасибо.
C++ "Присоединить" DLL Я написал программу используя wxWidgets и Code::Blocks, скомпилировал ее под windows (компилятор - mingw). При запуске она требует wxmsw28u_gcc.dll. Вопрос в следующем, возможно ли сделать так, чтобы эта библиотека интегрировалась в исполняемый файл программы, чтобы не было необходимости носить ее отдельным файлом? Если да, то как? PS: Не судите строго если вопрос дурацкий, я только учусь... подробнее

Показать сообщение отдельно
kitten
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 21

Чтение из бинарного файла - C++

06.04.2009, 20:20. Просмотров 2414. Ответов 8
Метки (Все метки)

Создала Базу данных. запись в файл происходит, а чтение из файла не получается. исправьте, пожалуйста, или подскажите как?
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#include <stdio.h>
#include <string.h>
#include <assert.h>
 
struct dataRow
{
    int id;
    char* surname_owner;
    int number_of_processors; //число процессоров
    char* type_of_processors; //тип процессоров
    int size_memory; //объем памяти
    char* type_of_video_controller; //тип видеоконтроллера
    int size_of_video_buffer; //объем видеопамяти
    char* type_of_hard_disk; //тип винчестера
    int number_of_hard_disk; //число винчестера
    char* capacity_of_hard_disk; //емкость винчестера
    int number_of_integrated_controller; //кол-во интегрированных контроллеров
    int number_of_outside_device; //колво внешних устройств
    char* operational_system; //операционная система
    //char str[256];
};
 
struct dataTable
{
    struct dataRow Rows[100];
    int RowNumber;
};
 
void printRow(struct dataRow Row)
{
    printf("%d %s %d %s %d %s %d %s %d %s %d %d %s\n", Row.id, Row.surname_owner, Row.number_of_processors, Row.type_of_processors, Row.size_memory, Row.type_of_video_controller, Row.size_of_video_buffer, Row.type_of_hard_disk, Row.number_of_hard_disk, Row.capacity_of_hard_disk, Row.number_of_integrated_controller, Row.number_of_outside_device, Row.operational_system);
}
 
 int writeInt(FILE* stream, int a)
 {
     fwrite(&a, sizeof(int), 1,stream);
 }
 
 void writeString(FILE* stream, char *a)
 {
    writeInt(stream, (int)strlen(a));
    fwrite(a, strlen(a), 1, stream);
 }
 
 int readInt(FILE* stream)
 {
     int showing;
     fread(&showing, sizeof(int), 1, stream);
 }
 
 
     char* readString(FILE* stream)
{
 
    int size = readInt(stream);
    char* res = new char[size + 1];
    fread(res, size, 1, stream);
    return res;
}
 
 void addRow(struct dataRow row, struct dataTable* table)
 {
     table->Rows[table->RowNumber]=row;
     table->RowNumber++;
 }
 
void readTable(FILE* stream, struct dataTable* table)
{
    int k=0;
    k=readInt(stream);
    struct dataRow row;
    for(int i=0; i< k; i++)
    {
        row.id =readInt(stream);
        row.surname_owner =readString(stream);
        row.number_of_processors =readInt(stream);
        row.type_of_processors =readString(stream);
        row.size_memory =readInt(stream);
        row.type_of_video_controller =readString(stream);
        row.size_of_video_buffer =readInt(stream);
        row.type_of_hard_disk =readString(stream);
        row.number_of_hard_disk =readInt(stream);
        row.capacity_of_hard_disk =readString(stream);
        row.number_of_integrated_controller =readInt(stream);
        row.number_of_outside_device =readInt(stream);
        row.operational_system =readString(stream);
        addRow(row, table);
    }
}
 
void writeTable(FILE* stream, struct dataTable table)
{
    int i;
    writeInt(stream, table.RowNumber);
    for(i=0; i<table.RowNumber; i++)
    {
        writeInt(stream, table.Rows[i].id);
        writeString(stream, table.Rows[i].surname_owner);
        writeInt(stream, table.Rows[i].number_of_processors);
        writeString(stream, table.Rows[i].type_of_processors);
        writeInt(stream, table.Rows[i].size_memory);
        writeString(stream, table.Rows[i].type_of_video_controller);
        writeInt(stream, table.Rows[i].size_of_video_buffer);
        writeString(stream, table.Rows[i].type_of_hard_disk);
        writeInt(stream, table.Rows[i].number_of_hard_disk);
        writeString(stream, table.Rows[i].capacity_of_hard_disk);
        writeInt(stream, table.Rows[i].number_of_integrated_controller);
        writeInt(stream, table.Rows[i].number_of_outside_device);
        writeString(stream, table.Rows[i].operational_system);
    }
}
 
void printTable(struct dataTable table)
{
    printf("i s_o n_of_p t_of_p d_s t_of_v_c s_of_v_c t_of_v_b n_of_h_d t_of_h_d n_of_i_c n_of_o_d o_s\n");
    FILE *file;
    file = fopen("KR.txt", "rb");
 
    for(int i=0; i=!feof(file); i++)
    {
        struct dataTable table;
        struct dataRow row;
        //FILE *file;
        fread (&row, sizeof(struct dataRow), 1, file);
        printRow(table.Rows[i]);
        //fclose(file);
 
        //printRow(table.Rows[i]);
        //fread (&table, sizeof(struct dataRow), 1, file);
    }
}
 
int main()
{
    int number;
    //FILE *file;
    //file = fopen("KR.txt", "ab");
    //fscanf(file, "id surname_owner    number_of_processors type_of_processors size_memory type_of_video_controller size_of_video_controller    type_of_video_buffer number_of_hard_disk type_of_hard_disk number_of_integrated_controller number_of_outside_device operational_system", stream);
    printf("MENU\nFor adding row print 1\nFor showing table print 2\nFor searching print 3\n");
    scanf("%i", &number);
    //FILE *file;
   // file = fopen("KR.txt", "rb");
 
    if(number == 1)
    {
 
        //for(int id=1, id<RowNumber, id++)
        //{
        struct dataRow row;
        printf ("Enter id\n");
        scanf ("%d", &row.id);
        printf ("Enter surname_owner\n");
        scanf ("%s", &row.surname_owner);
        printf ("Enter number_of_processors\n");
        scanf ("%d", &row.number_of_processors);
        printf ("Enter type_of_processors\n");
        scanf ("%s", &row.type_of_processors);
        printf ("Enter size_memory\n");
        scanf ("%d", &row.size_memory);
        printf ("Enter type_of_video_controller\n");
        scanf ("%s", &row.type_of_video_controller);
        printf ("Enter size_of_video_buffer\n");
        scanf ("%d", &row.size_of_video_buffer);
        printf ("Enter type_of_hard_disk\n");
        scanf ("%s", &row.type_of_hard_disk);
        printf ("Enter number_of_hard_disk\n");
        scanf ("%d", &row.number_of_hard_disk);
        printf ("Enter capacity_of_hard_disk\n");
        scanf ("%s", &row.capacity_of_hard_disk);
        printf ("Enter  number_of_integrated_controller\n");
        scanf ("%d", &row.number_of_integrated_controller);
        printf ("Enter number_of_outside_device\n");
        scanf ("%d", &row.number_of_outside_device);
        printf ("Enter operational_system\n");
        scanf ("%s\n", &row.operational_system);
        FILE *file;
        file = fopen("KR.txt", "ab");
        fwrite (&row, sizeof(dataRow), 1, file);
        fclose(file);
        //}
    }
    if(number == 2)
    {
        struct dataTable table;
       //struct dataRow row;
        FILE *file;
        //file = fopen("KR.txt", "rb");
        //fread (&row, sizeof(struct dataRow), i, file);
        //struct dataRow Row;
        //printRow(Row);
        printTable(table);
        fclose(file);
    }
    if(number == 3)
    {
    }
 
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru