打开目录,读取目录 ,然后获得文件状态
来源:互联网 发布:软件测试目的 编辑:程序博客网 时间:2024/06/11 02:42
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>
#include<fcntl.h>
#include<time.h>
#include<unistd.h>
static int get_stat(const char *filename)
{
struct stat statbuf;
if(stat(filename,&statbuf)==-1)
{
printf("error1");
return (-1);
}
if(S_ISDIR(statbuf.st_mode))
return 1;
if(S_ISREG(statbuf.st_mode))
return 0;
}
int main(int argc, char **argv)
{
DIR *dir;
struct dirent *drip;
int stats;
if(argc!=2)
{
printf("error2");
exit(1);
}
if(((stats=get_stat(argv[1]))==0)||(stats==-1))
exit(1);
if((dir=opendir(argv[1]))==NULL)
{
printf("error3");
exit (1);
}
while((drip=readdir(dir))!=NULL)
{
char dirbuf[1024];
memset(dirbuf,0,sizeof(dirbuf));
strcpy(dirbuf,argv[1]);
strcat(dirbuf, "/");
strcat(dirbuf, drip->d_name);
if(get_stat(dirbuf)==-1)break;
}
closedir(dir);
exit(1);
#include<stdlib.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>
#include<fcntl.h>
#include<time.h>
#include<unistd.h>
static int get_stat(const char *filename)
{
struct stat statbuf;
if(stat(filename,&statbuf)==-1)
{
printf("error1");
return (-1);
}
if(S_ISDIR(statbuf.st_mode))
return 1;
if(S_ISREG(statbuf.st_mode))
return 0;
}
int main(int argc, char **argv)
{
DIR *dir;
struct dirent *drip;
int stats;
if(argc!=2)
{
printf("error2");
exit(1);
}
if(((stats=get_stat(argv[1]))==0)||(stats==-1))
exit(1);
if((dir=opendir(argv[1]))==NULL)
{
printf("error3");
exit (1);
}
while((drip=readdir(dir))!=NULL)
{
char dirbuf[1024];
memset(dirbuf,0,sizeof(dirbuf));
strcpy(dirbuf,argv[1]);
strcat(dirbuf, "/");
strcat(dirbuf, drip->d_name);
if(get_stat(dirbuf)==-1)break;
}
closedir(dir);
exit(1);
}
#include<stdio.h>
#include<dirent.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>
#include<string.h>
int main()
{
DIR *dir;
struct dirent *ptr;
struct stat buf;
char buff[1024];
const char *name="/home/zzd";
dir=opendir(name);
while((ptr=readdir(dir))!=NULL)
{
memset(buff,0,sizeof(buff));
strcpy(buff,name);
strcat(buff,"/");
strcat(buff,ptr->d_name);
if(stat(buff,&buf)==0)
{
if(S_ISDIR(buf.st_mode))
continue;
if(S_ISREG(buf.st_mode))
printf("%s %d\n",buff,buf.st_size);
}
}
closedir(dir);
return 0;
}
0 0
- 打开目录,读取目录 ,然后获得文件状态
- c#递归 读取文件目录,然后绑定treeview
- C# 打开文件目录并读取整个目录信息
- ShellExecute打开文件目录
- sourceinsight 打开文件目录
- 打开文件目录~
- eclipse 打开文件目录
- eclipse打开文件目录
- FindFirstFile读取文件目录
- 读取文件目录
- 目录文件读取
- vc 目录文件读取
- 读取目录文件
- php读取文件目录
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- 串结构练习——字符串连接
- gcc 源码官网下载
- Linux目录处理命令
- C语言8.8总结
- 中软Java学习第八天笔记之队列和栈
- 打开目录,读取目录 ,然后获得文件状态
- 数据结构实验之排序二:交换排序
- 异步 Notification 之 NSNotificationQueue
- java-反射
- HDU 4003 Find Metal Mineral(树形dp,从根节点出发k个机器人遍历所有边的最小代价和)
- A. Cards
- 占座
- 中软第八天学习笔记之ArrayList
- DataGridView右键删除行