স্ট্রিং (string) হলো অক্ষরের একটি ক্রম, যা C++ প্রোগ্রামিংয়ে পাঠ্য তথ্য সংরক্ষণ ও পরিচালনার জন্য ব্যবহৃত হয়। C++ এ স্ট্রিং ব্যবহারের জন্য দুটি প্রধান পদ্ধতি রয়েছে:
- C-স্টাইল স্ট্রিং: এটি মূলত C প্রোগ্রামিং থেকে আসে এবং
string.hলাইব্রেরি ব্যবহার করে। - C++ স্ট্যান্ডার্ড স্ট্রিং ক্লাস: C++ এর
stringক্লাস, যা<string>হেডার ফাইল ব্যবহার করে।
১. C-স্টাইল স্ট্রিং এবং string.h লাইব্রেরি
C-স্টাইল স্ট্রিং মূলত অক্ষরের একটি অ্যারে হিসাবে সংরক্ষিত হয়, এবং এটি \0 (null character) দিয়ে শেষ হয়। C++ এ string.h (বা cstring) লাইব্রেরি C-স্টাইল স্ট্রিং পরিচালনার জন্য বিভিন্ন ফাংশন সরবরাহ করে, যেমন strlen, strcpy, strcmp, ইত্যাদি।
C-স্টাইল স্ট্রিং উদাহরণ
#include <iostream>
#include <cstring> // string.h এর পরিবর্তে cstring ব্যবহার করা হচ্ছে
using namespace std;
int main() {
char str1[20] = "Hello";
char str2[20] = "World";
// স্ট্রিং লম্বা নির্ণয়
cout << "Length of str1: " << strlen(str1) << endl;
// স্ট্রিং অনুলিপি করা
strcpy(str1, str2);
cout << "After copying, str1: " << str1 << endl;
// স্ট্রিং মিলানো
if (strcmp(str1, str2) == 0) {
cout << "str1 and str2 are equal" << endl;
} else {
cout << "str1 and str2 are not equal" << endl;
}
return 0;
}
string.h লাইব্রেরির প্রধান ফাংশনসমূহ
| ফাংশন | কাজ |
|---|---|
strlen | স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করে |
strcpy | একটি স্ট্রিং অন্য স্ট্রিংয়ে অনুলিপি করে |
strcat | দুটি স্ট্রিং যোগ করে |
strcmp | দুটি স্ট্রিং তুলনা করে |
strncpy | নির্দিষ্ট সংখ্যক অক্ষর একটি স্ট্রিং থেকে অন্য স্ট্রিংয়ে অনুলিপি করে |
strstr | একটি স্ট্রিংয়ের মধ্যে অন্য একটি স্ট্রিং অনুসন্ধান করে |
উদাহরণ: strlen, strcpy, এবং strcmp এর ব্যবহার
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[] = "Programming";
char str2[20];
// strlen ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য নির্ণয়
cout << "Length of str1: " << strlen(str1) << endl;
// strcpy ব্যবহার করে স্ট্রিং অনুলিপি
strcpy(str2, str1);
cout << "Copied str2: " << str2 << endl;
// strcmp ব্যবহার করে স্ট্রিং তুলনা
if (strcmp(str1, str2) == 0) {
cout << "str1 and str2 are equal." << endl;
} else {
cout << "str1 and str2 are not equal." << endl;
}
return 0;
}
২. C++ স্ট্যান্ডার্ড string ক্লাস এবং <string> লাইব্রেরি
C++ এ string ক্লাস ব্যবহার করে স্ট্রিং পরিচালনা করা আরও সহজ এবং কার্যকর। এটি <string> হেডার ফাইল অন্তর্ভুক্ত করে ব্যবহৃত হয় এবং C++ এর স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির (STL) অংশ।
string ক্লাস উদাহরণ
#include <iostream>
#include <string> // C++ string লাইব্রেরি
using namespace std;
int main() {
string str1 = "Hello";
string str2 = "World";
// স্ট্রিং যোগ করা
string str3 = str1 + " " + str2;
cout << "Concatenated string: " << str3 << endl;
// স্ট্রিং দৈর্ঘ্য
cout << "Length of str3: " << str3.length() << endl;
// সাবস্ট্রিং খুঁজে বের করা
cout << "Substring of str3: " << str3.substr(0, 5) << endl;
// স্ট্রিং তুলনা
if (str1 == str2) {
cout << "str1 and str2 are equal." << endl;
} else {
cout << "str1 and str2 are not equal." << endl;
}
return 0;
}
C++ string ক্লাসের প্রধান ফাংশনসমূহ
| ফাংশন | কাজ |
|---|---|
length | স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করে |
size | স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করে (length এর সমতুল্য) |
empty | স্ট্রিং খালি কিনা তা পরীক্ষা করে |
substr | সাবস্ট্রিং প্রদান করে |
find | স্ট্রিংয়ের মধ্যে নির্দিষ্ট সাবস্ট্রিং অনুসন্ধান করে |
append | স্ট্রিংয়ের শেষে আরও স্ট্রিং যোগ করে |
compare | দুটি স্ট্রিং তুলনা করে |
clear | স্ট্রিং খালি করে |
replace | স্ট্রিংয়ের নির্দিষ্ট অংশ প্রতিস্থাপন করে |
উদাহরণ: length, substr, এবং find এর ব্যবহার
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Welcome to C++ Programming";
// স্ট্রিং দৈর্ঘ্য
cout << "Length of text: " << text.length() << endl;
// সাবস্ট্রিং তৈরি
string subText = text.substr(11, 3); // "C++" অংশটি খুঁজে বের করে
cout << "Substring: " << subText << endl;
// স্ট্রিংয়ের মধ্যে নির্দিষ্ট শব্দ খোঁজা
size_t position = text.find("C++");
if (position != string::npos) {
cout << "'C++' found at position: " << position << endl;
} else {
cout << "'C++' not found." << endl;
}
return 0;
}
বর্ণনা:
text.length(): স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ করে।text.substr(11, 3):textস্ট্রিং থেকে ১১ নম্বর অবস্থান থেকে ৩টি অক্ষরের সাবস্ট্রিং খুঁজে বের করে।text.find("C++"):textস্ট্রিংয়ের মধ্যে"C++"শব্দটি অনুসন্ধান করে।
C-স্টাইল স্ট্রিং বনাম C++ string ক্লাস
| বৈশিষ্ট্য | C-স্টাইল স্ট্রিং (string.h) | C++ string ক্লাস |
|---|---|---|
| ঘোষণার ধরন | ক্যারেক্টার অ্যারের উপর ভিত্তি করে | string ক্লাস অবজেক্ট |
| কার্যকারিতা | সীমিত কার্যকারিতা | বিভিন্ন ধরনের কার্যকরী ফাংশন প্রদান |
| পরিচালনা | ম্যানুয়াল অপারেশন প্রয়োজন | স্ট্যান্ডার্ড লাইব্রেরির মাধ্যমে সহজ |
| ব্যবহারিক ক্ষেত্রে | সি এবং কমপ্যাটিবিলিটির জন্য | C++ প্রোগ্রামিংয়ে আরও সুবিধাজনক |
সারসংক্ষেপ
- C-স্টাইল স্ট্রিং
string.hবাcstringলাইব্রেরি ব্যবহার করে এবং ক্যারেক্টার অ্যারের উপর ভিত্তি করে তৈরি। - C++
stringক্লাস C++ এ স্ট্রিং ব্যবহারের জন্য আরও সুবিধাজনক এবং<string>হেডার ফাইল অন্তর্ভুক্ত করে। - C++ এর
stringক্লাস ব্যবহার করে স্ট্রিং পরিচালনা করা সহজ এবং স্ট্রিং নিয়ে কাজ করার জন্য অনেক ফাংশন রয়েছে, যা প্রোগ্রামিংকে আরও কার্যকর এবং সহজ করে তোলে।
C++ প্রোগ্রামিংয়ে স্ট্রিং নিয়ে কাজ করার সময় সাধারণত C++ string ক্লাস ব্যবহারের পরামর্শ দেওয়া হয়, কারণ এটি আরো সুবিধাজনক এবং আধুনিক প্রোগ্রামিং পদ্ধতিতে বেশি কার্যকর।