Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Одновременное чтение с 8 файлов 
:(
    Опции темы
Silyet
Дата 12.7.2015, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.7.2015

Репутация: нет
Всего: нет



Здравствуйте. Помогите пожалуйста.
В файле сохранены данные, состоящие из пакетов по 7 байт, пакетов N-ое количество. Таких файлов 8.
7 байт имеют структуру: 1 байт(младший) и 2 байт(старший) - 16 битное число, с 3 байта (младший) по 6 байт (старший) 32 битное число и 7 байт (какая-то информация)
Нужно открыть 8 файлов прочитать у каждого, допустим, 1 пакет найти минимальное и максимальное число для 16 битного и 32 битного числа (из этих 8 фалов) и записать их в новый файл добавив к ним в конце 7 байт (информация)
В итоге получим новый файл в котором: 
с 1 байта по 4 байт два 16 битных числа (min, max), с 5 байта по 12 байт два 32 битных числа (min, max) и 13 байт (7 байт информации) и процедуру повторить для каждого пакета.
Может кто-то уже решал подобную задачу и поделится опытом.
Большое спасибо всем за предоставленную помощь.
PM MAIL   Вверх
feodorv
Дата 12.7.2015, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



"Псевдокод":
Код
for(i:0..7) files[i] = open_file( names[i], "rb");
output = open_file( "output, "wb"); 

for(n:0..N-1)
{
  for(i:0..7) read_packet( files[i], &packets[i]);

  entry.minShort = get_min_short( packets );
  entry.maxShort = get_max_short( packets );
  entry.minLong = get_min_long( packets );
  entry.maxLong = get_max_long( packets );
  for( i:0..6) entry.info[i] = ???;

  write_entry( output, &entry);
}

close_file( output );
for(i:0..7) close_file( files[i] );    



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Silyet
Дата 13.7.2015, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.7.2015

Репутация: нет
Всего: нет



feodorv, Спасибо за помощь! Буду разбираться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.