【C语言】【unix c】获得当前路径

古城微笑少年丶 2022-06-07 05:28 261阅读 0赞
  1. #include <unistd.h>
  2. char * getcwd(char * buf, size_t size);
  3. 函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size buf 的空间大小。
  4. 注:
  5. 1、在调用此函数时,buf 所指的内存空间要足够大。若工作目录绝对路径的字符串长度超过参数size 大小,则返回NULLerrno 的值则为ERANGE
  6. 2、倘若参数buf NULLgetcwd()会依参数size 的大小自动配置内存(使用malloc()),如果参数size 也为0,则getcwd()会依工作目录绝对路径的字符串程度来决定所配置的内存大小,进程可以在使用完次字符串后利用free()来释放此空间。
  7. 返回值:执行成功则将结果复制到参数buf 所指的内存空间, 或是返回自动配置的字符串指针. 失败返回NULL,错误代码存于errno.
  8. 范例
  9. #include <unistd.h>
  10. main()
  11. {
  12. char buf[80];
  13. getcwd(buf, sizeof(buf));
  14. printf("current working directory : %s\n", buf);
  15. }
  16. 执行:
  17. current working directory :/tmp

发表评论

表情:
评论列表 (有 0 条评论,261人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言】【unix c】信号量

    信号量:用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有,信号量为正的时候说明它空闲。所测试的线程可以锁定它,若为0,说明他被占用,线程要进入睡眠等待被唤