RAD Studio
ContentsIndex
PreviousUpNext
chdir

Header File 

dir.h  

Category 

Directory Control Routines 

Prototype 

int chdir(const char *path); 

int _wchdir(const wchar_t *path); 

Description 

Changes current directory. 

chdir causes the directory specified by path to become the current working directory; path must specify an existing directory. 

A drive can also be specified in the path argument, such as 

chdir("a:\\BC") 

but this method changes only the current directory on that drive; it does not change the active drive.

  • Under Windows, only the current process is affected.
Return Value 

Upon successful completion, chdir returns a value of 0. Otherwise, it returns a value of -1, and the global variable errno is set to

ENOENT 
Path or file name not found 

Example

#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
char old_dir[MAXDIR];
char new_dir[MAXDIR];
int main(void)
{
   if (getcurdir(0, old_dir))
   {
      perror("getcurdir()");
      exit(1);
   }
   printf("Current directory is: \\%s\n", old_dir);
   if (chdir("\\"))
   {
      perror("chdir()");
      exit(1);
   }
   if (getcurdir(0, new_dir))
   {
      perror("getcurdir()");
      exit(1);
   }
   printf("Current directory is now: \\%s\n", new_dir);
   printf("\nChanging back to original directory: \\%s\n", old_dir);
   if (chdir(old_dir))
   {
      perror("chdir()");
      exit(1);
   }
   return 0;
}

Portability

 
POSIX 
Win32 
ANSI C 
ANSI C++ 
chdir 
 
 
_wchdir 
 
NT only 
 
 
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!