很抱歉,如果之前已经问过,但我真的找不到这个问题的明确答案。 请告诉我,最快的转换方式是什么:
char * array to int
char * array to float
char *数组存储一个数字,例如:
"12345"
"1234,56789"
如果x86和x64系统的最快方式不同,请告诉他们两个。
编辑:“最快”,我的意思是“最有效”,而不是“最简单易用”。答案 0 :(得分:9)
从atoi()和atof()开始,测量速度,确定是否有问题 - 然后寻找解决方案
编辑 - 它几乎确定I / O将占用转换所花费的任何时间。如果转换时间确实很重要(在您分析后),那么如果您知道格式即。 int总是4digits,浮点数总是有5个小数位,你可能能编写一个比标准lib更好的手动调整程序
答案 1 :(得分:2)
你可以使用
atoi()
用于整理和
atof()
用于花车。
答案 2 :(得分:1)
对于int
,明显的循环可能是最快的。
对于float
,它要复杂得多。如果您不关心结果是否正确,那么同样简单的循环也可以。如果您需要确切的结果,则需要使用strtod
或atof
或类似内容,因为自己滚动非常困难。