最終更新 2003 10/08 サンプルのダウンロード → API_GetCurrentDirectory.lzh(36k) サンプルソースコード #include <windows.h> //--------------------------------------------------------------------------- // カレントディレクトリを取得します。 // 引数: カレントディレクトリを格納するための配列変数へのポインタ // 戻り値:取得したカレントディレクトリのバイト数。失敗時は0。 //--------------------------------------------------------------------------- BOOL GetCurrentDir( char* pPath ) { if( GetCurrentDirectory( MAX_PATH, pPath ) == 0 ) return FALSE; return TRUE; } GetCurrentDirectory 関数 対応しているバージョン 95, 98, Me, NT3.1以降, 2000, XP 使用するヘッダとライブラリ stdlib.h winbase.h kernel32.lib カレントディレクトリというのは、ファイルの読み書きなどをする対象になっている フォルダのことです。DOS時代なら当たり前の単語だったのですが、ウィンドウズ だとちょっと理解しづらいかも知れません。 DOS時代はフォルダのことをディレクトリと呼んでいました。 ウィンドウズの場合はファイルマネージャーで開いているフォルダになります。 複数ウィンドウを開いている場合は、ウィンドウがアクティブになっているフォルダです。 こんなん調べてもゲームでは使い道ないような気もします・・・。 カレントディレクトリを調べるには GetCurrentDirectory() 関数を使います。 名前がそのままなので覚えやすいですね。 引数にはカレントディレクトリを格納する配列変数のポインタと、MAX_PATH を 指定します。 MAX_PATH は stdlib.h で定義されているマクロで、指定できるパスの最大文字数が 設定されています。 char path[MAX_PATH]; GetCurrentDirectory( MAX_PATH, path ); 関数が成功すると path にカレントディレクトリが格納されて返ってきます。 関数の戻り値は path に格納されたカレントディレクトリの文字数です。 関数が失敗した場合は0が返ります。
GetCurrentDirectory 関数 対応しているバージョン 95, 98, Me, NT3.1以降, 2000, XP 使用するヘッダとライブラリ stdlib.h winbase.h kernel32.lib
char path[MAX_PATH]; GetCurrentDirectory( MAX_PATH, path );