• 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


  • 相关阅读:
    循序渐进学Python 1 安装与入门
    常用yum命令小结
    为CentOS配置网易163的yum源
    PHP合并数组+与array_merge的区别
    让Docker功能更强大的10个开源工具
    Docker入门系列8
    Docker入门系列7 动态映射端口port mapping
    e 的由来
    ROS教程5 使用串口
    1 ROS+ 使用ORB_SLAM2进行全场定位
  • 原文地址:https://www.cnblogs.com/seven-moon/p/12044219.html
Copyright © 2020-2023  润新知