能力值:
(RANK:410 )
|
-
-
2 楼
在引用前定义UNICODE宏。
#define UNICODE
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
尝试#Define,#Typedef全部无效
#define UNICODE和#define _UNICODE分别尝试过,通过
TCHAR ss;
wchar_t s;
printf("\n%d%d",sizeof ss,sizeof s);
比较两个类型变量长度来判断TCHAR是否被定义为UNICODE
CHAR为1,WCHAR_T为2,THCAR一直为1
故疑惑不解,到底定义式为WHAT!
|
能力值:
(RANK:410 )
|
-
-
4 楼
最初由 薄冰 发布 尝试#Define,#Typedef全部无效 #define UNICODE和#define _UNICODE分别尝试过,通过 TCHAR ss; wchar_t s; printf("\n%d%d",sizeof ss,sizeof s); ........
必须定义在引用前,即定义在#include <....>前面。过了#include <....>就不起作用了。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
无效
|
能力值:
(RANK:410 )
|
-
-
6 楼
我这里可以。
#define _UNICODE
#include <TChar.h>
#include <stdio.h>
int main()
{
printf("%d",sizeof(TCHAR));
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
恩,你的代码结果为2,你测试下我的,结果就为1了
#define _UNICODE
#include <stdio.h>
#include <tchar.h>
#include <wchar.h>
void main()
{
TCHAR A;
wchar_t s;
sprintf(ss,"woaini");
printf("\n%d%d",sizeof A,sizeof s);
while(1){};
}
不管怎么说,感谢下小虾无私的帮助
vc爱好者还是程序员的说?
|
能力值:
(RANK:410 )
|
-
-
8 楼
我试了一下,你的也是2,
#define _UNICODE
#include <stdio.h>
#include <tchar.h>
#include <wchar.h>
void main()
{
TCHAR A;
wchar_t s;
// sprintf(ss,"woaini"); //提示没有ss变量,所以这个我注释掉了,
printf("\n%d%d",sizeof A,sizeof s);
// while(1){}; //这里会陷入死循环,所以这里也注释掉了。
}
不是程序员,只是爱好者。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
.........难道这就是传说的RP问题么
老是遇到如此特殊待遇的问题,我这衡为12
加上while(1){}是为了看结果,不然程序一闪就关掉,什么都看不到了
能传文件的话就能给小虾看看了,如何一个12
|
能力值:
(RANK:410 )
|
-
-
10 楼
我这里测试了几次,都没有出现你所说的情况,定义_UNICODE时为2,不定义_UNICODE时为1。
你试试将#include <wchar.h>去掉。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
今天发现问题所在了,你的是
#define _UNICODE
后面跟着
#include <TCHAR.H>
#include .............
而我的则是
#define _UNICODE
#include ***
#include ***
#include ***
#include <THCAR.H>
这里存在着一个链接范围,间隔超过1个#include,则链接断开,即使你定义了#define _UNICODE,编译器也断开与#include <THCAR.H>之间的联系
小虾你可以试试,在你的代码中加上几个无作用的引入,就会看到效果了
具体设计编译器设计结构,看哪位大虾对编译器熟悉出来解释解释吧
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
在vc->Project->Settings->c++->Preprocessor definitions里加上
UNICODE, _UNICODE即可
|
|
|