Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
20 / 20 / 4
Регистрация: 31.10.2010
Сообщений: 1,240
Записей в блоге: 2

Работа с byte (Помещение а Variant)

01.06.2015, 10:10. Показов 3838. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
В C# массив байт и переменная типа байт создаются так:
C#
1
2
byte[] data1 = {0x01, 0x02};
byte data2 = 0x22
. Я эти значения могу передать в функцию на C++, которая примет массив как variant, а byte как byte (typedef unsigned char BYTE).
У меня вопрос. Как эти переменные объявить на самом C++, для передачи в аналогичную функцию?
Я так понимаю массив надо будет конвертировать в VARIANT?
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2015, 10:10
Ответы с готовыми решениями:

Из Variant получить массив Byte
Добрый день. У меня есть переменная типа Variant, она содержит значения, скажем 0x55 0x55. Как мне ее конвертировать в массив byte? ...

Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)
Создать список из целых чисел.Поменять в списке местами максимальный и минимальный элементы Проблемы c процедурами Pos и Chang: пос...

Работа с VARIANT
Добрый день. Есть функция STDMETHODIMP MyClass::InitiateRequest(VARIANT* pVal) { byte mac = { 0x00, 0x8a, 0x0C, 0x98, 0x11, 0x15 }; ...

21
20 / 20 / 4
Регистрация: 31.10.2010
Сообщений: 1,240
Записей в блоге: 2
02.06.2015, 08:54  [ТС]
Студворк — интернет-сервис помощи студентам
IBM,

Добавлено через 31 минуту
Вообще я вместо VARIANT использовал _variant_t т.е.
C++
1
2
3
4
5
6
7
8
9
10
_variant_t To;                 //осуществляет необходимые вызовы функций VariantInit и VariantClear
    To.vt = VT_ARRAY | VT_UI1;
    SAFEARRAYBOUND rgsabound[1];
    rgsabound[0].cElements = 2;
    rgsabound[0].lLbound = 0;
    To.parray = SafeArrayCreate(VT_UI1, 1, rgsabound);
    void * pArrayData = NULL;
    SafeArrayAccessData(To.parray, &pArrayData);
    memcpy(pArrayData, Value, 2);
    SafeArrayUnaccessData(To.parray);
а потом передавал в функцию
C++
1
To.Detach();
Но в C++ Builder нет _variant_t. Так что возможно эти операции не подойдут для VARIANT.

Добавлено через 8 минут
И вообще, чем отличаются типы 1)VARIANT, 2)TVariant, 3)_variant_t ?

Добавлено через 28 минут
И такая ошибка выпадает: Buffer size less than needed
0
Заблокирован
02.06.2015, 10:11
Цитата Сообщение от Костяныч Посмотреть сообщение
Но в C++ Builder нет _variant_t. Так что возможно эти операции не подойдут для VARIANT.
Я вообще не понимаю, что ты хочешь сделать. Что это за библиотека, в которую ты настырно хочешь что - то передать? Откуда ты её взял? Как называется? Какую именно компоненту ты там используешь и какую функцию вызываешь и главное, для чего? Ответь на все вопросы

Цитата Сообщение от Костяныч Посмотреть сообщение
И вообще, чем отличаются типы 1)VARIANT, 2)TVariant, 3)_variant_t ?
Да хз, мне лень гуглить, я вообще всё это барахло давно забросил и пишу код чисто на Qt (код получается сразу под все популярные операционные системы), там есть QVariant

Цитата Сообщение от Костяныч Посмотреть сообщение
И такая ошибка выпадает: Buffer size less than needed
Ну.. тебе ж говорят, что буфер меньше, чем нужно. Значит тебе как - то надо инициализировать буфер так, чтоб места в нём хватило, что я тебе ещё могу на эту фразу сказать.

Добавлено через 33 секунды
Архив с проектом прикрепляй
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2015, 10:11

Работа с полями Variant
Доброй ночи. Такой вопрос. Есть поле в Excel типа Variant, в нем находится изображение. Как выгрузить из Excel данные я знаю. Как...

Работа с типом данных VARIANT
Всем привет. Сейчас работаю с некоторой динамической библиотекой(*.dll). Пытаюсь из этой dll использовать некую функцию GetTitleIDList....

Работа с byte[]
Подскажите пожалуйста литературу о том, как работать с битами в C/C#. Дело в том, что реализовал алгоритм хэширования на C# используя...

'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Работаю с библиотеками PIL и telebot В чем может быть проблема ? Ошибка - 'utf-8' codec can't decode byte 0xff in position 0:...

UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 - invalid start byte
Добрый день При вызове скрипта вылетает такая ошибка: "UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131:...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru