システムのディレクトリとして次のようなものがあります。(戻る)
- テンポラリ・ディレクトリ(GetTempPath)
- カレント・ディレクトリ(GetCurrentDirectory)
- システム・ディレクトリ(GetSystemDirectory)
- Windowsディレクトリ(GetWindowsDirectory)
- 共有Windowsディレクトリ(GetSystemWindowsDirectory)
シングルユーザのシステムでは(4)(5)は同じになります。
プロトタイプ宣言
DWORD GetTempPath( DWORD dwSize, // バッファ容量 LPTSTR lpBuff // バッファ領域 ); DWORD GetCurrentDirectory( DWORD dwSize, // バッファ容量 LPTSTR lpBuff // バッファ領域 ); UINT GetSystemDirectory( LPTSTR lpBuff, // バッファ領域 UINT uSize // バッファ容量 ); UINT GetWindowsDirectory( LPTSTR lpBuff, // バッファ領域 UINT uSize // バッファ容量 ); UINT GetSystemWindowsDirectory( LPTSTR lpBuff, // バッファ領域 UINT uSize // バッファ容量 );
サンプル
#include <stdio.h> #include <windows.h> // メイン関数 int main( void ) { TCHAR szPath[ 5 ][ MAX_PATH ]; // システムのディレクトリ取得 GetTempPath( MAX_PATH, szPath[0] ); GetCurrentDirectory( MAX_PATH, szPath[1] ); GetSystemDirectory( szPath[2], MAX_PATH ); GetWindowsDirectory( szPath[3], MAX_PATH ); GetSystemWindowsDirectory( szPath[4], MAX_PATH ); // システムのディレクトリ情報 printf( TEXT("システムのディレクトリ情報\n") ); printf( TEXT("\n") ); printf( TEXT(" テンポラリ・ディレクトリ:%s\n"), szPath[0] ); printf( TEXT(" カレント・ディレクトリ:%s\n"), szPath[1] ); printf( TEXT(" システム・ディレクトリ:%s\n"), szPath[2] ); printf( TEXT(" Windows ディレクトリ:%s\n"), szPath[3] ); printf( TEXT("共有 Windows ディレクトリ:%s\n"), szPath[4] ); return 0; }
実行結果
システムのディレクトリ情報 テンポラリ・ディレクトリ:C:\DOCUME~1\MASAKI\LOCALS~1\Temp\ カレント・ディレクトリ:C:\Documents and Settings\MASAKI\My Documents システム・ディレクトリ:C:\WINDOWS\system32 Windows ディレクトリ:C:\WINDOWS 共有 Windows ディレクトリ:C:\WINDOWS
- 上記のMASAKIはユーザ名などが入ります。
その他
- GetTempPath、GetCurrentDirectoryとそれ以外の関数では引数の指定が異なります。ご注意。
関連記事
- システム・ディレクトリの取得
- ユーザ・プロファイルの取得
- ディレクトリの作成/削除
※コメント投稿者のブログIDはブログ作成者のみに通知されます