Cara Menggunakan Fungsi strncpy() di C++

Cara Menggunakan Fungsi Strncpy Di C



Ada banyak fungsi dalam C++ untuk menyalin string atau karakter dari satu tempat ke tempat lain, yaitu strcpy, strncpy, dan memcpy. Mereka berbeda satu sama lain sesuai dengan fungsinya. Tutorial kali ini akan membahas tentang strncpy() fungsi dalam C++.

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 file header karena termasuk strncpy() fungsi. Kami mendefinisikan dua string satu adalah src_str dan yang lainnya adalah tujuan_str. strncpy() fungsi yang mengambil data dari string src_str dan menyalinnya ke tujuan_str . Di Sini strlen(src_str) digunakan untuk menghitung jumlah total karakter dari string src_str .

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 berkas tajuk. Pada artikel ini, kita telah membahas sintaks dan cara kerja C++ strncpy fungsi dengan contoh. Kami juga menyoroti beberapa masalah yang menyebabkan strncpy fungsi dapat membuat kode kita berisiko.