Fungsi StrDupA (shlwapi.h)
Menduplikasi string.
Sintaks
PSTR StrDupA(
PCSTR pszSrch
);
Parameter
pszSrch
Jenis: PCTSTR
Penunjuk ke string karakter yang dihentikan null konstanta.
Nilai kembali
Jenis: PTSTR
Mengembalikan alamat string yang disalin, atau NULL jika string tidak dapat disalin.
Keterangan
StrDup akan mengalokasikan penyimpanan ukuran string asli. Jika alokasi penyimpanan berhasil, string asli disalin ke string duplikat.
Fungsi ini menggunakan LocalAlloc untuk mengalokasikan ruang penyimpanan untuk salinan string. Aplikasi panggilan harus membebaskan memori ini dengan memanggil fungsi LocalFree pada pointer yang dikembalikan oleh panggilan ke StrDup.
Contoh
Aplikasi konsol sederhana ini menggambarkan penggunaan StrDup.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
void main(void)
{
char buffer[] = "This is the buffer text";
char *newstring;
// Note: Never use an unbounded %s format specifier in printf.
printf("Original: %25s\n", buffer);
newstring = StrDup(buffer);
if (newstring != NULL)
{
printf("Copy: %25s\n", newstring);
LocalFree(newstring);
}
}
OUTPUT:
- - - - - -
Original: This is the buffer text
Copy: This is the buffer text
Catatan
Header shlwapi.h mendefinisikan StrDup 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
Persyaratan | Nilai |
---|---|
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) |