博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165329 实现mypwd
阅读量:4949 次
发布时间:2019-06-11

本文共 696 字,大约阅读时间需要 2 分钟。

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 
#include
int main(void) { char buff[256]; getcwd(buff,sizeof(buff)); printf("当前路径为:%s\n",buff); return 0; }

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

测试代码

测试结果:

 

转载于:https://www.cnblogs.com/hjwzzj/p/9998923.html

你可能感兴趣的文章
HDU3518 Boring counting
查看>>
UVA 11107 Life Forms
查看>>
HDU6376 度度熊剪纸条
查看>>
2018 Multi-University Training Contest 8 - Taotao Picks Apples
查看>>
2018 Multi-University Training Contest 8 - From ICPC to ACM
查看>>
HDU6380 degree
查看>>
HDU6344 调查问卷
查看>>
2018 Multi-University Training Contest 9 - Rikka with Stone-Paper-Scissors
查看>>
HDU6345 子串查询
查看>>
2018 Multi-University Training Contest 10 - Videos
查看>>
HDU6411 带劲的and和
查看>>
2018 Multi-University Training Contest 10 - CSGO
查看>>
HDU6383 p1m2
查看>>
HDU6447 YJJ's Salesman
查看>>
2018 Multi-University Training Contest 9 - Rikka with Nash Equilibrium
查看>>
HDU6409 没有兄弟的舞会
查看>>
2018 Multi-University Training Contest 10 - TeaTree
查看>>
HDU6205 card card card
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6198 number number number
查看>>