濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Linux 中C語(yǔ)言getcwd()函數(shù)的用法

Linux 中C語(yǔ)言getcwd()函數(shù)的用法

熱門標(biāo)簽:昆明電銷機(jī)器人價(jià)格 春運(yùn)地圖標(biāo)注app 江西全自動(dòng)外呼系統(tǒng)報(bào)價(jià) 400的電話一般從哪里辦理 地圖標(biāo)注人員分布 上海機(jī)器人外呼系統(tǒng)哪家好 益陽(yáng)400電話申請(qǐng)辦理流程 梧州防封電銷卡 怎么用百度地圖標(biāo)注坐標(biāo)

Linux 中C語(yǔ)言getcwd()函數(shù)的用法

先來(lái)看該函數(shù)的聲明:

#includeunistd.h>
char *getcwd(char *buf,size_t size);

介紹:

參數(shù)說(shuō)明:getcwd()會(huì)將當(dāng)前工作目錄的絕對(duì)路徑復(fù)制到參數(shù)buffer所指的內(nèi)存空間中,參數(shù)size為buf的空間大小。

普通的用法會(huì)是這樣:

#define MAX_SIZE 255
char path(MAX_SIZE);
getcwd(path,sizeof(path));
puts(path);

這樣會(huì)將工作目錄的絕對(duì)路徑復(fù)制到buf所指向的空間中,但如果路徑長(zhǎng)度大于size,則會(huì)返回NULL,錯(cuò)誤代碼為ERANGE.所以我們?cè)诙xpath的時(shí)候得定義的足夠大,但這樣又會(huì)使得內(nèi)存浪費(fèi),Linux的文件名長(zhǎng)度限制為255個(gè)英文字符,理論上絕對(duì)路徑的大小應(yīng)該可以足夠大,故而這樣使用總有返回NULL的時(shí)候,所以getcwd()個(gè)我們提供了下面的一種用法:

可以采取令 buf 為 NULL并使 size 為零(百度百科里介紹可以使用負(fù)值但我測(cè)試的時(shí)候是段錯(cuò)誤)來(lái)使 getcwd 調(diào)用 malloc 動(dòng)態(tài)給 buf 分配,但是這種情況要特別注意使用后釋放緩沖以防止內(nèi)存泄漏。

#includestdio.h>
#includestdlib.h>
#includeunistd.h>
int main(void)
{
  char *path = NULL;
  path = getcwd(NULL,0);
  puts(path);
  free(path);
  return 0;
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

您可能感興趣的文章:
  • linux下c語(yǔ)言的多線程編程
  • Linux 下C語(yǔ)言獲取文件大小
  • Linux下C語(yǔ)言的幾道經(jīng)典面試題小結(jié)(分享)
  • Linux 下C語(yǔ)言連接mysql實(shí)例詳解
  • linux C語(yǔ)言開發(fā)管道通信實(shí)例詳解
  • linux下C語(yǔ)言實(shí)現(xiàn)寫日志功能

標(biāo)簽:河南 贛州 北京 惠州 九江 懷化 亳州 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux 中C語(yǔ)言getcwd()函數(shù)的用法》,本文關(guān)鍵詞  Linux,中,語(yǔ)言,getcwd,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux 中C語(yǔ)言getcwd()函數(shù)的用法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux 中C語(yǔ)言getcwd()函數(shù)的用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    通许县| 英超| 沈丘县| 临汾市| 乌拉特后旗| 金堂县| 攀枝花市| 秭归县| 错那县| 威信县| 伊金霍洛旗| 扎赉特旗| 湾仔区| 增城市| 侯马市| 廉江市| 称多县| 四平市| 宁波市| 开封市| 布拖县| 女性| 宁海县| 民权县| 长泰县| 滕州市| 许昌市| 廉江市| 天台县| 肇源县| 东宁县| 湖州市| 大港区| 潢川县| 宁海县| 区。| 霍林郭勒市| 肥城市| 临夏县| 延庆县| 桃园县|