TCHAR,CHAR,LPSTR,LPCSTR,char这几个数据类型有何不同

char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。

Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。CHAR为

单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为

ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。在当前版本LPCSTR和

LPSTR没区别,即以零结尾的字符串指针,相当于CHAR *。 LPSTR、LPCSTR相当于char *,所以这种类型

变量的赋值等同于char *的赋值
下面给出两个例子,一个是直接赋值,另一个是间接的。
    Ex1: LPSTR lpstrMsg = "I'm tired.";
    Ex2: char strMsg[]="I'm tired.";
    LPSTR lpstrMsg = (LPSTR) strMsg

posted on 2011-02-17 09:14 wrh 阅读(348) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

统计

常用链接

留言簿(18)

随笔档案

文章档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜