设为首页 加入收藏

TOP

Linux readdir的多线程版本使用举例
2014-11-24 00:42:12 来源: 作者: 【 】 浏览:5
Tags:Linux readdir 线程 版本 使用 举例

readdir_r 是 readdir 在 Linux 下的多线程版本,它的参数有些奇怪,所以我这里给个使用的例子。


bool GetFileNamesInDir(const string& strDir,
vector& vecFileName)
{
DIR* dir = NULL;
struct dirent entry;
struct dirent* entryPtr = NULL;


dir = opendir(strDir.c_str());
if (NULL == dir)
{
return false;
}


readdir_r(dir, &entry, &entryPtr);
while (entryPtr != NULL)
{
string strFileName = entry.d_name;
if ("." == strFileName || ".." == strFileName)
{
}
else
{
vecFileName.push_back(strFileName);
}
readdir_r(dir, &entry, &entryPtr);
}


return true;
}



该函数得到指定目录下的所有文件名,放把它们放到 vector 中。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux shell脚本程序:天气预报 下一篇QT4编译不成功的一些原因总结及编..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: