C में तार (उदाहरण के साथ)

इस ट्यूटोरियल में, आप C प्रोग्रामिंग में स्ट्रिंग्स के बारे में जानेंगे। आप उन्हें घोषित करना, उन्हें इनिशियलाइज़ करना और उदाहरणों की मदद से विभिन्न I / O ऑपरेशन के लिए उपयोग करना सीखेंगे।

सी प्रोग्रामिंग में, एक स्ट्रिंग एक अशक्त चरित्र के साथ समाप्त वर्णों का एक क्रम है । उदाहरण के लिए:

 char c() = "c string"; 

जब कंपाइलर दोहरे उद्धरण चिह्नों में संलग्न वर्णों के अनुक्रम का सामना करता है, तो यह डिफ़ॉल्ट रूप से एक अशक्त चरित्र को जोड़ता है ।

कैसे एक स्ट्रिंग घोषित करने के लिए?

यहां बताया गया है कि आप कैसे स्ट्रिंग घोषित कर सकते हैं:

 char s(5); 

यहां, हमने 5 वर्णों की एक स्ट्रिंग घोषित की है।

स्ट्रिंग्स को इनिशियलाइज़ कैसे करें?

आप कई तरीकों से स्ट्रिंग्स को इनिशियलाइज़ कर सकते हैं।

 char c() = "abcd"; char c(50) = "abcd"; char c() = ('a', 'b', 'c', 'd', ''); char c(5) = ('a', 'b', 'c', 'd', ''); 

आइए एक और उदाहरण लेते हैं:

 char c(5) = "abcde";

यहां, हम 5 वर्णों वाले सरणी में 6 वर्ण (अंतिम वर्ण है '') असाइन करने का प्रयास कर रहे हैं char। यह बुरा है और आपको ऐसा कभी नहीं करना चाहिए।

स्ट्रिंग्स को मान सौंपना

अर्र और स्ट्रिंग्स सी में द्वितीय श्रेणी के नागरिक हैं; एक बार घोषित होने के बाद वे असाइनमेंट ऑपरेटर का समर्थन नहीं करते हैं। उदाहरण के लिए,

 char c(100); c = "C programming"; // Error! array type is not assignable.

नोट: स्ट्रिंग को कॉपी करने के लिए strcpy () फ़ंक्शन का उपयोग करें।

उपयोगकर्ता से स्ट्रिंग पढ़ें

आप scanf()एक स्ट्रिंग को पढ़ने के लिए फ़ंक्शन का उपयोग कर सकते हैं ।

scanf()समारोह पात्रों के अनुक्रम पढ़ता है जब तक यह मुठभेड़ों खाली स्थान के (अंतरिक्ष, न्यू लाइन, टैब, आदि)।

उदाहरण 1: एक स्ट्रिंग पढ़ने के लिए स्कैनफ ()

 #include int main() ( char name(20); printf("Enter name: "); scanf("%s", name); printf("Your name is %s.", name); return 0; ) 

आउटपुट

 नाम दर्ज करें: डेनिस रिची आपका नाम डेनिस है।

भले ही डेनिस रिची को उपरोक्त कार्यक्रम में प्रवेश किया गया था, केवल "डेनिस" नाम स्ट्रिंग में संग्रहीत किया गया था। ऐसा इसलिए है क्योंकि डेनिस के बाद एक जगह थी।

पाठ की एक पंक्ति कैसे पढ़ें?

आप fgets()स्ट्रिंग की एक पंक्ति को पढ़ने के लिए फ़ंक्शन का उपयोग कर सकते हैं । और, आप puts()स्ट्रिंग को प्रदर्शित करने के लिए उपयोग कर सकते हैं ।

उदाहरण 2: फ़िज़ेट्स () और डालता है ()

 #include int main() ( char name(30); printf("Enter name: "); fgets(name, sizeof(name), stdin); // read string printf("Name: "); puts(name); // display string return 0; ) 

आउटपुट

 नाम दर्ज करें: टॉम हैंक्स नाम: टॉम हैंक्स 

यहां, हमने fgets()उपयोगकर्ता से स्ट्रिंग पढ़ने के लिए फ़ंक्शन का उपयोग किया है ।

fgets(name, sizeof(name), stdlin); // read string

sizeof(name)30. इसलिए करने के लिए परिणाम है, हम जो नाम स्ट्रिंग के आकार है इनपुट के रूप में 30 से अधिक वर्ण नहीं ले जा सकते हैं।

स्ट्रिंग को प्रिंट करने के लिए, हमने उपयोग किया है puts(name);

नोट:gets() समारोह भी उपयोगकर्ता से इनपुट लेने के लिए हो सकता है। हालाँकि, इसे C मानक से हटा दिया जाता है।
यह इसलिए है क्योंकि gets()आप किसी भी वर्ण के इनपुट की अनुमति देता है। इसलिए, एक बफर अतिप्रवाह हो सकता है।

स्ट्रिंग्स को फंक्शन्स में पास करना

ऐरे के समान स्ट्रिंग्स को एक फ़ंक्शन में पास किया जा सकता है। किसी फ़ंक्शन में सरणियाँ पास करने के बारे में अधिक जानें।

उदाहरण 3: स्ट्रिंग को फंक्शन में भेजना

 #include void displayString(char str()); int main() ( char str(50); printf("Enter string: "); fgets(str, sizeof(str), stdin); displayString(str); // Passing string to a function. return 0; ) void displayString(char str()) ( printf("String Output: "); puts(str); ) 

स्ट्रिंग्स एंड पॉइंटर्स

सरणियों की तरह, स्ट्रिंग नामों को इंगित करने वालों के लिए "क्षय" किया जाता है। इसलिए, आप स्ट्रिंग के तत्वों में हेरफेर करने के लिए पॉइंटर्स का उपयोग कर सकते हैं। इस उदाहरण की जाँच करने से पहले हमने आपको C Arrays और पॉइंटर्स की जाँच करने की सलाह दी है।

उदाहरण 4: स्ट्रिंग्स एंड पॉइंटर्स

 #include int main(void) ( char name() = "Harry Potter"; printf("%c", *name); // Output: H printf("%c", *(name+1)); // Output: a printf("%c", *(name+7)); // Output: o char *namePtr; namePtr = name; printf("%c", *namePtr); // Output: H printf("%c", *(namePtr+1)); // Output: a printf("%c", *(namePtr+7)); // Output: o )

आमतौर पर इस्तेमाल किए जाने वाले स्ट्रिंग फ़ंक्शंस

  • strlen () - एक स्ट्रिंग की लंबाई की गणना करता है
  • strcpy () - एक स्ट्रिंग को दूसरे में कॉपी करता है
  • strcmp () - दो स्ट्रिंग्स की तुलना करता है
  • strcat () - दो स्ट्रिंग्स को समेटता है

दिलचस्प लेख...