ls命令的简要实现
<span style="font-size:14px;">#include<stdio.h>
#include<stdlib.h>
#include<dirent.h>
int main(int argc,char *argv[])
{
DIR *dp;
struct dirent *dirp;
if(argc != 2)
{
printf("suage: ls directory_name\n");
exit(1);
}
if((dp = opendir(argv[1])) == NULL)
{
printf("can't open %s\n",argv[1]);
exit(1);
}
while((dirp = readdir(dp)) != NULL)
printf("%s\n",dirp->d_name);
closedir(dp);
exit(0);
}</span>
1. 命令行的第一个参数argv[1]作为要列出的各个目录项的目录名
2. opendir函数返回指向DIR结构的指针
3. readdir函数用于读取每个目录项
4.函数exit用于终止程序,参数0表示正常结束,而参数1~255表示出错
5.运行例程:$./a.out /dev/