PathFileExists

ファイルやフォルダなどへのパスが有効であるかを確認します。

書式

BOOL PathFileExists(
    LPCTSTR pszPath
);

【インクルードファイル】

shlwapi.h

【必要追加ライブラリ】

shlwapi.lib

戻り値

ファイルが存在する場合は、TRUE。それ以外はFALSE。 FALSEの場合はGetLastError()を呼ぶことでエラー詳細情報を取得できます。

引数

pszPath

NULL終端された最大MAX_PATH長の文字列。

解説

引数で指定されたパスが有効であるかを確認します。

使用例

〈サンプルプログラム〉

#include <stdio.h>
#include <shlwapi.h>

#pragma comment(lib, "shlwapi.lib")

int main()
{
    // 存在するファイル
    char buffer_1[ ] = "C:\\TEST\\file.txt";
    char *lpStr1;
    lpStr1 = buffer_1;

    // 存在しないファイル
    char buffer_2[ ] = "C:\\TEST\\file.doc";
    char *lpStr2;
    lpStr2 = buffer_2;

    int retval = PathFileExists(lpStr1);
    printf("ファイルパス: %s ", lpStr1);
    if(0 == retval)
    {
        printf("は存在しない。戻り値は%d\n", retval);
    }
    else
    {
        printf("は存在する。  戻り値は%d\n", retval);
    }

    // Search for the presence of a file with a false result.
    retval = PathFileExists(lpStr2);
    printf("ファイルパス: %s ", lpStr2);
    if(0 == retval)
    {
        printf("は存在しない。戻り値は%d\n", retval);
    }
    else
    {
        printf("は存在する。  戻り値は%d\n", retval);
    }

    return 0;
}

〈出力〉

ファイルパス: C:\TESTile.txt は存在する。  戻り値は1
ファイルパス: C:\TESTile.doc は存在しない。戻り値は0

対応情報

  DLL Version:shlwapi.dll version 4.71 以上。
  Windows NT/2000:Windows NT 4.0/2000 Internet Explorer 4.0以降
  Windows 95/98:Windows 95/98 Internet Explorer 4.0以降