美文网首页
getcwd()函数:取得当前的工作目录(working dir

getcwd()函数:取得当前的工作目录(working dir

作者: 雨幻逐光 | 来源:发表于2019-03-27 15:05 被阅读0次

用 c/c++ 获取当前工作目录的方法:getcwd
首先我们来看一下该函数的声明:

#include<unistd.h>
char* getcwd(char* buffer, size_t size);

用法介绍:
参数说明:getcwd 方法会将当前工作目录(working directory)的绝对路径复制到参数 buffer 所指的内存空间中,而参数 sizebuffer 所指的空间大小。

  1. 第一种用法:
    基于上面的解析我们很容易得到第一种用法。
#define MAX_SIZE 255
int main(int argc, const char* argv[]){
    char path[MAX_SIZE];
    getcwd(path,sizeof(path));
    puts(path);  // puts is equal to print. In c++ we can use: cout << path << endl;
    return 0;
}

上面的方法会将当前工作目录的绝对路径复制到 path 所指的空间中,其中 size 通过宏定义 MAX_SIZE 给出。但是这种方法有个弊端。当我们的工作目录绝对路径长于所指定的 size 时,则会返回 NULL。所以用第一种方法时需要分配足够大的内存空间。linux的文件名长度限制为 255 个英文字符,所以一般需要指定 MAX_SIZE 为 255。

  1. 第二种用法:
    可以把 buffer 置为 NULL 并且是 size 为 0来使用 getcwd。此时,getcwd 会调用 malloc 动态的为 buffer 分配空间,所以我们应当在使用过后给 buffer 释放掉空间。
int main(int argc, const char* argv[]){
    char* path;
    path = getcwd(NULL, 0);
    puts(path);
    free(path);
    return 0;
}

相关文章

  • getcwd()函数:取得当前的工作目录(working dir

    用 c/c++ 获取当前工作目录的方法:getcwd首先我们来看一下该函数的声明: 用法介绍:参数说明:getcw...

  • (一)C++篇-获取当前路径"getcwd"

    测试代码: 获取当前工作目录是使用函数:getcwd。(cwd指的是“current working direct...

  • os模块

    os.getcwd(): 获得当前的工作目录os.path.join(dir,f):把f路径加入到dir路径中

  • 遍历文件夹下文件

    1.遍历文件夹下文件 参考资料 [1] C_获得当前的工作路径 _getcwd()函数:取得当前的工作目录[2] ...

  • Python_1

    os 模块: 1.os.getcwd 函数 获取当前工作目录,python的工作目录 os.name 函数 获取当...

  • python 标准库之os

    常用的函数调用: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir...

  • 【Python】OS模块常用方法表格简记

    OS模块中关于文件/目录常用的函数使用方法 函数名使用方法getcwd()返回当前工作目录chdir()改变工作目...

  • 2018-09-09

    os模块中关于文件/目录常用的函数使用方法 函数名使用方法 getcwd() 返回当前工作目录 chdir(pat...

  • Python基础笔记-07

    55.os模块中关于文件/目录常用的函数使用方法 getcwd()返回当前工作目录 >>> import os >...

  • OS模块关于文件/目录常用的函数使用方法

    getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.'...

网友评论

      本文标题:getcwd()函数:取得当前的工作目录(working dir

      本文链接:https://www.haomeiwen.com/subject/plszvqtx.html