求助
VS 2002中通过的下列函数到VS2005应该怎么写:rb = acutBuildList(RTNIL,0); acedPutSym("app", rb);
acutRelRb(rb); 改写成下列式样后,还是不行:
rb = acutBuildList(RTNIL,0);
acedPutSym(_T("app"), rb);
acutRelRb(rb);
查看了一些资料,问题解决了。
1.问题:
rb = acutBuildList(RTNIL,0);
acedPutSym("app", rb);
acutRelRb(rb);
2.改写成
rb = acutBuildList(RTNIL,0);
acedPutSym(_T("app"), rb);
acutRelRb(rb);
还是不行
3. 改写成
rb = acutBuildList(RTNIL,0);
acedPutSym(L"app", rb);
acutRelRb(rb);
就OK了
你的代码没有定义Unicode吧。
_T是个宏,在没有定义Unicode情况下,它等于没有。而L则是代表强制Unicode。
希望你经过问题找到原因:)共同进步。有答案记得分享哈,呵呵
等待你Double Confirm Character Set, 属性是“Use Multi-Byte Character Set”。
#include "tchar.h"也加了·
你把字符集设置成Unicode时,_T()才起作用吧?
其实这个宏最终也是转化成L 需要在代码中定义Unicode.Windows核心编程中专门一章进行介绍。
_T是经过条件编译的,作用就是使在运用预定义Unicode和没有运用预定义Unicode的平台上能编译出不同结果。
大概如下结构
#ifdef _Unicode
_T("abc") = L("abc")
else
_T("abc") = ("abc")
#endif bluelightcsy 发表于 2011-1-17 09:10 static/image/common/back.gif
需要在代码中定义Unicode.Windows核心编程中专门一章进行介绍。
_T是经过条件编译的,作用就是使在运用预定 ...
确实是条件编译,
页:
[1]