linux入门 ls命令编写之一------ls1


 编译环境:ubuntu下用Eclipse

 编译过程:1.building project:file->new->c project->project name->linux GCC->finish

                     2.building file:file->new->source file->soure file name by the end of .c->finish

                     3.editing programing

                     4.ctrl+s

                     5.compile and link( label hammer)

                     6.running

调程序单步执行:1、点击那个虫子样子的按钮。2、按F5就是一层层深入的debug相当于剥葱样,按F6就是一步步debug,不理会深层次运作,按F7就是不管当前位置有多深,都跳转到断点设置的那一层代码,按F8就是停止debug,运行完程序。


 Ctrl+shift+f :使代码自动对齐


详解ls1.c

#include<stdio.h>
#include<sys/types.h>
#include<dirent.h>

void do_ls(char dirname[]);

main(int ac, char *av[])
{
    if ( ac == 1 )
        do_ls( "." );
    else
        while ( --ac ){
            printf("%s:\n",*++av);
            do_ls( *av );
        }
}

void do_ls( char dirname[] )
/*
 *    list files in directory called dirname
 */
{
    DIR        *dir_ptr;        /* the directory */
    struct dirent    *direntp;        /* each entry     */

    if ( ( dir_ptr = opendir( dirname ) ) == NULL )//opendir:打开一个目录,返回指向目录的指针
        fprintf(stderr,"ls1: cannot open %s\n", dirname);
    else
    {
        while ( ( direntp = readdir( dir_ptr ) ) != NULL )//返回指针给结构体direntp,使之指向下一个目录
            printf("%s\n", direntp->d_name );
        closedir(dir_ptr);
    }
}  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值