Skill

স্ট্রিং এবং স্ট্রিং ম্যানিপুলেশন

সি প্রোগ্রামিং উদাহরণ (C Examples) - Computer Science

501

স্ট্রিং হলো সি প্রোগ্রামিং ভাষায় একগুচ্ছ ক্যারেক্টারের ক্রম যা সাধারণত char অ্যারে হিসেবে সংরক্ষিত হয়। এটি মূলত একটি char ডেটা টাইপের অ্যারে, যেখানে প্রতিটি ক্যারেক্টার ধারাবাহিকভাবে সংরক্ষিত থাকে এবং স্ট্রিংয়ের শেষে \0 (নাল ক্যারেক্টার) দিয়ে নির্দেশ করা হয় যে স্ট্রিংটি শেষ হয়েছে।

স্ট্রিং ঘোষণা ও ইনিশিয়ালাইজেশন

স্ট্রিং ঘোষণার সময় একটি char অ্যারে ব্যবহার করা হয় এবং ইচ্ছানুযায়ী ইনিশিয়ালাইজ করা যায়।

char name[10] = "Alice"; // "Alice" শব্দটি একটি স্ট্রিং হিসেবে ইনিশিয়ালাইজ করা হয়েছে

এখানে name অ্যারে A, l, i, c, e, এবং \0 ক্যারেক্টার ধারণ করে, অর্থাৎ মোট ৬টি স্পেস দখল করে।

ইনিশিয়ালাইজেশন ছাড়াও স্ট্রিং ঘোষণা করা যায়

char greeting[6];

স্ট্রিং ইনপুট এবং আউটপুট

সি প্রোগ্রামে printfscanf ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট নেয়া যায়। তবে scanf দিয়ে স্ট্রিং ইনপুট নিলে এটি স্পেস পর্যন্ত ইনপুট নেয়। সম্পূর্ণ বাক্য ইনপুট নিতে gets বা fgets ব্যবহার করা হয়।

#include <stdio.h>

int main() {
    char name[20];

    printf("Enter your name: ");
    scanf("%s", name); // স্পেস ছাড়া ইনপুট নেয়
    printf("Hello, %s!\n", name);

    return 0;
}

আউটপুট:

Enter your name: Alice
Hello, Alice!

বিঃ দ্রঃ: scanf স্পেসের পর ইনপুট নেয় না। পুরো বাক্য ইনপুটের জন্য gets() বা fgets() ব্যবহার করা হয়।

স্ট্রিং ম্যানিপুলেশন ফাংশন

সি ভাষায় string.h লাইব্রেরিতে স্ট্রিং ম্যানিপুলেশনের জন্য বিভিন্ন ফাংশন রয়েছে, যা স্ট্রিংয়ের দৈর্ঘ্য বের করা, দুটি স্ট্রিং যোগ করা, তুলনা করা, কপি করা ইত্যাদি কাজে ব্যবহৃত হয়।

১. strlen() ফাংশন

strlen ফাংশন স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ করে (নাল ক্যারেক্টার ছাড়া)।

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    int length = strlen(str);
    printf("Length of string: %d\n", length);
    return 0;
}

আউটপুট:

Length of string: 13

২. strcpy() ফাংশন

strcpy ফাংশন একটি স্ট্রিং কপি করে অন্য স্ট্রিংয়ে পেস্ট করে।

#include <stdio.h>
#include <string.h>

int main() {
    char source[] = "Hello";
    char destination[20];
    strcpy(destination, source);
    printf("Copied string: %s\n", destination);
    return 0;
}

আউটপুট:

Copied string: Hello

৩. strcat() ফাংশন

strcat ফাংশন দুটি স্ট্রিং যোগ করে একটি স্ট্রিংয়ে রাখে।

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello, ";
    char str2[] = "World!";
    strcat(str1, str2);
    printf("Concatenated string: %s\n", str1);
    return 0;
}

আউটপুট:

Concatenated string: Hello, World!

৪. strcmp() ফাংশন

strcmp ফাংশন দুটি স্ট্রিং তুলনা করে। যদি সমান হয় তবে 0, প্রথমটি বড় হলে পজিটিভ ভ্যালু এবং ছোট হলে নেগেটিভ ভ্যালু রিটার্ন করে।

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "World";

    if (strcmp(str1, str2) == 0) {
        printf("Strings are equal.\n");
    } else {
        printf("Strings are not equal.\n");
    }
    return 0;
}

আউটপুট:

Strings are not equal.

স্ট্রিং ম্যানিপুলেশন ব্যবহারিক উদাহরণ

একটি প্রোগ্রাম তৈরি করা যাক, যেখানে ইউজারের নাম ইনপুট নিয়ে সেটির দৈর্ঘ্য নির্ণয়, কপি এবং কনক্যাটেনেশন করা হবে।

#include <stdio.h>
#include <string.h>

int main() {
    char name[20];
    char copy[20];
    char greeting[40] = "Hello, ";

    printf("Enter your name: ");
    scanf("%s", name);

    // স্ট্রিং কপি
    strcpy(copy, name);
    printf("Copied Name: %s\n", copy);

    // স্ট্রিং কনক্যাটেনেশন
    strcat(greeting, name);
    printf("Greeting: %s\n", greeting);

    // স্ট্রিং দৈর্ঘ্য
    int length = strlen(name);
    printf("Length of Name: %d\n", length);

    return 0;
}

আউটপুট:

Enter your name: Alice
Copied Name: Alice
Greeting: Hello, Alice
Length of Name: 5

সংক্ষেপে:

  • স্ট্রিং হলো ক্যারেক্টারের একটি ক্রম, যা নাল ক্যারেক্টার (\0) দ্বারা শেষ হয়।
  • string.h লাইব্রেরি ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ, কপি, যোগ এবং তুলনা করার মতো কাজ সহজ হয়।
  • স্ট্রিং ম্যানিপুলেশন ফাংশনগুলো টেক্সট প্রসেসিংকে দ্রুত ও কার্যকর করতে গুরুত্বপূর্ণ।
Content added By

স্ট্রিং হলো ক্যারেক্টারের একটি ক্রম যা সি প্রোগ্রামিং ভাষায় char ডেটা টাইপের অ্যারে হিসেবে সংরক্ষিত হয়। এটি টেক্সট বা শব্দ সংরক্ষণ এবং প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। স্ট্রিংয়ের শেষে নাল ক্যারেক্টার (\0) থাকে, যা স্ট্রিংয়ের শেষ নির্দেশ করে।

স্ট্রিং এবং char অ্যারে

স্ট্রিং আসলে এক ধরনের char অ্যারে, যেখানে প্রতিটি উপাদানে একটি করে ক্যারেক্টার থাকে। উদাহরণস্বরূপ, "Hello" শব্দটি একটি স্ট্রিং এবং এটি char অ্যারে ব্যবহার করে সংরক্ষণ করা যায়।

char অ্যারে দিয়ে স্ট্রিং তৈরি করা

char অ্যারে ব্যবহার করে স্ট্রিং ঘোষণা এবং ইনিশিয়ালাইজ করা যায়।

উদাহরণ ১: char অ্যারে দিয়ে সরাসরি স্ট্রিং ইনিশিয়ালাইজ করা

#include <stdio.h>

int main() {
    char greeting[6] = "Hello"; // 5টি ক্যারেক্টার এবং 1টি \0
    printf("%s\n", greeting);
    return 0;
}

আউটপুট:

Hello

এখানে, greeting অ্যারে "Hello" শব্দটি ধারণ করে এবং এটি স্বয়ংক্রিয়ভাবে শেষে \0 যোগ করে। এর ফলে অ্যারেটির আকার ৬ হয়েছে।

উদাহরণ ২: char অ্যারে ব্যবহার করে প্রতিটি ক্যারেক্টার আলাদাভাবে নির্ধারণ করা

#include <stdio.h>

int main() {
    char name[6] = {'A', 'l', 'i', 'c', 'e', '\0'};
    printf("%s\n", name);
    return 0;
}

আউটপুট:

Alice

এখানে name অ্যারেতে "Alice" শব্দটি রাখা হয়েছে এবং শেষে \0 ব্যবহার করে এটিকে স্ট্রিং হিসেবে সংজ্ঞায়িত করা হয়েছে।

char অ্যারে দিয়ে স্ট্রিং ইনপুট এবং আউটপুট

scanf এবং printf ফাংশন ব্যবহার করে স্ট্রিং ইনপুট ও আউটপুট নেওয়া যায়। scanf স্পেস পর্যন্ত ইনপুট নেয়, তবে fgets ফাংশন ব্যবহার করে পূর্ণ বাক্য ইনপুট নেওয়া সম্ভব।

#include <stdio.h>

int main() {
    char name[20];

    printf("Enter your name: ");
    scanf("%s", name); // স্পেস ছাড়া ইনপুট নেয়
    printf("Hello, %s!\n", name);

    return 0;
}

আউটপুট:

Enter your name: Alice
Hello, Alice!

পূর্ণ বাক্য ইনপুট নেওয়া (fgets ফাংশন ব্যবহার করে)

fgets ব্যবহার করে স্পেসসহ পূর্ণ বাক্য ইনপুট নেওয়া সম্ভব।

#include <stdio.h>

int main() {
    char sentence[100];

    printf("Enter a sentence: ");
    fgets(sentence, sizeof(sentence), stdin); // পূর্ণ বাক্য ইনপুট
    printf("You entered: %s", sentence);

    return 0;
}

আউটপুট:

Enter a sentence: Hello, how are you?
You entered: Hello, how are you?

char অ্যারে দিয়ে স্ট্রিং ম্যানিপুলেশন

সি প্রোগ্রামে string.h লাইব্রেরির মাধ্যমে বিভিন্ন স্ট্রিং ম্যানিপুলেশন ফাংশন পাওয়া যায়, যা char অ্যারে দিয়ে স্ট্রিং পরিচালনা করতে ব্যবহার করা যায়। যেমন strlen (দৈর্ঘ্য নির্ণয়), strcpy (স্ট্রিং কপি), strcat (দুটি স্ট্রিং যোগ), strcmp (স্ট্রিং তুলনা) ইত্যাদি।

উদাহরণ: স্ট্রিং দৈর্ঘ্য নির্ণয় (strlen ফাংশন ব্যবহার করে)

#include <stdio.h>
#include <string.h>

int main() {
    char word[] = "Programming";
    int length = strlen(word); // স্ট্রিংয়ের দৈর্ঘ্য বের করা
    printf("Length of the word: %d\n", length);

    return 0;
}

আউটপুট:

Length of the word: 11

সংক্ষেপে

  • স্ট্রিং হলো একাধিক ক্যারেক্টারের ক্রম যা char অ্যারের মাধ্যমে সংরক্ষিত হয়।
  • স্ট্রিংয়ের শেষে \0 (নাল ক্যারেক্টার) থাকে, যা স্ট্রিংয়ের সমাপ্তি নির্দেশ করে।
  • string.h লাইব্রেরির ফাংশন ব্যবহার করে char অ্যারে দিয়ে স্ট্রিং ম্যানিপুলেশন করা যায়।
Content added By

সি প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশন করার জন্য বিভিন্ন ফাংশন রয়েছে। সাধারণত এই ফাংশনগুলো string.h লাইব্রেরিতে সংরক্ষিত থাকে। এখানে প্রধান কিছু স্ট্রিং ফাংশনের আলোচনা করা হয়েছে: strlen(), strcpy(), strcmp(), এবং strcat()

১. strlen() ফাংশন

strlen() ফাংশনটি একটি স্ট্রিংয়ের দৈর্ঘ্য (ক্যারেক্টার সংখ্যা) নির্ধারণ করে। এটি স্ট্রিংয়ে থাকা ক্যারেক্টারের সংখ্যা গণনা করে, তবে \0 নাল ক্যারেক্টারটি গণনা করে না।

গঠন:

size_t strlen(const char *str);

উদাহরণ

#include <stdio.h> #include <string.h> int main() {    char str[] = "Hello, World!";    int length = strlen(str); // স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ    printf("Length of the string: %d\n", length);    return 0; }

আউটপুট:

Length of the string: 13

২. strcpy() ফাংশন

strcpy() ফাংশন একটি স্ট্রিং কপি করে অন্য স্ট্রিংয়ে পেস্ট করে। এটি প্রথম স্ট্রিংকে দ্বিতীয় স্ট্রিংয়ে কপি করে।

গঠন:

char *strcpy(char *destination, const char *source);

উদাহরণ

#include <stdio.h> #include <string.h> int main() {    char source[] = "Hello";    char destination[20];    strcpy(destination, source); // source কপি করে destination-এ রাখা    printf("Copied string: %s\n", destination);    return 0; }

আউটপুট:

Copied string: Hello

৩. strcmp() ফাংশন

strcmp() ফাংশন দুটি স্ট্রিং তুলনা করে। যদি স্ট্রিংগুলো সমান হয়, তাহলে এটি 0 রিটার্ন করে। যদি প্রথম স্ট্রিংটি বড় হয়, তাহলে এটি পজিটিভ ভ্যালু রিটার্ন করে, আর ছোট হলে নেগেটিভ ভ্যালু রিটার্ন করে।

গঠন:

int strcmp(const char *str1, const char *str2);

উদাহরণ

#include <stdio.h> #include <string.h> int main() {    char str1[] = "Hello";    char str2[] = "World";    char str3[] = "Hello";    int result1 = strcmp(str1, str2); // str1 এবং str2 তুলনা    int result2 = strcmp(str1, str3); // str1 এবং str3 তুলনা    if (result1 == 0) {        printf("str1 and str2 are equal.\n");    } else {        printf("str1 and str2 are not equal.\n");    }    if (result2 == 0) {        printf("str1 and str3 are equal.\n");    } else {        printf("str1 and str3 are not equal.\n");    }    return 0; }

আউটপুট:

str1 and str2 are not equal. str1 and str3 are equal.

৪. strcat() ফাংশন

strcat() ফাংশন দুটি স্ট্রিং যোগ করে প্রথম স্ট্রিংয়ে রিটার্ন করে। এটি মূল স্ট্রিংয়ের শেষে নতুন স্ট্রিংটি যোগ করে।

গঠন:

char *strcat(char *destination, const char *source);

উদাহরণ

#include <stdio.h> #include <string.h> int main() {    char str1[20] = "Hello, ";    char str2[] = "World!";    strcat(str1, str2); // str2 যোগ করা str1 এর শেষে    printf("Concatenated string: %s\n", str1);    return 0; }

আউটপুট:

Concatenated string: Hello, World!

সারাংশ

ফাংশনকাজ
strlen()স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ করে
strcpy()একটি স্ট্রিং কপি করে অন্য স্ট্রিংয়ে পেস্ট করে
strcmp()দুটি স্ট্রিং তুলনা করে
strcat()দুটি স্ট্রিং যোগ করে

এসব ফাংশনের মাধ্যমে স্ট্রিং ম্যানিপুলেশন সহজে করা যায় এবং প্রোগ্রামে টেক্সট প্রসেসিং সহজ হয়।

Content added By

সি প্রোগ্রামিং ভাষায় স্ট্রিং ইনপুট এবং আউটপুট নেওয়ার জন্য বিভিন্ন পদ্ধতি রয়েছে। সাধারণত, printf এবং scanf ফাংশন ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট করা হয়, তবে কিছু বিশেষ ক্ষেত্রে gets, fgets এবং puts ফাংশনও ব্যবহৃত হয়।

১. scanf এবং printf ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট

scanf এবং printf ফাংশন সাধারণত স্ট্রিং ইনপুট এবং আউটপুট নেওয়ার জন্য ব্যবহৃত হয়। তবে scanf স্পেস (whitespace) পর্যন্ত ইনপুট নিতে পারে, যার কারণে পূর্ণ বাক্য ইনপুট নিতে fgets বা gets ফাংশন ব্যবহার করা হয়।

উদাহরণ: scanf এবং printf

#include <stdio.h>

int main() {
    char name[20];

    printf("Enter your name: ");
    scanf("%s", name);  // স্পেস ছাড়া ইনপুট নেয়
    printf("Hello, %s!\n", name);

    return 0;
}

আউটপুট:

Enter your name: Alice
Hello, Alice!

বিঃদ্রঃ: scanf ফাংশন স্পেসের পরের অংশ ইনপুট হিসেবে গ্রহণ করে না। যেমন, "John Doe" ইনপুট দিলে শুধুমাত্র "John" অংশটি গ্রহণ করবে।

২. gets এবং puts ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট

gets ফাংশন ব্যবহার করে স্পেসসহ পূর্ণ বাক্য ইনপুট নেওয়া যায়। আর puts ফাংশন ব্যবহার করে সহজে স্ট্রিং প্রিন্ট করা যায়।

উদাহরণ: gets এবং puts

#include <stdio.h>

int main() {
    char sentence[100];

    printf("Enter a sentence: ");
    gets(sentence);  // পূর্ণ বাক্য ইনপুট
    puts("You entered:");
    puts(sentence);  // আউটপুট প্রদর্শন

    return 0;
}

আউটপুট:

Enter a sentence: Hello, how are you?
You entered:
Hello, how are you?

বিঃদ্রঃ: gets ফাংশনটি নিরাপদ নয় এবং এটি ব্যবহার করার পরিবর্তে fgets ব্যবহার করা উত্তম।

৩. fgets এবং fputs ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট

fgets ফাংশন নিরাপদ স্ট্রিং ইনপুট নেওয়ার জন্য ব্যবহার করা হয়। এটি নির্দিষ্ট আকারের ইনপুট গ্রহণ করে এবং ইনপুট স্ট্রিম থেকে স্পেসসহ সম্পূর্ণ লাইন নিতে পারে। fputs ফাংশন ব্যবহার করে স্ট্রিং প্রিন্ট করা যায়।

উদাহরণ: fgets এবং fputs

#include <stdio.h>

int main() {
    char sentence[100];

    printf("Enter a sentence: ");
    fgets(sentence, sizeof(sentence), stdin);  // পূর্ণ বাক্য ইনপুট
    fputs("You entered: ", stdout);
    fputs(sentence, stdout);  // আউটপুট প্রদর্শন

    return 0;
}

আউটপুট:

Enter a sentence: Hello, how are you?
You entered: Hello, how are you?

বিঃদ্রঃ: fgets ব্যবহার করলে স্ট্রিংয়ের শেষে \n (নতুন লাইন) অন্তর্ভুক্ত হয়, যা আউটপুটে প্রদর্শিত হতে পারে। এটি এড়াতে sentence[strcspn(sentence, "\n")] = '\0'; ব্যবহার করা যেতে পারে।

স্ট্রিং ইনপুট এবং আউটপুট পদ্ধতির তুলনা

ফাংশনব্যবহারবৈশিষ্ট্য
scanfস্পেসহীন ইনপুটস্পেস পর্যন্ত ইনপুট গ্রহণ করে, পূর্ণ বাক্য গ্রহণে ব্যর্থ
printfআউটপুটস্ট্রিংসহ যেকোনো ডেটা আউটপুটে প্রদর্শিত হয়
getsপূর্ণ বাক্য ইনপুটস্পেসসহ ইনপুট নিতে পারে, তবে নিরাপদ নয়
putsআউটপুটএকটি স্ট্রিং আউটপুটে প্রদর্শন করে, নতুন লাইনে যায়
fgetsনিরাপদ ইনপুটনির্দিষ্ট আকারের ইনপুট গ্রহণ করে, স্পেসসহ পূর্ণ বাক্য নেয়
fputsআউটপুটস্ট্রিং আউটপুট প্রদর্শন করে, puts এর মতই কাজ করে

সংক্ষেপে

  • scanfprintf ফাংশন সাধারণত স্ট্রিং ইনপুট-আউটপুটে ব্যবহৃত হয়।
  • getsputs পূর্ণ বাক্য নিতে পারে, তবে gets নিরাপদ নয়।
  • fgetsfputs আরও নির্ভরযোগ্য ও নিরাপদ স্ট্রিং ইনপুট এবং আউটপুটের জন্য ব্যবহৃত হয়।
Content added || updated By

সি প্রোগ্রামিং ভাষায় স্ট্রিং এর উপর বিভিন্ন অপারেশন করা যায়, যেমন স্ট্রিং কপি করা, যোগ করা, তুলনা করা, স্ট্রিংয়ের দৈর্ঘ্য বের করা ইত্যাদি। এই অপারেশনগুলো সাধারণত string.h লাইব্রেরির ফাংশনের মাধ্যমে সম্পন্ন করা যায়।

প্রধান কিছু স্ট্রিং অপারেশন

১. স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় (strlen() ফাংশন)

strlen() ফাংশনটি একটি স্ট্রিংয়ের দৈর্ঘ্য (ক্যারেক্টার সংখ্যা) নির্ধারণ করে। এটি স্ট্রিংয়ে থাকা ক্যারেক্টারের সংখ্যা গণনা করে, তবে নাল ক্যারেক্টার (\0) গণনা করে না।

গঠন:

size_t strlen(const char *str);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    int length = strlen(str);
    printf("Length of the string: %d\n", length);
    return 0;
}

আউটপুট:

Length of the string: 13

২. স্ট্রিং কপি করা (strcpy() ফাংশন)

strcpy() ফাংশন একটি স্ট্রিং কপি করে অন্য স্ট্রিংয়ে পেস্ট করে। প্রথম আর্গুমেন্টে যেই স্ট্রিংটি কপি করতে হবে এবং দ্বিতীয় আর্গুমেন্টে যেই স্ট্রিংয়ে পেস্ট করতে হবে, সেটি উল্লেখ করা হয়।

গঠন:

char *strcpy(char *destination, const char *source);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char source[] = "Hello";
    char destination[20];
    
    strcpy(destination, source);
    printf("Copied string: %s\n", destination);
    return 0;
}

আউটপুট:

Copied string: Hello

৩. স্ট্রিং যোগ করা (strcat() ফাংশন)

strcat() ফাংশন দুটি স্ট্রিং যোগ করে প্রথম স্ট্রিংয়ে রিটার্ন করে। এটি মূল স্ট্রিংয়ের শেষে নতুন স্ট্রিং যোগ করে।

গঠন:

char *strcat(char *destination, const char *source);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello, ";
    char str2[] = "World!";
    
    strcat(str1, str2);
    printf("Concatenated string: %s\n", str1);
    return 0;
}

আউটপুট:

Concatenated string: Hello, World!

৪. স্ট্রিং তুলনা করা (strcmp() ফাংশন)

strcmp() ফাংশন দুটি স্ট্রিং তুলনা করে। যদি স্ট্রিংগুলো সমান হয়, তাহলে এটি 0 রিটার্ন করে। যদি প্রথম স্ট্রিংটি বড় হয়, তাহলে এটি পজিটিভ ভ্যালু রিটার্ন করে, আর ছোট হলে নেগেটিভ ভ্যালু রিটার্ন করে।

গঠন:

int strcmp(const char *str1, const char *str2);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    char str3[] = "Hello";
    
    int result1 = strcmp(str1, str2);
    int result2 = strcmp(str1, str3);

    if (result1 == 0) {
        printf("str1 and str2 are equal.\n");
    } else {
        printf("str1 and str2 are not equal.\n");
    }

    if (result2 == 0) {
        printf("str1 and str3 are equal.\n");
    } else {
        printf("str1 and str3 are not equal.\n");
    }

    return 0;
}

আউটপুট:

str1 and str2 are not equal.
str1 and str3 are equal.

৫. স্ট্রিং এর অংশ কপি করা (strncpy() ফাংশন)

strncpy() ফাংশন নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করে। এটি তখন কাজে লাগে যখন কেবলমাত্র স্ট্রিংয়ের কিছু অংশ কপি করতে হয়।

গঠন:

char *strncpy(char *destination, const char *source, size_t num);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char source[] = "Hello, World!";
    char destination[10];

    strncpy(destination, source, 5); // প্রথম ৫টি ক্যারেক্টার কপি করা
    destination[5] = '\0'; // নাল ক্যারেক্টার যোগ করা
    printf("Copied part of the string: %s\n", destination);
    return 0;
}

আউটপুট:

Copied part of the string: Hello

৬. স্ট্রিংয়ে ক্যারেক্টার খোঁজা (strchr() ফাংশন)

strchr() ফাংশন একটি নির্দিষ্ট ক্যারেক্টার স্ট্রিংয়ে খোঁজে এবং সেই ক্যারেক্টার পাওয়া গেলে তার ঠিকানা রিটার্ন করে।

গঠন:

char *strchr(const char *str, int character);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char *pos = strchr(str, 'W'); // 'W' ক্যারেক্টার খোঁজা

    if (pos != NULL) {
        printf("Character found at position: %ld\n", pos - str);
    } else {
        printf("Character not found.\n");
    }

    return 0;
}

আউটপুট:

Character found at position: 7

সংক্ষেপে

ফাংশনকাজ
strlen()স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ
strcpy()একটি স্ট্রিং অন্য স্ট্রিংয়ে কপি করা
strcat()দুটি স্ট্রিং যোগ করা
strcmp()দুটি স্ট্রিং তুলনা করা
strncpy()নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করা
strchr()স্ট্রিংয়ে নির্দিষ্ট ক্যারেক্টার খোঁজা

এই ফাংশনগুলো সি প্রোগ্রামে স্ট্রিং ম্যানিপুলেশন সহজ এবং কার্যকর করে, যা টেক্সট প্রসেসিংয়ে অনেক সুবিধা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...