【问题标题】:How to write and read float data fast, not using string?如何快速读写浮点数据,而不是使用字符串?
【发布时间】:2012-09-05 01:42:04
【问题描述】:

我有许多从图像生成的浮点数据。我想将它存储到一个文件中,比如 XX.dat (一般在 C 中)。我会再读一遍做进一步的处理。

我有方法用 nsstring 表示浮点数并将其写入 .txt 文件。但它太慢了。是否有一些函数与 c 中的 fwrite( *data , *pfile) 和 fread(*buf, *pfile) 相同?还是一些新想法?

非常感谢!

【问题讨论】:

    标签: ios


    【解决方案1】:

    在 iOS 中,您仍然可以使用标准的低级文件(以及套接字等)API。因此,您可以像在任何其他 C 程序中一样使用 fopen()fwrite()fread() 等。

    这个问题有一些在iOS上使用低级文件API的例子:iPhone Unzip code

    另一个要考虑的选项是将你的浮点数写入NSMutableData 实例,然后将其写入文件。这将比将所有内容转换为字符串更快(您将获得二进制文件而不是文本文件),尽管可能仍不如使用低级 API 快。而且您可能必须使用 this 之类的东西在浮点数和字节数组之间进行转换。

    【讨论】:

    • 非常感谢aroth!有你指导,我完成了工作,再次感谢!
    【解决方案2】:

    如果您熟悉较低级别的访问,您可以映射您的文件,然后像访问任何已分配的内存一样直接访问数据。

    【讨论】:

    • 我编写了 c 代码来写入或读取具有较低级别访问权限但在 object-c 中不知道的数据。谢谢你的小费。我会尝试aroth的方法。
    • Objective-C 是 C 的超集。你可以在 C 中做的任何事情,都可以在 Objective-C 中做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多