getcwd() - Unix、Linux 系統呼叫 - 技術教學
Tutorials Point


  Unix 初學者指南
  Unix Shell 程式設計
  高階 Unix
  Unix 有用參考
  Unix 有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考     討論論壇     關於TP  

getcwd() - Unix、Linux 系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

getcwd - 獲取當前工作目錄

語法

/*
 * This page documents the getcwd(2) system call, which
 * is not defined in any user-space header files; you should
 * use getcwd(3) defined in <unistd.h> instead in applications.
 */

long getcwd(char *buf, unsigned long size);

描述

getcwd() 函式將當前工作目錄的絕對路徑名複製到 buf 指向的陣列中,該陣列的長度為 size

如果當前絕對路徑名所需的緩衝區長度超過 size 個元素,則返回 -1,並將 errno 設定為 ERANGE;應用程式應檢查此錯誤,並在必要時分配更大的緩衝區。

如果 buf 為 NULL,則 getcwd() 的行為未定義。

返回值

失敗時返回 -1(例如,如果當前目錄不可讀),並相應地設定 errno,成功時返回儲存在 buf 中的字元數。錯誤時,buf 指向的陣列的內容未定義。

請注意,此返回值與 getcwd(3) 庫函式不同,後者在失敗時返回 NULL,在成功時返回 buf 的地址。

錯誤

標籤描述
ENOMEM
 如果無法對映使用者記憶體
ENOENT
 如果目錄不存在(即已刪除)
ERANGE
 如果儲存路徑的空間不足
EFAULT
 如果複製過程中發生記憶體訪問衝突

符合標準

getcwd 系統呼叫是 Linux 特定的,請使用 getcwd C 庫函式以實現可移植性。

參見



previous next Printer Friendly

廣告


  

廣告



廣告