剛使用MFC時,要在界面上顯示字符串,總是提示類型不匹配,因爲項目屬性默認使用Unicode字符集。
於是就用到了_T(x)這個宏,在Unicode和多字節字符集下都可以編譯通過。
_T(x) L ## x
_T(x) x
void CMFCApp_typeDlg::OnBnClickedOk()
{
CString sTemp = _T("字符串abc234");//L"字符串abc234" "字符串abc234"
size_t nSize = sizeof(sTemp); //Unicode字符集 4 多字節字符集 4
size_t nLen = sTemp.GetLength();//9 12
//SetDlgItemText(IDC_TIP, _T(""));
}
Unicode:一箇中文字符長度爲1,
多字節字符集:一箇中文字符長度爲2