2010-08-09 42 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这样的函数。