দুটি স্ট্রিং str1 এবং str2 দেওয়া থাকলে আমাদের চেক করতে হবে দুটি স্ট্রিং একই কিনা। যেন "hello" এবং "hello" দুটি স্ট্রিং দেওয়া থাকলে তারা আইডেন্টিক্যাল এবং একই।
আইডেন্টিক্যাল (Identical) হলো স্ট্রিংগুলো দেখতে সমান লাগে কিন্তু আসলে সমান নয় যেমন: "Hello" এবং "hello", এবং same (একই) হলো স্ট্রিংগুলো যা একদম একই যেমন: "World" এবং "World"।
উদাহরণ
ইনপুট: str1[] = {"Hello"}, str2[] = {"Hello"} আউটপুট: Yes 2 strings are same
ইনপুট: str1[] = {"world"}, str2[] = {"World"} আউটপুট: No, 2 strings are not same
নিচে ব্যবহৃত পদ্ধতি −
আমরা strcmp(string2, string1) ব্যবহার করতে পারি।
strcmp() স্ট্রিং কমপেয়ার ফাংশন হলো "string.h" হেডার ফাইলের একটি বিল্ট-ইন ফাংশন, এই ফাংশন দুটি প্যারামিটার গ্রহণ করে, দুটি স্ট্রিং। এই ফাংশন দুটি স্ট্রিং তুলনা করে এবং চেক করে দুটি স্ট্রিং একই কিনা এবং ০ রিটার্ন করে যদি স্ট্রিংয়ে কোনো পরিবর্তন নেই এবং নন-জিরো ভ্যালু রিটার্ন করে যদি দুটি স্ট্রিং একই নয়। এই ফাংশন কেস-সেনসিটিভ (case-sensitive), মানে দুটি স্ট্রিং একদম একই হতে হবে।
- সুতরাং আমরা দুটি স্ট্রিং ইনপুট হিসেবে নেব।
- strcmp() ব্যবহার করে দুটি স্ট্রিং প্যারামিটার হিসেবে পাস করব
- যদি সেটি শূন্য রিটার্ন করে তবে "Yes 2 strings are same" প্রিন্ট করব
- অন্যথায় "No, 2 strings are not same" প্রিন্ট করব।
অ্যালগরিদম
Start
function int main(int argc, char const *argv[]) এ
ধাপ ১ → দুটি স্ট্রিং string1[] এবং string2[] ডিক্লেয়ার ও ইনিশিয়ালাইজ
ধাপ ২ → If strcmp(string1, string2) == 0 then,
Print "Yes 2 strings are same\n"
ধাপ ৩ → else
Print "No, 2 strings are not same\n"
Stop
উদাহরণ
#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[]) {
char string1[] = {"tutorials point"};
char string2[] = {"tutorials point"};
// strcmp() ফাংশন ব্যবহার করে দুটি স্ট্রিং তুলনা
if (strcmp(string1, string2) == 0)
printf("Yes 2 strings are same\n");
else
printf("No, 2 strings are not same\n" );
return 0;
}
আউটপুট
উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে −
Yes 2 strings are same