20165329 實現mypwd
阿新 • • 發佈:2018-11-22
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命令可能會要更長的程式碼去實現。
測試程式碼
測試結果: