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


Функция PathAppendW (shlwapi.h)

Добавляет один путь к концу другого.

Примечание Неправильное использование этой функции может привести к переполнению буфера. Вместо нее рекомендуется использовать более безопасную функцию PathCchAppend или PathCchAppendEx .
 

Синтаксис

BOOL PathAppendW(
  [in, out] LPWSTR  pszPath,
  [in]      LPCWSTR pszMore
);

Параметры

[in, out] pszPath

Тип: LPTSTR

Указатель на строку, завершающуюся значением NULL, к которой добавляется путь, указанный в pszMore . Необходимо задать размер этого буфера MAX_PATH, чтобы он был достаточно велик для хранения возвращаемой строки.

[in] pszMore

Тип: LPCTSTR

Указатель на строку, завершающуюся значением NULL, с максимальной длиной MAX_PATH, которая содержит добавляемый путь.

Возвращаемое значение

Тип: BOOL

Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае.

Комментарии

Эта функция автоматически вставляет обратную косую черту между двумя строками, если она еще отсутствует.

Путь, указанный в pszPath, не может начинаться с ". \" или ".\" для создания строки относительного пути. При наличии эти точки удаляются из выходной строки. Например, добавление "path3" в ".. \path1\path2" приводит к выходным данным "\path1\path2\path3", а не ".. \path1\path2\path3".

Примеры


#include <windows.h>
#include <iostream>
#include "Shlwapi.h"

using namespace std;

int main( void )
{
	// String for path name.
	char buffer_1[MAX_PATH] = "name_1\\name_2";
	char *lpStr1;
	lpStr1 = buffer_1;

	// String of what is being added.
	char buffer_2[ ] = "name_3";
	char *lpStr2;
	lpStr2 = buffer_2;

	cout << "The original path string is    " << lpStr1 << endl;
	cout << "The part to append to end is   " << lpStr2 << endl;
	bool ret = PathAppend(lpStr1,lpStr2);
	cout << "The appended path string is    " << lpStr1 << endl;
}

OUTPUT:
--------- 
The original path string is    name_1\name_2
The part to append to end is   name_3
The appended path string is    name_1\name_2\name_3

Примечание

Заголовок shlwapi.h определяет PathAppend в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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