mypwd实现

Posted seven-moon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mypwd实现相关的知识,希望对你有一定的参考价值。


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
",buff);
    return 0;
}

4、测试mypwd

技术图片
技术图片

以上是关于mypwd实现的主要内容,如果未能解决你的问题,请参考以下文章

实现mypwd

实现mypwd

实现mypwd

20155227 实现mypwd

实现mypwd

2017-2018-1 20155210 《信息安全系统设计基础》 实现mypwd