c处理大文件[英] c handle large file

本文是小编为大家收集整理的关于c处理大文件的处理方法,想解了c处理大文件的问题怎么解决?c处理大文件问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我需要解析一个可能有许多 GB 大小的文件.我想在 C 中执行此操作.有人可以建议任何方法来完成此操作吗?

我需要打开和解析的文件是我从我的 mac 硬盘驱动器获取的硬盘驱动器转储.但是,我计划在 64 位 Ubuntu 10.04 中运行我的程序.同样考虑到大文件大小,方法越优化越好.

推荐答案

在 *nix 和 Windows 上,I/O 例程都有涉及文件大小的扩展,支持大于 2GB 或 4GB 的大小.自然,底层文件系统也必须支持这么大的文件.在 Windows 上,NTFS 可以,但 FAT 不可以.这通常被称为"大文件支持".

对于这些目的最关键的两个例程是 fseek() 和 ftell(),以便您可以随机访问整个文件.否则,只要底层OS和stdio实现支持大文件,普通的fopen()和fread()和朋友就可以对任意大小的文件进行顺序访问.

本文地址:https://www.itbaoku.cn/post/359364.html