Bagikan melalui


Fungsi lstrcpyA (winbase.h)

Menyalin string ke buffer.

Peringatan Jangan gunakan. Pertimbangkan untuk menggunakan StringCchCopy. Lihat Komentar.
 

Sintaksis

LPSTR lstrcpyA(
  [out] LPSTR  lpString1,
  [in]  LPCSTR lpString2
);

Parameter

[out] lpString1

Jenis: LPTSTR

Buffer untuk menerima konten string yang ditujukkan oleh parameter lpString2. Buffer harus cukup besar untuk berisi string, termasuk karakter null yang mengakhiri.

[in] lpString2

Jenis: LPTSTR

String null-terminated yang akan disalin.

Mengembalikan nilai

Jenis: LPTSTR

Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke buffer.

Jika fungsi gagal, nilai pengembalian NULL dan lpString1 mungkin tidak dihentikan null.

Komentar

Dengan versi set karakter byte ganda (DBCS) sistem, fungsi ini dapat digunakan untuk menyalin string DBCS.

Fungsi lstrcpy memiliki perilaku yang tidak ditentukan jika buffer sumber dan tujuan tumpang tindih.

Keterangan Keamanan

Menggunakan fungsi ini salah dapat membahayakan keamanan aplikasi Anda. Fungsi ini menggunakan penanganan pengecualian terstruktur (SEH) untuk menangkap pelanggaran akses dan kesalahan lainnya. Ketika fungsi ini menangkap kesalahan SEH, fungsi ini mengembalikan NULL tanpa menghentikan string null dan tanpa memberi tahu pemanggil kesalahan. Pemanggil tidak aman untuk mengasumsikan bahwa ruang yang tidak mencukup adalah kondisi kesalahan.

lpString1 harus cukup besar untuk menahan lpString2 dan penutupan '\0', jika tidak, overrun buffer dapat terjadi.

Situasi luapan buffer adalah penyebab banyak masalah keamanan dalam aplikasi dan dapat menyebabkan penolakan serangan layanan terhadap aplikasi jika terjadi pelanggaran akses. Dalam kasus terburuk, overrun buffer dapat memungkinkan penyerang untuk menyuntikkan kode yang dapat dieksekusi ke dalam proses Anda, terutama jika lpString1 adalah buffer berbasis tumpukan.

Pertimbangkan untuk menggunakan StringCchCopy; gunakan , menyadari bahwa tidak boleh menjadi penunjuk atau menggunakan , menyadari bahwa, saat menyalin ke penunjuk, pemanggil bertanggung jawab untuk meneruskan ukuran memori yang ditujukan ke dalam karakter.

Nota

Header winbase.h mendefinisikan lstrcpy sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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 [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Konseptual

Referensi

StringCbCopy

StringCbCopyEx

StringCbCopyN

StringCbCopyNEx

StringCchCopy

StringCchCopyEx

StringCchCopyN

StringCchCopyNEx

String

lstrcmp

lstrcmpi

lstrlen