Поделиться через


Функция 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 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 4.71 или более поздняя)