কম্পিউটার টিউটোরিয়াল

C-তে Itoa ফাংশন আয়ত্ত করা:একটি ব্যবহারিক গাইড

C-তে Itoa ফাংশন আয়ত্ত করা:একটি ব্যবহারিক গাইড

সি প্রোগ্রামিং ভাষা পাঁচ দশক আগে চালু হয়েছিল। তারপর থেকে এটি প্রোগ্রামিং জগতে ব্যাপক জনপ্রিয়তা লাভ করে। এটি কাঠামোগত সরলতা, ফাংশন, বহনযোগ্যতা, দক্ষ মেমরি ব্যবস্থাপনা, ইত্যাদির বৈশিষ্ট্যগুলির কারণে অন্যান্য ভাষার তুলনায় অসামান্য। অন্যান্য বিভিন্ন বৈশিষ্ট্য থাকা সত্ত্বেও, সি-তে ফাংশনগুলি সবচেয়ে বিশিষ্ট সম্পদ যা অনেক ব্যবহারকারীকে শক্তিশালী কোড স্নিপেট লিখতে সহায়তা করে।

তদুপরি, itoa একটি বহুল ব্যবহৃত অ-মানক ফাংশন যা ডেটা টাইপ রূপান্তরকারী হিসাবে কাজ করে। এটি ইনপুট হিসাবে ডেটা টাইপ int নেয় এবং এটিকে একটি স্ট্রিংয়ে রূপান্তর করে। তবে আপনারা অনেকেই এর ব্যবহার জানেন না। অতএব, এই নির্দেশিকাটি সংক্ষেপে ব্যাখ্যা করে যে কিভাবে কোন ঝামেলা ছাড়াই C-তে itoa ফাংশন ব্যবহার করতে হয়।

বেসিক দিয়ে শুরু করা যাক। এখানে itoa ফাংশনের জন্য সহজ সিনট্যাক্স রয়েছে:

int main() {

    int num =12345;
    char str[20];
    itoa(সংখ্যা, str, 10);
    printf("Integer:%d\nString:%s\n", num, str);
    রিটার্ন 0;

প্রদত্ত প্রোগ্রামে, বিশদ বিবরণ নিম্নরূপ:

  1. সংখ্যা হল পূর্ণসংখ্যা
  2. str হল অক্ষর
  3. 10 হল খাদ

এখন, আসুন এগিয়ে যাই, একটি প্রোগ্রাম লিখি এবং itoa ফাংশনটি বাস্তবায়ন করি। উদাহরণস্বরূপ, স্ট্রিং-এ প্রবেশ করা নম্বরগুলি পরিবর্তন করার জন্য আমাদের একটি প্রোগ্রাম লিখতে হবে।

#include

#include

void itoa(int num, char *str, int base) {

    int i =0;
    int is নেগেটিভ =0;

    যদি (সংখ্যা ==0) {
        str[i++] ='0';
        str[i] ='\0';
        প্রত্যাবর্তন
   

    যদি (সংখ্যা <0 &&ভিত্তি !=10) {

        নেতিবাচক =1;
        num =-সংখ্যা;
   

    যখন (সংখ্যা!=0) {
        int rem =num % base;

        str[i++] =(rem> 9)? (rem - 10) + 'a' :rem + '0';

        num =সংখ্যা / ভিত্তি;
   

    যদি (নেতিবাচক &&ভিত্তি ==10)
        str[i++] ='-';

    str[i] ='\0';

    int start =0;
    int end =i - 1;

    যখন (শুরু <শেষ) {

        char temp =str[start];
        str[start] =str[শেষ];
        str[end] =temp;
        শুরু++;
        শেষ--;
    }

int main() {
    int num;
    printf("একটি পূর্ণসংখ্যা লিখুন:");
   
    যদি (scanf("%d", &num) !=1) {
        fprintf(stderr, "অবৈধ ইনপুট। অনুগ্রহ করে একটি পূর্ণসংখ্যা লিখুন।\n");
        ফেরত EXIT_FAILURE;
   

    int max_size =snprintf(NULL, 0, "%d", num) + 1;
    char *str =(char *)malloc(max_size);

    যদি (str ==NULL) {
        fprintf(stderr, "মেমরি বরাদ্দ ব্যর্থ\n");
        ফেরত EXIT_FAILURE;
   

    itoa(num, str, 10);

    printf("Integer:%d\nString:%s\n", num, str);

    বিনামূল্যে(str);

    রিটার্ন 0;

পূর্ববর্তী প্রোগ্রামে, itoa (int num, char *str, int base) হল itoa ফাংশন। অধিকন্তু, ইনপুট নম্বরটিও শূন্য হলে নিম্নলিখিত সিনট্যাক্স সরাসরি ফলাফলে শূন্য নির্ধারণ করে:

যদি (সংখ্যা ==0) {

    str[i++] ='0';
    str[i] ='\0';
    ফেরত;

যখন ইনপুট নম্বর নেতিবাচক হয় এবং ভিত্তিটিও 10 না হয়, তখন নিম্নলিখিত প্রোগ্রাম লাইনগুলি নেতিবাচক পতাকা সেট করবে:

যদি (সংখ্যা <0 &&ভিত্তি !=10) {

    নেতিবাচক =1;
    সংখ্যা =-সংখ্যা;

নিম্নলিখিত লুপটি সমস্ত অঙ্কগুলিকে প্রক্রিয়া করে এবং তাদের একটি সংশ্লিষ্ট অক্ষরে রূপান্তর করে। তাই, 10-এর বেশি বেসগুলির জন্য, প্রোগ্রামটি 10 থেকে 15 সংখ্যার জন্য "a" থেকে "f" অক্ষর ব্যবহার করে।

যখন (সংখ্যা!=0) {

    int rem =num % base;

    str[i++] =(rem> 9)? (rem - 10) + 'a' :rem + '0';

    num =সংখ্যা / ভিত্তি;
   

যখন সংখ্যাটি মূলত ঋণাত্মক হয় এবং ভিত্তিটি 10 হয়, তখন প্রোগ্রামটি একটি ফলাফলের স্ট্রিংয়ে নেতিবাচক চিহ্ন যুক্ত করবে।

যদি (is নেগেটিভ &&বেস ==10)

    str[i++] ='-';

নিম্নলিখিত লাইনগুলি ফলাফলের স্ট্রিংটিকে শেষ করে এবং তারপরে রূপান্তর প্রক্রিয়ার সময় অঙ্কগুলি বিপরীত ক্রমে পাওয়া যায় বলে এটিকে বিপরীত করে:

str[i] ='\0';

// স্ট্রিং বিপরীত করুন

int start =0;

int end =i - 1;

যখন (শুরু <শেষ) {

    char temp =str[start];
    str[start] =str[শেষ];
    str[end] =temp;
    শুরু++;
    শেষ--;

তাই, প্রোগ্রামটি ইনপুট হিসাবে পূর্ণসংখ্যা নেয় এবং স্ট্রিং উপস্থাপনার জন্য মেমরি বরাদ্দ করে। এর পরে, এটি ইটোয়াকে পূর্ণসংখ্যাকে স্ট্রিং-এ রূপান্তর করতে কল করে এবং আসল পূর্ণসংখ্যাটি প্রিন্ট করে। অবশেষে, এটি বরাদ্দ মেমরি মুক্ত করে। উদাহরণস্বরূপ, প্রোগ্রামটিতে একটি নম্বর দেওয়া যাক:

C-তে Itoa ফাংশন আয়ত্ত করা:একটি ব্যবহারিক গাইড

যাইহোক, যদি আপনি একটি নন-ইনটিজার নম্বর লিখুন, প্রোগ্রামটি নিম্নলিখিত ফলাফল দেখাবে:

C-তে Itoa ফাংশন আয়ত্ত করা:একটি ব্যবহারিক গাইড

উপসংহার

এইভাবে আপনি সি-তে itoa ফাংশনটি সহজেই প্রয়োগ করতে এবং ব্যবহার করতে পারেন। আমরা একটি বিস্তারিত উদাহরণ ব্যবহার করেছি যাতে পূর্ণসংখ্যাকে স্ট্রিং-এ রূপান্তর করতে একাধিক ফাংশন রয়েছে। মনে রাখবেন, এটি শুধুমাত্র একটি উদাহরণ, কিন্তু আপনি আশ্চর্যজনক প্রোগ্রাম লিখতে বিভিন্ন ফাংশনের সাথে itoa ফাংশন একত্রিত করতে পারেন।

লেখক সম্পর্কে

C-তে Itoa ফাংশন আয়ত্ত করা:একটি ব্যবহারিক গাইড

প্রতীক জাঙ্গিদ

ব্যক্তিগত এবং পেশাগত কারণে একজন উত্সাহী লিনাক্স ব্যবহারকারী, সর্বদা লিনাক্সের জগতে নতুন কী তা অন্বেষণ করে এবং আমার পাঠকদের সাথে ভাগ করে নেয়।


  1. পাইথনে অনুসন্ধানমূলক ডেটা বিশ্লেষণ

  2. DBMS-এ সত্তা সম্পর্কের ধরন

  3. জাভাস্ক্রিপ্টে অবিরত বিবৃতি

  4. কিভাবে আমরা জাভাতে একটি JButton এ মার্জিন সেট করতে পারি?