【C言語】カレントディレクトリを変更する方法

c

C言語でカレントディレクトリを変更するにはchdir()を使用します。

chdir()

chdir()を用いることで、現在のディレクトリからにnext_path_nameに格納されているディレクトリに移動します。

用途としては実行プログラム以外のディレクトリにあるデータにアクセスするためにカレントディレクトリの変更を行うなどがあります。

書式int *chdir(const char *next_path_name)
引数移動したいディレクトリ名
戻り値0 or -1(ディレクトリが存在しない場合)
ヘッダファイル名unistd.h

【プログラム例】

例1

このプログラムはカレントディレクトリをDATA_DIRに変更しています

例2

このプログラムは例1のプログラムを変更し、DATA_DIRが存在していない場合、「error」を出力しプログラムを終了するようになっています。

例1、例2ともにgetcwd()によってカレントディレクトリを取得していますが、getcwd()については以下の記事を参照してください。

現役エンジニアから学ぶならテックアカデミー

【実行結果】

結果例1

プログラム例1を実行し、カレントディレクトリを変更しています。

実行結果より、カレントディレクトリが変更できていることが分かります。

chdirの実行結果
chdirの実行結果

結果例2

プログラム例2を実行し、存在しないディレクトリに移動しようとしたため「error」が出力されています。

chdirの実行結果(失敗)
chdirの実行結果(失敗)

おすすめ書籍

楽天ブックス
¥2,508 (2024/07/16 13:05時点 | 楽天市場調べ)
\楽天ポイント5倍セール!/
楽天市場
楽天ブックス
¥2,970 (2024/07/16 13:05時点 | 楽天市場調べ)
\楽天ポイント5倍セール!/
楽天市場

コメント

タイトルとURLをコピーしました