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);
注意:以上函式的具體使用可以查閱相關資料。
----------------------------------------------------------------------------------------------