VC++ 6.0支持Unicode
来源:互联网 发布:淘宝开店缴纳保证金 编辑:程序博客网 时间:2024/05/22 02:28
VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。
1. 安装完成后:需要把VC98\MFC\LIB下的MFC42U*.*手动拷贝到对应的安装目录下
2. 为工程添加UNICODE和_UNICODE预处理选项:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNICODE,UNICODE。(注意中间用逗号隔开).在没有定义UNICODE和_UNICODE前,所有函数和类型都默认使用ANSI的版本;在定义了UNICODE和_UNICODE之后,所有的MFC类和Windows API都变成了宽字节版本了。
3. 设置程序入口点:因为MFC应用程序有针对Unicode专用的程序入口点,我们要设置entry point。否则就会出现连接错误。设置entry point的方法是:打开[工程]->[设置…]对话框,在Link页的Output类别的Entry Point里填上wWinMainCRTStartup。
4. 使用ANSI/Unicode通用数据类型:微软提供了一些ANSI和Unicode兼容的通用数据类型,我们最常用的数据类型有_T ,TCHAR,LPTSTR,LPCTSTR。顺便说一下,LPCTSTR和const TCHAR*是完全等同的。其中L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在Win32 中以及其它的32位操作系统中,long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。P(pointer)表示这是一个指针;C (const)表示是一个常量;T(_T宏)表示兼容ANSI和Unicode,STR(string)表示这个变量是一个字符串。综上可以看出, LPCTSTR表示一个指向常固定地址的可以根据一些宏定义改变语义的字符串。比如:TCHAR* szText=_T(“Hello!”);TCHAR szText[]=_T(“I Love You”);LPCTSTR lpszText=_T(“大家好!”);使用函数中的参数最好也要有变化,比如:MessageBox(_T(“你好”)); 其实,在上面的语句中,即使您不加_T宏,MessageBox函数也会自动把“你好”字符串进行强制转换。但我还是推荐您使用_T宏,以表示您有Unicode编码意识。
5. 修改字符串运算问题 一些字符串操作函数需要获取字符串的字符数(sizeof(szBuffer)/sizeof(TCHAR)),而另一些函数可能需要获取字符串的字节数sizeof(szBuffer)。您应该注意该问题并仔细分析字符串操作函数,以确定能够得到正确的结果。ANSI 操作函数以str开头,如strcpy(),strcat(),strlen();Unicode操作函数以wcs开头,如wcscpy,wcscpy (),wcslen();ANSI/Unicode操作函数以_tcs开头 _tcscpy(C运行期库);ANSI/Unicode操作函数以lstr开头 lstrcpy(Windows函数);考虑ANSI和Unicode的兼容,我们需要使用以_tcs开头或lstr开头的通用字符串操作函数。
- VC++ 6.0支持Unicode
- VC++6.0如何设置使其支持Unicode编程
- VC++6.0如何设置使其支持Unicode编程(转)
- VC++6.0如何设置使其支持Unicode编程
- VC++6.0如何设置使其支持Unicode编程
- VC++6.0如何设置使其支持Unicode编程
- VC++ 工程添加 Unicode Debug 和 Unicode Release编译支持
- [VC++]发个MD5的类,适用于VS2005,支持UNICODE
- vc 读写txt文件 支持Ascii/Unicode/Unicode big endian/UTF-8
- VC++ 6.0 配置UNICODE标识符进行编译
- 使用VC++6.0开发UNICODE程序
- VC++ 6.0以及VS2008 UNICODE工程设置
- vc 6.0 debug 显示unicode字符串
- vc++6.0设定UNICODE编译环境
- dll支持CString(支持unicode)
- python的unicode支持
- sql server unicode 支持
- Delphi的Unicode支持
- HTML Overview
- opencv轮廓检测之椭圆检测-----算法篇(12)--RANSAC
- 三和韓長庚 著 正易 對讀 001-040
- Tomcat Overview
- hnuoj 13103 Easy Delete
- VC++ 6.0支持Unicode
- 我只会用c,求大神帮忙谢谢
- Android学习(11) -- Android的存储
- LeetCode 74. Search a 2D Matrix
- 记一次奇葩的Js劫持事件
- Design Pattern - Behavioral Patterns - Observer Pattern
- Android AVD创建以及设置各个参数的详解
- LeetCode 189. Rotate Array
- (知识分享)软硬件调试九法:第八条规则 求助他人, 获得全新观点