Функция PathAddExtensionA (shlwapi.h)
Добавляет расширение имени файла в строку пути.
Синтаксис
BOOL PathAddExtensionA(
[in, out] LPSTR pszPath,
[in, optional] LPCSTR pszExt
);
Параметры
[in, out] pszPath
Тип: LPTSTR
Указатель на буфер с строкой, завершающейся значением NULL, к которой будет добавлено расширение имени файла. Необходимо задать размер этого буфера MAX_PATH, чтобы убедиться, что оно достаточно большое для хранения возвращаемой строки.
[in, optional] pszExt
Тип: LPCTSTR
Указатель на строку, завершающую значение NULL, содержащую расширение имени файла. Это значение может быть NULL.
Возвращаемое значение
Тип: BOOL
Возвращает TRUE, если расширение было добавлено или FALSE в противном случае.
Замечания
Если расширение имени файла уже существует, расширение не будет добавлено. Если pszPath указывает на строку NULL, результатом будет только расширение имени файла. Если pszExtension указывает на строку NULL, будет добавлено расширение ".exe".
Примеры
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// String for path name without file name extension.
char buffer_1[MAX_PATH] = "file";
char *lpStr1;
lpStr1 = buffer_1;
// String for path name with file name extension.
char buffer_2[ ] = "file.doc";
char *lpStr2;
lpStr2 = buffer_2;
// String for extension name.
char F_Ext[MAX_PATH] = ".txt";
char *lpStr3;
lpStr3 = F_Ext;
// Null string as path.
char N_String[MAX_PATH] = "\0";
char *lpStr4;
lpStr4 = N_String;
// Path 1 without the file name extension.
cout << "The original path string 1 is " << lpStr1 << endl;
int ret_1 = PathAddExtension(lpStr1,lpStr3);
cout << "The modified path string 1 is " << lpStr1 << endl;
// Path 2 with the file name extension already there.
cout << "The original path string 2 is " << lpStr2 << endl;
int ret_2 = PathAddExtension(lpStr2,lpStr3);
cout << "The modified path string 2 is " << lpStr2<< endl;
// Path 3 null string as a path.
int ret_3 = PathAddExtension(lpStr4,lpStr3);
cout << "The return value is " << ret_3<< endl;
cout << "The modified path on a null string is " << lpStr4<< endl;
}
OUTPUT:
-----------------------
The original path string 1 is file
The modified path string 1 is file.txt
The original path string 2 is file.doc
The modified path string 2 is file.doc
The return value is 1
The modified path on a null string is .txt
The return value is 1
Заметка
Заголовок shlwapi.h определяет PathAddExtension как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный, Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shlwapi.h |
библиотеки |
Shlwapi.lib |
DLL | Shlwapi.dll (версия 4.71 или более поздняя) |