麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

linux C 遞歸找出一個路徑下的所有文件

2019-11-14 09:40:22
字體:
來源:轉載
供稿:網友
#include <stdio.h>#include <dirent.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>void dir_oper(char const*path);int main(int argc, char const *argv[]){	char const*path = argv[1];	struct stat s_buf;	/*獲取文件信息,把信息放到s_buf中*/	stat(path,&s_buf);	/*判斷輸入的文件路徑是否目錄,若是目錄,則往下執行,分析目錄下的文件*/	if(S_ISDIR(s_buf.st_mode))	{		dir_oper(path);	}	/*若輸入的文件路徑是普通文件,則打印并退出程序*/	else if(S_ISREG(s_buf.st_mode))	{		PRintf("[%s] is a regular file/n",path);		return 0;	}	return 0;}void dir_oper(char const*path){	printf("[%s] it is a dir/n",path);	struct dirent *filename;	struct stat s_buf;	DIR *dp = opendir(path);	/*readdir()必須循環調用,要讀完整個目錄的文件,readdir才會返回NULL	若未讀完,就讓他循環*/	while(filename = readdir(dp))	{		/*判斷一個文件是目錄還是一個普通文件*/		char file_path[200];		bzero(file_path,200);		strcat(file_path,path);		strcat(file_path,"/");		strcat(file_path,filename->d_name);				/*在linux下每一個目錄都有隱藏的. 和..目錄,一定要把這兩個排除掉。因為沒有意義且會導致死循環*/		if(strcmp(filename->d_name,".")==0||strcmp(filename->d_name,"..")==0)		{			continue;		}		/*獲取文件信息,把信息放到s_buf中*/		stat(file_path,&s_buf);		/*判斷是否目錄*/		if(S_ISDIR(s_buf.st_mode))		{			dir_oper(file_path);			printf("/n");		}		/*判斷是否為普通文件*/		if(S_ISREG(s_buf.st_mode))		{			printf("[%s] is a regular file/n",file_path);		}	}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久一区二区三区四区五区 | 一色屋任你操 | 青久草视频 | 欧洲精品久久 | 2019天天干夜夜操 | 欧洲成人精品 | 成人一区二区三区在线 | 99国内精品视频 | 色诱亚洲精品久久久久久 | 欧美日韩色片 | 国产精品99久久久久久大便 | 日本一区二区免费在线观看 | 永久av在线免费观看 | 久久久久久久久亚洲精品 | 成年免费视频黄网站在线观看 | 黄污在线观看 | 国产精品刺激对白麻豆99 | 青草久久av | 国产精品亚洲综合 | 黄色成年在线观看 | 亚洲欧美不卡视频 | 午夜在线视频一区二区三区 | 久草在线公开视频 | 久久最新网址 | 中国a级黄色片 | 羞羞答答tv| 国产色91 | 久久影院一区二区三区 | 亚洲婷婷日日综合婷婷噜噜噜 | 99影视电影电视剧在线播放 | 久久99精品国产99久久6男男 | 亚洲91精品| 日本va在线观看 | 日韩在线播放中文字幕 | 性欧美xxxx免费岛国不卡电影 | 狠狠操夜夜爱 | 少妇一级淫片高潮流水电影 | 性盈盈盈影院 | 久久精品国产亚洲7777 | 91久久极品少妇韩国 | 中文字幕免费看 |