windows编程基础疑惑!!
本人刚学windows编程,有以下问题不明白:
1:char与CHAR是一样的吗?
2:ANSI用PSTR,而UNICODE用PWSTR。若想使代码在ANSI和UNICODE中转换,是不是
定义完头文件TChar.h后,用PTSTR就可以了。
3:LPTSTR与PTSTR有什么区别,它是干什么用的。
4:要想编写UNICODE代码,用不用在代码中加#define _UNICODE.
5: 怎样定义UNICODE字符数组。TCHAR X[100];对吗?
6: printf("%S")和printf(L"%s")各是干什么用的?
7:我写了如下代码,看看哪不对? VS2005,在属性页中的字符集为为设置。
#include<stdio.h>
#include<TChar.h>
#include<windows.h>//_UNICODE和UNICODE在这个文件中已经定义了.是不是用的TCHAR都代表wchar_t类型????
#ifndef _UNICODE
#define _UNICONDE
#endif
#ifndef UNICODE
#define UNICONDE
#endif
int _tmain()
{
printf("%d",sizeof(TCHAR));//我定义了UNICODE,为什么结果为1.???? 属性页中字符集为未设置
return 1;
}
[解决办法]
2.
Yes
3.
32位系统上两个没区别.
4.
IDE中设置或代码中明写
5.
使用TCHAR就是使代码容易在ANSI和UNICODE之间转换,如果确定是UNICODE,可以直接使用wchar_t
[解决办法]
第1题:char与CHAR是一样的.
第6题:printf(L"%s")是用来输出宽字符的。