c 11 – 将float转换为字符串的最快C方式
发布时间:2020-12-16 07:11:36 所属栏目:百科 来源:网络整理
导读:我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数. 由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案 然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影
我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数.
由于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 float const 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 2.4324 ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |