您的当前位置:首页正文

arx2002升级到arx2008处理ACHAR错误报警问题的方法

来源:独旅网


arx2002升级到arx2008处理ACHAR错误报警问题的方法 1.基本概念:

char:ANSI字符串,可用字符串处理函数strcat( ),strcpy( ), strlen( )等以str打头的函数。

wchar_t :wchar_t是Unicode字符的数据类型,它的实际定义为:typedef unsigned short wchar_t;

wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头 的函数。

WCHAR:在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实 际就是wchar_t。

在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了 UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自 动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定 义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。 TCHAR:

如果定义了UNICODE宏则TCHAR被定义为wchar_t。typedef wchar_t TCHAR; 否则TCHAR被定义为char typedef char TCHAR;

ACHAR:此类型是AUTODESK公司在adachar.h 头文件中定义的。

当定义了AD_UNICODE(AUTODESK公司使用UNICODE宏)时为wchar_t。

2.处理方法:

a. 在项目Rcam Property Pages->Configuration Properties->General->Character Set中设置为

Use Unicode Character Set

b. 将有字符窜用_T()转换类型,例如:

str.Format(\"版权所有2002.1-%d.%d\",endtime.GetYear(),endtime.GetMonth());

修改为:str.Format(_T(\"版权所有2002.1-%d.%d\"),endtime.GetYear(),endtime.GetMonth()); acutPrintf(\"\\nMyCommand1:Hello World! \");

修改为:acutPrintf(_T(\"\\nMyCommand1:Hello World! 哈哈\"));

c. 重新编译,错误报警消失!

因篇幅问题不能全部显示,请点此查看更多更全内容