UNICODE字符集和多字节字符集

可以在程序中设置使用哪种字符集

#ifdef UNICODE

#define ...

#else

#define ...

#endif

---------------------------------------------------

ANSI编码在不同的国家其标准不同

UNICODE为统一的编码,有UTF-8 UTF-16 UTF-32

----------------------------------------------------

多字节一般指ANSI字符集

UNICODE一般指UTF-16

----------------------------------------------------

一般地,当工程设置为UNICODE时,_T和_TEXT会在常量前加上L,否则以一般的字符处理

#ifdef _UNICODE

#define __T(x)  L ## x

#else

#define __T(x)

#endif

---------------------------------------------------------------------------------------------

在UNICODE环境下使用 writePrivateProfileString 函数

以上函数需要宽字符,为此需要将多字节字符转成宽字符

wchar_t ch[20]=L"F:\\test.ini"//注意需要加上L

char chTemp[20]="F:\\test.ini";//定义多字节

wchar_t str[20];//直接定义宽字符串

char strTemp[20];//定义多字节字符串,用于将浮点型的转化

double a=123.123456;

_gcvt_s(strTemp,sizeof(strTemp),a,6);//注意_gcvt_s函数的使用

MultiByteToWideChar(CP_ACP,0,strTemp,-1,str,20);//调用API将多字节转成宽字符

WritePrivateProfileString(L"NAME",L"NUM",str,ch);//注意需要在多字节前加上L

在多字节环境下,可以直接使用,不需要转化

WritePrivateProfileString("NAME","NUM",strTemp,chTemp);

注意:以上函数的具体使用可以查阅相关资料。

----------------------------------------------------------------------------------------------



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值