mypwd

1、学习pwd命令

  • 在终端中输入 man pwd 学习pwd的帮助文档:

 

 

 pwd: pwd [-LP]

    打印当前工作目录的名字。
    
    选项:
      -L    打印 $PWD 变量的值,如果它包含了当前的工作目录
      -P    打印当前的物理路径,不带有任何的符号链接
    
    默认情况下,`pwd' 的行为和带 `-L' 选项一致
    

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

  • 终端中输入 man -k dir | grep 2  ,查找与显示当前路径相关的系统调用函数。发现一个函数:getcwd() ,和pwd有关:

  • 在终端中输入man 3 getcwd 查看与c语言相关的帮助文档:

  • mypwd可以通过调用getcwd实现,伪代码如下:
#include <stdio.h>
#include <unistd.h>
 
调用函数getcwd()
if (返回的指针==NULL)
    调用函数出错,打印error
else
    打印结果

3、实现mypwd

#include "stdio.h"
    #include "unistd.h"
    int main(void)
    {
        char buf[256];
        getcwd(buf,sizeof(buf));
        printf("当前路径为:%s\n",buf);
        return 0;
    } 

4、测试mypwd

 

posted @ 2022-10-20 15:16  20201320石志涛  阅读(16)  评论(0编辑  收藏  举报