কম্পিউটার টিউটোরিয়াল

C++-এ String at() মেথড ব্যবহার


সারসংক্ষেপ

এই সংক্ষিপ্ত টিউটোরিয়ালে C++ String ক্লাসের at() ফাংশনালিটির ওভারভিউ দেওয়া হয়েছে যাতে স্ট্রিং থেকে ক্যারেক্টার সিকোয়েন্স এক্সেস করা যায়। আগামী সেকশনে স্ট্রিং ক্লাস প্রোগ্রামিং উদাহরণের মাধ্যমে at() ফাংশনের ম্যানিপুলেশন বুঝতে পারবেন।

String ক্লাস

প্রোগ্রামিং ভাষায় স্ট্রিংস সাধারণত ডাবল কোটেশন চিহ্নিত, যাতে ক্যারেক্টার 콜েকশন থাকে। স্ট্রিং ক্লাস একটি কন্টেইনার ক্লাসও, যা ইটারেটর অপারেটর [] ব্যবহার করে এর সব ক্যারেক্টার ওভার ইটারেট করতে দেয়। বরং, String ক্লাস মেমরি এবং নাল টার্মিনেশন সংক্রান্ত সকল অপারেশন হ্যান্ডেল করে। কোম্পারিজন, কপিइং, কনক্যাটেনেশন, সার্চিং, সর্টিং ইত্যাদি অনেক স্ট্রিং অপারেশন এর এসেনশিয়াল ফাংশনগুলো ব্যবহার করে করা যায়, যার মধ্যে একটি গুরুত্বপূর্ণ মেথড at() যা স্ট্রিং-এর নির্দিষ্ট পজিশন থেকে ক্যারেক্টার এক্সট্র্যাক্ট করতে ব্যবহৃত হয়।

String.at() মেথড

String ক্লাসের at() মেথডটি একটি স্ট্রিং-এ অবস্থিত নির্দিষ্ট ক্যারেক্টার এক্সেস করার জন্য ডিজাইন করা হয়েছে। এটি স্বয়ংক্রিয়ভাবে আঙ্কন করে যে pos কি দिये गये স্ট্রিং-এ একটি ক্যারেক্টারের বৈধ পজিশন নয়, যদি না হয় তবে এটি out_of_range এক্সেপশন থ্রো করে। সিনট্যাক্স ব্যবহার নিচে:

সিনট্যাক্স

char& at (size_type id); 
const char& at (size_t pos) const;

নিচের C++ প্রোগ্রাম কনস্ট্রাক্টে String ক্লাসের at() মেথডের ব্যবহার দেখানো হয়েছে যেখানে প্রোগ্রাম প্রথমে ইনপুট স্ট্রিংর দৈর্ঘ্য নির্ণয় করে, তারপর at() মেথড দিয়ে স্ট্রিং-এ নির্দিষ্ট পজিশন থেকে ক্যারেক্টারগুলো রিট্রিভ করে:

উদাহরণ

#include <iostream> 
using namespace std; 

void retrieveChar(string str) { 
    char chr; 
    // স্ট্রিংর দৈর্ঘ্য ক্যালকুলেট করা 
    int len = str.length(); 
    // ক্যারেক্টার রিট্রিভ করা 
    for (int i = 0; i < len; i++) { 
        chr = str.at(i); 
        cout << chr << " "; 
    } 
} 

int main() { 
    retrieveChar("ajaykumar"); 
    return 0; 
}

উপরের কোডে দেখা যাচ্ছে যে, স্ট্রিং অপারেশন सम्बन्धিত সমস্ত কোড retrieveChar() মেথডে বান্ডেল করা হয়েছে, যা পরবর্তীতে প্রোগ্রামের main() এক্সিকিউশনে কল করা হয়। উদাহরণ.CPP ফাইল সফলভাবে কম্পাইল হওয়ার পর, নিচের আউটপুট উত্পন্ন হয় যেখানে ইনপুট স্ট্রিং থেকে ক্যারেক্টারগুলো সিকোয়েনশিয়ালি String ক্লাসের at() মেথড দ্বারা এক্সেস করা হয়েছে:

a j a y k u m a r

সিকিউরিটি নোট

বিভিন্ন সোর্স থেকে ইনপুট নেওয়া স্ট্রিংস সিকিউরিটি স্পেশালিস্টদের জন্য বিশেষ চিন্তার বিষয় কারণ এটি ডিফল্ট বিহেভিয়ার এবং প্রোগ্রামের আউটপুট পরিবর্তন করার মাধ্যম করে দেয় এক্সটার্ন্যাল ম্যালিশিয়াস আউটপুট এবং ব্ল্যাক 햇 হ্যাকিং ট্যাকটিক্সের। হ্যাকাররা স্ট্রিং রিপ্রেজেন্টেশন ভালনারেবিলিটির দুর্বলতাকে এক্সপ্লอยট করে প্রোগ্রামে фаটাল ক্ষতি করাতে পারে। তাই প্রোগ্রামে উপযুক্ত স্ট্রিং-রিলেটেড মেজার এবং গাইডলাইন নিশ্চিত করা অত্যন্ত প্রয়োজন যাতে যেকোনো হুমকি নিষ্প্রভ করা যায়।

উপসংহার

তবে, আমরা স্ট্রিং ক্লাস এবং এর কোর মেথড at() এর সাথে এর ব্যবহার সিনট্যাক্স নিয়ে গভীরে যান telah একটি স্ট্রিং-এ থেকে ক্যারেক্টার সিকোয়েনশিয়ালি এক্সেস করার একাউন্টে পূর্বোক্ত কোড স্নিপেটে। শেষে, আমরা স্ট্রিং-রিলেটেড ভালনারেবিলিটি এবং উইক রিপ্রেজেন্টেশনের একটি সারফেস টাচ পেয়েছি যা প্রায়শই এক্সপ্লোইটেশনের দিকে নিয়ে যায় যেমন বাফার ওভারফ্লো, ক্রস-সাইট স্ক্রিপ্টিং, ফরম্যাট স্ট্রিং, ক্যানোনিকালাইজেশন, এবং অন্যান্য nhiều বিখ্যাত বাগ।


  1. C++-এ লোকাল ক্লাস

  2. C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা

  3. C#-তে StringCollection ক্লাসের সম্পূর্ণ পরিচয় এবং ব্যবহার

  4. C#-এ স্ট্রিং ক্লাস (String Class)