首页 > 其他 > 详细

mypwd实现

时间:2019-12-15 16:19:24      阅读:105      评论:0      收藏:0      [点我收藏+]

1、学习pwd命令

在终端中输入man 1 pwd得到pwd的帮助文档:
技术分享图片

pwd [选项] (pwd命令只有选项,没有参数,因为它的作用是输出当前的工作目录名,所以不需要参数)
选项:

  • -L:--logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)。
  • -p:--physical,显示当前的路径(物理路径),有连接文件时,不使用连接路径,直接显示连接文件所指向的文件。
    技术分享图片

2、研究pwd实现需要的系统调用(man -k; grep),写出伪代码

在终端中输入man -k directory | grep 2 ,查找与显示当前路径相关的系统调用函数,其中可以发现一个函数:getcwd(),和pwd有关:
技术分享图片

在终端中输入man 3 getcwd 查看帮助文档:
技术分享图片

我们可以通过调用getcwd()函数来实现pwd,伪代码如下:

#include <stdio.h>
#include <unistd.h>

调用函数getcwd()
if (返回的指针==NULL)
    调用函数出错,发出错误报告
else
    打印结果

3、实现mypwd

实现代码如下:

#include <stdio.h>
#include <unistd.h>

int main(void){
    char buff[256];
    getcwd(buff,sizeof(buff));
    printf("%s\n",buff);
    return 0;
}

4、测试mypwd

技术分享图片
技术分享图片

mypwd实现

原文:https://www.cnblogs.com/seven-moon/p/12044219.html

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