1. ホーム
  2. c

[解決済み] Cプログラムでカレントディレクトリを取得するには?

2022-03-04 11:16:06

質問

C言語でプログラムを作っているのですが、プログラムが起動されたディレクトリを取得する必要があります。 このプログラムは、UNIXコンピュータ用に書かれています。私は、以下のものを見てきました。 opendir()telldir() が、しかし telldir()off_t (long int) ということで、本当に役に立ちません。

現在のパスを文字列(char配列)で取得するにはどうすればよいですか?

どのように解決するのですか?

をご覧になりましたか? getcwd() ?

#include <unistd.h>
char *getcwd(char *buf, size_t size);

簡単な例です。

#include <unistd.h>
#include <stdio.h>
#include <limits.h>

int main() {
   char cwd[PATH_MAX];
   if (getcwd(cwd, sizeof(cwd)) != NULL) {
       printf("Current working dir: %s\n", cwd);
   } else {
       perror("getcwd() error");
       return 1;
   }
   return 0;
}