20165329 实现mypwd

20165329 实现mypwd

实现要求

1 学习pwd命令
2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码
3 实现mypwd
4 测试mypwd

pwd

pwd是print working directory的缩写,即打印当前路径的意思。打开终端,一定会在执行命令的$号之前看见当前的工作目录,不过一定会出现~在前面或是/etc在后面。此时输入pwd命令就是可以将工作目录完全展开。

伪代码

首先使用一下pwd命令,然后输入 man pwd 以获取pwd命令的相关信息。

然后输入 man -k directory | grep 2 得知一道getcwd()调用函数,而这道函数一定是和pwd命令相关的。

这是函数getcwd()的原型。

那么这个pwd的伪代码描述就是这样的:

一个字符串数组储存绝对路径
调用函数getcwd()
if (返回的指针==NULL)
    调用函数出错,发出错误报告
else
    打印结果

代码实现

通过伪代码实现就这样了:

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

就没有见过这么简单的,不过不用getcwd()实现pwd命令可能会要更长的代码去实现。

测试代码

测试结果:

 

猜你喜欢

转载自www.cnblogs.com/hjwzzj/p/9998923.html