strncpy() ফাংশনটি নির্দিষ্ট সংখ্যক ক্যারেক্টার সোর্স থেকে ডেস্টিনেশন-এ কপি করতে ব্যবহৃত হয়।
strncpy()-র সিনট্যাক্স নিচে দেওয়া হলো:
char *strncpy(char *destination, char *source, size_t n);
এখানে, destination হলো ডেস্টিনেশন অ্যারে পয়েন্টার যেখানে সোর্স স্ট্রিং কপি হবে, source হলো কপি করা স্ট্রিং, এবং n হলো সোর্স স্ট্রিং থেকে কপি করার সর্বোচ্চ ক্যারেক্টার সংখ্যা।
strncpy() ফাংশনটি নিরাপদ নয় কারণ যদি প্রথম n ক্যারেক্টারের মধ্যে সোর্স স্ট্রিং-এ NULL ক্যারেক্টার (\0) না থাকে, তবে ডেস্টিনেশন স্ট্রিং NULL-টার্মিনেটেড (NULL terminated) হবে না।
একটি প্রোগ্রাম যা সি++-তে strncpy() প্রদর্শন করে নিচে দেওয়া হলো।
উদাহরণ
#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
এখন উপরের প্রোগ্রামটি বুঝি।
সোর্স স্ট্রিং-এ "This is a string" ডেটা আছে। তারপর strncpy() ব্যবহার করে প্রথম চারটি ক্যারেক্টার ডেস্টিনেশন স্ট্রিং-এ কপি করা হয়েছে। তারপর ডেস্টিনেশন স্ট্রিং-এর কন্টেন্ট প্রিন্ট করা হয়েছে। এটি দেখানো কোড স্নিপেট নিচে:
char source[20] = "This is a string"; char dest[20]; strncpy(dest, source, 4); cout << "The destination string is: " << dest;