Auf Englisch lesen

Freigeben über


PathAddExtensionW-Funktion (shlwapi.h)

Fügt eine Dateinamenerweiterung zu einer Pfadzeichenfolge hinzu.

Hinweis Missbrauch dieser Funktion zu einem Pufferüberlauf führen kann. Wir empfehlen die Verwendung der sichereren PathCchAddExtension Funktion an seiner Stelle.
 

Syntax

C++
BOOL PathAddExtensionW(
  [in, out]      LPWSTR  pszPath,
  [in, optional] LPCWSTR pszExt
);

Parameter

[in, out] pszPath

Typ: LPTSTR-

Ein Zeiger auf einen Puffer mit der mit Null beendeten Zeichenfolge, an die die Dateinamenerweiterung angefügt wird. Sie müssen die Größe dieses Puffers auf MAX_PATH festlegen, um sicherzustellen, dass die zurückgegebene Zeichenfolge groß genug ist.

[in, optional] pszExt

Typ: LPCTSTR-

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die die Dateinamenerweiterung enthält. Dieser Wert kann NULL-sein.

Rückgabewert

Typ: BOOL-

Gibt TRUE zurück, wenn eine Erweiterung hinzugefügt wurde, oder FALSE andernfalls.

Bemerkungen

Wenn bereits eine Dateinamenerweiterung vorhanden ist, wird keine Erweiterung hinzugefügt. Wenn die pszPath- auf eine NULL- Zeichenfolge zeigt, ist das Ergebnis nur die Dateinamenerweiterung. Wenn pszExtension auf eine NULL- Zeichenfolge zeigt, wird eine.exe"-Erweiterung hinzugefügt.

Beispiele

C++
#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

Hinweis

Der Header "shlwapi.h" definiert PathAddExtension als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional, Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shlwapi.h
Library Shlwapi.lib
DLL- Shlwapi.dll (Version 4.71 oder höher)