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

Дайте ссылку или пример на интересующий меня вопрос. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На массив и знание математики http://www.cyberforum.ru/cpp-beginners/thread240697.html
1. Определить, в какой координатной четверти нахочится точка заданная координатами (x,y). 2. Массив Y Вычислить среднее геометрическое положительных элементов массива Y. Y-целые числа. 3. Найти...
C++ сниффер сети Хочу написать сниффер сети на С++. Подскажите пожалуйста какие-нибудь книжки в этой области. http://www.cyberforum.ru/cpp-beginners/thread240692.html
контрольные суммы C++
всем здравствуйте. я долго искал подходящий топик, но не нашёл и решил создать, так как то, что находил мне не подходило теперь по делу. меня сейчас посадили за один стареньки процессор еще с RISC...
C++ программа со структурами!!!!
помогите пожалуста со структурами, и если не сложно при структурах опишите что делает данная строчка) заранее огромное спасибо! вот задание Создать программу, позволяющую вводить элементы массива...
C++ Ввод/вывод в С++: не могу разобраться. http://www.cyberforum.ru/cpp-beginners/thread240652.html
#include<iostream> using namespace std; #include<cstdlib> const int SIZE = 30; struct bop { char fullname; char title; char bopname; int preference; };
C++ Структуры Помогите пожалуйста с задачей: вот условие: Багаж пассажира характеризуется количеством вещей (целый тип) и общим весом вещей (вещественный тип). Дан список из сведений о багаже 10 пассажиров.... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
10.02.2011, 14:38
QWAN, если хотите сохранять в файл массив структур, лучше в структуре поле char *lpBuffer; сделать не указателем, а массивом
C
1
char szBuffer[SOME_PREDEFINED_SIZE];
тогда получится что-то вроде
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
typedef struct  FRAGMENT {
    int counter;        // счетчик, показывает номер фрагмента
    int Size_X;         // размер фрагмента по Х
    int Size_Y;        // размер фрагмента по Y
    char szBuffer[SOME_PREDEFINED_SIZE];        // здесь хранятся символы
}fragment_t; // так привычнее и удобнее
 
...
 
fragment_t stat_fragments[NUMBER_OF_FRAGMENTS];
fragment_t * dyn_fragments = (fragment_t*)calloc(NUMBER_OF_FRAGMENTS, sizeof(fragment_t)); 
// на самом деле нужно проверить, удачно ли память выделилась
...
// чем-то как-то заполняем массив(ы)
// пишем в файл
FILE * f = fopen(FILE_NAME, "wb"); // то же замечание по поводу проверки
fwrite(stat_fragments, NUMBER_OF_FRAGMENTS, sizeof(fragment_t), f); 
// возвращённое значение должно ровняться NUMBER_OF_FRAGMENTS
fwrite(dyn_fragments, NUMBER_OF_FRAGMENTS, sizeof(fragment_t), f); 
// возвращённое значение должно ровняться NUMBER_OF_FRAGMENTS
fclose(f);
...
// чтение
f = fopen(FILE_NAME, "rb");
fread(stat_fragments, NUMBER_OF_FRAGMENTS, sizeof(fragment_t), f); 
// возвращённое значение должно ровняться NUMBER_OF_FRAGMENTS
fread(dyn_fragments, NUMBER_OF_FRAGMENTS, sizeof(fragment_t), f); 
// возвращённое значение должно ровняться NUMBER_OF_FRAGMENTS
fclose(f);
// и снова повторюсь - не забывайте проверять ВСЕ значения, возвращаемые функциями ввода-вывода
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru