日期:2014-05-16  浏览次数:20600 次

UNIX--更改/输出当前工作目录

更改当前的工作目录

头文件:#include <unistd.h>
用法格式:int chdir ( const char *path );

chdir用来将当前工作目录改为参数path指定的目录。
注意:path指针指向的参数一定是连续的路径且不能带空格,否则将会返回 -1 。

getcwd函数——获取当前工作目录  

char *getcwd(char *buffer,size_t size)
成功则返回指向当前工作目录字符串的指针
失败则返回为NULL。

PATH_MAX:在limits.h中有定义


函数名称:getcwd
  
函数原型:char *getcwd( char *buffer, int maxlen );
功 能:获取当前工作目录
参数说明:_getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数maxlen为buffer的空间大小。
返 回 值:成功则返回当前工作目录,失败返回 FALSE。
在某些 Unix 的变种下,如果任何父目录没有设定可读或搜索模式,即使当前目录设定了,getcwd()还是会返回 FALSE。

#include <stdio.h>  //perror函数所在的库函数
#include <iostream>
#include <limits.h>
#include <unistd.h>
using namespace std;
int main()
{
    char cur_work_dir[PATH_MAX];
    cout << "Current Max Path Length Is " << PATH_MAX << endl;
    if(getcwd(cur_work_dir,PATH_MAX) == NULL)
    {
        perror("Couldn't get current w