关于LPCTSTR的问题 看过头文件里的定义了,这是一个指向类型为wchar_t的指针,怎么使用这个指针的呢?高手能举个例子吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在UNICODE的环境下,一般是VS2005以上,处理字符时用,用起来时跟char差不多,只是char在ASCII环境下wchar_t* pWch = L"abcdef";wprintf(pWch);查MSDN吧,现在MSDN的字符函数,都有写出 char 与 wchar_t 2种版本的用法的了. 直接用就是了,比如写成:LPCTSTR pStr=_T("KKKKKK"); LPCTSTR szBuf = _T("Hello,World"); 是宽字节,也就是由两个字节存储一个字符如果你习惯用 char *,可以转换一下使用//========== 将 wchar_t * 转换为 char * ==========wchar_t *lpWchar = L"ABCDEFG";//取得宽字节大小DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,lpWchar,-1,NULL,0,NULL,FALSE);char *psText;//分配 char 缓冲区psText = (char *)GlobalAlloc(GMEM_ZEROINIT, dwNum);//转换 wchar_t * 到 char * 缓冲区WideCharToMultiByte (CP_OEMCP,NULL,lpWchar,-1,psText,dwNum,NULL,FALSE);MessageBox(0,psText,"结果",64);//========== 将 char * 转换为 wchar_t * ==========char *psText = "ABCDEFG";//取得要转换的宽字符空间大小DWORD dwNum = MultiByteToWideChar(CP_ACP,0,psText,-1,NULL,0);wchar_t *pwText;//分配 wchar_t 缓冲区pwText = (wchar_t *)GlobalAlloc(GMEM_ZEROINIT, dwNum);//转换 char * 到 wchar_t * 缓冲区MultiByteToWideChar (CP_ACP, 0, psText, -1, pwText, dwNum);MessageBoxW(0,pwText,L"结果",64); 和LPTSTR是一样的啊只不过他是在Unicode环境下处理字符串的 LPCTSTR szBuf = _T("Hello,World");直接这样用就行了。 C++/CLI编程中,无法定义一个变量,来存储对话框的句柄,怎么办? 数字转成字符 求个控制器的按钮的图片.用于位图按钮,分不够再加 关于CListCtrl导入大量的数据怎么提高效率.有好几万 很急!问一个有关编码的问题 为什么不能编译头文件了? 熟悉WINDOWS键盘或鼠标驱动机制的高手门请进来. 用DialogBox在Dll弹不出对话框 请教简单问题 我在创建工程的时候选择了动态链接,怎么才能把它改成静态库链接? 大家一起共享VC优秀开源库 频繁响应键盘消息导致程序退出
wchar_t* pWch = L"abcdef";
wprintf(pWch);查MSDN吧,现在MSDN的字符函数,都有写出 char 与 wchar_t 2种版本的用法的了.
LPCTSTR pStr=_T("KKKKKK");
如果你习惯用 char *,可以转换一下使用//========== 将 wchar_t * 转换为 char * ==========
wchar_t *lpWchar = L"ABCDEFG";
//取得宽字节大小
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,lpWchar,-1,NULL,0,NULL,FALSE);
char *psText;
//分配 char 缓冲区
psText = (char *)GlobalAlloc(GMEM_ZEROINIT, dwNum);
//转换 wchar_t * 到 char * 缓冲区
WideCharToMultiByte (CP_OEMCP,NULL,lpWchar,-1,psText,dwNum,NULL,FALSE);
MessageBox(0,psText,"结果",64);//========== 将 char * 转换为 wchar_t * ==========
char *psText = "ABCDEFG";
//取得要转换的宽字符空间大小
DWORD dwNum = MultiByteToWideChar(CP_ACP,0,psText,-1,NULL,0);
wchar_t *pwText;
//分配 wchar_t 缓冲区
pwText = (wchar_t *)GlobalAlloc(GMEM_ZEROINIT, dwNum);
//转换 char * 到 wchar_t * 缓冲区
MultiByteToWideChar (CP_ACP, 0, psText, -1, pwText, dwNum);
MessageBoxW(0,pwText,L"结果",64);
只不过他是在Unicode环境下处理字符串的