Linux C/C++編程之(十五)目錄操作相關函數

一、概述

在這裏插入圖片描述

二、相關函數

1. getcwd

  • 函數作用:獲取當前目錄
  • 頭文件
    在這裏插入圖片描述
    參數說明:
  • buf傳出參數,路徑
  • size緩衝區大小

返回值

  • 成功:返回路徑的指針
  • 失敗:返回NULL

2. chdir

  • 函數作用:改變工作路徑
  • 頭文件
    在這裏插入圖片描述

函數參數:

  • path對應的目標工作路徑

返回值

  • 成功:返回0
  • 失敗:返回-1,設置errno

注意:改變工作路徑-注意屬於進程獨有。
在這裏插入圖片描述
在這裏插入圖片描述

3. mkdir

  • 函數作用:創建目錄
  • 頭文件
    在這裏插入圖片描述

參數說明:

  • pathname創建的目錄路徑
  • mode目錄權限 (mode & ~umask & 01777),注意權限,如果目錄沒有可執行權限,不可進入

返回值

  • 成功:返回0
  • 失敗:返回-1,設置errno

4. rmdir

  • 函數作用:只能刪除空文件夾

5. opendir

  • 函數作用:打開目錄
  • 頭文件
    在這裏插入圖片描述

參數說明:

  • pathname打開的目錄

返回值

  • 成功:返回指向該目錄流的指針
  • 失敗:返回-1,設置errno

6. readdir

  • 函數作用:讀目錄
  • 頭文件
    在這裏插入圖片描述

參數說明:

  • dirp傳入參數,opendir返回的指針

返回值

  • 成功:讀到目錄項的內容
  • 失敗:NULL代表讀到末尾或者有錯誤

在這裏插入圖片描述

7. closedir

  • 函數作用:關閉目錄
  • 頭文件
    在這裏插入圖片描述

函數參數:

  • dirp傳入參數,opendir返回的指針

返回值

  • 成功:返回0
  • 失敗:返回-1,設置errno

需求:統計一下指定目錄下的文件個數?
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

8. dup2

  • 函數作用:文件描述符重定向
  • 頭文件
    在這裏插入圖片描述

參數說明:

  • 關閉newfd對應的文件描述符,將newfd重新指向爲old對應的文件

返回值

  • 成功:返回0
  • 失敗:返回-1,設置errno

9. dup

  • 函數作用:複製文件描述符
  • 頭文件
    在這裏插入圖片描述

參數說明:

  • 新返回一個文件描述符指向oldfd對應的文件

返回值

  • 成功:返回0
  • 失敗:返回-1,設置errno

需求:在代碼中執行2次 printf("hello world\n"); 一次輸出到hello文件,後一次輸出到屏幕上?
在這裏插入圖片描述
在這裏插入圖片描述

10. errno

  • 函數作用:輸出函數,根據errnum得到相應的錯誤信息
  • 頭文件
    在這裏插入圖片描述

11. fcntl

  • 改變已經打開的文件的屬性
  • 打開文件的時候: 只讀
  • 修改文件的: 添加追加 O_APPEND
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章