getcwd()

getcwd()は、カレントディレクトリ(current working directory)を取得します。


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

bufにはディレクトリパスを保存するバッファのアドレスを指定します。NULLも指定可能です。sizeにはバッファの長さを指定します。

getcwd()は、成功したときは取得した絶対パスのポインタを返し、エラーが発生したときはNULLを返します。

MicrosoftのC/C++コンパイラでは、direct.hで宣言されている_getcwd()を使います。

次の例はカレントディレクトリを調べて表示するプログラムの例です。


    #include <stdio.h>
    #ifdef _MSC_VER
    #include <direct.h>
    #else
    #include <unistd.h>
    #endif
    #ifdef _MSC_VER
    #pragma warning(disable : 6031)
    #pragma warning(disable : 6054)
    #endif
    
    #define BUFFSIZE 1024
    
    int main(int argc, char* argv[])
    {
      char buff[BUFFSIZE] = "";
    #ifdef _MSC_VER
      _getcwd(buff, BUFFSIZE);
    #else
      getcwd(buff, BUFFSIZE);
    #endif
      puts(buff);
    
      return 0;
    }
  

関連項目

_getcwd()


C目次 inserted by FC2 system