সি প্রোগ্রামিং এইচটিএমএল সিএসএস জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল
ফোরাম
×

 সি টিউটোরিয়াল

সি প্রোগ্রামিং কি? সি এর ইতিহাস সি এর বৈশিষ্ট্যসমূহ কেন সি শিখবেন? সি ইন্সটলেশন প্রথম সি প্রোগ্রাম সি প্রোগ্রামের ফ্লো প্রোগ্রামিং শেখার সঠিক পদ্ধতি সি কীওয়ার্ড সি আইডেন্টিফায়ার সি ভ্যারিয়েবল সি কনস্ট্যান্ট সি ডাটা টাইপ সি মোডিফায়ার সি ইনপুট/আউটপুট সি অপারেটর সি কমেন্ট সি অপারেটর অগ্রাধিকার

সি কন্ট্রোল স্টেটমেন্ট

সি ইফ সি ইফ...ইলস সি ফর লুপ সি হোহাইল লুপ সি ডু...হোহাইল লুপ সি ব্রেক সি কন্টিনিউ সি সুইচ স্টেটমেন্ট সি goto স্টেটমেন্ট

 সি ফাংশন

সি ফাংশন পরিচিতি সি ইউজার কর্তৃক ফাংশন সি ফাংশন টাইপ সি রিকার্সন সি ভ্যারিয়েবল স্কোপ

 সি অ্যারে

সি অ্যারে পরিচিতি সি মালটি-ডাইমেনশনাল অ্যারে সি অ্যারে ফাংশন

 সি স্ট্রিং

সি স্ট্রিং সি স্ট্রিং ফাংশন

 সি পয়েন্টার

সি পয়েন্টার পরিচিত সি পয়েন্টার অ্যারে সি পয়েন্টার ফাংশন সি মেমোরি ম্যানেজমেন্ট

 সি ফাইল এবং স্ট্রাকচার

স্ট্রাকচার পরিচিত স্ট্রাকচার ও পয়েন্টার সি স্ট্রাকচার ও ফাংশন সি ইউনিয়ন ফাইল হ্যান্ডেলিং

 সি অতিরিক্ত টিউটোরিয়াল

সি লাইব্রেরী সি প্রিপ্রোসেসর এবং ম্যাক্রো সি ইনুমিরেশন সি এরর নিয়ন্ত্রণ সি টাইপ কাস্টিং সি বিট ফিল্ড সি ভ্যারিয়েবল আর্গুমেন্ট সি কমান্ড লাইন আর্গুমেন্ট

 

লাইব্রেরী ফাংশন ব্যবহার করে স্ট্রিং পরিচালনা


এই অধ্যায়ে আপনি লাইব্রেরী ফাংশন যেমন- gets(), puts(), strlen() ইত্যাদি ফাংশন ব্যবহার করে সি প্রোগ্রামিং এ স্ট্রিং পরিচালনা(manipulate) করা শিখবেন। এছাড়া আপনি ইউজার থেকে স্ট্রিং(string) গ্রহণ করে স্ট্রিং এর উপর বিভিন্ন অপারেশন চালাতে শিখবেন।

সমস্যার ধরন অনুযায়ী আপনাকে প্রায়ই স্ট্রিং ব্যবহার করতে হতে পারে। আপনি যদি ম্যানুয়ালি নিখুঁতভাবে স্ট্রিং পরিচালনা(manipulation) করতে চান তাহলে ইহা অনেক জটিল হতে পারে এং বেশীরভাগ সময়েই আপনাকে সমস্যায় পড়তে হতে পারে।

তাই আমরা আপনাকে এই সমস্যা থেকে উত্তরণের জন্য সি লাইব্রেরী ফাংশন ব্যবহারের জন্য সুপারিশ করছি।

স্টান্ডার্ড লাইব্রেরী ফাংশন:"string.h" এর অধীনে স্ট্রিং পরিচালনার জন্য অসংখ্য ফাংশন রয়েছে।


স্ট্রিং পরিচালনার জন্য সচরাচর ব্যবহৃত ফাংশন এবং তাদের কাজ নিম্নে তুলে ধরা হলোঃ

ফাংশন ফাংশনের কাজ
strlen() স্ট্রিং(string) এর দৈর্ঘ্য নির্ণয় করে।
strcpy() এক স্ট্রিং(string) কে অন্য স্ট্রিং এর মধ্যে কপি(Copy) করে।
strcat() দুটি স্ট্রিং এর সংযোগ(Concatenation) ঘটায়।
strcmp() দুটি স্ট্রিং এর মধ্যে তুলনা(compare) করে।
strlwr() স্ট্রিংকে ছোট হাতের বর্ণে(lowercase) রূপান্তর করে।
strupr() স্ট্রিংকে বড় হাতের বর্ণে(uppercase) রূপান্তর করে।
strrev() স্ট্রিংকে বিপরীত(reverse) ক্রমে সাজায়।
strstr() স্ট্রিং থেকে উপস্ট্রিং খুজে বের করে।

স্ট্রিং(String) পরিচালনার(handling) ফাংশন-সমূহ "string.h" হেডার ফাইলের অধীনে ডিফাইন্ড(defined) করা আছে।

সুতরাং স্ট্রিং পরিচালনার ফাংশন-সমূহ আপনার প্রোগ্রামে রান(run) করানোর জন্য নিম্নোক্ত কোড যোগ করতে হবে।

#include <string.h>

gets() এবং puts()

সি প্রোগ্রমামিং এ স্ট্রিং গ্রহণ এবং প্রদর্শনীর জন্য যথাক্রমে লাইব্রেরী ফাংশন gets() এবং puts() ব্যবহার করা হয়।

#include<stdio.h>

int main()
{
    char name[30];
    printf("Enter name: ");
    gets(name);     //ইউজার থেকে স্ট্রিং গ্রহণের ফাংশন
    printf("Name: ");
    puts(name);    //স্ট্রিং প্রদর্শনীর ফাংশন
    return 0;
}

নোটঃ স্ট্রিং পরিচালনার জন্য gets() এবং puts() উভয় ফাংশন "stdio.h" হেডার ফাইলে ডিফাইন্ড করা আছে।


সি strlen() ফাংশন

strlen() ফাংশন একটি স্ট্রিং এর দৈর্ঘ রিটার্ন করে। ইহা null ক্যারেক্টার ('\0') গণনা করে না।

উদাহরণঃ নিচের উদাহরণে strlen() ফাংশনের মাধ্যমে ch[30] স্ট্রিং এর দৈর্ঘ্য নির্ণয় করে দেখানো হলোঃ

#include <stdio.h>  
int main()  
{  
   char ch[30]={'s', 'a', 't', 't', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '\0'};  
   printf("The length of string is: %d",strlen(ch));  
}

আউটপুট

The length of string is: 11

সি strcpy()ফাংশন

strcpy(destination, source) ফাংশন source স্ট্রিং থেকে স্ট্রিংকে destination এ কপি করে।

উদাহরণঃ নিচের উদাহরণে strcpy() ফাংশনের মাধ্যমে ch1[30] স্ট্রিংকে ch2[30] স্ট্রিং এর মধ্যে কপি করে দেখানো হলোঃ

#include <stdio.h>  
int main()  
{  
    char ch1[30]={'s', 'a', 't', 't', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '\0'};  
   char ch2[30];  
   strcpy(ch2,ch1);  
   printf("The value of second string is: %s",ch2);  
}

আউটপুট

The value of second string is: sattacademy

সি strcat() ফাংশন

strcat(first_string, second_string) ফাংশন দুটি স্ট্রিংকে একসঙ্গে যোগ(concatination) করে প্রথম স্ট্রিং হিসাবে রিটার্ন করে।

#include <stdio.h>  
int main()  
{  
   char ch1[10] = {'h', 'e', 'l', 'l', 'o', '\0'};  
   char ch2[10] = {'s', 'a', 't', 't',  '\0'};  
   strcat(ch1,ch2);  
   printf("The value of first string is: %s",ch1);  
}  

আউটপুট

The value of first string is: hellosatt

সি strcmp() ফাংশন

strcmp(first_string, second_string) ফাংশন দুটি স্ট্রিং এর মধ্যে তুলনা করে এবং উভয় স্ট্রিং সমান হলে 0(শূণ্য) রিটার্ন করে।

কনসোল থেকে স্ট্রিং পাঠ(read) করার জন্য এখানে আমরা gets() ফাংশন ব্যবহার করেছি।

#include <stdio.h>  
int main()  
{  
  char str1[30],str2[30];  
  printf("Enter first string: ");  
  gets(str1);//কনসোল থেকে স্ট্রিং পাঠ(read) করা  
  printf("Enter second string: ");  
  gets(str2);  
  if(strcmp(str1,str2)==0)  
      printf("Two strings are equal");  
  else  
      printf("Two strings are not equal");  
}

আউটপুট

Enter first string: satt
Enter second string: academy
Two strings are not equal

সি strlwr() ফাংশন

strlwr(string) ফাংশন একটি স্ট্রিংকে ছোট হাতের বর্ণে রুপান্তর করে।

#include<stdio.h>  
#include<conio.h>  
int main(){  
  char str[30];  
  clrscr();  
  printf("Enter string: ");  
  gets(str);//কনসোল থেকে স্ট্রিং পাঠ(reads) করে।
  printf("String is: %s",str);  
  printf("\nLower String is: %s",strlwr(str));  
  getch();  
} 

আউটপুট

Enter string: SattAcademy
String is: SattAcademy
Lower String is: sattacademy

সি strupr() ফাংশন

strupr(string) ফাংশন একটি স্ট্রিংকে বড় হাতের বর্ণে রুপান্তর করে।

#include<stdio.h>  
#include<conio.h>  
int main(){  
  char str[30];  
  clrscr();  
  printf("Enter string: ");  
  gets(str);//কনসোল থেকে স্ট্রিং পাঠ(reads) করে। 
  printf("String is: %s",str);  
  printf("\nUpper String is: %s",strupr(str));  
  getch();  
}  

আউটপুট

Enter string: sattacademy
String is: sattacademy
Upper String is: SATTACADEMY

সি strrev() ফাংশন

strrev(string) ফাংশন একটি স্ট্রিংকে উল্টিয়ে ফেলে। অর্থাৎ স্ট্রিং এর প্রথম ক্যারেক্টারগুলো শেষে এবং শেষ ক্যারেক্টারগুলো প্রথমে আসে।

#include<stdio.h>  
#include<conio.h>  
int main(){  
  char str[30];  
  clrscr();  
  printf("Enter string: ");  
  gets(str);//কনসোল থেকে স্ট্রিং পাঠ(reads) করা
  printf("String is: %s",str);  
  printf("\nReverse String is: %s",strrev(str));  
  getch();  
}   

আউটপুট

Enter string: sattacademy
String is: sattacademy
Reverse String is: ymedacattas

সি strstr() ফাংশন

Strstr() ফাংশন প্রদত্ত স্ট্রিং এর মধ্যে মিলিত স্ট্রিং এর প্রথম সংঘটনের পয়েন্টার রিটার্ন করে। এটি substring এর মিলিত প্রথম অক্ষর থেকে সর্বশেষ অক্ষর পর্যন্ত রিটার্ন করে।


সিনট্যাক্স:

char *strstr(const char *string, const char *match)  

সিনট্যাক্সের ব্যাখ্যাঃ

string: ইহা দ্বারা স্ট্রিং এর সম্পূর্ণ অংশকে বুঝায়। যেখান থেকে substring সার্স করা হবে।

match: ইহা হচ্ছে submatch যা সম্পূর্ণ স্ট্রিং থেকে সার্স করা হবে।

#include<stdio.h>  
#include<conio.h>  
#include<string.h>  
int main(){  
  char str[100]="I love programming with C";  
  char *sub;  
  clrscr();  
  sub=strstr(str,"programming");  
  printf("\nSubstring is: %s",sub);  
  getch();  
}  

আউটপুট

Substring is: programming with C