strncpy()
Menyalin sebagian karakter dari string dengan batasan dalam C
Fungsi strncpy()
digunakan untuk menyalin sejumlah karakter tertentu dari string sumber ke string tujuan. Fungsi ini memberikan kontrol untuk mencegah buffer overflow dengan menyalin maksimal sejumlah karakter yang ditentukan, meskipun demikian, perhatikan bahwa penanganan karakter null ('\0'
) perlu diwaspadai.
Sintaks
dest
➜ Pointer ke array (string) tujuan tempat string disalin.src
➜ Pointer ke string sumber.n
âžœJumlah maksimal karakter yang akan disalin.Mengembalikan: Pointer ke string tujuan (
dest
).
Penjelasan
Menyalin Sebagian String: Fungsi ini akan menyalin hingga
n
karakter darisrc
kedest
.Penanganan Karakter Null: Jika panjang
src
kurang darin
,strncpy()
akan mengisi sisa buffer dengan karakter null ('\0'
). Jikasrc
memiliki panjang sama dengan atau lebih darin
, hasil salinan tidak dijamin memiliki karakter null di akhir, sehingga kamu harus memastikandest
diakhiri dengan'\0'
jika diperlukan.Keamanan Buffer: Dengan menentukan
n
, kamu bisa mencegah buffer overflow, asalkan ukurandest
setidaknya sebesarn
.
Contoh Pengunaan
1. Menyalin sebagian string
Hasilnya:
2. Menyalin string dan mengisi buffer dengan null
Hasilnya:
Di sini, sisa buffer di
tujuan
akan terisi'\0'
secara otomatis.
Last updated