linux下pwd命令

在linux下,估计你经常使用pwd这个命令,这个命令就是打印当前的工作路径,即print working directroy, 今天我们也来c语言实现这个命令。
要实现这个功能,需要用到下面的一个系统调用:

#include < unistd.h >
 
char * getcwd ( char * buf , size_t size ) ;

该系统调用返回当前的工作目录的绝对路径,绝对路径的值保留在size大小的buf中,如果这个缓冲区太小,则返回NULL,并且errno被设置为ERANGE, 如果buf等于NULL,则行为是未定义的。如果函数调用成功,返回值是buf, 如果调用失败,则返回NULL,失败原因可以查看errno。

另外,还要用到一个函数:

#include < string.h >
 
char * strerror ( int errnum ) ;

该函数吧错误代码errnum转换为错误描述字符串并返回。

程序很简单,完整代码如下:

下载: pwd.c
  1. /* pwd.c */
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <errno.h>
  6.  
  7. #define BUF_SIZ    2048
  8. int main()
  9. {
  10.     char buf[BUF_SIZ];   
  11.    
  12.     if ( getcwd(buf, BUF_SIZ) )
  13.         printf("%s/n", buf);
  14.     else
  15.         fprintf(stderr, "error occured : %s", strerror(errno));
  16.     exit(0);
  17. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值