作用:输出文件夹下所有文件。
windows系统对应 io.h 中的_finddata_t结构体
#include <stdio.h>
#include <stdlib.h>#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
void print_usage(void)
{
printf("Usage: programe_name dir_name\n");
}
int main()
{
DIR * dp;
struct dirent *filename;
dp = opendir("/usr/src/");
if (!dp)
{
fprintf(stderr,"open directory error\n");
return 0;
}
while (filename=readdir(dp))
{
printf("filename:%s\n",filename->d_name);
}
closedir(dp);
return 0;
}
windows下
#include <stdio.h>
#include<io.h>
#include <stdlib.h>
//#include <iostream>
//using namespace std;
int main(void)
{
//文件存储信息结构体
struct _finddata_t fileinfo;
//保存文件句柄
long fHandle;
//文件数记录器
int i = 0;
if ((fHandle = _findfirst("C:\\Users\\1\\Desktop\\*.*", &fileinfo)) == -1L)
{
printf("当前目录下没有txt文件\n");
return 0;
}
else {
do {
i++;
printf("找到文件:%s,文件大小:%d\n", fileinfo.name, fileinfo.size);
} while (_findnext(fHandle, &fileinfo) == 0);
}
//关闭文件
_findclose(fHandle);
printf("文件数量:%d\n", i);
system("pause");
//system("ls -l /home");
return 0;
}