zoukankan      html  css  js  c++  java
  • 第一章 列出一个目录中所有文件 程序清单1-1

    1.  apue.h 在书后的附录中找到输入。

    2. gcc时报错, err_sys, err_quit, 补充函数, 加printf。 err_quit里还要加 exit(0).

    3. gcc 得到 a.out。

    4. 执行 ./a.out 报错, Segmentation fault (core dumped)。

    5. 添加参数, 执行 ./a.out .      , 打印当前目录下文件, 成功打印。

       注: gcc -o 选项, 控制输出的文件名。 如本例中,  gcc 1-1_ls.c -o ls则输出ls可执行文件。

        int argc 命令参数个数。 至少为1, argv[0]是执行命令本身, 即为 ./ls, 若不加 ., 则 argv[1] 为 null

        则函数在 opendir(argv[1])会因为非法指针, 导致段错误。

    重点

        DIR *dp;

        struct dirent *dirp;

        (dp = opendir(argv[1])) != NULL;                                     //opendir()返回的是DIR的指针。

        while ( (dirp = readdir(dp)) != NULL)                                //readdir()返回的是dirent指针。

        {

            printf("%s ", dirp->d_name);                                    //打印d_name.

        }

        closedir(dp);                                                                  //closedir()与opendir()相对应。

  • 相关阅读:
    java的replace和replaceAll
    hibernate必须的包下载以及各个包的作用
    Jquery退出循环
    JQuery解析XML数据的几个例子
    使用ajax获取servelt数据乱码
    jquery绝对路径
    LeetCode 368. Largest Divisible Subset
    LeetCode 413. Arithmetic Slices
    LeetCode 474. Ones and Zeroes
    LeetCode 486. Predict the Winner
  • 原文地址:https://www.cnblogs.com/gavinwu/p/3333322.html
Copyright © 2011-2022 走看看