申请一个指定字符长度的 BSTR 指针,并初始化为一个字符串
SysAllocStringLen(
const OLECHAR * pch, //宽字符串指针
unsigned int cch //字符串数
);
Allocates a new string, copies cch characters from the passed string into it, and then appends a null character.
分配一个以0结束的short类型空间和unsiged long类型的计数
参数:
pch:指向有cch个字符的空间
cch:字符个数 + 一个空字符
返回值:
指向一个拷贝字符串的空间指针;如果空间不足,返回NULL.
==================================
lstrlenW:获得宽字符串的个数(不包括结束符'\0')
SysStringLen:获得宽字符串的个数(包括结束符'\0')
SysStringByteLen:获得宽字符串的字节数(包括结束符'\0')
MultiByteToWideChar(CP_ACP, 0, MyString, -1, 0, 0):返回一个以NULL结束的字符串个数(包括结束符'\0')
======================================
MessageBoxW显示BSTR类型的字符串:
DWORD len;
BSTR strptr;
char MyString[] = "Some text";
len = MultiByteToWideChar(CP_ACP, 0, MyString, -1, 0, 0);
strptr = SysAllocStringLen(0, len);
MultiByteToWideChar(CP_ACP, 0, MyString, -1, strptr, len);
MessageBoxW(NULL,strptr,L"Test",0);
阅读(6184) | 评论(0) | 转发(0) |