游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1983|回复: 5

TEXT TCHAR char

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2006-2-21 11:26:00 | 显示全部楼层 |阅读模式
TChar strFileName[MAX_PATH] = TEXT("");
char strFileName[MAX_PATH]="";
??煞N宣告在使用上有何不同?

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2006-2-21 14:04:00 | 显示全部楼层

Re:TEXT TCHAR char

编译选项中使用Unicode和MB各编译一次,你就知道区别了

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2006-2-24 17:57:00 | 显示全部楼层

Re:TEXT TCHAR char

其实
TEXT就是L
有点象这样:
#define TEXT(str)  L##str
##是连接的意思就是将L和str联在一起了,表示宽字符。
    l"Hello World",和"Hello World"是不同的,前一个占用24个char,后一个占用了12个char
如果定义了
#define UNICODE
TCHAR就代表宽字符wchar(2*sizeof(char)),否则TCHAR就代表char

也就是说在有
#define UNICODE
的情况下

TChar strFileName[MAX_PATH] = TEXT(""); //代表定义了一个空的宽字符串
char strFileName[MAX_PATH]="";//代表定义了一个ASCII字符串

如果没有定义#define UNICODE那么
TChar strFileName[MAX_PATH] = TEXT(""); //编译时似乎会报错,没尝试过
char strFileName[MAX_PATH]="";//代表定义了一个ASCII字符串

0

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2006-2-24 18:34:00 | 显示全部楼层

Re:TEXT TCHAR char

我都用 _T("xxoo");

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-2-24 22:53:00 | 显示全部楼层

Re:TEXT TCHAR char

尽量用 TCHAR 代替 char.

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
QQ
发表于 2006-2-25 12:39:00 | 显示全部楼层

Re:TEXT TCHAR char

我自己写东西也喜欢加 TEXT() ,_T 好像是 MFC 下才有的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 17:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表