曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4301|回复: 0
打印 上一主题 下一主题

chdir,getcwd

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2009-2-12 16:37:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 shell 里用 cd 命令可以变换目录,在程序里用 chdir 系统调用达到同样的功能:
#include <unistd.h>
int chdir(const char *path);

一个程序可以确定当前的工作目录,通过调用 getcwd 函数来实现:
#include <unistd.h>
char *getcwd(char *buf, size_t size);

getcwd 函数把当前的目录名写到给定的缓冲区中--由参数 buf 指向。如果名字超出了缓冲区的限制(an ERANGE error)就会返回 NULL,而缓冲区的大小由参数 size 来指定。如果函数执行成功,就返回缓冲区指针 buf 。

加入目录被移除了(EINVAL)或者在程序运行时目录的权限被改变(EACCESS)了,getcwd 也可能会返回 NULL。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-7 07:18 , Processed in 0.074445 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表