সি লাইব্রেরি ফাংশন int strcoll(const char *str1, const char *str2) দুটি স্ট্রিং str1 ও str2 তুলনা করে। ফলাফল লোকেশনের LC_COLLATE সেটিং-এর ওপর নির্ভরশীল।
ক্যারেক্টারের অ্যারেকে স্ট্রিং বলা হয়।
ঘোষণা (Declaration)
অ্যারে ঘোষণার সিনট্যাক্স:
char stringname [size];
উদাহরণ: char string[50]; // ৫০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং
আরম্ভিকেশন (Initialization)
- সিঙ্গেল ক্যারেক্টার কনস্ট্যান্ট দিয়ে:
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'};
- স্ট্রিং কনস্ট্যান্ট দিয়ে:
char string[10] = "Hello";
অ্যাক্সেসিং - "%s" কন্ট্রোল স্ট্রিং ব্যবহার করে '\0' পাওয়া পর্যন্ত স্ট্রিং অ্যাক্সেস করা হয়।
strcoll() ফাংশন
এই ফাংশন strcmp() ফাংশনের মতই দুটি স্ট্রিং তুলনা করে এবং তুলনার ফলাফল অনুযায়ী ইন্টিজার রিটার্ন করে।
ঘোষণা
int strcoll(const char *string1, const char *string2)
এখানে,
- string1 = প্রথম স্ট্রিং
- string2 = দ্বিতীয় স্ট্রিং
রিটার্ন ভ্যালু
- > 0 : string1-এর প্রথম অমিল ক্যারেক্টারের ASCII ভ্যালু string2-এর চেয়ে বড় হলে
- < 0 : string1-এর প্রথম অমিল ক্যারেক্টারের ASCII ভ্যালু string2-এর চেয়ে ছোট হলে
- = 0 : দুটি স্ট্রিং সমান হলে
উদাহরণ ১
#include <stdio.h>
#include <string.h>
int main() {
char string1[20];
char string2[20];
int final;
strcpy(string1, "WELCOME");
strcpy(string2, "Welcome to the world!");
final = strcoll(string1, string2);
if (final > 0) {
printf("string1 is greater than string2");
} else if (final < 0) {
printf("string1 is less than string2");
} else {
printf("string1 and string2 are equal");
}
return 0;
}
আউটপুট
string1 is less than string2
উদাহরণ ২: রানটাইমে স্ট্রিং তুলনা
#include <stdio.h>
int main() {
char string1[20];
char string2[20];
int final;
printf("string1 দিন:\n");
gets(string1);
printf("string2 দিন:\n");
gets(string2);
final = strcoll(string1, string2);
if (final > 0) {
printf("string1 is greater than string2");
} else if (final < 0) {
printf("string1 is less than string2");
} else {
printf("string1 and string2 are equal");
}
return 0;
}
আউটপুট
string1 দিন: Tutorials Point string2 দিন: Point string1 is greater than string2