码迷,mamicode.com
首页 > 其他好文 > 详细

mypwd实现

时间:2019-12-15 16:04:17      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:void   cal   alt   image   输出   sizeof   director   img   char   


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实现

标签:void   cal   alt   image   输出   sizeof   director   img   char   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!