我正在嘗試在我的程式中添加一個幫助/資訊框,每當有人輸入 /h、/?、/help 命令時就會彈出該框。我想確保我的程式接受大小寫的所有字符。據我所知,我可以檢查這些命令最常見的情況,但不是全部(即/HeLp)。尋找覆寫所有基地的方法。這是我當前的代碼:
....
bool CheckParseArguments(LPWSTR* argv, int argc)
{
for (int i = 0; i <= argc; i )
{
const wchar_t* help[] = { L"/h", L"/H", L"/?", L"/Help", L"/HELP", L"/help"};
for (int h = 0; h <= 5; h )
if (argc == (i 1) && wcscmp(argv[i], help[h]) == 0)
{
MessageBoxW(NULL, L"Correct input is ...", L"Help", MB_OK);
return false;
}
}
.... continue with other checks....
uj5u.com熱心網友回復:
使用 Microsoft 編譯器(您似乎正在使用),您可以使用該函式_wcsicmp
而不是wcscmp
執行不區分大小寫的比較。
其他平臺也有類似的功能,比如Linux 上strcasecmp
。wcscasecmp
ISO C 本身不提供執行不區分大小寫比較的函式。但是,在執行比較之前,可以使用函式std::tolower
or將整個字串轉換為小寫。std::towlower
之后,您將不需要不區分大小寫的比較,但可以執行標準的區分大小寫的比較。
uj5u.com熱心網友回復:
如果將每個字母轉換為小寫,則只需要檢查它是否等于“幫助”。C 有一個std::tolower
可以幫助你的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470850.html
上一篇:Win32應用程式找不到視窗圖示
下一篇:為什么這個紋理顯示全黑?