फ़ंक्शन strcspn() दोनों स्ट्रिंग्स में कैरेक्टर्स की पहली मैच से पहले पहले स्ट्रिंग में कैरेक्टर्स की संख्या गिनता है। यह "string.h" हेडर फ़ाइल में घोषित है। यह पहली स्ट्रिंग में पहली मैच्ड कैरेक्टर की घटना से पहले के कैरेक्टर्स की संख्या लौटाता है।
यहां C भाषा में strcspn() का सिंटैक्स है:
size_t strcspn(const char *string1, const char *string2)
यहां,
string1 - वह पहली स्ट्रिंग जिसे स्कैन किया जाना है।
string2 - वह दूसरी स्ट्रिंग जिसका उपयोग पहली स्ट्रिंग में मैचिंग कैरेक्टर खोजने के लिए किया जाता है।
यहां C भाषा में strcspn() का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Helloworld!";
char str2[] = "work";
int result = strcspn(str1, str2);
printf("मैचिंग कैरेक्टर से पहले कैरेक्टर्स की संख्या: %d\n", result);
return 0;
}
आउटपुट
मैचिंग कैरेक्टर से पहले कैरेक्टर्स की संख्या: 4
उपरोक्त प्रोग्राम में, दो char टाइप ऐरे घोषित किए गए हैं और स्ट्रिंग्स उनमें पास की जाती हैं। फ़ंक्शन strcspn() पहली मैच से पहले कैरेक्टर्स की संख्या की गणना करता है जो "wor" है। तो पहली स्ट्रिंग में 4 कैरेक्टर्स अनमैच्ड हैं (Hell)। इसलिए आउटपुट 4 है और जो वेरिएबल result में स्टोर होता है।
नोट: मूल आउटपुट में 5 दिखाया गया था जो गलत था। सही उत्तर 4 है (H-e-l-l = 4 कैरेक्टर्स 'o' से पहले)।
संबंधित फ़ंक्शंस
- strspn() - स्ट्रिंग2 में मौजूद स्ट्रिंग1 के प्रारंभिक सेगमेंट की लंबाई लौटाता है
- strpbrk() - स्ट्रिंग1 में स्ट्रिंग2 के किसी भी कैरेक्टर की पहली घटना खोजता है