获取目录的大小(而不是目录的大小)

拉尔斯·尼尔森(Lars Nielsen)

(请先解决此问题,再阅读完整的问题)

在C ++中,我们可以通过运行来获取常规文件的文件大小,std::filesystem::file_size(PATH);但是此功能在目录上不起作用,这是我的问题。我处于一种情况,我需要知道目录“ inode”的大小,在(大多数)Linux系统中,目录的标准大小为4kB或块大小:

$:~/tmp/test$ mkdir ex
$:~/tmp/test$ ls -l
total 4
drwxrwxr-x 2 secret secret 4096 Oct 15 08:43 ex

这些4kB包含用于在该目录中包含文件“列表”的空间。但是,如果目录中的文件数量变得非常大,则文件夹的大小可能会增加(这就是我所在的位置)。我需要能够跟踪这种增长。所以我的问题是,除了调用ls -ldu从C ++调用之外,还有C ++原生的方法来获取目录的大小吗?我知道它无法使用的原因std::filesystem::file_size(path)是由于文件系统以不同的方式表示目录。

德拉特尼克

https://en.cppreference.com/w/cpp/filesystem/file_size

对于常规文件p,返回确定的大小,就好像读取POSIX stat获得的结构的st_size成员一样(遵循符号链接)

尝试确定目录(以及不是常规文件或符号链接的任何其他文件)大小的结果是实现定义的。

file_size目录上的目录实际上可能在某些实现中有效,但我想您的目录可能无效。似乎没有纯粹的C ++替代品,但是您可以stat自己调用POSIX函数。那确实适用于目录并报告您想要的号码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从WebHDFS获取目录大小?

来自分类Dev

从WebHDFS获取目录大小?

来自分类Dev

仅目录大小而不是文件大小

来自分类Dev

du计算文件/目录的数量而不是大小

来自分类Dev

命令“ ls”显示目录大小而不是块大小

来自分类Dev

如何获取实际目录大小(超出du)?

来自分类Dev

获取子目录大小的更好方法

来自分类Dev

在python中获取子目录的目录大小

来自分类Dev

如何获取目录及其子目录的摘要大小?

来自分类Dev

如何计算目录的大小?

来自分类Dev

扩展主目录大小

来自分类Dev

conky中的目录大小

来自分类Dev

ls报告的目录大小

来自分类Dev

调整目录大小

来自分类Dev

递归列出目录的大小?

来自分类Dev

多个目录大小

来自分类Dev

获取当前目录中文件的总大小(不包括子目录的大小)

来自分类Dev

在F#中获取目录大小的惯用方式

来自分类Dev

Powershell:获取Windows用户目录的大小(C:\ Users \ <UserName>)

来自分类Dev

在F#中获取目录大小的惯用方式

来自分类Dev

wget(或其他东西)来获取目录的总大小?

来自分类Dev

获取目录大小并将其存储到变量中

来自分类Dev

获取 TEMP 目录路径(区分大小写)

来自分类Dev

目录中的大小奇怪。太大了

来自分类Dev

目录大小计算差异

来自分类Dev

目录中的大小奇怪。太大了

来自分类Dev

使用filezilla查看目录的大小

来自分类Dev

XCode 5.1资产目录大小

来自分类Dev

从当前目录检查文件大小