getcwd() - Unix、Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于TP  

getcwd() - Unix、Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

getcwd - 获取当前工作目录

语法

/*
 * This page documents the getcwd(2) system call, which
 * is not defined in any user-space header files; you should
 * use getcwd(3) defined in <unistd.h> instead in applications.
 */

long getcwd(char *buf, unsigned long size);

描述

getcwd() 函数将当前工作目录的绝对路径名复制到 buf 指向的数组中,该数组的长度为 size

如果当前绝对路径名所需的缓冲区长度超过 size 个元素,则返回 -1,并将 errno 设置为 ERANGE;应用程序应检查此错误,并在必要时分配更大的缓冲区。

如果 buf 为 NULL,则 getcwd() 的行为未定义。

返回值

失败时返回 -1(例如,如果当前目录不可读),并相应地设置 errno,成功时返回存储在 buf 中的字符数。错误时,buf 指向的数组的内容未定义。

请注意,此返回值与 getcwd(3) 库函数不同,后者在失败时返回 NULL,在成功时返回 buf 的地址。

错误

标签描述
ENOMEM
 如果无法映射用户内存
ENOENT
 如果目录不存在(即已删除)
ERANGE
 如果存储路径的空间不足
EFAULT
 如果复制过程中发生内存访问冲突

符合标准

getcwd 系统调用是 Linux 特定的,请使用 getcwd C 库函数以实现可移植性。

参见



previous next Printer Friendly

广告


  

广告



广告