PathFileExistsW 函数 (shlwapi.h)
确定文件系统对象(如文件或文件夹)的路径是否有效。
语法
BOOL PathFileExistsW(
[in] LPCWSTR pszPath
);
参数
[in] pszPath
类型: LPCTSTR
指向最大长度为 null 的字符串MAX_PATH的指针,该字符串包含要验证的对象的完整路径。
返回值
类型: BOOL
如果文件存在,则为 TRUE;否则为 FALSE。 调用 GetLastError 获取扩展错误信息。 如果文件不存在, GetLastError 将返回 ERROR_FILE_NOT_FOUND。
注解
此函数测试路径的有效性。
通用命名约定 (UNC) 指定的路径仅限于文件:即允许 \server\share\file。 不允许使用服务器或服务器共享的 UNC 路径;即 \server 或 \server\share。 如果装载的远程驱动器停止服务,则此函数返回 FALSE 。
示例
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main(void)
{
// Valid file path name (file is there).
char buffer_1[ ] = "C:\\TEST\\file.txt";
char *lpStr1;
lpStr1 = buffer_1;
// Invalid file path name (file is not there).
char buffer_2[ ] = "C:\\TEST\\file.doc";
char *lpStr2;
lpStr2 = buffer_2;
// Return value from "PathFileExists".
int retval;
// Search for the presence of a file with a true result.
retval = PathFileExists(lpStr1);
if(retval == 1)
{
cout << "Search for the file path of : " << lpStr1 << endl;
cout << "The file requested \"" << lpStr1 << "\" is a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}
else
{
cout << "\nThe file requested " << lpStr1 << " is not a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}
// Search for the presence of a file with a false result.
retval = PathFileExists(lpStr2);
if(retval == 1)
{
cout << "\nThe file requested " << lpStr2 << "is a valid file" << endl;
cout << "Search for the file path of : " << lpStr2 << endl;
cout << "The return from function is : " << retval << endl;
}
else
{
cout << "\nThe file requested \"" << lpStr2 << "\" is not a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}
}
OUTPUT
==============
Search for the file path of : C:\TEST\file.txt
The file requested "C:\TEST\file.txt" is a valid file
The return from function is : 1
The file requested "C:\TEST\file.doc" is not a valid file
The return from function is : 0
注意
shlwapi.h 标头将 PathFileExists 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (版本 4.71 或更高版本) |