由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案
然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影响.
那么,除了使用其他非标准库之外,还有什么想法或解决方案吗?
解决方法 记住的优化是不直接使用to_string,每次调用它时都会创建一个新字符串.您可能最终也会复制该字符串,这样效率不高.
你可以做的是分配一个足够大的char缓冲区来存储你需要的所有字符串表示,然后使用printf
http://www.cplusplus.com/reference/cstdio/printf/
一直重用相同的缓冲区.
如果将浮点数的精度限制为固定的小数位数,则可以计算浮点数在数组中表示的偏移量.
例如,如果我们只有一个值数组:
index = 1;float f = value[index];//corrresponding 6 chars floatconst char* s = char_array[index*1];//the representation will start at position 6,and it will be null terminated so you can use it as a string
澄清您的char_array将如下所示:
1.2000.4324...总结
以上是内存溢出为你收集整理的c 11 – 将float转换为字符串的最快C方式全部内容,希望文章能够帮你解决c 11 – 将float转换为字符串的最快C方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)