多位元組字符集錯誤

2021-07-10 14:03:11 字數 1811 閱讀 8338

1>d:\lianxi20160303\sockettest\test1\test1\test1dlg.cpp(172): error c2664: 「void atl::cstringt::format(const wchar_t *,...)」: 不能將引數 1 從「const char [12]」轉換為「const wchar_t *」

1> with

1> [

1> basetype=wchar_t,

1> stringtraits=strtraitmfc_dll1> ]

1> 與指向的型別無關;轉換要求 reinterpret_cast、c 樣式轉換或函式樣式轉換

1>d:\lianxi20160303\sockettest\test1\test1\test1dlg.cpp(196): error c2664: 「clistbox::addstring」: 不能將引數 1 從「const char [13]」轉換為「lpctstr」

1> 與指向的型別無關;轉換要求 reinterpret_cast、c 樣式轉換或函式樣式轉換

以上錯誤的發生

// todo: 在此新增控制項通知處理程式**

//連線伺服器

byte nfield[4];

cstring sip;

updatedata();

m_serverip.getaddress(nfield[0], nfield[1],nfield[2],nfield[3]);

sip.format("%d.%d.%d.%d", nfield[0], nfield[1],nfield[2],nfield[3]);

多位元組字符集,所以lptstr是char*而不是wchar_t*

求長度用的是strlen不是wcslen

字符集設定,使用unicode自負自,改為使用多位元組字符集

1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error c2664: 「clistbox::settopindex」: 不能將引數 1 從「ctest1dlg *」轉換為「int」

1> 沒有使該轉換得以執行的上下文

1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error c2227: 「->m_listwords」的左邊必須指向類/結構/聯合/泛型型別

1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error c2228: 「.getcount」的左邊必須有類/結構/聯合

1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error c2059: 語法錯誤:「)」

1>

這些問題,只是因為程式中少了乙個括號

void cclientsocket::onconnect(int nerrorcode)

casyncsocket::onconnect(nerrorcode);

}

單位元組字符集,多位元組字符集,Unicode

我們在這裡介紹一下字元型別。這裡有3種編碼模式對應3種字元型別。第一種編碼型別是單子節字符集 single byte character set or sbcs 在這種編碼模式下,所有的字元都只用乙個位元組表示。ascii是sbcs。乙個位元組表示的0用來標誌sbcs字串的結束。第二種編碼模式是多位...

多位元組字符集 MBCS

visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...

多位元組字符集 MBCS

visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...