請問我該如何測試C++中的數據類型?例如,如果我期望用戶輸入,並且我想檢查用戶是否輸入int,double,char或a布爾值。在C++中測試數據類型
0
A
回答
0
您將輸入讀入字符串(std::getline()
),然後嘗試解析它。 strtod()
檢查它是否解析爲雙精度(通過結束指針)。如果失敗,strtol()
檢查它是否解析爲int。我假設你的意思是「真」/「虛假」的布爾,所以你會做一個字符串==
那些。如果所有這些都失敗了,請將其用作逐字串。
所有這些都是非常脆弱的,當然。用戶可能輸入小數點或小數點。他可能會在「真」之後添加一個空格。所有的東西......
如果您正在尋找真正解析,Boost.Spirit會找的地方,但是這是非常複雜的,多爲生產級解析器所以我懷疑這是你在找什麼對於。
相關問題
- 1. 在Objective-C中測試類的類型
- 2. 測試複雜的數據類型?
- 3. 在DATE數據類型中測試時間部分存在
- 4. Junit測試以測試原始數據類型
- 5. Pex - 測試「類型」參數
- 6. 在Python中檢測數據類型
- 7. C中的數據類型
- 8. 數據類型在C#
- 9. 類C++測試
- 10. Objective-C:在JSON數據中正確檢測對象類型
- 11. 數據類型模型C++
- 12. 在C中比較數據類型#
- 13. 數據類型混合在c中
- 14. 在C#中的數據類型*表示
- 15. 在C中存儲數據類型
- 16. 在C#中查找數據類型#
- 17. Objective-C中的測試類
- 18. 類類型的測試
- 19. Elixir中十進制數據類型的測試?
- 20. EF數據模型類中的單元測試
- 21. 對從數據庫中選擇的值進行類型測試
- 22. 測試循環中的數據類型錯誤java
- 23. C++中等效數據類型的C#
- 24. 數據辨識類型在C/C++
- 25. C++類中的任意數據類型
- 26. C#中測試數據集錯誤
- 27. 如何在Objective-c中測試方法的返回類型
- 28. C#測試項目在測試運行前擦除數據庫
- 29. 在C++中測試一些類
- 30. Rails測試數據,在數據庫中
什麼是'5'? int或char?或雙重? –
這也許有幫助:http://stackoverflow.com/questions/4654636/how-to-determine-if-a-string-is-a-number-with-c – RhinoDevel
如果你把輸入讀入'std :: string',你可以用['boost :: conversion :: try_lexical_convert'](http://www.boost.org/doc/libs/1_58_0/doc/html/boost_lexical_cast/synopsis.html)來測試每種類型。 –