С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.07.2015
Сообщений: 3

Сформировать массив байтов по определенному правилу

11.07.2015, 09:05. Показов 1023. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, с битами и байтами я никогда не работал, но приходится в быстром темпе изучать. Так вот в чём вопрос.
В файл записаны пакеты данных по 5 байт, пакетов около 1000. Первый байт информационного характера, а 2-5 байты 32-х разрядное число, мне нужно открыть этот файл нечётные пакеты оставить без изменения, а в чётных продублировать 32-х разрядное число и записать его после 5 байта в итоге получится структура:
5 байт
9 байт
5 байт
9 байт и т.д.
И потом всё это записать в файл.
В инете слишком много разношёрстной информации и голова уже от этого кругом.
Спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2015, 09:05
Ответы с готовыми решениями:

Сформировать массив по определенному правилу
Сформировать массив по правилу 1 0 0 ... 0 ...

Сформировать массив по определенному правилу
заданы массивы А и В с компонентами вещественного типа. Сформировать массив Х по правилу: Х=MIN(A, B), где i=1,2,...20. ...

Сформировать новый массив по определённому правилу
Дан массив целых чисел а1,…,аk. Если элемент массива отрицательный, то умножить этот элемент на квадрат наибольшего элемента массива, если...

3
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
11.07.2015, 09:38
Абстракция машинного байта - тип unsigned char.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
11.07.2015, 13:15
Если структура файла именно такова, как вы описали, пакеты ничем не разделены, то по такому примеру можно решить эту задачу__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{           //  #include <fstream.h> 
   char bch ; unsigned int Num, i=0 ;
   ifstream ifs(".\\123.bin",ios::in|ios::binary);
   ofstream ofs(".\\456.bin",ios::out|ios::binary);
   while(ifs.read((char*)&bch, 1)) {
     ifs.read((char*)&Num, sizeof(int)); // чтение INTa
     ofs.write((char*)&bch, 1);  // запись символа
     ofs.write((char*)&Num, sizeof(int)); // запись INTa
     if(i%2==0)
     ofs.write((char*)&Num, sizeof(int)); // дублирование INTa
     i++;
   }
   ifs.close();
   ofs.close(); 
}
1
0 / 0 / 0
Регистрация: 11.07.2015
Сообщений: 3
13.07.2015, 07:32  [ТС]
nick42, спасибо за помощь! Буду разбираться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2015, 07:32
Помогаю со студенческими работами здесь

Сформировать одномерный массив из двухмерного по определенному правилу
opisat programnaya realizatsiya sledushiy zadachi na c++ , Dan dvuxmerni masiv, zapolneniy selimi chislami ,. Sformormirovat odnomerniy...

Сформировать одномерный массив из заданного массива по определенному правилу
Задана последовательность X = (x1, x2, …, x10). Сформировать из неё одномерный массив Y, каждый элемент которого определяется по правилу ...

Маткад. Сформировать массив из двух других по определенному правилу
Дано два массива: A=(-2.5, 1, 126, -18.2, 1.2, 15.2, 0), B=(10.2, -1.25, 1.17, 109.2, 250,-102.3, 0) Сформировать массив C по правилу: ...

Сформировать массив по определенному правилу, найти сумму его элементов
Даны массивы А(m) и B(m), m≤12. Сформировать массив С по правилу: С1= Bm + A1, C2= Bm-1 + A2,..., Cm= B1 + Am. Найти сумму S элементов...

Задана последовательность,Сформировать из неё одномерный массив по определенному правилу.(фото внутри)
Заранее спасибо.:drink:


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru