最終更新 2003 10/07 サンプルのダウンロード → API_IsExistPath.lzh(37k) サンプルソースコード /* IsExistPath 関数 ファイル、フォルダが存在するかどうかを調べます。 引数 lpszPath 調べたいファイル、フォルダを格納した文字列 ファイル名、フォルダ名だけを指定した場合は カレントディレクトリを検索 それ以外は絶対パスを指定 戻り値 ファイル・フォルダが存在する場合は TRUE */ BOOL IsExistPath( LPSTR pPath ) { WIN32_FIND_DATA wfd; HANDLE hPath = FindFirstFile( pPath, &wfd ); if( hPath != INVALID_HANDLE_VALUE ) { FindClose( hPath ); return TRUE; } return FALSE; } FindFirstFile 関数 FindClose 関数 対応しているバージョン 95, 98, Me, NT3.1以降, CE1.0以降, 2000, XP 使用するヘッダとライブラリ winbase.h kernel32.lib ファイルかフォルダが存在するかどうかを調べるには FindFirstFile() 関数を使います。 FindFirstFile() 関数には、調べたいファイル名やフォルダ名、あるいは ファイル・フォルダへの絶対パスと、WIN32_FIND_DATA 構造体変数の アドレスを指定します。 指定したファイル・フォルダが見つからなかった場合 INVALID_HANDLE_VALUE が返ってきます。 見つかった場合は WIN32_FIND_DATA 構造体変数のメンバに見つかった ファイルフォルダについての色々な情報が格納されて返ってきます。 if( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { //見つかったのはフォルダです。 } else { //見つかったのはファイルです。 } こうすると見つかったのがファイルなのかフォルダなのか調べることが できます。 これを利用すれば、ファイルだけを調べたり、ディレクトリだけを 調べたりすることもできますね〜。
FindFirstFile 関数 FindClose 関数 対応しているバージョン 95, 98, Me, NT3.1以降, CE1.0以降, 2000, XP 使用するヘッダとライブラリ winbase.h kernel32.lib
if( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { //見つかったのはフォルダです。 } else { //見つかったのはファイルです。 }