2010-08-09 45 views
1

我創建了一個win32窗口,它工作正常,但即時通訊嘗試使用lpcmdline獲取命令參數。它工作正常,但是當我試圖把它比作串它不會在這裏工作是比較碼參數問題幫助

TCHAR checking[]=_T("hello"); 
if(args==checking) // args equals lpcmdline like this LPTSTR args=lpcmdline 
{ 
    TCHAR greeting[]=_T("heys"); 
} 
else 
{ 
    MessageBox(NULL,args,L"1",MB_OK); 
    /*if args doesn't equal checking tha cout what is inside args*/ 
    MessageBox(NULL,checking,L"2",MB_OK); 
    //cout checking 
} 

很好,當我清點兩個varabiles他們同樣喜歡ARGS輸出爲hello和檢查輸出爲hello,但我不知道爲什麼他們沒有得到相等的請幫助 在此先感謝

回答

3

這不是比較C++中的兩個字符串的正確方法。

鑑於您正在比較TCHAR陣列和LPTSTR,請撥打_tcscmp而不是使用==運算符。

2

if(args==checking)比較指針argschecking。由於他們指向不同的地方,條件不滿足。你想要的是字符串比較,因爲你需要使用像_tcscmp這樣的函數。