📄 linux_ls.c
字号:
#include<sys/types.h>#include<sys/stat.h>#include<stdio.h>#include<dirent.h>#include<unistd.h>int wenjian(char *argv, FILE *fp){ int a; DIR *dir; struct dirent *ptr; struct stat buf; dir=opendir(argv); if(dir == NULL) { printf("Open %s error,please input true parameter !\n",argv); return(0); } else { while((ptr = readdir(dir)) != NULL) { //ptr->d_name is "." or "..",if(0 && 0); if(strcmp(ptr->d_name, ".") && strcmp(ptr->d_name, "..")) { char path[256]; strcpy(path, argv); strcat(path, "/"); strcat(path, ptr->d_name); printf("%s\n", path); fwrite(path, strlen(path), 1, fp); fwrite("\n", 1, 1, fp); lstat(path, &buf); if(S_ISDIR(buf.st_mode)) wenjian(path, fp); } else { char path[256]; strcpy(path, argv); strcat(path, "/"); strcat(path, ptr->d_name); printf("%s\n", path); fwrite(path, strlen(path), 1, fp); fwrite("\n", 1, 1, fp); } } a = closedir(dir); if(a != 0) { printf("Close \"%s\" error !\n",argv); return(0); } printf("Close \"%s\" succeed !\n",argv); return(0); }}int close_file(FILE *fp){ int a; a = fclose(fp); if(a != 0) { printf("Close \"/home/hongzhi/code/list\" error !\n"); return(0); } printf("Close \"/home/hongzhi/code/list\" succeed !\n"); return(0);}FILE* open_file(void){ FILE *fpd; fpd=fopen("/home/hongzhi/code/list", "w+"); if(fpd == NULL) { printf("Open /home/hongzhi/code/list error !\n"); return(0); } printf("Open \"/home/hongzhi/code/list\" succeed !\n" ); return fpd;}int main(int argc,char **argv){ FILE *fp; if(argc!=2) { printf("Please input two parameters !\n"); return(0); } if(argv[1][strlen(argv[1])-1] == '/') { printf("Please no take '/' behind second parameter' foot !\n"); return(0); } fp = open_file(); wenjian(argv[1], fp); close_file(fp); return(0); //exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -