c语言readdir函数功能,C语言readdir()函数:读取目录函数
頭文件:#include
#include
定義函數(shù):struct dirent * readdir(DIR * dir);
返回值:成功則返回下個(gè)目錄進(jìn)入點(diǎn). 有錯(cuò)誤發(fā)生或讀取到目錄文件尾則返回NULL.
附加說(shuō)明:EBADF 參數(shù)dir 為無(wú)效的目錄流。
函數(shù)說(shuō)明:readdir()返回參數(shù)dir 目錄流的下個(gè)目錄進(jìn)入點(diǎn)。結(jié)構(gòu)dirent 定義如下:
struct dirent
{
ino_t d_ino; //d_ino 此目錄進(jìn)入點(diǎn)的inode
ff_t d_off; //d_off 目錄文件開頭至此目錄進(jìn)入點(diǎn)的位移
signed short int d_reclen; //d_reclen _name 的長(zhǎng)度, 不包含NULL 字符
unsigned char d_type; //d_type d_name 所指的文件類型 d_name 文件名
har d_name[256];
};
例:
/*=================hikeen add start================*/
HI_S32 Hi_EX_Cus_Factory::getininumber(int bType)
{
LOGE("[%s] called", __FUNCTION__);
DIR* Filedir;
struct dirent* ep;
std::string NameStr="";
std::string IniString="";
int IniNum = 0;
Filedir = opendir("/atv/ini");
if (Filedir != NULL)
{
switch(bType)
{
case 0: ? ??? ??? ?//programlist
IniString = "programlist";
break;
case 1:?? ??? ??? ?//DATABASE_DTMB
IniString = "DATABASE_DTMB";
break;
case 2:?? ??? ??? ?//DATABASE_C
IniString = "DATABASE_C";
break;
case 3:?? ??? ??? ?//DATABASE_S
IniString = "DATABASE_S";
break;
case 4:?? ??? ??? ?//DATABASE_T
IniString = "DATABASE_T";
break;
}
while (ep = readdir(Filedir))
{
NameStr = ep->d_name;
if(NameStr.find(IniString) != std::string::npos)
IniNum = IniNum + 1;
}
(void) closedir(Filedir);
}else{
LOGI("=====dir open error!!!!============Filedir = NULL");
}
return IniNum;
}
/*=================hikeen add end================*/
總結(jié)
以上是生活随笔為你收集整理的c语言readdir函数功能,C语言readdir()函数:读取目录函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 京东员工讨厌章泽天怎么回事 估计现在欢喜
- 下一篇: 小花钱包转账失败