文件读取 - C++文件流读写文件,文件大小是否有限制?
高洛峰
高洛峰 2017-04-17 14:48:30
0
1
656

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

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

我的疑问如下:

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

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

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

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

先在此谢过大家了!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
PHPzhong

質問者さんのファイルの読み書きコードがどのようなものなのかわからないので、何か問題があるのではないかと思います。
1M を超える場合に問題が発生する場合は、関連する制限が原因である可能性は低く、コードに問題があるはずです。

最初にいくつかの質問に答えてください。
1.あると言えます。 C++ は C のファイル操作関数を使用できますが、C は C++ の fstream を使用できません。これは標準ライブラリ用であり、オペレーティング システム固有の API ではありません。
2. 質問を開こうとしているファイルのサイズがわかりません。本当に必要な場合は、システム API の使用を検討してください。
3. 基本的な操作は実際にはシステム コールのカプセル化です。

才能も知識も浅いので、間違いがあればご容赦ください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート