|
C++代码:
- char * ReturnText()
- {
- CString info;
- info.Format(_T("{"uid": %u, "nick": "%s"}"), 10001, CStringW("王经理"));
- /*
- 参考文章
- https://blog.csdn.net/u010306834/article/details/39495305
- https://www.cnblogs.com/junyuz/archive/2011/08/24/2151857.html
- */
- //注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的
- int n = info.GetLength(); // n = 14, len = 18
- //获取宽字节字符的大小,大小是按字节计算的
- int len = WideCharToMultiByte(CP_ACP, 0, info, info.GetLength(), NULL, 0, NULL, NULL);
- //为多字节字符数组申请空间,数组大小为按字节计算的宽字节字节大小
- char * pChar = new char[len + 1]; //以字节为单位
- //宽字节编码转换成多字节编码
- WideCharToMultiByte(CP_ACP, 0, info, info.GetLength() + 1, pChar, len + 1, NULL, NULL);
- pChar[len] = '\0'; //多字节字符以'\0'结束
- return pChar;
- }
复制代码 易语言代码:
- .版本 2
- .DLL命令 ReturnText, 文本型, "MFCLibrary1.dll", "ReturnText", 公开
复制代码- .版本 2
- .支持库 spec
- .子程序 _按钮1_被单击
- 调试输出 (ReturnText ())
复制代码
网上的指针到文本不适用于这种情况,大部分情况下char*窄字符直接返回,易语言就能接。
|
|