Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी भाषा में strncpy () फ़ंक्शन क्या है?

C लाइब्रेरी फ़ंक्शन char *strncpy(char *dest, const char *src, size_t n) src . द्वारा इंगित की गई स्ट्रिंग से n वर्णों तक कॉपी करता है करने के लिए गंतव्य . ऐसे मामले में जहां, src की लंबाई n से कम है, शेष भाग को शून्य बाइट्स के साथ गद्देदार किया जाएगा।

वर्णों की एक सरणी को स्ट्रिंग कहा जाता है।

घोषणा

एक सरणी के लिए घोषणा निम्नलिखित है -

char stringname [size];

उदाहरण के लिए - चार स्ट्रिंग [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() फ़ंक्शन के लिए सी प्रोग्राम निम्नलिखित है -

#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

सी भाषा में strncpy () फ़ंक्शन क्या है?

इसका उपयोग सबस्ट्रिंग निकालने के लिए भी किया जाता है।

उदाहरण 1

निम्न उदाहरण strncpy() फ़ंक्शन के उपयोग को दर्शाता है।

char result[10], s1[15] = "Jan 10 2010";
strncpy (result, &s1[4], 2);
result[2] = ‘\0’

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Result = 10

सी भाषा में strncpy () फ़ंक्शन क्या है?

उदाहरण 2

आइए strncpy पर एक और उदाहरण देखें।

strncpy लाइब्रेरी फ़ंक्शन का उपयोग करके स्रोत स्ट्रिंग से गंतव्य स्ट्रिंग तक वर्णों की संख्या को कॉपी करने के लिए नीचे एक C प्रोग्राम दिया गया है -

#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

  1. सी भाषा में strcmp () फ़ंक्शन क्या है?

    सी लाइब्रेरी फ़ंक्शन int strcmp(const char *str1, const char *str2) str1 . द्वारा इंगित स्ट्रिंग की तुलना करता है str2 . द्वारा इंगित स्ट्रिंग की ओर । वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोषणा एक सरणी के लिए घोषणा निम्नलिखित है - char stringname [size]; उदाहरण के लिए - चार स्ट्रिंग [50]; ल

  1. सी भाषा में स्ट्रैट () फ़ंक्शन क्या है?

    सी लाइब्रेरी फ़ंक्शन char *strcat(char *dest, const char *src) src . द्वारा इंगित स्ट्रिंग को जोड़ता है dest . द्वारा इंगित स्ट्रिंग के अंत तक । वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोषणा एक सरणी के लिए घोषणा निम्नलिखित है - char stringname [size]; उदाहरण के लिए - चार स्ट्रिंग [50]; लंबाई 5

  1. सी भाषा में strcpy () फ़ंक्शन क्या है?

    सी लाइब्रेरी फ़ंक्शन char *strcpy(char *dest, const char *src) src . द्वारा इंगित स्ट्रिंग की प्रतिलिपि बनाता है करने के लिए गंतव्य । वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोषणा एक सरणी के लिए घोषणा निम्नलिखित है char stringname [size]; उदाहरण के लिए - चार स्ट्रिंग [50]; लंबाई 50 वर्णों की स