getcwd函式
-
getcwd
函式名稱:getcwd
- 外文名
- getcwd
- 函式原型
- char *getcwd
- 功 能
- 獲取當前工作目錄
- 標頭檔案
- unistd.h
函式簡介
編輯功 能:獲取當前工作目錄
引數說明:getcwd()會將當前工作目錄的絕對路徑複製到引數buffer所指的記憶體空間中,引數maxlen為buffer的空間大小。
返 回 值:成功則返回當前工作目錄,失敗返回 FALSE。
在某些 Unix 的變種下,如果任何父目錄沒有設定可讀或搜尋模式,即使當前目錄設定了,getcwd()還是會返回
FALSE。有關模式與許可權的更多資訊見 chmod()。
標頭檔案:unistd.h(windows下為direct.h)
UNIX C函式
編輯#include <unistd.h>
char *getcwd(char *buf, size_t size);
作用:把當前目錄的絕對地址儲存到 buf 中,buf 的大小為 size。如果 size太小無法儲存該地址,返回 NULL 並設定 errno 為 ERANGE。可以採取令 buf 為 NULL並使 size 為負值來使 getcwd 呼叫 malloc 動態給 buf 分配,但是這種情況要特別注意使用後釋放緩衝以防止記憶體洩漏。
程式例如果在程式執行的過程中,目錄被刪除(EINVAL錯誤)或者有關許可權發生了變化(EACCESS錯誤),getcwd也可能會返回NULL。
範例
編輯
1
2
3
4
5
6
7
8
9
10
|
#include <stdio.h> #include <unistd.h> //標頭檔案在unix下是unistd.h,在TC2.0下是dir.h,在vc6.0定義在direct.h的標頭檔案,VS2008下是direct.h,應該依程式設計者的環境而定 int main( void ) { char buffer[MAXPATH]; getcwd(buffer,MAXPATH); printf ( "The current directoryis:%s\n" ,buffer); return 0; } |
VC++6.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <stdio.h> #include <direct.h> #include <stdlib.h> int main(intargc, char *argv[]) { char path[_MAX_PATH]; _getcwd(path,_MAX_PATH); printf ( "當前工作目錄:\n%s\n" ,path); if ((_chdir( "d:\\visualc++" ))==0) { printf ( "修改工作路徑成功\n" ); _getcwd(path,_MAX_PATH); printf ( "當前工作目錄:\n%s\n" ,path); } else { perror ( "修改工作路徑失敗" ); exit (1); } return 0; } |
VS2008
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <direct.h> #include <string.h> #include <stdio.h> int main( void ) { char *buffer; //得到當前的工作路徑 if ((buffer=_getcwd(NULL,0))==NULL) perror ( "_getcwderror" ); else { printf ( "%s\nLength:%d\n" ,buffer, strlen (buffer)); free (buffer); } } |
相關文章
- getcwd()
- os.getcwd()
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- 【函式式 Swift】函式式思想函式Swift
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- 【函式】Oracle函式系列(2)--數學函式及日期函式函式Oracle
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- 第7章 IF函式 COUNTIF函式 SUMIF函式函式
- 字元函式、數字函式和日期函式字元函式
- 【函式】Oracle EXTRACT()函式與to_char() 函式函式Oracle
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- 【函式】ORACLE函式大全函式Oracle
- (譯) 函式式 JS #2: 函式!函式JS
- 核函式 多項式核函式 高斯核函式(常用)函式
- 函式名/函式地址/函式指標函式指標
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- main函式的入口函式AI函式
- (函式)實現strstr函式函式
- 字串函式之Strtok()函式字串函式
- SQL函式之日期函式SQL函式
- Oracle聚合函式/分析函式Oracle函式
- fork函式與vfork函式函式
- 常用函式--時間函式函式
- ORACLE單行函式與多行函式之七:多行函式之分組函式示例Oracle函式
- 函式式JavaScript(4):函式柯里化函式JavaScript
- 箭頭函式、簡寫函式、普通函式的區別函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- webgl內建函式--向量函式與紋理查詢函式Web函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- Mysql 常用函式(15)- upper 函式MySql函式
- webgl內建函式--指數函式Web函式
- webgl內建函式--通用函式Web函式
- 類函式和物件函式 PHP函式物件PHP