C++文件流读写文件,文件大小是否有限制?

发布于 2022-09-04 01:57:11 字数 378 浏览 17 评论 0

一年前只会C语言的时候,曾用C写过一个基于Huffman树的文件压缩程序。打开文件的用的是C标准库中的fopen()。后来发现这样的程序对于稍微大一点的程序(1M以上大概)就无法运行了。在搜索引擎上找了半天特不知道问题出在哪。

今年用C++重新写这个程序,打算使用文件流打开文件,但不知道对于比较大的文件是都可以正常运行。

我的疑问如下:

  1. C与C++读取文件的方式有区别吗?

  2. 如果确实不能“一口气”打开大文件,什么是正确的打开方式?

  3. C/C++里打开文件的底层操作是什么呢?

贪心地问了三个问题,大神们答哪个都可以哈。

先在此谢过大家了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

提赋 2022-09-11 01:57:11

题主的读写文件的代码不知道什么样,怀疑是有问题的。
如果是1M以上就有问题了,那不太可能是受到相关的限制,应该是代码的问题。

先回答几个疑问。
1、可以说有。C++可以使用C方式的文件操作函数,但是C不能使用C++的fstream。这是针对标准库而言,非操作系统特定API。
2、不知道题主要打开的文件有多大。如果真的需要,考虑使用系统API。
3、底层操作实际上是系统调用的封装。

才疏学浅,如有不对之处,还请见谅。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文