我正在处理一个 char[],其中包含应表示双数值或长数字的文本。
我需要编写一个函数来检测代表的是上述哪种数据类型(如果有)。
我考虑过使用 strtol() 并检查它是否无法解析整个字符串,如果失败,则使用 strtod()。
我很乐意看看是否有更好的选择。 谢谢。
最佳答案
I thought about using strtol() and check if it fails to parse the entire string, and if it fails, using strtod().
我认为这是一个好主意,而且我认为没有更好的主意了。实现您自己的解析例程通常是一个坏主意。
在调用 strtol
之前,我会修剪字符串的尾随空格,以避免漏报。
关于c - C 中检测字符串是 double 还是 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21696242/