c++ - 我怎么知道在使用 ofstream 时我达到了文件的最大大小?

标签 c++ linux

在使用 ofstream 写入文件时,我如何知道文件大小何时达到操作系统的最大文件大小 - 更具体地说是 linux 的最大文件大小 - ??

最佳答案

首先,最大文件大小是文件系统限制,而不是操作系统限制。根据文件系统的格式化方式,它甚至会因特定文件系统而异。

至于您如何确定已达到限制,您的代码可能会在这种情况发生时抛出异常,然后您可以将其与操作系统错误代码联系起来。

请注意,实际限制是 pretty darn big对于“典型”的 EXT2 文件系统 - 以 TB 为单位。实际上,您可能永远达不到它。如果您真的在积累数 TB 的数据,您可能需要考虑是否有更合理的方式来存储它,而不是存储一个巨大的文件。

关于c++ - 我怎么知道在使用 ofstream 时我达到了文件的最大大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/134526/

相关文章:

linux - linux中识别ipv6地址

linux - grep 中 "^-"的用法

c++ - 确定 p 的第 n 个正根的程序

c# - C++ 从 C# COM DLL 调用函数

linux - 在下面的模型中,从上下文切换到抖动的退化?

c++ - 无法将 Google Test NuGet 包添加到 Visual Studio Linux C++ 项目

linux - POSIX UDP 套接字 : how is the data splitted to UDP packets?

c++ - 虚函数被覆盖且私有(private),公共(public)说明符

c++ - 链接静态库 : -llibrary or liblibrary. a?

c++ - 将 vector<vector<double>> 从在 x86 平台中创建的一个进程发送到另一个在 x64 中构建的进程的最快方法是什么