Rumah >pembangunan bahagian belakang >C++ >Mengapa kami fikir strncpy dalam C/C++ tidak selamat?

Mengapa kami fikir strncpy dalam C/C++ tidak selamat?

WBOY
WBOYke hadapan
2023-09-13 09:17:021276semak imbas

Mengapa kami fikir strncpy dalam C/C++ tidak selamat?

Fungsi strncpy() digunakan untuk menyalin bilangan aksara yang ditentukan dari sumber ke destinasi.

Berikut ialah sintaks strncpy()

char *strncpy( char *destination, char *source, size_t n);

Di sini, destinasi ialah penunjuk kepada tatasusunan destinasi yang mana rentetan sumber akan disalin, sumber ialah rentetan untuk disalin, dan n ialah rentetan untuk disalin daripada . Bilangan maksimum aksara untuk disalin. Fungsi

strncpy() tidak selamat kerana jika tiada aksara NULL dalam n aksara pertama rentetan sumber, rentetan sasaran tidak akan ditamatkan NULL.

Berikut ialah program yang menunjukkan fungsi strncpy() dalam C++.

Contoh

Demonstrasi dalam talian

#include <iostream>
#include <cstring>
using namespace std;
int main () {
   char source[20] = "This is a string";
   char dest[20];
   strncpy(dest, source, 4);
   cout << "The destination string is: " << dest;
   return 0;
}

Output

Output program di atas adalah seperti berikut.

The destination string is: This

Sekarang mari kita fahami program di atas.

Rentetan sumber mengandungi data "Ini adalah rentetan". Kemudian gunakan strncpy() untuk menyalin empat aksara pertama ke dalam rentetan sasaran. Kemudian cetak kandungan rentetan sasaran. Coretan kod yang menunjukkan ini adalah di bawah.

rreeee

Atas ialah kandungan terperinci Mengapa kami fikir strncpy dalam C/C++ tidak selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam