Apa fungsi strncpy() di C++
Fungsi strncpy() adalah fungsi C++ bawaan yang digunakan untuk menyalin sejumlah karakter dari satu string ke string lainnya. Fungsi membutuhkan tiga parameter: string tujuan yang akan menampung karakter, string sumber yang akan menyediakan karakter, dan jumlah karakter yang akan disalin. Jika string sumber kurang dari jumlah karakter yang ditentukan, string tujuan akan diisi dengan karakter null dengan panjang yang tersisa.
Prototipe fungsi strncpy() diberikan di bawah ini.
arang * strncpy ( arang * tangan const arang * src, size_t menghitung ) ;
Apa Parameter C++ strncpy()
Semua parameter dari strncpy() fungsinya dijelaskan di bawah ini.
- tangan: Pointer ke larik tujuan tempat konten berada
- src: Pointer ke larik sumber tempat konten berada
- menghitung: Jumlah karakter tertinggi yang mungkin disalin dari sumber ke tujuan.
Bagaimana Fungsi strncpy() Bekerja di C++
strncpy() fungsi menerima tiga argumen: tujuan, src, Dan menghitung . Ia memeriksa apakah src string dihentikan null, dan jika ya, itu menyalin jumlah karakter yang ditentukan dari src string ke awal rangkaian. Jika hitungan kurang dari panjang src string, karakter hitungan pertama telah ditransfer ke awal string dan tidak diakhiri null. Jika hitungan melebihi panjang src , semua karakter dari src disalin ke awal , dan karakter null penghentian tambahan telah disertakan hingga semua karakter hitungan ditulis.
Contoh yang diberikan mengilustrasikan cara kerja C++ strncpy() fungsi.
#termasuk
#termasuk
menggunakan ruang nama std ;
int utama ( )
{
arang src_str [ ] = 'Saya sedang menulis kode untuk strncpy' ;
arang tujuan_str [ 60 ] ;
strncpy ( tujuan_str,src_str, strlen ( src_str ) ) ;
cout << tujuan_str << ' \N ' ;
kembali 0 ;
}
Dalam program ini, kami menggunakan
Itu keluaran program dapat ditampilkan di bawah ini.
Apa Masalah dengan Menggunakan strncpy() di C++
- Jika tidak ada karakter null dalam larik tujuan atau string tidak diakhiri dengan null, program atau kode kita mungkin mengalami masalah cepat atau lambat. String non-null yang diakhiri dalam C++ telah menjadi kode berisiko yang dapat rusak kapan saja selama eksekusi program. Ini dapat mengakibatkan kesalahan segmentasi dalam program. Sebagai akibat, strncpy() tidak memastikan bahwa string tujuan selalu diakhiri dengan null, menjadikannya kode yang berisiko untuk program yang sedang kita tulis.
- Fungsi ini gagal memeriksa luapan, jadi jika kami mencoba menyalin string sumber ke tujuan yang ukurannya lebih kecil dari sumber, kami mendapatkan kesalahan dan perilaku tidak terdefinisi.
Kesimpulan
Untuk menyalin data dari satu string ke string lainnya, kami menggunakan strncpy() di C++ yang merupakan fungsi bawaan di