ऊपर दिखाए गए उदाहरण में, स्ट्रिंग की लंबाई पी 6 है।
इस ट्यूटोरियल में, सबसे पहले, हम दिखाएंगे कि a . का उपयोग कैसे किया जाता है उपयोगकर्ता परिभाषित समारोह एक स्ट्रिंग की लंबाई की गणना करने के लिए, और फिर हम आपको एक अंतर्निहित लाइब्रेरी फ़ंक्शन दिखाएंगे स्ट्रेलेन () . हम आपको इसके उपयोग भी दिखाते हैं का आकार स्ट्रिंग अक्षर के लिए ऑपरेटर।
उपयोगकर्ता परिभाषित फ़ंक्शन का उपयोग करके स्ट्रिंग की लंबाई
आप एक उपयोगकर्ता परिभाषित फ़ंक्शन लिख सकते हैं जो एक स्ट्रिंग में वर्णों की संख्या देता है।
// उदाहरण1.c
#शामिल
NSस्ट्रिंग लंबाई(char *पी)
{
NSमैं=0;
जबकि(पी[मैं] ! = ' 0')मैं++;
वापसीमैं;
}
NSमुख्य()
{
charपी[30]= 'डोरी';
printf ('स्ट्रिंग की लंबाई str है => %dएन',स्ट्रिंग लंबाई(पी));
वापसी 0;
}
यहां, हम जबकि लूप को पुनरावृत्त करते हैं मैं = 0 जब तक हमारा सामना नहीं होता ' 0' चरित्र। का मूल्य मैं द्वारा बढ़ाया जाता है 1 जबकि लूप के प्रत्येक पुनरावृत्ति में। जब लूप समाप्त होता है, तो का मान मैं स्ट्रिंग की लंबाई है।
अंतर्निहित लाइब्रेरी फ़ंक्शन का उपयोग करके स्ट्रिंग की लंबाई
बिल्ट-इन लाइब्रेरी फंक्शन स्ट्रेलेन () स्ट्रिंग लंबाई निर्धारित करने के लिए भी इस्तेमाल किया जा सकता है।
स्ट्रेल () फ़ंक्शन:
शीर्ष लेख फ़ाइल:
डोरी।एचवाक्य - विन्यास:
size_t स्ट्रेलेन (स्थिरांक char *पी)तर्क: यह फ़ंक्शन टाइप पॉइंटर से चार तक का तर्क लेता है।
प्रतिलाभ की मात्रा: यह फ़ंक्शन स्ट्रिंग की लंबाई लौटाता है पी . ध्यान दें कि size_t एक अहस्ताक्षरित पूर्णांक का सिर्फ एक उपनाम है।
//उदाहरण2.c#शामिल
#शामिल
NSमुख्य()
{
charstr1[30]='स्ट्रिंग ऐरे';
char *str2;
char *str3;
str2=str1;
str3= 'स्ट्रिंग सूचक';
printf ('स्ट्रिंग की लंबाई str1 है => %ldएन', स्ट्रेलेन (str1));
printf ('स्ट्रिंग की लंबाई str2 है => %ldएन', स्ट्रेलेन (str2));
printf ('स्ट्रिंग की लंबाई str3 है => %ldएन', स्ट्रेलेन (str3));
printf ('स्ट्रिंग की लंबाई'स्ट्रिंग अक्षर' है => %ldएन', स्ट्रेलेन ('स्ट्रिंग लिटरल्स'));
वापसी 0;
}
यहां, हम स्ट्रिंग सरणी, स्ट्रिंग पॉइंटर, और स्ट्रिंग अक्षर को स्ट्रेल फ़ंक्शन में पास करते हैं, और फ़ंक्शन स्ट्रिंग की लंबाई लौटाता है।
आकार के ऑपरेटर का उपयोग करके स्ट्रिंग की लंबाई
हम भी उपयोग कर सकते हैं का आकार स्ट्रिंग लंबाई के लिए ऑपरेटर (केवल स्ट्रिंग शाब्दिक के लिए)। लेकिन, हमें इस ऑपरेटर द्वारा लौटाए गए मान से 1 घटाना होगा, क्योंकि यह ' ' वर्ण को भी गिनता है। सरणी और सूचक के लिए, sizeof ऑपरेटर क्रमशः सरणी और सूचक के आवंटित आकार को लौटाता है।
// उदाहरण3.c#शामिल
NSमुख्य()
{
charstr1[30] = 'डोरी';
char *str2=str1;
printf ('लंबाई की 'डोरी' है => %dएन',(का आकार('डोरी') - 1));
printf ('str1 सरणी का आवंटित आकार => %d . हैएन',का आकार(str1));
printf ('str2 सूचक का आकार => %d . हैएन',का आकार(str2));
वापसी 0;
}
यहां, पंक्ति संख्या 9 में, हम स्ट्रिंग शाब्दिक STRING पास करते हैं और ' ' वर्ण सहित आकार प्राप्त करते हैं। इसलिए, हम 1 घटाते हैं और स्ट्रिंग का वास्तविक आकार प्राप्त करते हैं।
जब हम आकार के ऑपरेटर को एक सरणी पास करते हैं, तो यह सरणी का आवंटित आकार देता है, जो कि 30 है, और एक वर्ण सूचक पास करते समय, यह सूचक का आकार देता है।
निष्कर्ष
इसलिए, इस ट्यूटोरियल में, हमने आपको दिखाया है कि स्ट्रिंग की लंबाई की गणना विभिन्न तरीकों से कैसे की जा सकती है। आप अपने कोड में उपयोग कर सकते हैं जो भी विधि आपके लिए सबसे उपयुक्त है।