簡體   English   中英

驗證用戶輸入以確保其為二進制(C ++)

[英]Validating a user's input to make sure it's in binary (C++)

我正在使用C ++程序,我需要將0-255(含)之間的二進制數字作為字符串(必須是字符串)。 我可以在while(輸入無效)循環中寫些什么來檢查字符串是否在00000000到11111111(含)之間。 非常感謝

假設您使用std::string

while( str.length()==8 && str.find_first_not_of("01")==std::string::npos )

也就是說,如果您真的希望它始終為8個字符。 調整以適合您的口味(就我的評論而言,您希望str.length()<=8(!str.empty()) && str.length()<=8

我建議您使用std::bitse t

如果您的字符串始終包含位,即僅** 01,那么您可以使用**

bitset <8> bitOfStr(string(“ 01011”)); //從字符串bitset <8>初始化bitOfStr(YourStringhere);

注意:如果字符串包含其他任何內容,則在位長度之前為0/1,它將通過異常。

在位上,您可以更高效地執行其余操作。

暫無
暫無

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

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