【C言語】現在のカレントディレクトリを取得する方法

この記事では、C言語でカレントディレクトリを取得する方法と変更する方法について説明します。

目次から探す

C言語でのカレントディレクトリの取得方法

C言語でカレントディレクトリを取得する方法にはいくつかの方法がありますが、ここでは主にgetcwd関数を使用した方法について説明します。

getcwd関数で取得する

getcwd関数は、現在のカレントディレクトリのパスを取得するための関数です。

この関数は、unistd.hヘッダーファイルに宣言されています。

以下に、getcwd関数を使用してカレントディレクトリを取得するサンプルコードを示します。


#include <stdio.h>
#include <unistd.h>
int main() {
    char path[256]; // パスを格納するための配列
    if (getcwd(path, sizeof(path)) != NULL) {
        printf("カレントディレクトリ: %s\n", path);
    } else {
        perror("getcwd() error");
        return 1;
    }
    return 0;
}

上記のコードでは、getcwd関数を呼び出してカレントディレクトリのパスを取得し、その結果をpath配列に格納しています。

もしgetcwd関数が正常に実行された場合は、printf関数を使ってカレントディレクトリのパスを表示します。

もしエラーが発生した場合は、perror関数を使ってエラーメッセージを表示します。

カレントディレクトリの変更方法

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

この関数もunistd.hヘッダーファイルに宣言されています。

以下に、chdir関数を使用してカレントディレクトリを変更するサンプルコードを示します。


#include <stdio.h>
#include <unistd.h>
int main() {
    if (chdir("/path/to/directory") == 0) {
        printf("カレントディレクトリを変更しました。\n");
    } else {
        perror("chdir() error");
        return 1;
    }
    return 0;
}

上記のコードでは、chdir関数を呼び出して指定したディレクトリにカレントディレクトリを変更しています。

もしchdir関数が正常に実行された場合は、printf関数を使ってメッセージを表示します。

もしエラーが発生した場合は、perror関数を使ってエラーメッセージを表示します。

以上がC言語でのカレントディレクトリの取得方法と変更方法の説明です。

getcwd関数chdir関数を使うことで、プログラム内でカレントディレクトリを取得したり変更したりすることができます。

目次から探す