Bagikan melalui


Fungsi PathAddExtensionA (shlwapi.h)

Menambahkan ekstensi nama file ke string jalur.

Catatan Penyalahgunaan fungsi ini dapat menyebabkan buffer diserbu. Kami merekomendasikan penggunaan fungsi PathCchAddExtension yang lebih aman di tempatnya.
 

Sintaks

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 yang dihentikan null yang berisi ekstensi nama file. Nilai ini bisa NULL.

Nilai kembali

Jenis: BOOL

Mengembalikan TRUE jika ekstensi ditambahkan, atau FALSE jika tidak.

Keterangan

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

Catatan

Header shlwapi.h mendefinisikan PathAddExtension sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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

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