সি প্রোগ্রামিং ভাষায় atoi() ফাংশন স্ট্রিং থেকে পূর্ণসংখ্যা রূপান্তর পরিচালনা করতে ব্যবহৃত হয়। ফাংশনটি একটি ইনপুট হিসাবে একটি স্ট্রিং নেয় এবং পূর্ণসংখ্যার ধরনে মান প্রদান করে।
সিনট্যাক্স
int atoi(const char string)
পরামিতি গৃহীত − atio() ফাংশনটি একটি স্ট্রিংকে একটি ইনপুট হিসাবে গ্রহণ করেছে যা পূর্ণসংখ্যার সমতুল্যে রূপান্তরিত হবে৷
রিটার্ন টাইপ - ফাংশন একটি পূর্ণসংখ্যা মান প্রদান করে। মানটি একটি বৈধ স্ট্রিংয়ের জন্য পূর্ণসংখ্যার সমতুল্য হবে অন্যথায় 0 ফেরত দেওয়া হবে।
atoi() ফাংশন-
বাস্তবায়নআমরা স্ট্রিংয়ের প্রতিটি অক্ষর নিই এবং 10 দ্বারা গুণিত পূর্ববর্তী ফলাফলে সংখ্যা যোগ করে পূর্ণসংখ্যা তৈরি করি।
ঋণাত্মক পূর্ণসংখ্যার জন্য, আমরা পরীক্ষা করব --তে একটি স্ট্রিং-এর প্রথম অক্ষর কিনা, আমরা চূড়ান্ত ফলাফলকে -1 দিয়ে গুণ করব।
প্রতিটি অক্ষর 0 থেকে 9 এর মধ্যে আছে কিনা তা পরীক্ষা করে আমরা একটি বৈধ স্ট্রিং পরীক্ষা করব।
আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream> using namespace std; bool isNumericChar(char x) { return (x >= '0' && x <= '9') ? true : false; } int myAtoi(char* str) { if (*str == '\0') return 0; int result = 0; int sign = 1; int i = 0; if (str[0] == '-') { sign = -1; i++; } for (; str[i] != '\0'; ++i) { if (isNumericChar(str[i]) == false) return 0; result = result * 10 + str[i] - '0'; } return sign * result; } int main() { char string[] = "-32491841"; int intVal = myAtoi(string); cout<<"The integer equivalent of the given string is "<<intVal; return 0; }
আউটপুট
The integer equivalent of the given string is -32491841