Freigeben über


PathAddExtensionA-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

BOOL PathAddExtensionA(
  [in, out]      LPSTR  pszPath,
  [in, optional] LPCSTR 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

#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

Anmerkung

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)