C লাইব্রেরি ফাংশন char *strncpy(char *dest, const char *src, size_t n) src দ্বারা পয়েন্ট করা স্ট্রিং থেকে n ক্যারেক্টার পর্যন্ত dest-এ কপি করে। src-এর দৈর্ঘ্য n-এর চেয়ে কম হলে, dest-এর বাকি অংশ নাল বাইট দিয়ে প্যাড করা হয়।
ক্যারেক্টারের একটি অ্যারেকে স্ট্রিং বলা হয়।
ডিক্লেয়ারেশন
একটি অ্যারের জন্য ডিক্লেয়ারেশন নিম্নরূপ:
char stringname[size];
উদাহরণস্বরূপ - char string[50]; ৫০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং
ইনিশিয়ালাইজেশন
- সিঙ্গেল ক্যারেক্টার কনস্ট্যান্ট ব্যবহার করে -
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'}- স্ট্রিং কনস্ট্যান্ট ব্যবহার করে -
char string[10] = "Hello";
এক্সেসিং - "%s" কন্ট্রোল স্ট্রিং স্ট্রিং অ্যাক্সেস করার জন্য ব্যবহার হয়, '\0' পাওয়া পর্যন্ত।
strncpy() ফাংশন
এই ফাংশনটি সোর্স স্ট্রিং-এর 'n' ক্যারেক্টার ডেস্টিনেশন স্ট্রিং-এ কপি করার জন্য ব্যবহৃত হয়।
ডেস্টিনেশন স্ট্রিং-এর দৈর্ঘ্য সোর্স স্ট্রিং-এর চেয়ে বড় বা সমান হতে হবে।
সিনট্যাক্স নিম্নরূপ:
strncpy(Destination string, Source String, n);
উদাহরণ প্রোগ্রাম
strncpy() ফাংশনের জন্য C প্রোগ্রাম নিচে দেওয়া হল:
#includemain(){ char a[50], b[50]; printf("একটি স্ট্রিং লিখুন"); gets(a); strncpy(b, a, 3); b[3] = '\0'; printf("কপি করা স্ট্রিং = %s", b); getch(); }
আউটপুট
উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:
একটি স্ট্রিং লিখুন: Hello কপি করা স্ট্রিং = Hel

এটি সাবস্ট্রিং এক্সট্র্যাক্ট করার জন্যও ব্যবহৃত হয়।
উদাহরণ ১
নিচের উদাহরণ strncpy() ফাংশনের ব্যবহার দেখায়।
char result[10], s1[15] = "Jan 10 2010"; strncpy(result, &s1[4], 2); result[2] = '\0'
আউটপুট
উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:
Result = 10

উদাহরণ ২
strncpy সম্পর্কে আরেকটি উদাহরণ দেখুন।
strncpy লাইব্রেরি ফাংশন ব্যবহার করে সোর্স স্ট্রিং থেকে n সংখ্যক ক্যারেক্টার ডেস্টিনেশন স্ট্রিং-এ কপি করার C প্রোগ্রাম নিচে দেওয়া হল:
#include#include void main(){ // সোর্স এবং ডেস্টিনেশন স্ট্রিং ডিক্লেয়ার করা // char source[45], destination[50]; char destination1[10], destination2[10], destination3[10], destination4[10]; // ইউজার থেকে সোর্স স্ট্রিং এবং ডেস্টিনেশন স্ট্রিং পড়া // printf("সোর্স স্ট্রিং লিখুন: "); gets(source); // strncpy ব্যবহার করে নতুন ডেস্টিনেশন স্ট্রিং এক্সট্র্যাক্ট করা // strncpy(destination1, source, 2); printf("প্রথম ডেস্টিনেশন ভ্যালু হল: "); destination1[2] = '\0'; // আউটপুট প্রিন্ট করার আগে সবসময় নাল ভ্যালু অ্যাসাইন করুন // puts(destination1); strncpy(destination2, &source[8], 1); printf("দ্বিতীয় ডেস্টিনেশন ভ্যালু হল: "); destination2[1] = '\0'; puts(destination2); strncpy(destination3, &source[12], 1); printf("তৃতীয় ডেস্টিনেশন ভ্যালু হল: "); destination3[1] = '\0'; puts(destination3); // উপরের সব রেজাল্ট কনক্যাটেনেট করা // strcat(destination1, destination2); strcat(destination1, destination3); printf("মডিফাইড ডেস্টিনেশন স্ট্রিং: "); printf("%s3", destination1); // ডেস্টিনেশন স্ট্রিং-এ নম্বর কনক্যাটেনেট করার লজিক্যাল উপায় কী? // }
আউটপুট
উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:
সোর্স স্ট্রিং লিখুন: Tutorials Point প্রথম ডেস্টিনেশন ভ্যালু হল: Tu দ্বিতীয় ডেস্টিনেশন ভ্যালু হল: s তৃতীয় ডেস্টিনেশন ভ্যালু হল: i মডিফাইড ডেস্টিনেশন স্ট্রিং: Tusi3