⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux_ls.c

📁 此程序在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 + -