Saturday, February 29, 2020

Strings and string functions with examples with c in hindi

स्ट्रिंग पात्रों की एक सरणी है। इस गाइड में, हम सीखते हैं कि स्ट्रिंग्स को कैसे घोषित किया जाए, सी प्रोग्रामिंग में स्ट्रिंग्स के साथ कैसे काम किया जाए और पूर्व-निर्धारित स्ट्रिंग फ़ंक्शन का उपयोग कैसे करें।

हम देखेंगे कि दो तारों की तुलना कैसे करें, समतल तारों की तुलना करें, एक स्ट्रिंग को दूसरे में कॉपी करें और विभिन्न स्ट्रिंग हेरफेर संचालन करें। हम "string.h" हेडर फ़ाइल के पूर्व-परिभाषित कार्यों का उपयोग करके ऐसे ऑपरेशन कर सकते हैं। इन स्ट्रिंग फ़ंक्शंस का उपयोग करने के लिए आपको अपने C प्रोग्राम में string.h फ़ाइल को शामिल करना होगा।

स्ट्रिंग घोषणा (String Declaration)

string declaration in C

String Declaration


Method 1:

char address[]={'T', 'E', 'X', 'A', 'S', '\0'};

Method 2: The above string can also be defined as –

char address[]="TEXAS";

उपरोक्त घोषणा में NULL वर्ण (\ 0) स्वचालित रूप से स्ट्रिंग के अंत में डाला जाएगा।

NULL Char "\ 0" क्या है?
'\ 0' स्ट्रिंग के अंत का प्रतिनिधित्व करता है। इसे स्ट्रिंग टर्मिनेटर और नल कैरेक्टर के रूप में भी जाना जाता है।
स्ट्रिंग I / O सी प्रोग्रामिंग में 

C String-IO
c tutorial in hindi


Read & write Strings in C using Printf() and Scanf() functions

#include <stdio.h>
#include <string.h>
int main()
{
    /* String Declaration*/
    char nickname[20];

    printf("Enter your Nick name:");

    /* I am reading the input string and storing it in nickname
     * Array name alone works as a base address of array so
     * we can use nickname instead of &nickname here
     */
    scanf("%s", nickname);

    /*Displaying String*/
    printf("%s",nickname);

    return 0;
}
Output:
Enter your Nick name:Negan
Negan

नोट:% s प्रारूप विनिर्देशक का उपयोग स्ट्रिंग्स इनपुट / आउटपुट के लिए किया जाता है

Read & Write Strings in C using gets() and puts() functions

#include <stdio.h>
#include <string.h>
int main()
{
    /* String Declaration*/
    char nickname[20];

    /* Console display using puts */
    puts("Enter your Nick name:");

    /*Input using gets*/
    gets(nickname);

    puts(nickname);

    return 0;
}

C – String functions 

C string-functions

                                                       C – String functions



C String function – strlen

Syntax:
size_t strlen(const char *str)

size_t अहस्ताक्षरित लघु का प्रतिनिधित्व करता है
यह अंत वर्ण (टर्मिनेटिंग चार्ज ’\ 0) को शामिल किए बिना स्ट्रिंग की लंबाई लौटाता है।

Example of strlen:

#include <stdio.h>
#include <string.h>
int main()
{
     char str1[20] = "BeginnersBook";
     printf("Length of string str1: %d", strlen(str1));
     return 0;
}
Output:
Length of string str1: 13

strlen vs sizeof

strlen आपको सरणी में संग्रहीत स्ट्रिंग की लंबाई लौटाता है, हालांकि sizeof सरणी को सौंपा कुल आवंटित आकार देता है। इसलिए यदि मैं उपरोक्त उदाहरण पर फिर से विचार करता हूं तो निम्नलिखित कथन नीचे दिए गए मानों को लौटा देंगे।

strlen (str1) ने मान 13 लौटाया।
sizeof (str1) मान मान 20 होगा क्योंकि सरणी का आकार 20 है (मुख्य फ़ंक्शन में पहला कथन देखें)

C String function – strnlen

Syntax:

size_t strnlen(const char *str, size_t maxlen)

size_t अहस्ताक्षरित लघु का प्रतिनिधित्व करता है
यह स्ट्रिंग की लंबाई लौटाता है यदि यह अधिकतम (अधिकतम लंबाई) के लिए निर्दिष्ट मान से कम है अन्यथा यह अधिकतम मूल्य देता है।

Example of strnlen:

#include <stdio.h>
#include <string.h>
int main()
{
     char str1[20] = "BeginnersBook";
     printf("Length of string str1 when maxlen is 30: %d", strnlen(str1, 30));
     printf("Length of string str1 when maxlen is 10: %d", strnlen(str1, 10));
     return 0;
}

Output:
Length of string str1 when maxlen is 30: 13
Length of string str1 when maxlen is 10: 10

क्या आपने दूसरे प्रिंटफ स्टेटमेंट के आउटपुट पर ध्यान दिया है, भले ही स्ट्रिंग की लंबाई 13 थी यह केवल 10 ही लौटा क्योंकि अधिकतम 10 था।


C String function – strcmp

int strcmp(const char *str1, const char *str2)

यह दो तारों की तुलना करता है और एक पूर्णांक मान लौटाता है। यदि दोनों तार समान (बराबर) हैं तो यह फ़ंक्शन 0 पर वापस आ जाएगा अन्यथा यह तुलना के आधार पर नकारात्मक या सकारात्मक मान लौटा सकता है।

यदि string1 <string2 या string1 string2 का एक विकल्प है, तो इसका परिणाम नकारात्मक मान होगा। अगर string1> string2 तो यह सकारात्मक मान लौटाएगा।
अगर string1 == string2 है तो आपको 0 (शून्य) तब मिलेगा जब आप इस फ़ंक्शन का उपयोग स्ट्रिंग्स की तुलना के लिए करेंगे।


Example of strcmp:

#include <stdio.h>
#include <string.h>
int main()
{
     char s1[20] = "BeginnersBook";
     char s2[20] = "BeginnersBook.COM";
     if (strcmp(s1, s2) ==0)
     {
        printf("string 1 and string 2 are equal");
     }else
      {
         printf("string 1 and 2 are different");
      }
     return 0;
}
Output:
string 1 and 2 are different

C String function – strncmp

int strncmp(const char *str1, const char *str2, size_t n)

size_t अनसाइनड शॉर्ट के लिए है
यह n अक्षर तक दोनों स्ट्रिंग की तुलना करता है या दूसरे शब्दों में यह दोनों तार के पहले n अक्षर की तुलना करता है। 


Example of strncmp:
#include <stdio.h>
#include <string.h>
int main()
{
     char s1[20] = "BeginnersBook";
     char s2[20] = "BeginnersBook.COM";
     /* below it is comparing first 8 characters of s1 and s2*/
     if (strncmp(s1, s2, 8) ==0)
     {
         printf("string 1 and string 2 are equal");
     }else
     {
         printf("string 1 and 2 are different");
     }
     return 0;
}
Output:
string1 and string 2 are equal

C String function – strcat

char *strcat(char *str1, char *str2)

यह दो तारों को समेटता है और समतल स्ट्रिंग को वापस लौटाता है। 


Example of strcat:

#include <stdio.h>
#include <string.h>
int main()
{
     char s1[10] = "Hello";
     char s2[10] = "World";
     strcat(s1,s2);
     printf("Output string after concatenation: %s", s1);
     return 0;
}
Output:
Output string after concatenation: HelloWorld


C String function – strncat

char *strncat(char *str1, char *str2, int n)

यह str2 से स्ट्रिंग str1 के n वर्णों को मिलाता है। एक टर्मिनेटर चार (’\ 0 ') हमेशा संक्षिप्त स्ट्रिंग के अंत में जोड़ा जाएगा।


Example of strncat:

#include <stdio.h>
#include <string.h>
int main()
{
     char s1[10] = "Hello";
     char s2[10] = "World";
     strncat(s1,s2, 3);
     printf("Concatenation using strncat: %s", s1);
     return 0;
}
Output:
Concatenation using strncat: HelloWor


C String function – strcpy

char *strcpy( char *str1, char *str2)

यह स्ट्रिंग str2 को स्ट्रिंग str1 में कॉपी करता है, जिसमें अंतिम वर्ण (टर्मिनेटर चार string \ 0 'शामिल है)।

Example of strcpy:



#include <stdio.h>
#include <string.h>
int main()
{
     char s1[30] = "string 1";
     char s2[30] = "string 2 : I’m gonna copied into s1";
     /* this function has copied s2 into s1*/
     strcpy(s1,s2);
     printf("String s1 is: %s", s1);
     return 0;
}

Output:
String s1 is: string 2: Im gonna copied into s1

 सी स्ट्रिंग फ़ंक्शन - strncpy (C String function – strncpy)


char * strncpy (char * str1, char * str2, size_t n)
size_t अप्रमाणित लघु और n एक संख्या है।
Case1: यदि str2> n की लंबाई है तो यह str2 में str2 के पहले n वर्णों को कॉपी करता है।
Case2: यदि str2 <n की लंबाई है, तो यह str2 के सभी वर्णों को str1 में कॉपी करता है और इसे बनाने के लिए str1 की लंबाई को संचित करने के लिए कई टर्मिनेटर चार्ट (s \ 0 ') को जोड़ देता है।

#include <stdio.h>
#include <string.h>
int main()
{
     char first[30] = "string 1";
     char second[30] = "string 2: I’m using strncpy now";
     /* this function has copied first 10 chars of s2 into s1*/
     strncpy(s1,s2, 12);
     printf("String s1 is: %s", s1);
     return 0;
}
Output:
String s1 is: string 2: Im
 
 

C String function – strchr

char *strchr(char *str, int ch)

 
 यह कैरेक्टर ch के लिए स्ट्रिंग स्ट्रिंग्स को खोजता है (आप सोच रहे होंगे कि उपरोक्त परिभाषा में मैंने डेटा प्रकार के ch को int के रूप में दिया है, चिंता न करें मैंने कोई गलती नहीं की यह केवल int होना चाहिए। बात तब है जब हम कोई भी देते हैं। strchr का उपयोग करते समय चरित्र तब आंतरिक रूप से बेहतर खोज के लिए पूर्णांक में परिवर्तित हो जाता है।

Example of strchr:
#include <stdio.h>
#include <string.h>
int main()
{
     char mystr[30] = "I’m an example of function strchr";
     printf ("%s", strchr(mystr, 'f'));
     return 0;
}
Output:
f function strchr

C String function – Strrchr

char *strrchr(char *str, int ch)

यह फंक्शन स्ट्रच के समान है, एकमात्र अंतर यह है कि यह स्ट्रिंग को रिवर्स ऑर्डर में खोजता है, अब आप समझ गए होंगे कि स्ट्रैचर में हमारे पास अतिरिक्त आर क्यों है, हां आपने इसे सही माना है, यह केवल रिवर्स के लिए है।

अब एक ही उपरोक्त उदाहरण लेते हैं:

#include <stdio.h>
#include <string.h>
int main()
{
     char mystr[30] = "I’m an example of function strchr";
     printf ("%s", strrchr(mystr, 'f'));
     return 0;
}
Output:
function strchr

आउटपुट स्ट्रच से अलग क्यों है? ऐसा इसलिए है क्योंकि इसने स्ट्रिंग के अंत से खोज शुरू की और '‘' के बजाय 'फंक्शन' में पहली बार पाया।

C String function – strstr

char *strstr(char *str, char *srch_term)

यह strchr के समान है, सिवाय इसके कि यह एक एकल char के बजाय string srch_term को खोजता है।


Example of strstr:
#include <stdio.h>
#include <string.h>
int main()
{
     char inputstr[70] = "String Function in C at graphicdesigntutorialinhindi.COM";
     printf ("Output string is: %s", strstr(inputstr, 'Begi'));
     return 0;
}
Output:
Output string is: graphicdesigntutorialinhindi.COM

आप इस फ़ंक्शन का उपयोग स्ट्रच के स्थान पर भी कर सकते हैं क्योंकि आपको खोज_टरम स्ट्रिंग के स्थान पर सिंगल चार भी देने की अनुमति है।



Next Tutorial : - Functions in C Programming with examples in Hindi


0 Comments:

Post a Comment