4.36.1.5 - Функция GetFileTitle

(ПолучитьНазваниеФайла)

Функция GetFileTitle возвращает имя файла, идентифицированного при помощи параметра lpszFile.

Синтаксис

short GetFileTitle
(
    LPCTSTR lpszFile,	// указатель на полный путь и имя файла для файла
    LPTSTR lpszTitle,	// указатель на буфер, который принимает имя файла
    WORD cbBuf 		// длина буфера
);

Параметры
lpszFile
Указатель на имя и расположение файла.
lpszTitle
Указатель на буфер, в который функция скопирует имя файла.
cbBuf
Определяет длину буфера, указанного параметром lpszTitle, в символах/

Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - ноль.
Если имя файла недопустимое, возвращаемое значение - отрицательное число.
Если буфер, на который указывает параметр lpszTitle слишком маленький, возвращаемое значение - положительное целое число, которое определяет требуемый размер буфера в байтах (для версии ANSI) или в символах (для версии Уникода). Требуемый размер буфера включает в себя символ нуль-терминатора.

Замечания
Функция GetFileTitle возвращает значение ошибки, если буфер, указанный параметром lpszFile, содержит любой из ниже перечисленных элементов:

  1. Пустую строку
  2. Строку, содержащую подстановочный знак (*), открывающую скобку ([) или закрывающую скобку (])
  3. Строку, которая заканчивается двоеточием (:/) или обратным слэшем (\)
  4. Строку, длина которой превышает длину буфера
  5. Недопустимый символ (например, пробел или непечатаемый символ)

Чтобы получать для имени файла буфер необходимого размера, вызовите функцию с установленными параметрами 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 
Замечания по платформе		Не имеется

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 17.04.2002