पुस्तकालय कई स्ट्रिंग खोज कार्य भी प्रदान करता है, जो इस प्रकार हैं -
char *strchr (const char *string, intc); | स्ट्रिंग में वर्ण c की पहली आवृत्ति का पता लगाएं। |
char "strrchr (const char "string, intc); | स्ट्रिंग में वर्ण c की अंतिम बारंबारता का पता लगाएं। |
char *strpbrk (const char *s1,const char *s2); | स्ट्रिंग s2 से किसी भी वर्ण की स्ट्रिंग s1 में पहली घटना के लिए एक सूचक देता है, या एक अशक्त सूचक यदि s2 से कोई वर्ण s1 में मौजूद नहीं है। |
size_t strspn (const char *s1, const char *s2); | s1 की शुरुआत में s2 से मेल खाने वाले वर्णों की संख्या देता है। |
size_t strcspn (const char *51, const char *s2); | s1 की शुरुआत में वर्णों की संख्या देता है जो नहीं मैच s2। |
char *strtok (char *s1,const char *s2); | सी द्वारा इंगित स्ट्रिंग को टोकन के अनुक्रम में तोड़ें, जिनमें से प्रत्येक को s2 द्वारा इंगित स्ट्रिंग से एक या अधिक वर्णों द्वारा सीमांकित किया जाता है। |
char *strtok_r (char *s1,const char *s2, char | की वही कार्यक्षमता है जो strtok () को छोड़कर ** रहती है); कि एक स्ट्रिंग प्लेसहोल्डर के लिए एक सूचक को कॉलर द्वारा आपूर्ति की जानी चाहिए। |
strchr () और strrchr () उपयोग करने में सबसे सरल हैं।
उदाहरण 1
स्ट्रिंग खोज फ़ंक्शन के लिए C प्रोग्राम निम्नलिखित है:-
#include <string.h> #include <stdio.h> void main(){ char *str1 = "Hello"; char *ans; ans = strchr (str1,'l'); printf("%s\n", ans); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
llo
इस निष्पादन के बाद, उत्तर स्थान str1 + 2 की ओर इशारा करता है।
strpbrk () एक अधिक सामान्य कार्य है जो किसी भी वर्ण समूह की पहली घटना की खोज करता है।
उदाहरण 2
strpbrk () फ़ंक्शन के उपयोग के लिए C प्रोग्राम निम्नलिखित है:-
#include <string.h> #include <stdio.h> void main(){ char *str1 = "Hello"; char *ans; ans = strpbrk (str1,"aeiou"); printf("%s\n",ans); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
ello
यहां, ans स्थान str1 + 1 की ओर इशारा करता है, पहले e का स्थान।