1 int GetStringType(const char *src) 2 { 3 // is ‘-‘ or digit ? 4 if (*src == ‘-‘ || isdigit(*src)) 5 { 6 ++src; // next char 7 8 // "-a" or "0a" 9 if (!isdigit(*src) && *src != ‘.‘) 10 return 0; 11 12 while (*src) 13 { 14 // "1." or "-1." 15 if (*src == ‘.‘) 16 { 17 ++src; // next char 18 19 // we need a digit, "1." not a float 20 if (!*src) 21 return 0; 22 23 while (*src) 24 { 25 // "1.a" 26 if (!isdigit(*src)) 27 return 0; 28 ++src; 29 } 30 // float value 31 return 2; 32 } 33 34 // "10a" not a integer 35 if (!isdigit(*src)) 36 return 0; 37 38 ++src; // next char 39 } 40 // integer value 41 return 1; 42 } 43 44 return 0; 45 }
时间: 2024-11-05 17:25:06