在c ++中从文件中读取双精度的最快方法

时间:2016-07-28 03:54:28

标签: c++ scanf stdio gets

我有一个包含实数的大文件,我需要以最快的方式将它们读成双打。

我可以自己选择文件的格式(1个数字一行,或多个例如)

尝试了scanf,似乎很慢,尝试了gets(s),然后自己解析双打它给出了相同的时间。

有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试从原始二进制文件中读取。这是最快的。

示例:如果要为两个数组xy填充1000个值,则二进制文件中的数据应包含插槽0-1000中的x值插槽1000-2000的y值和y值。命令为fread。不要忘记,对于类型double,元素的大小为64位= 8字节。