unix 高级编程学习第一章1——ls实现

来源:互联网 发布:淘宝v任务平台下载 编辑:程序博客网 时间:2024/06/11 19:40

书中一直使用apue.h文件,现在不要apue.h头文件用简单的方法实现。

1.ls命令,列出目录中所有文件的名字,代码如下:

#include <stdio.h>#include <dirent.h>int main(int argc, char *argv[]){DIR *dp;struct dirent *dirp;if(argc != 2){printf("usage: list directory name\n");}if((dp = opendir(argv[1])) == NULL){printf("can't open %s\n", argv[1]);}while((dirp = readdir(dp)) != NULL){printf("%s\n", dirp->d_name);}closedir(dp);return 0;}



2. 编译

gcc list.c -o list

3. 运行及结果

当前目录下文件名: ./list .

父目录下的文件名: ./list ..

程序後面的路径可以是任意绝对路径和相对路径,就不一一演示了。

4. 最后

可以看到实现的ls功能和系统的ls功能还是有差别的,比如结果文件名不是按照字母顺序排列的。



阅读全文
0 0
原创粉丝点击