Character Handling Functions (ক্যারেক্টার হ্যান্ডলিং ফাংশনস)
সি প্রোগ্রামিং ভাষায় ক্যারেক্টার পরিচালনার জন্য ctype.h হেডার ফাইলটি ব্যবহৃত হয়। এই ফাংশনগুলো ক্যারেক্টার চেক করতে এবং প্রয়োজন অনুযায়ী রূপান্তর করতে সাহায্য করে। উদাহরণস্বরূপ, ক্যারেক্টারটি অক্ষর, সংখ্যা, ছোট হাতের বা বড় হাতের কিনা, তা যাচাই করা ইত্যাদি কাজ সহজে করা যায়।
নিচে সি ভাষায় ব্যবহৃত গুরুত্বপূর্ণ ক্যারেক্টার হ্যান্ডলিং ফাংশনগুলো এবং তাদের কাজ সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. isalpha() – অক্ষর কিনা যাচাই করা
isalpha() ফাংশনটি কোনো ক্যারেক্টার একটি অক্ষর (A-Z বা a-z) কিনা তা যাচাই করে। যদি অক্ষর হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalpha(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
if (isalpha(ch)) {
printf("%c is an alphabet.\n", ch);
} else {
printf("%c is not an alphabet.\n", ch);
}
return 0;
}২. isdigit() – সংখ্যা কিনা যাচাই করা
isdigit() ফাংশনটি কোনো ক্যারেক্টার একটি সংখ্যা (0-9) কিনা তা যাচাই করে। যদি সংখ্যা হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isdigit(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = '5';
if (isdigit(ch)) {
printf("%c is a digit.\n", ch);
} else {
printf("%c is not a digit.\n", ch);
}
return 0;
}৩. isalnum() – অক্ষর বা সংখ্যা কিনা যাচাই করা
isalnum() ফাংশনটি কোনো ক্যারেক্টার অক্ষর বা সংখ্যা কিনা তা যাচাই করে। যদি অক্ষর বা সংখ্যা হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalnum(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
if (isalnum(ch)) {
printf("%c is alphanumeric.\n", ch);
} else {
printf("%c is not alphanumeric.\n", ch);
}
return 0;
}৪. islower() – ছোট হাতের অক্ষর কিনা যাচাই করা
islower() ফাংশনটি কোনো ক্যারেক্টার ছোট হাতের (a-z) অক্ষর কিনা তা যাচাই করে। যদি ছোট হাতের অক্ষর হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int islower(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'b';
if (islower(ch)) {
printf("%c is a lowercase letter.\n", ch);
} else {
printf("%c is not a lowercase letter.\n", ch);
}
return 0;
}৫. isupper() – বড় হাতের অক্ষর কিনা যাচাই করা
isupper() ফাংশনটি কোনো ক্যারেক্টার বড় হাতের (A-Z) অক্ষর কিনা তা যাচাই করে। যদি বড় হাতের অক্ষর হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isupper(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'B';
if (isupper(ch)) {
printf("%c is an uppercase letter.\n", ch);
} else {
printf("%c is not an uppercase letter.\n", ch);
}
return 0;
}৬. tolower() – ছোট হাতের অক্ষরে রূপান্তর করা
tolower() ফাংশনটি বড় হাতের কোনো অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করতে ব্যবহৃত হয়। এটি ছোট হাতের অক্ষর হলে সেই অক্ষরই রিটার্ন করে।
সিঙ্কট্যাক্স:
int tolower(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
printf("Lowercase: %c\n", tolower(ch));
return 0;
}৭. toupper() – বড় হাতের অক্ষরে রূপান্তর করা
toupper() ফাংশনটি ছোট হাতের কোনো অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করতে ব্যবহৃত হয়। এটি বড় হাতের অক্ষর হলে সেই অক্ষরই রিটার্ন করে।
সিঙ্কট্যাক্স:
int toupper(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'b';
printf("Uppercase: %c\n", toupper(ch));
return 0;
}৮. isspace() – স্পেস ক্যারেক্টার কিনা যাচাই করা
isspace() ফাংশনটি ক্যারেক্টারটি স্পেস, newline (\n), ট্যাব (\t) ইত্যাদি স্পেস ক্যারেক্টার কিনা যাচাই করে। যদি স্পেস ক্যারেক্টার হয়, তাহলে এটি সত্য (non-zero) রিটার্ন করে; অন্যথায় মিথ্যা (0) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isspace(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = ' ';
if (isspace(ch)) {
printf("It is a space character.\n");
} else {
printf("It is not a space character.\n");
}
return 0;
}সারসংক্ষেপ
| ফাংশন | কাজ |
|---|---|
isalpha() | অক্ষর কিনা যাচাই করে |
isdigit() | সংখ্যা কিনা যাচাই করে |
isalnum() | অক্ষর বা সংখ্যা কিনা যাচাই করে |
islower() | ছোট হাতের অক্ষর কিনা যাচাই করে |
isupper() | বড় হাতের অক্ষর কিনা যাচাই করে |
tolower() | বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে |
toupper() | ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে |
isspace() | স্পেস ক্যারেক্টার কিনা যাচাই করে |
এই ক্যারেক্টার হ্যান্ডলিং ফাংশনগুলো ctype.h হেডার ফাইলের অন্তর্গত এবং সি প্রোগ্রামিংয়ে ক্যারেক্টার যাচাই, রূপান্তর, এবং চেক করার ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে।
ctype.h হেডার ফাইল এবং এর ফাংশনসমূহ
ctype.h হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় ক্যারেক্টার ম্যানিপুলেশন (Character Manipulation) বা ক্যারেক্টার যাচাইয়ের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ফাংশন সরবরাহ করে, যা ক্যারেক্টার পরীক্ষা করতে এবং তাদের রূপান্তর করতে সহায়ক। এই ফাংশনগুলো ব্যবহার করে আপনি পরীক্ষা করতে পারেন যে একটি ক্যারেক্টার সংখ্যা, অক্ষর, বড় হাতের অক্ষর, ছোট হাতের অক্ষর ইত্যাদি কিনা এবং প্রয়োজন হলে তাদের বড় বা ছোট হাতের রূপে রূপান্তর করতে পারেন।
এখানে ctype.h হেডার ফাইলের কিছু গুরুত্বপূর্ণ ফাংশন এবং তাদের কাজের বিবরণ দেওয়া হলো:
১. isalnum() – অক্ষর বা সংখ্যা পরীক্ষা
isalnum() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার অক্ষর (letter) বা সংখ্যা (digit) কিনা। যদি ক্যারেক্টারটি অক্ষর বা সংখ্যা হয়, তাহলে এটি ১ (সত্য) রিটার্ন করে, অন্যথায় ০ (মিথ্যা) রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalnum(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
if (isalnum(ch)) {
printf("%c is alphanumeric.\n", ch);
} else {
printf("%c is not alphanumeric.\n", ch);
}
return 0;
}২. isalpha() – অক্ষর পরীক্ষা
isalpha() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার অক্ষর কিনা। যদি ক্যারেক্টারটি অক্ষর হয়, তাহলে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalpha(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = '5';
if (isalpha(ch)) {
printf("%c is an alphabet.\n", ch);
} else {
printf("%c is not an alphabet.\n", ch);
}
return 0;
}৩. isdigit() – সংখ্যা পরীক্ষা
isdigit() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার সংখ্যা কিনা। যদি ক্যারেক্টারটি সংখ্যা হয়, তাহলে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isdigit(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = '9';
if (isdigit(ch)) {
printf("%c is a digit.\n", ch);
} else {
printf("%c is not a digit.\n", ch);
}
return 0;
}৪. islower() – ছোট হাতের অক্ষর পরীক্ষা
islower() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার ছোট হাতের অক্ষর কিনা। যদি ক্যারেক্টারটি ছোট হাতের অক্ষর হয়, তাহলে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int islower(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'g';
if (islower(ch)) {
printf("%c is a lowercase letter.\n", ch);
} else {
printf("%c is not a lowercase letter.\n", ch);
}
return 0;
}৫. isupper() – বড় হাতের অক্ষর পরীক্ষা
isupper() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার বড় হাতের অক্ষর কিনা। যদি ক্যারেক্টারটি বড় হাতের অক্ষর হয়, তাহলে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isupper(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'G';
if (isupper(ch)) {
printf("%c is an uppercase letter.\n", ch);
} else {
printf("%c is not an uppercase letter.\n", ch);
}
return 0;
}৬. isspace() – শূন্যস্থান (space) পরীক্ষা
isspace() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার শূন্যস্থান কিনা। এটি স্পেস, ট্যাব, নিউলাইন ইত্যাদি হিসেবে গণ্য হয়।
সিঙ্কট্যাক্স:
int isspace(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = ' ';
if (isspace(ch)) {
printf("It is a whitespace character.\n");
} else {
printf("It is not a whitespace character.\n");
}
return 0;
}৭. tolower() – ছোট হাতের অক্ষরে রূপান্তর
tolower() ফাংশনটি একটি বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে। যদি ক্যারেক্টারটি বড় হাতের অক্ষর না হয়, তবে এটি কোনো পরিবর্তন ছাড়াই ক্যারেক্টার রিটার্ন করে।
সিঙ্কট্যাক্স:
int tolower(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
printf("Lowercase of %c is %c\n", ch, tolower(ch));
return 0;
}৮. toupper() – বড় হাতের অক্ষরে রূপান্তর
toupper() ফাংশনটি একটি ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে। যদি ক্যারেক্টারটি ছোট হাতের অক্ষর না হয়, তবে এটি কোনো পরিবর্তন ছাড়াই ক্যারেক্টার রিটার্ন করে।
সিঙ্কট্যাক্স:
int toupper(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'a';
printf("Uppercase of %c is %c\n", ch, toupper(ch));
return 0;
}৯. ispunct() – বিরাম চিহ্ন (punctuation) পরীক্ষা
ispunct() ফাংশনটি পরীক্ষা করে দেয় যে একটি ক্যারেক্টার বিরাম চিহ্ন কিনা। যদি ক্যারেক্টারটি বিরাম চিহ্ন হয় (যেমন !, @, #, ইত্যাদি), তাহলে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int ispunct(int ch);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = '!';
if (ispunct(ch)) {
printf("%c is a punctuation character.\n", ch);
} else {
printf("%c is not a punctuation character.\n", ch);
}
return 0;
}সারসংক্ষেপ
| ফাংশন | কাজ | উদাহরণ |
|---|---|---|
isalnum() | অক্ষর বা সংখ্যা কিনা পরীক্ষা | isalnum(ch); |
isalpha() | অক্ষর কিনা পরীক্ষা | isalpha(ch); |
isdigit() | সংখ্যা কিনা পরীক্ষা | isdigit(ch); |
islower() | ছোট হাতের অক্ষর কিনা পরীক্ষা | islower(ch); |
isupper() | বড় হাতের অক্ষর কিনা পরীক্ষা | isupper(ch); |
isspace() | শূন্যস্থান কিনা পরীক্ষা | isspace(ch); |
tolower() | ছোট হাতের অক্ষরে রূপান্তর | tolower(ch); |
toupper() | বড় হাতের অক্ষরে রূপান্তর | toupper(ch); |
ispunct() | বিরাম চিহ্ন কিনা পরীক্ষা | ispunct(ch); |
ctype.h হেডার ফাইলটি সি প্রোগ্রামিংয়ে ক্যারেক্টার যাচাই ও রূপান্তরের জন্য অপরিহার্য। এই ফাংশনগুলো ব্যবহার করে আপনি বিভিন্ন প্রকারের ক্যারেক্টার যাচাই করতে এবং বড় হাত বা ছোট হাতের রূপান্তর করতে পারেন, যা প্রোগ্রামে
ব্যবহারকারীর ইনপুট যাচাই এবং ক্যারেক্টার হ্যান্ডলিংয়ের জন্য সহায়ক।
isalpha(), isdigit(), isalnum(), এবং isspace() এর ব্যবহার
সি প্রোগ্রামিং ভাষায় ctype.h হেডার ফাইলটি ক্যারেক্টার সম্পর্কিত বিভিন্ন ফাংশন সরবরাহ করে। এই ফাংশনগুলো ক্যারেক্টার চেক করার জন্য ব্যবহৃত হয়, যেমন একটি ক্যারেক্টার অক্ষর (alphabet), ডিজিট (digit), অক্ষর বা ডিজিট (alphanumeric), অথবা স্পেস (whitespace) কিনা তা নির্ধারণ করা। নিচে isalpha(), isdigit(), isalnum(), এবং isspace() ফাংশনগুলোর ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো।
১. isalpha() – অক্ষর চেক করা
isalpha() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি অক্ষর (A-Z বা a-z) কিনা। এটি যদি অক্ষর হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalpha(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'A';
if (isalpha(c)) {
printf("%c is an alphabet.\n", c);
} else {
printf("%c is not an alphabet.\n", c);
}
return 0;
}এখানে isalpha('A') ফাংশনটি true রিটার্ন করবে, কারণ 'A' একটি অক্ষর।
২. isdigit() – ডিজিট চেক করা
isdigit() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি ডিজিট (0-9) কিনা। এটি যদি ডিজিট হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isdigit(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '5';
if (isdigit(c)) {
printf("%c is a digit.\n", c);
} else {
printf("%c is not a digit.\n", c);
}
return 0;
}এখানে isdigit('5') ফাংশনটি true রিটার্ন করবে, কারণ '5' একটি ডিজিট।
৩. isalnum() – অক্ষর বা ডিজিট চেক করা
isalnum() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি অক্ষর (A-Z বা a-z) অথবা ডিজিট (0-9) কিনা। এটি যদি অক্ষর বা ডিজিট হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalnum(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '7';
if (isalnum(c)) {
printf("%c is alphanumeric.\n", c);
} else {
printf("%c is not alphanumeric.\n", c);
}
return 0;
}এখানে isalnum('7') ফাংশনটি true রিটার্ন করবে, কারণ '7' একটি ডিজিট এবং এটি অ্যালফানিউমেরিক।
৪. isspace() – স্পেস চেক করা
isspace() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি সাদা স্থান (space), ট্যাব (tab), নতুন লাইন (newline), ক্যারেজ রিটার্ন (carriage return), বা ফর্ম ফিড (form feed) কিনা। এটি যদি সাদা স্থান হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isspace(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = ' ';
if (isspace(c)) {
printf("It is a whitespace character.\n");
} else {
printf("It is not a whitespace character.\n");
}
return 0;
}এখানে isspace(' ') ফাংশনটি true রিটার্ন করবে, কারণ ' ' (স্পেস) একটি সাদা স্থান।
সারসংক্ষেপ
| ফাংশন | কাজ | সিঙ্কট্যাক্স |
|---|---|---|
isalpha() | চেক করে যে ক্যারেক্টারটি অক্ষর কিনা (A-Z, a-z) | int isalpha(int c); |
isdigit() | চেক করে যে ক্যারেক্টারটি ডিজিট কিনা (0-9) | int isdigit(int c); |
isalnum() | চেক করে যে ক্যারেক্টারটি অক্ষর বা ডিজিট কিনা | int isalnum(int c); |
isspace() | চেক করে যে ক্যারেক্টারটি সাদা স্থান কিনা (space, tab, newline, etc.) | int isspace(int c); |
এই ফাংশনগুলো ctype.h হেডার ফাইলের অংশ এবং প্রোগ্রামারদের ক্যারেক্টার সম্পর্কিত বিভিন্ন যাচাইকরণ সহজভাবে করতে সহায়ক। isalpha(), isdigit(), isalnum(), এবং isspace() ফাংশনগুলো ক্যারেক্টারগুলির বৈশিষ্ট্য চেক করে প্রোগ্রামে সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত হয়।
isalpha(), isdigit(), isalnum(), এবং isspace() এর ব্যবহার
সি প্রোগ্রামিং ভাষায় ctype.h হেডার ফাইলটি ক্যারেক্টার সম্পর্কিত বিভিন্ন ফাংশন সরবরাহ করে। এই ফাংশনগুলো ক্যারেক্টার চেক করার জন্য ব্যবহৃত হয়, যেমন একটি ক্যারেক্টার অক্ষর (alphabet), ডিজিট (digit), অক্ষর বা ডিজিট (alphanumeric), অথবা স্পেস (whitespace) কিনা তা নির্ধারণ করা। নিচে isalpha(), isdigit(), isalnum(), এবং isspace() ফাংশনগুলোর ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো।
১. isalpha() – অক্ষর চেক করা
isalpha() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি অক্ষর (A-Z বা a-z) কিনা। এটি যদি অক্ষর হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalpha(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'A';
if (isalpha(c)) {
printf("%c is an alphabet.\n", c);
} else {
printf("%c is not an alphabet.\n", c);
}
return 0;
}এখানে isalpha('A') ফাংশনটি true রিটার্ন করবে, কারণ 'A' একটি অক্ষর।
২. isdigit() – ডিজিট চেক করা
isdigit() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি ডিজিট (0-9) কিনা। এটি যদি ডিজিট হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isdigit(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '5';
if (isdigit(c)) {
printf("%c is a digit.\n", c);
} else {
printf("%c is not a digit.\n", c);
}
return 0;
}এখানে isdigit('5') ফাংশনটি true রিটার্ন করবে, কারণ '5' একটি ডিজিট।
৩. isalnum() – অক্ষর বা ডিজিট চেক করা
isalnum() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি অক্ষর (A-Z বা a-z) অথবা ডিজিট (0-9) কিনা। এটি যদি অক্ষর বা ডিজিট হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalnum(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '7';
if (isalnum(c)) {
printf("%c is alphanumeric.\n", c);
} else {
printf("%c is not alphanumeric.\n", c);
}
return 0;
}এখানে isalnum('7') ফাংশনটি true রিটার্ন করবে, কারণ '7' একটি ডিজিট এবং এটি অ্যালফানিউমেরিক।
৪. isspace() – স্পেস চেক করা
isspace() ফাংশনটি একটি ক্যারেক্টার চেক করে এটি কি একটি সাদা স্থান (space), ট্যাব (tab), নতুন লাইন (newline), ক্যারেজ রিটার্ন (carriage return), বা ফর্ম ফিড (form feed) কিনা। এটি যদি সাদা স্থান হয়, তাহলে এটি true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
সিঙ্কট্যাক্স:
int isspace(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char c = ' ';
if (isspace(c)) {
printf("It is a whitespace character.\n");
} else {
printf("It is not a whitespace character.\n");
}
return 0;
}এখানে isspace(' ') ফাংশনটি true রিটার্ন করবে, কারণ ' ' (স্পেস) একটি সাদা স্থান।
সারসংক্ষেপ
| ফাংশন | কাজ | সিঙ্কট্যাক্স |
|---|---|---|
isalpha() | চেক করে যে ক্যারেক্টারটি অক্ষর কিনা (A-Z, a-z) | int isalpha(int c); |
isdigit() | চেক করে যে ক্যারেক্টারটি ডিজিট কিনা (0-9) | int isdigit(int c); |
isalnum() | চেক করে যে ক্যারেক্টারটি অক্ষর বা ডিজিট কিনা | int isalnum(int c); |
isspace() | চেক করে যে ক্যারেক্টারটি সাদা স্থান কিনা (space, tab, newline, etc.) | int isspace(int c); |
এই ফাংশনগুলো ctype.h হেডার ফাইলের অংশ এবং প্রোগ্রামারদের ক্যারেক্টার সম্পর্কিত বিভিন্ন যাচাইকরণ সহজভাবে করতে সহায়ক। isalpha(), isdigit(), isalnum(), এবং isspace() ফাংশনগুলো ক্যারেক্টারগুলির বৈশিষ্ট্য চেক করে প্রোগ্রামে সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত হয়।
ক্যারেক্টার চেকিং এবং প্রক্রিয়াকরণ
সি প্রোগ্রামিংয়ে ক্যারেক্টার চেকিং এবং প্রক্রিয়াকরণ সম্পর্কিত বিভিন্ন ফাংশন ctype.h হেডার ফাইলে অন্তর্ভুক্ত থাকে। এই ফাংশনগুলো স্ট্রিং বা একক ক্যারেক্টারের বৈশিষ্ট্য পরীক্ষা এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়, যেমন ক্যারেক্টারটি অক্ষর কিনা, ডিজিট কিনা, অথবা এর কেস (বড় হাত বা ছোট হাত) পরিবর্তন করা ইত্যাদি।
এখানে ctype.h হেডার ফাইলের মাধ্যমে স্ট্রিং বা ক্যারেক্টার চেকিং এবং প্রক্রিয়াকরণের বিভিন্ন ফাংশন নিয়ে আলোচনা করা হয়েছে।
১. isalnum() – আলফানিউমেরিক চেক
isalnum() ফাংশনটি চেক করে যে ক্যারেক্টারটি একটি অক্ষর (A-Z, a-z) বা সংখ্যা (0-9) কিনা। যদি এটি অক্ষর বা সংখ্যা হয় তবে এটি ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalnum(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
if (isalnum(ch)) {
printf("'%c' is alphanumeric.\n", ch);
} else {
printf("'%c' is not alphanumeric.\n", ch);
}
return 0;
}এখানে isalnum() ফাংশনটি চেক করেছে যে 'A' একটি আলফানিউমেরিক ক্যারেক্টার কি না।
২. isalpha() – অক্ষর চেক
isalpha() ফাংশনটি চেক করে যে ক্যারেক্টারটি একটি অক্ষর (A-Z, a-z) কিনা। এটি যদি একটি অক্ষর হয় তবে ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isalpha(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'b';
if (isalpha(ch)) {
printf("'%c' is an alphabet.\n", ch);
} else {
printf("'%c' is not an alphabet.\n", ch);
}
return 0;
}এখানে isalpha() ফাংশনটি চেক করেছে যে 'b' একটি অক্ষর কি না।
৩. isdigit() – ডিজিট চেক
isdigit() ফাংশনটি চেক করে যে ক্যারেক্টারটি একটি ডিজিট (0-9) কিনা। এটি যদি একটি ডিজিট হয় তবে ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isdigit(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = '5';
if (isdigit(ch)) {
printf("'%c' is a digit.\n", ch);
} else {
printf("'%c' is not a digit.\n", ch);
}
return 0;
}এখানে isdigit() ফাংশনটি চেক করেছে যে '5' একটি ডিজিট কি না।
৪. islower() – ছোট হাতের অক্ষর চেক
islower() ফাংশনটি চেক করে যে ক্যারেক্টারটি ছোট হাতের অক্ষর (a-z) কিনা। এটি যদি ছোট হাতের অক্ষর হয় তবে ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int islower(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'd';
if (islower(ch)) {
printf("'%c' is a lowercase letter.\n", ch);
} else {
printf("'%c' is not a lowercase letter.\n", ch);
}
return 0;
}এখানে islower() ফাংশনটি চেক করেছে যে 'd' একটি ছোট হাতের অক্ষর কি না।
৫. isupper() – বড় হাতের অক্ষর চেক
isupper() ফাংশনটি চেক করে যে ক্যারেক্টারটি বড় হাতের অক্ষর (A-Z) কিনা। এটি যদি বড় হাতের অক্ষর হয় তবে ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isupper(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'Z';
if (isupper(ch)) {
printf("'%c' is an uppercase letter.\n", ch);
} else {
printf("'%c' is not an uppercase letter.\n", ch);
}
return 0;
}এখানে isupper() ফাংশনটি চেক করেছে যে 'Z' একটি বড় হাতের অক্ষর কি না।
৬. tolower() – বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর
tolower() ফাংশনটি একটি বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে। যদি এটি একটি বড় হাতের অক্ষর হয়, তবে তা ছোট হাতের অক্ষরে রূপান্তরিত হয়। অন্যথায়, এটি কোনো পরিবর্তন ঘটায় না।
সিঙ্কট্যাক্স:
int tolower(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
printf("Lowercase of '%c' is '%c'\n", ch, tolower(ch));
return 0;
}এখানে tolower() ফাংশনটি 'A' কে 'a' তে রূপান্তর করেছে।
৭. toupper() – ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর
toupper() ফাংশনটি একটি ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে। যদি এটি একটি ছোট হাতের অক্ষর হয়, তবে তা বড় হাতের অক্ষরে রূপান্তরিত হয়। অন্যথায়, এটি কোনো পরিবর্তন ঘটায় না।
সিঙ্কট্যাক্স:
int toupper(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'z';
printf("Uppercase of '%c' is '%c'\n", ch, toupper(ch));
return 0;
}এখানে toupper() ফাংশনটি 'z' কে 'Z' তে রূপান্তর করেছে।
৮. isspace() – সাদা স্থান চেক
isspace() ফাংশনটি চেক করে যে ক্যারেক্টারটি একটি সাদা স্থান (স্পেস, ট্যাব, newline) কিনা। এটি যদি সাদা স্থান হয় তবে ১ রিটার্ন করে, অন্যথায় ০ রিটার্ন করে।
সিঙ্কট্যাক্স:
int isspace(int c);উদাহরণ:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = ' ';
if (isspace(ch)) {
printf("'%c' is a whitespace character.\n", ch);
} else {
printf("'%c' is not a whitespace character.\n", ch);
}
return 0;
}এখানে isspace() ফাংশনটি চেক করেছে যে ' ' একটি সাদা স্থান কি না।
সারসংক্ষেপ
| ফাংশন | কাজ |
|---|---|
isalnum() | চেক করে যে ক্যারেক্টারটি অক্ষর বা সংখ্যা কিনা |
isalpha() | চেক করে যে ক্যারেক্টারটি অক্ষর কিনা |
isdigit() | চেক করে যে ক্যারেক্টারটি ডিজিট কিনা |
islower() | চেক করে যে ক্যারেক্টারটি ছোট হাতের অক্ষর কিনা |
isupper() | চেক করে যে ক্যারেক্টারটি বড় হাতের অক্ষর কিনা |
tolower() | বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে |
toupper() | ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে |
isspace() | চেক করে যে ক্য |
ারেক্টারটি সাদা স্থান কিনা |
এই ctype.h হেডার ফাইলের ফাংশনগুলো ক্যারেক্টারের বৈশিষ্ট্য পরীক্ষা ও প্রক্রিয়া করতে সহায়ক, যা স্ট্রিং হ্যান্ডলিং এবং ইনপুট ভ্যালিডেশন সহজ করে তোলে।
Read more