我需要识别字符串中包含的数字类型(整数或浮点数)。详细地说,我需要了解可以存储数字的最小类型。我希望无符号类型更适合正值。也许用一些例子更容易解释:
"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 ())或一些“智能”(基于数学?,... ) 以便在我开始编码之前轻松识别。
谢谢。