C লাইব্রেরি ফাংশন char *strncpy(char *dest, const char *src, size_t n) src দ্বারা নির্দেশিত স্ট্রিং থেকে n অক্ষর পর্যন্ত কপি করে গন্তব্যে . যে ক্ষেত্রে, src-এর দৈর্ঘ্য n-এর চেয়ে কম, dest-এর বাকি অংশ নাল বাইট দিয়ে প্যাড করা হবে।
অক্ষরের একটি বিন্যাসকে স্ট্রিং বলা হয়।
ঘোষণা
নিম্নলিখিত একটি অ্যারের জন্য ঘোষণা −
char stringname [size];
যেমন − char স্ট্রিং[50]; দৈর্ঘ্য 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 প্রোগ্রাম রয়েছে#include<string.h> main ( ){ char a[50], b[50]; printf ("enter a string"); gets (a); strncpy (b,a,3); b[3] = '\0'; printf ("copied string = %s",b); getch ( ); }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter a string : Hello Copied string = Hel
এটি সাবস্ট্রিং বের করার জন্যও ব্যবহৃত হয়।
উদাহরণ 1
নিচের উদাহরণটি strncpy() ফাংশনের ব্যবহার দেখায়।
char result[10], s1[15] = "Jan 10 2010"; strncpy (result, &s1[4], 2); result[2] = ‘\0’
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Result = 10
উদাহরণ 2
চলুন strncpy-এ আরেকটি উদাহরণ দেখি।
স্ট্রনসিপি লাইব্রেরি ফাংশন -
#include<stdio.h> #include<string.h> void main(){ //Declaring source and destination strings// char source[45],destination[50]; char destination1[10],destination2[10],destination3[10],destination4[10]; //Reading source string and destination string from user// printf("Enter the source string :"); gets(source); //Extracting the new destination string using strncpy// strncpy(destination1,source,2); printf("The first destination value is : "); destination1[2]='\0';//Garbage value is being printed in the o/p because always assign null value before printing O/p// puts(destination1); strncpy(destination2,&source[8],1); printf("The second destination value is : "); destination2[1]='\0'; puts(destination2); strncpy(destination3,&source[12],1); printf("The third destination value is : "); destination3[1]='\0'; puts(destination3); //Concatenate all the above results// strcat(destination1,destination2); strcat(destination1,destination3); printf("The modified destination string :"); printf("%s3",destination1);//Is there a logical way to concatenate numbers to the destination string?// }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter the source string :Tutorials Point The first destination value is : Tu The second destination value is : s The third destination value is : i The modified destination string :Tusi3