在linux中,如何檢查給定的輸入是在uint8_t或uint16_t或uint32_t中?如何比較給定的輸入與他們?輸入格式驗證
輸入格式驗證
回答
uint16_t value = boost::lexical_cast<uint16_t>(str);
如果輸入字符串無法轉換,它將拋出bad_cast異常。
是否有任何其他方法來檢查? – 2012-04-21 13:09:13
是的。它是編程,有一百或上千種其他方式來完成它。 – 2012-04-21 13:33:10
如果你的意思是輸入從文件或控制檯讀取一個數字,那麼就做一個if語句是這樣的:
#define max_uint8 (1<<8) - 1
#define max_uint16 (1<<16) - 1
#define max_uint32 (1<<32) - 1
if(input > max_uint32) {
// then it is greater than 32 bits
} else if (input > max_uint16) {
// then it is uint32
} else if (input > max_uint8) {
// then it is uint16
} else {
// then it is uint8
}
注:我認爲你的投入將不會超過32位,否則你需要檢查這個。
如果輸入大於32位,該怎麼辦? – 2012-04-21 13:19:05
@Umarniaz你只需要檢查這一點。以64位整數(即long long)讀取您的數字,再添加一個[(1 << 32) - 1]的值並調整if條件。我在上面編輯它。 – iBrAaAa 2012-04-21 13:44:53
- 1. 如何驗證日期輸入格式
- 2. 以html格式輸入驗證碼
- 3. TextField輸入驗證模式
- 4. 輸入驗證
- 5. 驗證輸入
- 6. 驗證輸入
- 7. 驗證輸入
- 8. 驗證字符串格式(模式)輸入
- 9. 編碼風格 - 輸入驗證
- 10. 驗證輸入框
- 11. 輸入驗證angular2localization
- 12. 驗證EditText輸入
- 13. HTML5輸入驗證
- 14. Settings.bundle,輸入驗證
- 15. 輸入驗證Silverlight
- 16. C++輸入驗證
- 17. Matlab - 輸入驗證
- 18. Javascript輸入驗證
- 19. jQuery驗證輸入
- 20. 驗證負輸入
- 21. cin.peek輸入驗證
- 22. 輸入驗證WCF
- 23. JavaScript輸入驗證
- 24. 使用Fluent驗證來維護輸入格式或調整輸入
- 25. 驗證輸入數組形式jquery.validate.min.js
- 26. 輸入驗證的正則表達式
- 27. 表單輸入字段驗證模式
- 28. 驗證輸入的形式在PHP
- 29. 輸入驗證在AngularJs形式
- 30. Javascript表單驗證|設置一個特定的輸入格式
我們在談論什麼樣的輸入?通過控制檯,文件,GUI ...? – Raveline 2012-04-21 12:58:57
來自文件。例如,我從文件中讀取輸入745,我如何檢查它是否有效? – 2012-04-21 13:03:10
你必須縮小一點。許多數字可能都是以上所有。 – juanchopanza 2012-04-21 13:10:34