getcwd,_wgetcwd

提供: RAD Studio
移動先: 案内検索

dir.h:インデックス への移動


ヘッダーファイル

dir.h

カテゴリ

ディレクトリ制御ルーチン

プロトタイプ

char *getcwd(char *buf, int buflen);

wchar_t *_wgetcwd(wchar_t *buf, int buflen);

説明

現在の作業ディレクトリを取得します。

getcwd は,現在の作業ディレクトリの絶対パス名(ドライブを含む)を buflen バイト長まで取得し,それを buf に格納します。絶対パス名の長さ(ヌルターミネータを含む)が buflen バイトより長い場合は,エラーになります。

buf が NULL の場合,malloc を使って buflen バイト長のバッファが割り当てられます。割り当てられたバッファを後で解放するには,getcwd の戻り値を関数 free に渡します。

戻り値

  • getcwd は次の値を返します。
  • 入力時の buf が NULL でない場合,getcwd は,成功すると buf を返し,エラーになると NULL を返します。
  • 入力時の buf が NULL の場合,getcwd は,割り当てられたバッファを指すポインタを返します。

エラーの場合は,グローバル変数 errno に次のいずれかの値が設定されます。

ENODEV

指定された装置がない

ENOMEM

バッファに割り当てるメモリが不足している(buf は NULL)

ERANGE

ディレクトリ名が buflen より長い(buf は NULL 以外)





 #include <stdio.h>
 #include <dir.h>
 int main(void)
 {
    char buffer[MAXPATH];
    getcwd(buffer, MAXPATH);
    printf("The current directory is: %s\n", buffer);
    return 0;
 }



移植性



POSIX Win32 ANSI C ANSI C++

getcwd

+

+

_wgetcwd

NT のみ