ヘッダ:unistd.h
書式:char *getcwd(char *buf, size_t length)
引数:buf:…:カレントディレクトリ名を保存する領域のポインタ
length:…カレントディレクトリ名のバイト数
戻り値:成功:絶対パスのポインタ
失敗:NULL
解説:カレントディレクトリ(現在のファイルパス)名を取得し、bufにサイズがlengthまでのカレントディレクトリ名を保存する関数。
<サンプルプログラム>
/****************************************************************************/
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#define PATHNAME_SIZE 512
int main(void)
{
// 変数定義
char pathname[PATHNAME_SIZE]; // ファイルパス
// 変数初期化
memset(pathname, ‘\0’, PATHNAME_SIZE);
// カレントディレクトリ取得
getcwd(pathname, PATHNAME_SIZE);
fprintf(stdout,”現在のファイルパス:%s\n”, pathname);
// カレントディレクトリ変更
chdir(“/root/test/newdir”); // チェンジディレクトリ
getcwd(pathname, PATHNAME_SIZE);
fprintf(stdout,”現在のファイルパス:%s\n”, pathname);
return 0;
}
/****************************************************************************/
<実行結果>