首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
问一个关于TCHAR 和 CHAR/WCHAR的问题
[已结贴,结贴人:apache2002]
加为好友
发送私信
在线聊天
apache2002
阿帕奇
等级:
发表于:
2008-07-19 11:20:17
楼主
我在写一程序,要求适用于unicode和非unicode两种编译环境,
因为我比较懒,不想用宏来分隔代码。所以现在有两个问题想请教大家:
1、如何将LPBYTE转换为LPTSTR ?
注意是LPTSTR而不是特指的LPWSTR或LPCSTR,
也就是说unicode下转为WCHAR*,非unicode下不变,有没有可以自动识别处理的函数?
因为程序要在两种环境下都被正确编译运行。
2、定义一个TCHAR类型变量,可以用_T宏吗? 例如: TCHAR a = _T('a'),
如果不行,如何将char转换为TCHAR呢?(和第一个问题一样,要求能适用于两种环境)
问题点数:
20
回复次数:
4
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gamedragon
gamedragon
等级:
发表于:
2008-07-19 11:23:16
1
楼 得分:
2
如果你不想用宏的话,只能自己写。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
greatws
魔法洋红色
等级:
发表于:
2008-07-19 11:24:32
2
楼 得分:
4
if(sizeof(LPTSTR) == 1)
{
//ansi环境
}
if(sizeof(LPTSTR) == 2)
{
//unicode环境
}
直接TCHAR a = 'a';就行了,字符串和字符是不同的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zaodt
至尊宝宝 @ 杭州
等级:
发表于:
2008-07-19 12:14:06
3
楼 得分:
8
MFC 中直接用 CString 类即可。
LPBYTE p = ........
CString str = p;
它内部会帮你做好的,不管是不是 UNICODE
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Amuro1987218
罗罗/凉宫迷
等级:
发表于:
2008-07-19 12:15:44
4
楼 得分:
6
CString可以,内部会转换。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友