對上帝誠實,我現在失去了我的想法。讓我首先說CodeBlocks中的「MessageBox」函數完美地工作,當我定義它裏面的文本和什麼不是;但無論出於何種原因,Visual Studio對於此MessageBox函數的內容都很挑剔。爲什麼我的信息框以另一種語言顯示?
它一直告訴我,無論我放在裏面對LPCWSTR「事物」都是無效的。爲了規避這個問題,我編程下面這件事:
int main()
{
LPCWSTR a;
std::string s = "Please help me.";
a = (LPCWSTR)s.c_str();
LPCWSTR b;
std::string t = "MTS";
b = (LPCWSTR)t.c_str();
MessageBox(0,a,b, MB_OK | MB_ICONSTOP);
}
相反,它的工作我最初是如何想的那樣,我不是得到這個結果:
這是非常緊張我和我知道它已經在這裏被問過一次了,所以請不要將我的問題標記爲重複。我如何使這些代碼正常工作,以便我的信息以英文顯示並描繪我想要說清楚的內容?
由於時間提前,
MTS
'MessageBox'需要'LPCTSTR'參數,但是您要給它'LPCWSTR'。嘗試將'a'和'b'聲明/鑄造爲'LPCTSTR's? – Doc
@Doc a)如果MessageBox變成MessageBoxA或MessageBoxW取決於項目設置/預處理器的東西。 b)鑄造沒有幫助。 c)用日語輸出,它是W變體。 – deviantfan