我是vc ++的新手。如何将UCHAR *
值转换为CString
,将CString转换为UCHAR *
CString str;
UCHAR * pBuffer;
......Memmory allocation..
str.format(_T("%d"),pBuffer);
但它不起作用。第二个数据可能是字符串或整数,所以如何以适当的方式进行转换。
答案 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);
等等......