【发布时间】:2014-10-19 11:31:55
【问题描述】:
下面的函数读取目录并将文件名(通过 push_back())插入向量中
#include <dirent.h>
void open(string path){
DIR* dir;
dirent *pdir;
dir = opendir(path.c_str());
while (pdir = readdir(dir)){
vectorForResults.push_back(pdir->d_name);
}
}
问题:如何使用 boots 库检查每个文件的大小(从当前目录)?
我找到了http://en.highscore.de/cpp/boost/filesystem.html上描述的方法
例如:
boost::filesystem::path p("C:\\Windows\\win.ini");
std::cout << boost::filesystem::file_size(p) << std::endl;
有人可以帮助如何在我的 open() 函数中实现 boost 它吗?特别是如何将当前目录路径名分配给变量p,然后遍历文件名。
【问题讨论】:
-
如果有某种reference...
-
boost::filesystem::path p(path.c_str()) 但没有成功...
-
您可能没有正确使用
pdir。它可能指向静态缓冲区,因此请确保您正在复制它所指向的内容。如果vectorForResults正在存储指针,那么你就有麻烦了。