C++ getcwd() 获得当前工作目录的路径

@[TOC](C++ getcwd() 获得当前工作目录的路径)

基本格式

#define _POSIX_SOURCE
#include <unistd.h>

char *getcwd(char *buffer, size_t size);

描述

获得当前工作目录(GET Current Working Directory),并将其存储到buffer中。
size buffer的空间大小。
buffer 存储路径的变量(char)。必须保证有足够的长度以保存完整路径全名。

返回值

getcwd()函数的返回值是指向 buffer 变量的 char 类型指针。如果操作失败,则会返回NULL指针,并发出以下错误信息:

  1. EACCES: 进程无范围当前目录或者部分文件的权限。
  2. EINVAL:小于等于0.
  3. ENOENT:工作路径的组成部分不存在。
  4. EIO:出现出入/输出错误
  5. ENOTDIR:工作目录路径名部分不是一个真正的目录。
  6. ERANGE:size大于0,但是小于工作目录路径长度。

例子

/* CELEBG03

   This example determines the working directory.

 */
#include <unistd.h>
#include <stdio.h>

main() {
  char cwd[256];

  if (chdir("/tmp") != 0)
    perror("chdir() error()");
  else {
    if (getcwd(cwd, sizeof(cwd)) == NULL)
      perror("getcwd() error");
    else
      printf("current working directory is: %s\n", cwd);
  }
}

输出为

current working directory is: /tmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值