UCHAR * 到 CString 的转换和 CString 到 UCHAR * 到 vc++ 中的转换
Posted
技术标签:
【中文标题】UCHAR * 到 CString 的转换和 CString 到 UCHAR * 到 vc++ 中的转换【英文标题】:UCHAR * to CString conversion and CString to UCHAR * to conversion in vc++ 【发布时间】:2015-05-23 02:12:22 【问题描述】:我是 vc++ 的新手。如何将UCHAR *
值转换为CString
和CString转换为UCHAR *
CString str;
UCHAR * pBuffer;
......Memmory allocation..
str.format(_T("%d"),pBuffer);
但它不起作用。第二个数据可能是字符串或整数,所以如何以正确的方式进行转换。
【问题讨论】:
见***.com/questions/20350411/… 在上面的链接答案被接受。但提问者对答案不满意。UCHAR*
究竟代表什么?
【参考方案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);
等等……
【讨论】:
以上是关于UCHAR * 到 CString 的转换和 CString 到 UCHAR * 到 vc++ 中的转换的主要内容,如果未能解决你的问题,请参考以下文章
如何使用霓虹内在函数准确地将 uchar 转换为 float32 ,反之亦然
将表示 UCHAR 数组的 json 字符串响应转换为字节数组