在之前的一些看书或者学习中,一直有一种感觉有问题的态度,那就是认为看懂了,但是不动手,感觉这样看书的效果不是很大。ls命令估计是我们在linux/unix里面用的最多的一个命令了,我们就用c来简单的实现一下ls命令。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// // ls.c // apue // // Created by chenqing on 13-8-22. // Copyright (c) 2013年 chenqing. All rights reserved. // #include "/usr/include/apue.h" #include "dirent.h" int main( int argc, char *argv[]) { DIR *dp ; //创建一个DIR结构的指针 //更多信息参考http://www.gnu.org/software/libc/manual/html_node/Opening-a-Directory.html struct dirent *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); } |