মডিউল ১১-৪ঃ স্ট্রিং কনকেটিনেশন

এবার আমরা দেখব কিভাবে একটি স্ট্রিংকে আরেকটি স্ট্রিং এর সাথে কনকেট করা যায় অর্থাৎ শেষে এড করে দেওয়া যায়। সিম্পলি লুপ চালিয়ে করে ফেলতে পারি আমরা। এক্ষেত্রে প্রথম স্ট্রিং এর ক্ষেত্রে লুপ চালানো শুরু করতে পারি প্রথম স্ট্রিং এর লেন্থ থেকে, কারন আমরা এই স্ট্রিং এর লেন্থ থেকে নতুন স্ট্রিং এড করা শুরু করব। আর দ্বিতীয় স্ট্রিং এর ক্ষেত্রে লুপ চালানো শুরু করতে পারি ০ থেকে, কারন এই স্ট্রিং এর শুরু থেকেই এড হতে থাকবে প্রথম স্ট্রিং এ।

#include<stdio.h>
#include<string.h>
int main()
{
    char a[200],b[100];
    scanf("%s %s",a,b);    // দুটি স্ট্রিং ইনপুট নেওয়া হচ্ছে।
    int k=strlen(a);       // প্রথম স্ট্রিং এর লেন্থ বের করে একটি ভেরিয়েবলে স্টোর করে রাখা হচ্ছে। পরবর্তীতে এই ভেরিয়েবল দিয়েই প্রথম স্ট্রিং এর জন্য লুপ চালানো হবে।
    for(int i=0;i<=strlen(b);i++)    // ০ থেকে দ্বিতীয় স্ট্রিং এর লেন্থ পর্যন্ত লুপ চালানো হচ্ছে।
    {
        a[k]=b[i];         // প্রথম স্ট্রিং এর লেন্থ এর পর থেকে একটি একটি করে দ্বিতীয় স্ট্রিং এর সবগুলো ক্যারেক্টার রেখে দেওয়া হচ্ছে। লুপ এখন প্রথম স্ট্রিং এর কোন ইন্ডেক্সে আছে তা ট্রাক রাখার জন্য k ভেরিয়েবলটি ব্যাবহার করা হচ্ছে।
        k++;               // প্রতিবার k এর মান ১ করে বাড়ানো হচ্ছে।
    }
    printf("%s %s",a,b);    // লুপ শেষে প্রিন্ট করলে দেখা যাবে প্রথম স্ট্রিং এর শেষে দ্বিতীয় স্ট্রিং এড হয়ে গিয়েছে।
    return 0; 
}

এবার আমরা এই কনকেট করার কাজটি একটি বিল্ট-ইন ফাংশন ব্যাবহার করে করব। ফাংশনটি হলো strcat()। এই ফাংশনে দুটি স্ট্রিং দেওয়া হয়, সে দ্বিতীয় স্ট্রিংটি প্রথম স্ট্রিং এর শেষে এড করে দেয়।

#include<stdio.h>
#include<string.h>
int main()
{
    char a[200],b[100];
    scanf("%s %s",a,b);
    strcat(a,b);       // প্রথম স্ট্রিং এর শেষে দ্বিতীয় স্ট্রিং পুরোটা এড হয়ে যাবে।
    printf("%s %s",a,b);
    return 0;
}

Last updated