可以在程序中设置使用哪种字符集
#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);
注意:以上函数的具体使用可以查阅相关资料。
----------------------------------------------------------------------------------------------