遍历当前文件夹
## 遍历指定文件夹中所有的文件,排除.和..两种伪文件外,并获取文件名称、后缀名、不带后缀的文件名。
```c
int TraverseDir(const char * szFilePath )
{
DIR * pDir = opendir(szFilePath);
if(pDir)
{
printf("[%s]\n", szFilePath);
}
else
{
printf("open dir [%s] ,failed.\n", szFilePath);
return -1;
}
struct dirent *pDirent;
while((pDirent = readdir(pDir)) != nullptr)
{
//printf("[FileName:%32s],\033[4;31;40m Type[%d] \033[0m \n", pDirent->d_name, pDirent->d_type);
if(strcmp(".", pDirent->d_name) == 0 || 0 == strcmp("..", pDirent->d_name) )
{
continue;
}
char *pTemp = strchr(pDirent->d_name, '.');
if(nullptr != pTemp)
{
printf("[FileName:%16s],\033[4;31;40m Type[%d]\033[0m,[Suffix:\t%16s]; basename[%16s],dirname[%32s] ",pDirent->d_name, pDirent->d_type, pTemp, basename(pDirent->d_name), dirname(pDirent->d_name));
}
char szFileName[128]={0};
if(pTemp != nullptr )
{
strncpy(szFileName, pDirent->d_name, pTemp - pDirent->d_name);
printf("final file name[%16s]\n", szFileName);
}
}
closedir(pDir);
return 0;
}