ฟังก์ชัน strncpy() ใช้เพื่อคัดลอกจำนวนอักขระที่ระบุไปยังปลายทางจากต้นทาง
ต่อไปนี้เป็นไวยากรณ์ของ strncpy()
char *strncpy( char *destination, char *source, size_t n);
ในที่นี้ ปลายทางคือตัวชี้ไปยังอาร์เรย์ปลายทางที่จะคัดลอกสตริงต้นทาง ต้นทางคือสตริงที่ต้องการคัดลอก และ n คือจำนวนอักขระสูงสุดที่จะคัดลอกจากสตริงต้นทาง
ฟังก์ชัน strncpy() ไม่ปลอดภัยเพราะถ้าอักขระ NULL ไม่พร้อมใช้งานใน n อักขระตัวแรกในสตริงต้นทาง สตริงปลายทางจะไม่ถูกยกเลิก NULL
โปรแกรมที่แสดง strncpy() ใน C++ มีดังต่อไปนี้
ตัวอย่าง
#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; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมด้านบนมีดังต่อไปนี้
The destination string is: This
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
สตริงต้นทางมีข้อมูล "นี่คือสตริง" จากนั้นใช้ strncpy() เพื่อคัดลอกอักขระสี่ตัวแรกลงในสตริงปลายทาง จากนั้นเนื้อหาของสตริงปลายทางจะถูกพิมพ์ ข้อมูลโค้ดที่แสดงเป็นดังนี้
char source[20] = "This is a string"; char dest[20]; strncpy(dest, source, 4); cout << "The destination string is: " << dest;