C言語でカレントディレクトリを取得するにはgetcwd()を使用します。
getcwd()
getcwd()を用いることで現在のフォルダパス(カレントディレクトリ)の名前を取得し、path_nameに対してpath_sizeを超えない範囲でカレントディレクトリ名を格納します。
用途としては、別フォルダ(データが置いてあるフォルダなど)を参照したあと、また現在のフォルダに戻るため、ディレクトリを移動する前にカレントディレクトリを取得しておくなどがあります。
| 書式 | char *getcwd(char *path_name, size_t path_size) |
| 第1引数(path_name) | カレントディレクトリの名前を格納 |
| 第2引数(path_size) | カレントディレクトリの名前のバイト数 |
| 戻り値 | 絶対パスのポインタ (path_sizeを超えた時はNULLが返ってくる) |
| ヘッダファイル | unistd.h |
【プログラム例】
#include <stdio.h>
#include <unistd.h>
#define PATH_SIZE 512
int main()
{
char path_name[PATH_SIZE];
getcwd(path_name, PATH_SIZE);
printf("current dir : %s\n", path_name);
return 0;
}
【実行結果】
プログラム例を実行し、カレントディレクトリをpath_nameに格納しています。
実行結果よりカレントディレクトリが取得できていることが分かります。



コメント