C语言实现的ls命令源码分享
在之前的一些看书或者学习中,一直有一种感觉有问题的态度,那就是认为看懂了,但是不动手,感觉这样看书的效果不是很大。ls命令估计是我们在linux/unix里面用的最多的一个命令了,我们就用c来简单的实现一下ls命令。
//
//ls.c
//apue
//
//Createdbychenqingon13-8-22.
//Copyright(c)2013年chenqing.Allrightsreserved.
//
#include"/usr/include/apue.h"
#include"dirent.h"
intmain(intargc,char*argv[])
{
DIR*dp;//创建一个DIR结构的指针
//更多信息参考http://www.gnu.org/software/libc/manual/html_node/Opening-a-Directory.html
structdirent*dirp;
if(argc!=2){
err_sys("需要两个参数");//err_sys是在error.c中定义的一个函数
}
if((dp=opendir(argv[1]))==NULL){
err_quit("读取目录出错了!");
}
while((dirp=readdir(dp))!=NULL){
printf("%s\n",dirp->d_name);
}
closedir(dp);
exit(0);
}