UCHAR *到CString转换,CString到UCHAR *转换为vc ++

时间:2015-05-23 02:12:22

标签: visual-c++ mfc

我是vc ++的新手。如何将UCHAR *值转换为CString,将CString转换为UCHAR *

CString str;
UCHAR * pBuffer;
......Memmory allocation..
str.format(_T("%d"),pBuffer);

但它不起作用。第二个数据可能是字符串或整数,所以如何以适当的方式进行转换。

1 个答案:

答案 0 :(得分:1)

  

第二个数据可能是字符串或整数,所以如何以适当的方式进行转换。

格式化时,您必须将UCHAR*数据解释为正确的数据类型,例如:

// if pBuffer contains 'int' data...
str.format(_T("%d"), *(int*)pBuffer);

// if pBuffer contains 8bit 'char' data w/ a null terminator...
str.format(_T("%hs"), (char*)pBuffer);

Or:

// if pBuffer contains 8bit 'char' data w/o a null terminator...
str.format(_T("%*hs"), iBufferLen, (char*)pBuffer);

等等......