1. 程式人生 > >2017-2018-1 20155226 《信息安全系統設計基礎》課下實踐——實現mypwd

2017-2018-1 20155226 《信息安全系統設計基礎》課下實踐——實現mypwd

一個 div 偽代碼 代碼 實現 ror 路徑 安全 當前

2017-2018-1 20155226 《信息安全系統設計基礎》課下實踐——實現mypwd

1 學習pwd命令

  • 輸入pwd命令

技術分享圖片

發現他是給出當前文件夾的絕對路徑。

  • 於是 man 1 pwd查看pwd詳細

技術分享圖片

  • 然後查看pwd實現需要的系統調用man -k; grep

技術分享圖片

  • 在這發現了一個功能相同的內核函數getcwd

技術分享圖片

  • 到這步就很簡單了,先查看這個函數man getcwd

技術分享圖片

2 寫出偽代碼

 char一個數組;
    調用內核函數【getcwd()】獲取當前目錄的絕對路徑並保存至數組中;
    if(返回的指針==NULL)
        調用函數中存在錯誤,輸出error;
    else
        直接打印結果
    

3 實現mypwd

  • 代碼如下

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    int main()
    {   
    char buf[1024], *mypwd =getcwd(buf, sizeof(buf));
    if (mypwd == NULL) 
    {
        printf("error!\n");
        exit(1);
    } 
    else
        printf("%s\n", mypwd);
    return 0;
    }
  • 運行結果截圖

技術分享圖片

2017-2018-1 20155226 《信息安全系統設計基礎》課下實踐——實現mypwd