20165329 实现mypwd
实现要求
1 学习pwd命令
2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码3 实现mypwd4 测试mypwdpwd
pwd是print working directory的缩写,即打印当前路径的意思。打开终端,一定会在执行命令的$号之前看见当前的工作目录,不过一定会出现~在前面或是/etc在后面。此时输入pwd命令就是可以将工作目录完全展开。
伪代码
首先使用一下pwd命令,然后输入 man pwd 以获取pwd命令的相关信息。
然后输入 man -k directory | grep 2 得知一道getcwd()调用函数,而这道函数一定是和pwd命令相关的。
这是函数getcwd()的原型。
那么这个pwd的伪代码描述就是这样的:
一个字符串数组储存绝对路径调用函数getcwd()if (返回的指针==NULL) 调用函数出错,发出错误报告else 打印结果
代码实现
通过伪代码实现就这样了:
#include#include int main(void) { char buff[256]; getcwd(buff,sizeof(buff)); printf("当前路径为:%s\n",buff); return 0; }
就没有见过这么简单的,不过不用getcwd()实现pwd命令可能会要更长的代码去实现。
测试代码
测试结果: