求问读写文件用API好和还是标准语言库好
RT,用系统API提供的好还是用C/C++的标准函数好啊
系统API还可以提供访问控制,C/C++标准库不能
同时求详细性能比较数据:
读写1G文件API快还是标准函数库快
哪个使用方便
[解决办法]
Windows API本身就比真正的“系统调用”高一层(windows系统中platform api实际上起到的是linux系统中glibc的作用),他的File函数是带缓冲的,所以效率也高也比较好用。
不过至少VC的C标准库性能也还可以,至少对于普通硬盘来说没本质区别,虽然理论上应该慢一些(C标准库是三缓冲,用户分配的缓冲区+标准库缓冲+系统缓冲,至少多一次复制,另外还有其它的实现开销)
C++ stream就不行了,用默认缓冲区大小明显要慢得多得多,加大缓冲区可以改善
文件映射应该更快些,至少省去了文件复制到内存缓冲区这一步,只有系统缓冲在起作用,而且对于非连续的复杂文件操作,流程上也简单些
[解决办法]