IF ELSE CONDITION

IF ELSE CONDITION

本文关键字:CONDITION ELSE IF      更新时间:2023-10-16

我正在visual studio c++上工作,并在程序中使用这些行
每当我键入Get status时,输出都不是"Good"。输出将始终是独立于Cstring strText的"无效命令"。前两个条件不起作用。

请帮忙。它应该根据输入strText进行操作。

         if ( strText == _T("Get status") )
     { 
                     MessageBox(_T("Good")); 

     }
         else if ( strText == _T("change") )
     {
         MessageBox(_T("Bad")); 
     }
     else 
         {
             MessageBox(_T("Invalid Command")); 
         }

CString::operator==执行完全区分大小写的匹配。如果大小写或空格不匹配,那么字符串的比较会有所不同。我不知道你的情况出了什么问题。也许您可以将L"[" + strText + L"]"添加到您的消息框中,看看是否有您忽略的空白。

事实上,尽管CString声称支持Unicode,但事实并非如此。两个形式上相同但规范化不同的Unicode strigns被认为是不同的。根据CString,如果一个被归一化而另一个不被归一化,则L"ë"可能不等于L"ë"。Windows有CompareStringEx API,它是字符串比较的快捷刀,可以处理这些细节。