Comm32 (activeX 컨트롤)를 사용하여 GetInput() 메서드를 사용하여 직렬 포트를 통해 데이터를 가져옵니다. 이 메서드는 _variant_t를 반환하므로 unsigned char의 배열로 변환해야합니다. 직렬 포트 텍스트 모드로 구성된VARIANT를 부호없는 char 배열로 변환합니다.
예상 (코드 날 writed 생략) 작동 BSTR에 다음 CString을로 변형 변환 (이는 문자열로 해석 데이터 입력)
_variant_t x = m_comm32.GetInput();
CString cs = x.bstrVal;
그러나 직렬 포트를 통해 전송 된 데이터는 실제로 이진 데이터이므로 comm32에서 이진 데이터로 해석하도록 구성하면 위의 샘플 코드가 올바른 데이터를 제공하지 않습니다. 그래서 내가 다른 형식으로 변환해야 할 것 같아요 (아마도 서명되지 않은 char 배열일까요? 그걸 테스트하고 싶습니다).
내 문제는 VARIANT 구조에서 데이터를 변환하는 방법에 대한 자세한 정보를 찾을 수 없어서 미쳐 가고 있습니다. 변형을 unsigned char 배열로 변환하려면 어떻게해야합니까 ??