মডিউল ১১-১ঃ স্ট্রিং কপি

এখন আমরা একটি স্ট্রিং কপি করে আরেকটি স্ট্রিং এ নিয়ে যাব। এটা আমরা খুব সিম্পলি একটি লুপ চালিয়ে করে ফেলতে পারি। যেই স্ট্রিং টিকে কপি করতে চাচ্ছি সেই স্ট্রিং টির উপর লুপ চালাবো। লুপ চালিয়ে সেই স্ট্রিং টির প্রতিটি ইন্ডেক্সে যেয়ে ওই ইন্ডেক্সে থাকা ভেলুটি কপি করে যেই স্ট্রিং এ রাখতে চাচ্ছি ওটার সেইম ইন্ডেক্সে রেখে দিতে পারি।

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

এবার এই সেইম কাজটি আমরা বিল্ট-ইন ফাংশন ব্যাবহার করে করব। স্ট্রিং কপি করার জন্য সি প্রোগ্রামিং এ একটি বিল্ট-ইন ফাংশন আছে। strcpy() এই ফাংশনের মধ্যে দুটি স্ট্রিং দিতে হয়। তাহলে এই ফাংশন দ্বিতীয় স্ট্রিং টি কপি করে এনে প্রথম স্ট্রিং এ বসিয়ে দেয়।

#include<stdio.h>
#include<string.h>   
int main()
{
    char a[100],b[100];   
    scanf("%s %s",&a ,&b);    
    strcpy(a,b);        // এই ফাংশন দ্বিতীয় স্ট্রিং টি কপি করে এনে প্রথম স্ট্রিং এ বসিয়ে দেয়।
    printf("%s %s",a,b);  
    return 0;
}

বিল্ট-ইন ফাংশন ব্যাবহার করার আগে আমরা নিজেরা করে দেখেছি যাতে আমরা বুঝতে পারি এই বিল্ট-ইন ফাংশনগুলো কিভাবে কাজ করে।

Last updated