最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年04月04日 10:09:32   作者:嵐漾憶雨  
這篇文章主要介紹了Linux 中C語(yǔ)言getcwd()函數(shù)的用法的相關(guān)資料,需要的朋友可以參考下

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

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

#include<unistd.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)存泄漏。

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main(void)
{
  char *path = NULL;
  path = getcwd(NULL,0);
  puts(path);
  free(path);
  return 0;
}

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

相關(guān)文章

  • shell中exit 0和exit 1的區(qū)別有哪些

    shell中exit 0和exit 1的區(qū)別有哪些

    exit1和exit是shell中的兩個(gè)命令,用于退出當(dāng)前的shell進(jìn)程,本文就來(lái)介紹一下shell中exit 0和exit 1有哪些區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Shell中printf和test命令的實(shí)際應(yīng)用詳解

    Shell中printf和test命令的實(shí)際應(yīng)用詳解

    本文主要介紹了Shell中printf和test命令的實(shí)際應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 使用shell腳本快速登錄容器的實(shí)現(xiàn)步驟

    使用shell腳本快速登錄容器的實(shí)現(xiàn)步驟

    本文主要介紹了使用shell腳本快速登錄容器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 詳解systemctl?和?service?區(qū)別及命令

    詳解systemctl?和?service?區(qū)別及命令

    systemctl和service都是管理Linux系統(tǒng)服務(wù)的工具,但systemctl更加先進(jìn),可以方便地管理systemd服務(wù),而service適用于管理傳統(tǒng)的SysV服務(wù),這篇文章主要介紹了systemctl和service區(qū)別及命令,需要的朋友可以參考下
    2023-07-07
  • Linux 下mysql通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)批量生成記錄

    Linux 下mysql通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)批量生成記錄

    這篇文章主要介紹了Linux 下mysql通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)批量生成記錄的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例

    Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例

    這篇文章主要介紹了Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Linux Shell腳本查看NUMA信息

    Linux Shell腳本查看NUMA信息

    這篇文章主要介紹了Linux Shell腳本查看NUMA信息,本文直接給出腳本實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06
  • gearman隊(duì)列持久化引發(fā)的問(wèn)題及解決方法

    gearman隊(duì)列持久化引發(fā)的問(wèn)題及解決方法

    這篇文章主要介紹了gearman隊(duì)列持久化引發(fā)的問(wèn)題及解決方法,需要的朋友可以參考下
    2014-07-07
  • shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能

    shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能

    這篇文章主要介紹了shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)

    使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)

    下面小編就為大家?guī)?lái)一篇使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論

千阳县| 深圳市| 虹口区| 特克斯县| 凌云县| 平武县| 巴彦淖尔市| 南安市| 清丰县| 阿拉善左旗| 普安县| 平乐县| 齐河县| 临西县| 夹江县| 南江县| 烟台市| 浦县| 五大连池市| 山东| 遂平县| 偃师市| 乌鲁木齐市| 安福县| 庄浪县| 金华市| 隆尧县| 图们市| 蓬安县| 津南区| 曲阜市| 墨玉县| 奈曼旗| 长宁区| 旌德县| 惠州市| 定安县| 九寨沟县| 洛隆县| 花莲县| 葵青区|