फंक्शन strncpy() का उपयोग सोर्स से डेस्टिनेशन में निर्दिष्ट संख्या में कैरेक्टर्स कॉपी करने के लिए किया जाता है।
strncpy() का सिंटैक्स निम्नलिखित है
char *strncpy(char *destination, char *source, size_t n);
यहां, destination वह पॉइंटर है जो डेस्टिनेशन ऐरे की ओर इंगित करता है जहां सोर्स स्ट्रिंग कॉपी की जानी है, source वह स्ट्रिंग है जिसे कॉपी किया जाना है और n सोर्स स्ट्रिंग से कॉपी किए जाने वाले कैरेक्टर्स की अधिकतम संख्या है।
strncpy() फंक्शन असुरक्षित है क्योंकि यदि सोर्स स्ट्रिंग के पहले n कैरेक्टर्स में NULL कैरेक्टर उपलब्ध नहीं है तो डेस्टिनेशन स्ट्रिंग NULL टर्मिनेटेड नहीं होगी।
एक प्रोग्राम जो C++ में 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;