我需要識別包含在一個字符串中的數字的類型(整數或浮點數)。詳細地說,我需要了解可以存儲號碼的最小類型。我希望無符號類型更適合正值。也許更容易一些例子來解釋:如何識別包含在C中的字符串中的數字的類型?
"123" -> unsigned char
"-21" -> char
"257" -> unsigned short
"-271"-> short
...
"....." long long
"1.2" float
"....." double
"a" NaN/error
我考慮使用strtoul將,與strtol,strtod轉換,我不知道是否有一個函數(像is_char(),is_float(),...或num_type ())或某些「智能」(基於數學的......),以便在開始編碼之前進行簡單的識別。
謝謝。
'limits.h'提供的'定義* _MIN'和'* _MAX'(即'INT_MIN')爲整數類型,這可能會派上用場選擇一個合適的變量。 – AusCBloke