加分項——C語言實現Linux的pwd命令


加分項——C語言實現Linux的pwd命令

實現要求

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命令可能會要更長的代碼去實現。

測試代碼

測試結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM