Я использую Comm32 (элемент управления ActiveX) для получения данных, поступающих через последовательный порт, используя метод GetInput ().Этот метод возвращает _variant_t, поэтому мне нужно преобразовать его в массив неподписанных символов.
Когда последовательный порт настроен на TextMode (это ввод данных интерпретируется как String), преобразование Variant в BSTR итогда CString работает как положено (код, который я не написал):
_variant_t x = m_comm32.GetInput();
CString cs = x.bstrVal;
Однако, поскольку данные, отправляемые через последовательный порт, на самом деле являются двоичными данными, при настройке comm32 для интерпретации данных как двоичных данных приведенный выше пример кода нене дайте мне действительные данные.Поэтому я думаю, что мне нужно преобразовать его в другой формат (возможно, массив unsigned char? Это что-то, что я хочу проверить).
Моя проблема в том, что я схожу с ума, так как не могу найти подробную информацию о том, как конвертироватьданные из структуры VARIANT.Как я могу преобразовать вариант в массив без знака ??