如何将MFC程序改为UNICODE类型

202 篇文章 4 订阅 ¥19.90 ¥99.00
115 篇文章 0 订阅
68 篇文章 3 订阅
本文档详细介绍了将MFC应用程序从ASCII转换为UNICODE的步骤,包括修改项目设置、处理字符串类型和函数调用等关键点。
摘要由CSDN通过智能技术生成

如何将MFC程序改为UNICODE类型

1.    在Project->C/C++->Preprocessor definitions 中去除_MBCS, 增加_UNICODE
2.    在Project->Link->Category->Output->Entry-point symbol处增加wWinMainCRTStartup
3.    拷贝3个 文件到工程所在目录:mfc42u.lib, mfcs42u.lib, atlthunk.lib (WINDDK中就有,或者直接指定这三个文件的路径, 否则会link失败)
4.    数据类型 说明
a)    WCHAR Unicode 字符
b)    PWSTR 指向Unicode字符串的指针
c)    PCWSTR 指向一个恒定的Unicode字符串的指针
d)    对应的ANSI数据类型为CHAR,LPSTR和LPCSTR
e)    ANSI/Unicode通用数据类型为TCHAR,PTSTR,LPCTSTR
5.    操作说明
a)    ANSI 操作 函数以str开头 strcpy
b)    Unicode 操作函数以wcs开头 wcscpy
c)    MBCS 操作函数以_mbs开头 _mbscpy
d)    ANSI/Unicode 操作函数以_tcs开头 _tcscpy(C运行期库),如_tcscpy,_tcscat, _tcscmp, _tcschr (查找字串),
e)    ANSI/Unicode 操作函数以lstr开头 lstrcpy( Windows函数)
6.    字符集说明
a)    Unicode L“string”
b)    ANSI “string”
c)    ANSI/Unicode T(“string”)
或_TEXT(“string”)if(szError[0]==_TEXT(‘J’) ){ }
7.    UNICODE 转换成ANSI
unsigned short * unicode;
int size= WideCharToMultiByte(CP_ACP,0,unicode,-1, NULL, 0, NULL,0);
char * ansi=new char[size];
WideCharToMultiByte(CP_ACP,0,unicode,-1, ansi, NULL, 0);
8.    ANSI 转换成UNICODE
C String ansi;
DWORD dwNum;
dwNum = MultiByteToWideChar(CP_ACP, 0, m_ANSI, -1, NULL, 0);
wchar_t *pwText = new wchar_t[dwNum];;
MultiByteToWideChar(CP_ACP, 0, m_ANSI, -1, pwText, dwNum);
9.    判断如果文本文件的开头两个字节是0xFF和0xFE,那幺就是Unicode,否则是ANSI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值