(ПолучитьНазваниеФайла)
Функция GetFileTitle возвращает имя файла, идентифицированного при помощи параметра lpszFile.
Синтаксис
short GetFileTitle ( LPCTSTR lpszFile, // указатель на полный путь и имя файла для файла LPTSTR lpszTitle, // указатель на буфер, который принимает имя файла WORD cbBuf // длина буфера );
Параметры
lpszFile
Указатель на имя и расположение файла.
lpszTitle
Указатель на буфер, в который функция скопирует имя файла.
cbBuf
Определяет длину буфера, указанного параметром lpszTitle, в символах/
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - ноль.
Если имя файла недопустимое, возвращаемое значение - отрицательное число.
Если буфер, на который указывает параметр lpszTitle слишком маленький, возвращаемое значение - положительное целое число, которое определяет требуемый размер буфера в байтах (для версии ANSI) или в символах (для версии Уникода). Требуемый размер буфера включает в себя символ нуль-терминатора.
Замечания
Функция GetFileTitle возвращает значение ошибки, если буфер, указанный параметром lpszFile, содержит любой из ниже перечисленных элементов:
Чтобы получать для имени файла буфер необходимого размера, вызовите функцию с установленными параметрами lpszTitle в значение ПУСТО (NULL) и cbBuf - в нуль. Функция возвратит требуемый размер.
GetFileTitle возвращает строку, которую система использовала бы, чтобы показать имя файла пользователю. Показываемое имя включает в себя расширение только в том случае, если, это является выбором пользователя для отображающихся имен файлов. Это означает, что возвращенная строка не может точно идентифицировать файл, если он используется при обращении к функциям файловой системы.
Если буфер lpszTitle слишком маленький, GetFileTitle возвращает размер, требуемый, чтобы удержать отображаемое имя. Нет никакой гарантии согласованости между требуемым размером и символами, первоначально определяемыми в буфере lpszFile. При перенесении прикладных программ в Windows 95 и Windows NT, разработчики должны будут модифицировать любой код, который предполагает такое поведение в предыдущих версиях операционной системы. Наиболее общий случай - код, который преднамеренно вызывает GetFileTitle с установленным lpszTitle в значение ПУСТО (NULL) и cbBuf, установленный в нуль, а затем использует возвращаемое значение как индекс в строке lpszFile. Эта методика больше не поддерживается. Вы можете обычно достичь сходных результатов (и лучшей производительности) с библиотечными функциями этапа выполнения программы таких, как strrchr, wcsrchr, и _mbsrchr.
Смотри также
GetOpenFileName, GetSaveFileName
Размещение и совместимость GetFileTitle
Windows NT Да Win95 Да Win32s Да Импортируемая библиотека comdlg32.lib Заголовочный файл commdlg.h Уникод WinNT Замечания по платформе Не имеется