C++如何获取文件大小_C++ filesystem file_size函数用法

C++17中推荐使用std::filesystem::file_size获取文件大小。需包含头文件并引入命名空间,调用fs::file_size(path)返回字节数,但文件不存在、为目录或无权限时会抛出异常,因此应结合try-catch处理错误,或先通过fs::exists和fs::is_regular_file检查路径有效性,确保安全跨平台使用。

c++如何获取文件大小_c++ filesystem file_size函数用法

在C++17及以后的标准中,std::filesystem::file_size 函数提供了一种简单、安全的方式来获取文件的大小(以字节为单位)。这个函数属于 头文件,使用前需要确保编译器支持 C++17 或更高版本。

包含头文件并启用命名空间

使用 file_size 函数前,需包含 并引入 std::filesystem 命名空间:

#include iostream>
#include
namespace fs = std::filesystem;

基本用法:获取文件大小

直接调用 fs::file_size(path),传入文件路径即可返回文件字节数:

try {
    uintmax_t size = fs::file_size(“example.txt”);
    std::cout } catch (const fs::filesystem_error& e) {
    std::cerr }

注意:该函数在文件不存在、路径是目录或无权限访问时会抛出异常,建议用 try-catch 包裹。

立即学习“C++免费学习笔记(深入)”;

检查路径有效性再获取大小

为避免异常,可先判断路径是否存在且为普通文件:

fs::exists(path):确认文件存在fs::is_regular_file(path):确保不是目录或符号链接等

示例代码:

fs::path p = “data.bin”;
if (fs::exists(p) && fs::is_regular_file(p)) {
    uintmax_t size = fs::file_size(p);
    std::cout } else {
    std::cout }

基本上就这些。只要编译环境支持 C++17,file_size 是获取文件大小最推荐的方式,简洁且跨平台。注意处理异常和路径类型即可。

以上就是C++如何获取文件大小_C++ filesystem file_size函数用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1489709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 12:38:24
下一篇 2025年12月19日 12:38:39

相关推荐

发表回复

登录后才能评论
关注微信