社区
C语言
帖子详情
VC++: TCHAR 数组的值怎样才能赋给 wchar_t 数组?
Richard2001
2001-08-31 03:01:11
比如:
TCHAR tStr[12]="abc";
wchar_t wStr[50];
怎样才能把tStr的值赋给wStr?
...全文
264
8
打赏
收藏
VC++: TCHAR 数组的值怎样才能赋给 wchar_t 数组?
比如: TCHAR tStr[12]="abc"; wchar_t wStr[50]; 怎样才能把tStr的值赋给wStr?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Richard2001
2001-09-07
打赏
举报
回复
Sorry,是 WCHAR * wTmp=T2W(S);
Richard2001
2001-09-07
打赏
举报
回复
USES_CONVERSION;
wcscpy(SwitchName,L"");
WCHAR * wTmp=W2T(S);
wcscat(SwitchName,wTmp);//(WCHAR *)S);
wcscat(SwitchName,L"\\CSTSwitch");
搞定!谢谢cgaga(红枫剪影)。
cgaga
2001-08-31
打赏
举报
回复
在这里这样就好了
USES_CONVERSION;
TCHAR tStr[12]="abc";
wchar_t *pwStr=T2OLE(tStr);
//pwStr的内存在栈上分配所以pwStr只在当前函数中有效
cgaga
2001-08-31
打赏
举报
回复
如果有atl支持
可以使用下面的方式来转换
在函数的开头加上USES_CONVERSION;
然后用T2OLE将TCHAR类型的转换成OLECHAR类型的也就是wchar_t类型的
也可以使用OLE2T,T2A,A2T等等,具体察看MSDN
Elminster
2001-08-31
打赏
举报
回复
TCHAR 这个类型,是为了方便同时支持 Unicode 和传统的 ASCII 字符而存在的,事实上,当你的项目使用 Unicode,它就是 wchar_t,否则它就是传统的 char ,详细的描述可以看 MSDN。
所以要做 TCHAR 和 wchar_t 之间的复制,最好是判断一下 _UNICODE 是否被定义,直接使用 strcpy 一类的函数恐怕不太妥当。
Richard2001
2001-08-31
打赏
举报
回复
TCHAR S[100];
wchar_t SwitchName[100];
ZeroMemory(SwitchName,100*sizeof(wchar_t));
CRegKey keyAppID;
LONG lRes = keyAppID.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE"), KEY_READ);
if (lRes != ERROR_SUCCESS)
return lRes;
CRegKey key;
lRes = key.Open(keyAppID, _T("CSTradeExch"), KEY_READ);
if (lRes != ERROR_SUCCESS)
return lRes;
DWORD szKeyLen=MAX_SIZE_NAME;
key.QueryValue(S,_T("SwitchA"),&szKeyLen);
key.Close() ;
keyAppID.Close();
//此时 S 值为:"qab"
wcscpy(SwitchName,L"");
WCHAR * wTmp;
wTmp=(WCHAR * )S;
wcscat(SwitchName,wTmp);//(WCHAR *)S);
wcscat(SwitchName,L"\\CSTSwitch");
//此时SwitchName的值为:"qab\\CSTSwitch",但经查,SwitchName[0]
内存中的值为30577,而用语句:SwitchName=L"qab\\CSTSwitch"; 得到的SwitchName[0]的值为113.
(TCHAR)SwitchName[0]为113 "q"
怎么回事????
ed9er
2001-08-31
打赏
举报
回复
_tcscpy
Richard2001
2001-08-31
打赏
举报
回复
高手们,请不吝赐教!
V
C++
中字符串的处理
CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态T
CHAR
数组
,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的T
CHAR
指针。CString 是一个完全独立的类,动态的T
CHAR
数组
,封装了 + 等操作符和字符串操作方法。typedef OLE
CHAR
FAR* BSTR;typedef const
char
* LPCTSTR;
v
c++
中各种字符串含义和转换大全.pdf
v
c++
中各种字符串含义和转换大全.pdf
精通V
C++
字符串处理必备文档
精通V
C++
字符串处理必备文档教程,整理成word文档,是你学习中的好帮手
关于V
C++
的字符串
V
C++
中的几种字符串
关于V
C++
的字符串[参考].pdf
关于V
C++
的字符串[参考].pdf
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章