温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux下如何获取当前工作路径

发布时间:2021-05-22 10:23:02 来源:亿速云 阅读:425 作者:小新 栏目:开发技术

小编给大家分享一下linux下如何获取当前工作路径,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

获取工作路径这里介绍两种方法:

1.使用getcwd()函数。

头文件:#include <unistd.h>

定义函数:char * getcwd(char * buf, size_t size);

函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小

实例:

void getPath()
{
  char pPath[256] = {0};
  getcwd(buf, 256);
  printf("filePath: %s\n", pPath);
}

主函数调用此函数运行结果:

filePath: /home/myTest

2.使用readlink()函数。

头文件:#include <unistd.h>

函数定义:int readlink(const char *path, char *buf, size_t bufsiz);

函数说明:此函数会将参数path的符号连接内容到参数buf所指的内存空间,返回的内容不是以NULL作字符串结尾,但会将字符串的字符数返回。若参数bufsiz小于符号连接的内容长度,过长的内容会被截断。成功返回buf长度,失败返回 -1.

实例:

void getPath()
{
  char pPath[256] = {0};
  int ret = -1;
  ret = readlink("/proc/self/exe", pPath, 256);
  pPath[ret] = "\0"
  printf("the file Path: %s\n", pPath);
}
int main()
{
   getPath();
}

运行结果:

the file Path: /home/myTest/a.out

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

以上是“linux下如何获取当前工作路径”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI