ios的fopen,fwrite,fclose三个函数太慢
现在做一个手机热更新功能,app下载zip 包后,解压,zip包内有1000个文件,使有用的是zlib+c语言库写文件,android解压操作耗时在3s以内。没有问题,ios的fopen,fwrite,fclose三个函数,写1000个文件耗时要7s,相当头痛。
单个数据测试ios的fopen,fwrite,fclose写一个几百k的文件都要5-7ms,这个数据很不合理,按linux的标准,fclose应该会调用fflush,fflush会将数据存入系统缓存,并不应该写硬盘。
可是现在ios的fclose好像会直接写硬盘,导致写太慢了,我想尝试object-c的writeToFile接口,但是我怀疑并没有用。
有人遇到过这个问题吗?
单个数据测试ios的fopen,fwrite,fclose写一个几百k的文件都要5-7ms,这个数据很不合理,按linux的标准,fclose应该会调用fflush,fflush会将数据存入系统缓存,并不应该写硬盘。
可是现在ios的fclose好像会直接写硬盘,导致写太慢了,我想尝试object-c的writeToFile接口,但是我怀疑并没有用。
有人遇到过这个问题吗?
...全文
相关推荐
二进制读写学习
#### fopen, fread, fwrite 函数详解在C语言中,`fopen`, `fread`, 和 `fwrite` 是进行二进制读写的核心函数。
libmp3lame-ios
("output.mp3", "wb");fwrite(encodedBuffer, 1, encodedBytes, outFile);fclose(outFile);// 释放资源lame_close
ios 编译curl openssl 并下载文件
**实现下载逻辑**:在C代码中,使用curl的API发起HTTPS请求,设置回调函数处理数据接收,当接收到数据时,将其写入到沙盒的指定路径。
IOS.CPP
文件操作:涉及到文件的打开、关闭、读写等操作,其核心函数如fopen、fclose、fread、fwrite、fseek等可能在此源码文件中定义。3.
CSDN上C/C++文件操作集锦
在C语言中,文件操作主要依赖于stdio.h库中的函数,如fopen()用于打开文件,fclose()用于关闭文件,fread()和fwrite()用于读写文件内容,fgets()和fputs()用于处理字符串


