簡體   English   中英

如何限制字符長度

[英]How to limit char length

我知道人們會立即看到標題並說:“使用字符串”或“字符只能是 1 的長度”,但這些都有問題。

首先,由於稍后在代碼中使用 switch 語句,我的變量必須保留為 char 以便它不會導致任何錯誤,對於測試期間的第二個答案,我發現即使我輸入了多長度輸入它只會將每個字符分別運行到我不希望發生的 switch 語句中。 歡迎任何幫助,哦,這是代碼:

char input;
do {
    cout << "Please enter a number from 1 to 4.";
    cin >> input;
    if (sizeof(input)!=1) {
        cout << "Please just enter a number";
    }
    else {

        switch (input) {

        case '1': {
            cout << "One";
            break;
        }

        case '2': {
            cout << "Two";
            break;
        }

        case '3': {
            cout << "Three";
            break;
        }

        case '4': {
            cout << "Four";
            break;
        }

        default:

            cout << "Enter only a number from 1-4!";

        }

    }
    
} while ((input) != '4');

請注意,我至少嘗試過使用 strlen 和 size 函數,但無濟於事。

好吧,使用string ,因為char只能是 1 的長度。

std::string input;
std::cin >> input;
if (input.size() != 1) {
  std::cout << "Wrong input";
} else {
  switch (input.front()) {
  case '1': 
  // ...
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM