天天看點

VC++文法了解

1、TCHAR、Char和CString之間的轉換:

TCHAR是MFC中對Char的封裝,當字元集是unicode時是雙位元組wchar,在其他字元集下為單位元組char。

WideCharToMultiByte

  函數功能:該函數映射一個unicode字元串到一個多位元組字元串。   函數原型:   int WideCharToMultiByte(   UINT CodePage, //指定執行轉換的代碼頁   DWORD dwFlags,   LPCWSTR lpWideCharStr, //指定的寬位元組字元串的緩沖區   int cchWideChar, //指定由參數lpWideCharStr指向的緩沖區的字元個數   LPSTR lpMultiByteStr, //指向接收被轉換字元串的緩沖區   int cchMultiByte, //指定由參數lpMultiByteStr指向的緩沖區最大值   LPCSTR lpDefaultChar,   LPBOOL pfUsedDefaultChar   );   參數:    CodePage:指定執行轉換的代碼頁,這個參數可以為系統已安裝或有效的任何代碼頁所給定的值。你也可以指定其為下面的任意一值:   CP_ACP:ANSI代碼頁;CP_MACCP:Macintosh代碼頁;CP_OEMCP:OEM代碼頁;   CP_SYMBOL:符号代碼頁(42);CP_THREAD_ACP:目前線索ANSI代碼頁;   CP_UTF7:使用UTF-7轉換;CP_UTF8:使用UTF-8轉換。 

char->TCHAR的轉換:

char a[255];
TCHAR b[255];
int length = Mutilbytetowidechar(CP_ACP,0,a,strlen(a)+1,null,0);
Mutilbytetowidechar(CP_ACP,0,a,strlen(a)+1,b,length);
           

TCHAR->char的轉化:

char a[255];
TCHAR b[255];
int length = Widebytetomutilchar(CP_ACP,0,b,strlen(b)+1,null,0);
Mutilbytetowidechar(CP_ACP,0,b,strlen(b)+1,a,length);
           

CString->TCHAR * 或 char*的轉換:

CString cs = "abdcd";
int length = cs.GetLength();
TCHAR tch[length+1];
lstrcpy(tch,cs.GetBuffer(length));
cs.RealeseBuffer();	 
           

CString->const char*的轉換:

CString類提供一個operator LPCTSTR把CString類型轉換為LPCTSTR類型。

2、構造函數、copy構造和assignment構造

3、靜态資料成員和函數

繼續閱讀