写大文件 [英] Write large file

查看:168
本文介绍了写大文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试写入一个大文件,但似乎它不适用于大于2GB的文件。
我试过boost :: iostreams :: file_sink。这只是增强流的限制吗?有没有其他方法我可以写一个大文件在Win64和win32?

I try to write to a large file, but it seems like it does not work for files larger than 2GB. I have tried with boost::iostreams::file_sink. Is this just a limit with the boost stream? Is there some other way I can write a large file on Win64 and win32?

推荐答案

这取决于:


  • 您正在使用的文件系统。像FAT这样的旧文件系统只允许高达2GB的文件。使用NTFS。

  • 您的库必须编译为允许大文件(64位寻找偏移量)。如果他们使用32bit int在文件中查找(检查调用seek和tell的参数和结果),你只能访问2GB(2 ^ 31bits,第32个是符号+/-)

这可能也有助于: http://www.boost.org/doc/libs/1_37_0/libs/iostreams/doc/faq.html#offsets

这篇关于写大文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆