![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
just_geek |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
Есть к примеру структура:
И куча подобных структур... И куча подобных проверок. Вообщем охота как-то сделать покрасивее, а не тупо набивать однообразный и скучный код. Есть какие-то методы? |
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
#define READ(x) read((char*)&x, sizeof(x) );
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Провести некое подобие нормализации - разбить структуры на однотипные небольшие блоки и в них реализовыватьсчитывание и проверки. А вообще лучше поделитесь задачей - может выход попроще найдем, чем посимвольно считывать и проверять. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну и с того что Вы написали невозможно представить полную картину и в частности семантику считывания структур. Опишите что представляют из себя структуры, зачем необходима такая проверка в Вашем случае и какой язык используете Си или С++. |
|||
|
||||
Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
считывай всю структуру
а потом уже проверяй
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
just_geek |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
Гм. Вообщем это карта от отдной известной игры ![]() Проверки нужны, за тем что если a2 == 0, то байт a3 в файле отсутствует. Язык С++, а если еще точнее, то используется Qt. Ну к примеру возьмем базовую вещь. Строку Представлена таким видом.
А строка может входить в другие блоки данных.
Да скорей всего придется бить на блоки, а то что зависит от проверки уже считывать по символьно. Это сообщение отредактировал(а) just_geek - 30.3.2009, 19:19 |
||||||
|
|||||||
Ivanovich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
Каждую структуру (класс) надо научить себя самостоятельно считывать из потока данных и записывать в поток данных.
Это сообщение отредактировал(а) Ivanovich - 31.3.2009, 05:46 |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Тогда первый минимальный блок уже найден - строка. Что-то вроде небольшого класса, в котором реализован метод ReadFromFile. И так далее. |
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 2 Всего: 14 |
а почему никто сериализацию не предлагает, boost::serialization, например??? Помоему покрасивее будет.
-------------------- korbian © |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
Да вот думаю, что все таки надо
![]() |
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 2 Всего: 14 |
еще не известно, что большее зло!!!
![]() -------------------- korbian © |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |