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

この記事では、C言語でカレントディレクトリを移動する方法に付いて紹介していきます。

目次から探す

カレントディレクトリの移動方法

プログラムを実行する際に、カレントディレクトリの移動が必要な場合があります。

カレントディレクトリとは、現在の作業ディレクトリのことを指します。

C言語では、相対パスや絶対パスを使用してカレントディレクトリを移動することができます。

相対パスを使用した移動方法

相対パスを使用すると、現在のディレクトリからの相対的な位置を指定してディレクトリを移動することができます。

相対パスには、以下のような表記方法があります。

相対パス説明
.現在のディレクトリを表します。
..親ディレクトリを表します。
ディレクトリ名移動したいディレクトリの名前を指定します。

以下に、相対パスを使用してカレントディレクトリを移動するサンプルコードを示します。


#include <stdio.h>
#include <unistd.h>
int main() {
    // カレントディレクトリを移動する
    chdir("..");
    // 移動後のカレントディレクトリを表示する
    char cwd[256];
    getcwd(cwd, sizeof(cwd));
    printf("移動後のカレントディレクトリ: %s\n", cwd);
    return 0;
}

上記のコードでは、chdir(..)によって親ディレクトリに移動しています。

移動後のカレントディレクトリを取得し、表示しています。

絶対パスを使用した移動方法

絶対パスを使用すると、ルートディレクトリからの絶対的な位置を指定してディレクトリを移動することができます。

絶対パスには、ディレクトリのフルパスを指定します。

ドライブ名C:D:を省略して/sample/dirのようにした場合、現在のドライブのルートディレクトリからの絶対パスになります。

以下に、絶対パスを使用してカレントディレクトリを移動するサンプルコードを示します。


#include <stdio.h>
#include <unistd.h>
int main() {
    // カレントディレクトリを移動する
    chdir("/path/to/directory");
    // 移動後のカレントディレクトリを表示する
    char cwd[256];
    getcwd(cwd, sizeof(cwd));
    printf("移動後のカレントディレクトリ: %s\n", cwd);
    return 0;
}

上記のコードでは、chdir(/path/to/directory)によって指定したディレクトリに移動しています。

移動後のカレントディレクトリを取得し、表示しています。

以上が、C言語でカレントディレクトリを移動する方法の説明です。

目次から探す