|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
|||||||||||
Работать с массивом, как с набором различных по типу элементов09.10.2014, 15:24. Показов 2041. Ответов 31
Метки нет (Все метки)
Посидел, пытался как-то перевести BYTE в wchar_t. Но так и не смог.. Не знаю, как даже сделать перевод.
Помогите пожалуйста. Входные данные:
0
|
|||||||||||
| 09.10.2014, 15:24 | |
|
Ответы с готовыми решениями:
31
Как работать с массивом cell array (сортировать и искать количество нужных элементов) Как правильно работать с массивом? Как работать с двумерным массивом? |
|
|
||||||
| 09.10.2014, 17:12 | ||||||
|
Эти типы имеют различную размерность. BYTE - 8 бит, wchar_t - 16. Массивы должны отличаться по размеру аналогично, а для копирования можно использовать memcpy().
Еще проще - использовать union:
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||
| 09.10.2014, 17:24 [ТС] | ||
|
Kabak, это не то. Будут кракозябры вместо текста.
0
|
||
|
|
|
| 09.10.2014, 17:41 | |
|
trystyle, вы пробовали ?
Отлично преобразовывает. p.s. я представляю что такое wchar_t, BYTE и char Добавлено через 4 минуты Если у вас китайские иероглифы, вы их по-любому в char не затолкаете. Добавлено через 4 минуты Если вам нужно разложить 16 битное значение в 2-а 8-битных, то BRcr написал вам как это сделать.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
|
| 09.10.2014, 17:41 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||
| 09.10.2014, 17:49 [ТС] | ||
|
Собственно поэтому и встал такой вопрос, как корректно вытащить..
0
|
||
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||||||||
| 09.10.2014, 18:04 [ТС] | ||||||||
0
|
||||||||
|
|
|
| 09.10.2014, 18:21 | |
|
Да нет, все правильно вытаскивал - 64 байта, они же - первые 32 символа wchar_t в массиве. Зачем вообще конвертирование в BYTE и обратно - так и осталось непонятным. Считал, что надо, подредактировал и записал обратно - все через тот же массив wchar_t. Чего же боле?
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||
| 09.10.2014, 18:29 [ТС] | ||
|
Ну смотри в BYTE у меня хранить файл, точнее байты этого файла. Мне нужно вывести некоторые байты для юзера, но если я засуну их в char - то там кракозябры, если же засунуть их в wchar_t - то всё хорошо отображается. Т.е. получается человек увидел "содержимое" этих байт, отредактировал эти байты - они изменённые записались в массив заместо старых. А в конце программы просто открывается fopen() и с помощью fwrite() туда записывается этот массив BYTE и по сути уже лежит отредактированный файлик.
0
|
||
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||
| 09.10.2014, 19:15 [ТС] | ||
|
Добавлено через 7 минут или ты предлагаешь прочитать весь файл в wchar_t и по мере надобности вытаскивать из такого массива? Добавлено через 7 минут Думаю если прочитать весь файл в wchar_t то ничего хорошего..
0
|
||
|
|
|
| 09.10.2014, 19:20 | |
|
Почему нет? В смысле отображения или модификации юникодного текста ничего лучше массива wchar_t не придумаешь.
Вообще, по сути тип массива под файл не имеет абсолютно никакого значения. Достаточно кастануть указатель на массив к нужному типу и выбирать из него данные как душе угодно. Хочешь - int, хочешь - char, как угодно.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
|
| 09.10.2014, 19:22 [ТС] | |
|
0
|
|
|
|
||||||
| 09.10.2014, 19:51 | ||||||
|
Посмотри на вывод этого кода:
Размеры типов в данном случае - 1 и 2 байта. Информацию в массиве можно менять как угодно - хоть по одному, хоть по два байта, хоть по тысяче за раз, был бы подходящий тип. А как оно изначально объявлено и хранится - не имеет никакого значения.
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 55
|
||||||||||||
| 09.10.2014, 20:35 [ТС] | ||||||||||||
|
BRcr, т.е. нам нужно сделать как-то так?
Добавлено через 10 минут
0
|
||||||||||||
| 09.10.2014, 20:35 | |
|
Помогаю со студенческими работами здесь
20
Как работать с массивом в структуре? Как работать с таким json массивом? Как работать со своим массивом пикселей в Qt? Как правильно работать с таким массивом? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|