1 / 1 / 1
Регистрация: 13.03.2012
Сообщений: 424
|
||||||
1 | ||||||
Запись байтов в массив char22.05.2017, 16:47. Показов 7882. Ответов 23
Метки нет (Все метки)
Есть переменная типа
в 3 байт число от 1-10 в 4-5 байт число от 0 до 360 в 6-7 байт число от 0 до 360.
0
|
22.05.2017, 16:47 | |
Ответы с готовыми решениями:
23
Запись аудиофайла в массив байтов Запись звука в массив байтов Запись строки char в массив char Запись символов в массив char |
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
22.05.2017, 21:19 | 21 |
MasterOfAlteran, возможно. Но как уже сказал, с тем, что reinterpret_cast работала некорректно под VS2010 при реинтерпритации данных, уже сталкивался, а с некорректной работой union'а ещё нет. Тем более что если есть memcpy, то то же самое проделывается и вручную и кстати тоже неоднозначно (из-за порядка байтов)... Но там уже совсем не присваивания идут.
0
|
52 / 30 / 13
Регистрация: 21.05.2017
Сообщений: 109
|
||||||
22.05.2017, 21:49 | 22 | |||||
По ссылке выше написано зачем:
Теперь у нас еще имеется библиотечный std::variant, который для подобных целей подходит еще лучше, чем сырое объединение. А проблемы с интерпретацией могут возникнуть уже при простой передаче двух указателей/ссылок в функцию:
Виноват в этом не совсем union (хотя...), но допустить такую ситуацию в проекте с активным его использованием вполне возможно. Добавлено через 12 минут В коде выше для CL достаточно поменять сигнатуру функции на void foo(uint64_t & i, double & __restrict d) и добавить опцию /O1 для получения "прелестей жизни": http://rextester.com/LNEI87224
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|||||||||||
22.05.2017, 22:55 | 23 | ||||||||||
Собственно если заменить ту конструкцию на такую:
Добавлено через 6 минут Но вообще мне эта функция по смыслу напоминает функцию
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
26.05.2017, 19:40 | 24 |
В общем, нашёл про это подробную и доходчивую статью - https://habrahabr.ru/post/114117/
1
|
26.05.2017, 19:40 | |
26.05.2017, 19:40 | |
Помогаю со студенческими работами здесь
24
Запись числа в массив char Char[], Запись из файла в массив Считывание из текстбоксов байтов и запись в массив Сериализация изображения в массив байтов и запись в *.pas Выполнить чтение всех байтов с файла с помощью FileInputStream в массив байтов Чтение из файла и запись в массив char Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |