站长论坛
标题:
linux readdir的多线程版本使用举例
[打印本页]
作者:
tznktg
时间:
2008-10-2 14:24
标题:
linux readdir的多线程版本使用举例
readdir_r 是 readdir 在 linux 下的多线程版本,它的参数有些奇怪,所以我这里给个使用的例子。
CODE:bool GetFileNamesInDir(const string& strDir,
vector<string>& 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 中。
欢迎光临 站长论坛 (http://www.tzlink.com/bbs/)
Powered by Discuz! X3.2