C言語システムコール-chdir
chdir
概要
chdirは実効プロセスのカレントディレクトリを変更します。
chdirはパス名を指定します。
openしたファイルディスクリプタで指定する場合には「fchdir」を使用します。
サンプルプログラム
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
static void
print_cwd(void)
{
char pathname[BUFSIZ] = {"\0"};
getcwd(pathname, BUFSIZ);
fprintf(stdout,"%s\n", pathname);
}
int
main(void)
{
int rc = 0;
int fd = 0;
rc = chdir("/usr/bin");
if(rc < 0){
printf("Error: chdir(%d) %s\n", errno, strerror(errno));
return(-1);
}
print_cwd();
fd = open("/etc", O_RDONLY);
if(fd < 0){
printf("Error: open(%d) %s\n", errno, strerror(errno));
return(-1);
}
rc = fchdir(fd);
if(rc < 0){
printf("Error: fchdir(%d) %s\n", errno, strerror(errno));
return(-1);
}
print_cwd();
return(0);
}
関連ページ
- C言語
- C言語システムコール
- C言語システムコール-chdir
- C言語システムコール-chroot
- C言語システムコール-fork
- C言語システムコール-execve
- C言語システムコール-wait
- C言語システムコール-getpid
- C言語システムコール-getpriority / C言語システムコール-setpriority
- C言語システムコール-getpgid / C言語システムコール-setpgid
- C言語システムコール-getuid / C言語システムコール-setuid
- C言語システムコール-getsid / C言語システムコール-setsid
- C言語システムコール-getgroups / C言語システムコール-setgroups
- C言語システムコール-getrusage
- C言語システムコール-getrlimit / C言語システムコール-setrlimit
- C言語システムコール-nanosleep
- C言語システムコール-kill
- C言語システムコール-sigaction
- C言語システムコール-sigsuspend
- C言語システムコール-signal
- C言語システムコール-getitimer
- C言語システムコール