फ़ंक्शन strcoll() का उपयोग दो स्ट्रिंग्स की तुलना लोकेल-स्पेसिफिक कोलेटिंग सीक्वेंस का उपयोग करके करने के लिए किया जाता है।
यह लौटाता है:
- शून्य, जब दोनों स्ट्रिंग्स समान हों
- शून्य से बड़ा मान जब पहली स्ट्रिंग दूसरी से बड़ी हो
- शून्य से कम मान, जब पहली स्ट्रिंग दूसरी से छोटी हो
यहां C भाषा में strcoll() का सिंटैक्स है:
int strcoll(const char *first_string, const char *second_string);
यहां C भाषा में strcoll() का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <string.h>
#include <locale.h>
int main() {
setlocale(LC_ALL, ""); // सिस्टम लोकेल सेट करें
const char s1[] = "Helloworld";
const char s2[] = "Blank";
int result = strcoll(s1, s2);
if (result > 0)
printf("स्ट्रिंग s1, स्ट्रिंग s2 से बड़ी है");
else if (result < 0)
printf("स्ट्रिंग s1, स्ट्रिंग s2 से छोटी है");
else
printf("स्ट्रिंग्स समान हैं");
return 0;
}
आउटपुट
स्ट्रिंग s1, स्ट्रिंग s2 से बड़ी है
strcoll() और strcmp() में अंतर:
| विशेषता | strcmp() | strcoll() |
|---|---|---|
| तुलना प्रकार | बाइट-बाय-बाइट (लेक्सिकोग्राफिकल) | लोकेल-अवेयर (सांस्कृतिक क्रम) |
| लोकेल निर्भरता | नहीं | हां (LC_COLLATE) |
| उपयोग | सामान्य तुलना | यूजर-फेसिंग सॉर्टिंग/तुलना |
| प्रदर्शन | तेज़ | धीमा (लोकेल प्रोसेसिंग) |
उदाहरण लोकेल अंतर: जर्मन में 'ß' 'ss' के बराबर है, स्वीडिश में 'å' 'z' के बाद आता है, आदि।