文件大小方法提升库奇怪性

时间:2013-08-02 02:05:18

标签: c++ boost filesystems filesize

使用boost库中的file_size方法时,我遇到了一个奇怪的问题。如果我尝试使用目录迭代器解除引用的路径不是可执行文件所在的当前路径,那么对于我尝试返回的任何文件大小,我得到的值为0。因此,如果我的路径变量被实例化为“。”对于当前文件夹,它将返回字节大小没有问题,但如果我去一个文件夹或C驱动器上的任何地方的路径,不返回文件的字节大小。这是范围问题还是我缺少的东西?

1 个答案:

答案 0 :(得分:0)

事实证明,如果您正在使用directory_iterator并且正在尝试查找file_size(dirIter-> path()),它将仅适用于可执行文件所在的当前文件夹。但是,如果您连接了该路径的您正在使用您指定的变量名进行搜索的目录(例如路径p =“。”)它将返回搜索到的任何文件夹中任何文件的字节大小(如何使其工作的示例将是file_size(p / dirIter-&gt ; path())其中/是boost库中的重载并置运算符。