c++ - 如何获取当前工作目录(current working folder)名称而不是路径名?

标签 c++ c linux path

我知道如何通过getcwd 函数获取CWD 的路径名,我正在使用strtok 函数来获取目录名(表示当前工作文件夹),有没有什么可以通过简单的查询或函数来获取这个东西?

最佳答案

如果 getcwd() 返回 "/this/is/my/cwd" 而你只想要 "cwd" 那么你可能喜欢使用 basename()关于 getcwd() 返回的内容。

#include <unistd.h> /* for getcwd() */
#include <libgen.h> /* for basename() */

[...]

  char cwd[PATH_MAX] = "";
  char * cwd_base = NULL;

  if (NULL == getcwd(cwd, sizeof(cwd)))
  {
    perror("getcwd() failed");
  }
  else
  {
    cwd_base = basename(cwd);
  }

  if (NULL != cwd_base)
  {
    printf("The current working directory's base name is '%s'.\n", cwd_base);
  }

关于c++ - 如何获取当前工作目录(current working folder)名称而不是路径名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452314/

相关文章:

c++ - 如何从 std::locale 对象获取一个方面?

c - 如何确定宽度为 `int` 和 `unsigned` 两倍的整数类型?

c - 如何在c中将相对url转换为绝对url

linux - csf 更新中无法连接错误

linux - ksh shell 脚本查找字符串中第一次出现的 _ 并删除所有内容,直到出现

C++ - 父级中的 CRTP 赋值运算符不起作用

c++ - C++函数中的递归计数器

c++ - 奇数组中包含的数字

python - celery worker raise sock setsockopt TCP_SYNCNT [Errno 22] 参数无效

c - fatal error : tlpi_hdr. h:没有那个文件或目录