首页 > 其他 > 详细

20155212 Mypwd

时间:2017-11-19 21:54:30      阅读:279      评论:0      收藏:0      [点我收藏+]

20155212 Mypwd

学习pwd命令

  • 通过man pwd命令查看技术分享图片
  • pwd [OPTION],一般不加参数
    • -P显示当前目录的物理路径
    • -L显示当前目录的连接路径
  • 该命令用来显示目前所在的工作目录。指令英文原义:print work directory

系统调用

  • 使用man -k dir | grep 2命令查看有哪些跟pwd相关的系统调用
    技术分享图片
  • 这里有两个系统调用可能用到pwd中
    • getcwd()技术分享图片
      • 功能:获取当前目录
      • 参数
        • char *buf:存储当前路径的字符串
        • size_t size:buf的空间大小
      • 返回值: 成功则返回指向当前路径字符串的指针,错误则返回NULL
    • readdir()技术分享图片
      • 功能:readdir()返回参数dir目录流的下个目录进入点
      • 参数:DIR * dir。结构dirent定义如下:

        struct dirent{
            ino_t d_ino;//此目录进入点的inode
            off_t d_off;//目录文件开头至此目录进入点的位移
            unsigned short int d_reclen;//记录的长度
            unsigned char d_type;//文件类型
            char d_name[256];
        };
      • 返回值:成功则返回下个目录进入点。有错误发生或读取到目录文件尾则返回NULL
    • opendir()技术分享图片
      • 功能:opendir()用来打开参数name指定的目录,并返回DIR*形态的目录流,和open()类似,接下来对目录的读取和搜索都要使用此返回值
      • 参数:路径名
      • 返回值:成功则返回DIR* 型态的目录流,打开失败则返回NULL。

伪代码

  • 使用getcwd()
定义数组buf[MAXPATH];
调用getcwd(buf, MAXPATH);
输出返回值;
  • 使用readdir()

产品代码

  • 使用getcwd()
#include <stdio.h>
#include <unistd.h>
#define MAXPATH 50

int main()
{
    char path[MAXPATH];
    puts(getcwd(path, MAXPATH));
    return 0;
}

测试

  • 使用getcwd()
    技术分享图片

20155212 Mypwd

原文:http://www.cnblogs.com/dky20155212/p/7862211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!