Функция PathCombineA (shlwapi.h)
Объединяет две строки, представляющие правильно сформированные пути, в один путь; также объединяет все относительные элементы пути.
Синтаксис
LPSTR PathCombineA(
[out] LPSTR pszDest,
[in, optional] LPCSTR pszDir,
[in] LPCSTR pszFile
);
Параметры
[out] pszDest
Тип: LPTSTR
Указатель на буфер, который при успешном возврате этой функции получает объединенную строку пути. Необходимо задать размер этого буфера MAX_PATH, чтобы он был достаточно велик для хранения возвращаемой строки.
[in, optional] pszDir
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, с максимальной длиной MAX_PATH, которая содержит первый путь. Это значение может иметь значение NULL.
[in] pszFile
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, с максимальной длиной MAX_PATH, содержащую второй путь. Это значение может иметь значение NULL.
Возвращаемое значение
Тип: LPTSTR
Указатель на буфер, который при успешном возврате этой функции получает строку объединенного пути. Это та же строка, на которую указывает pszPathOut. Если эта функция не возвращается успешно, это значение равно NULL.
Комментарии
Путь к каталогу должен иметь вид A:,B:, ..., Z:. Путь к файлу должен быть в правильной форме, представляющей часть имени файла в пути. Если путь к каталогу заканчивается обратной косой чертой, обратная косая черта будет сохранена. Обратите внимание, что хотя lpszDir и lpszFile являются необязательными параметрами, они не могут иметь значение NULL.
Примеры
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// Buffer to hold combined path.
char buffer_1[MAX_PATH] = "";
char *lpStr1;
lpStr1 = buffer_1;
// String for balance of path name.
char buffer_2[ ] = "One\\Two\\Three";
char *lpStr2;
lpStr2 = buffer_2;
// String for directory name.
char buffer_3[ ] = "C:";
char *lpStr3;
lpStr3 = buffer_3;
cout << "The file path to be combined is "
<< lpStr2 << endl;
cout << "The directory name path is "
<< lpStr3 << endl;
cout << "The combined path is "
<< PathCombine(lpStr1,lpStr3,lpStr2) << endl;
}
------------
INPUT:
------------
Path for directory part: "C:"
Path for file part: "One\Two\Three"
------------
OUTPUT:
------------
The file path to be combined is One\Two\Three
The directory name path is C:
The combined path is C:\One\Two\Three
Примечание
Заголовок shlwapi.h определяет PathCombine в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 4.71 или более поздняя) |