Bagikan melalui


Fungsi PathAddExtensionA (shlwapi.h)

Menambahkan ekstensi nama file ke string jalur.

Catatan Penyalahgunaan fungsi ini dapat menyebabkan penyerbuan buffer. Kami merekomendasikan penggunaan fungsi PathCchAddExtension yang lebih aman.
 

Sintaksis

BOOL PathAddExtensionA(
  [in, out]      LPSTR  pszPath,
  [in, optional] LPCSTR pszExt
);

Parameter

[in, out] pszPath

Jenis: LPTSTR

Penunjuk ke buffer dengan string null-terminated tempat ekstensi nama file akan ditambahkan. Anda harus mengatur ukuran buffer ini ke MAX_PATH untuk memastikan bahwa ukurannya cukup besar untuk menahan string yang dikembalikan.

[in, optional] pszExt

Jenis: LPCTSTR

Penunjuk ke string null-terminated yang berisi ekstensi nama file. Nilai ini dapat null.

Mengembalikan nilai

Jenis: BOOL

Mengembalikan TRUE jika ekstensi ditambahkan, atau FALSE sebaliknya.

Komentar

Jika sudah ada ekstensi nama file, tidak ada ekstensi yang akan ditambahkan. Jika pszPath menunjuk ke string NULL, hasilnya hanya akan menjadi ekstensi nama file. Jika pszExtension menunjuk ke string NULL , ekstensi ".exe" akan ditambahkan.

Contoh

#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

Nota

Header shlwapi.h mendefinisikan PathAddExtension sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header shlwapi.h
Pustaka Shlwapi.lib
DLL Shlwapi.dll (versi 4.71 atau yang lebih baru)