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

সি ভাষায় স্ট্রিং থেকে নম্বর এবং নম্বর থেকে স্ট্রিং কনভার্সন

দুটি প্রধান ফাংশন

  • sscanf() — স্ট্রিং থেকে নম্বর (পার্সিং)।
  • sprintf() — নম্বর থেকে স্ট্রিং (ফরম্যাটিং)।

দুটোই stdio.h-এ ডিক্লেয়ারড।

sscanf() — স্ট্রিং থেকে নম্বর

int sscanf(const char *str, const char *format, ...);

উদাহরণ: তারিখ পার্স করা

#include <stdio.h>

int main() {
    char date_str[] = "02 01 2010";
    int day, month, year;

    sscanf(date_str, "%d %d %d", &day, &month, &year);

    printf("Day   = %d\n", day);   // 2
    printf("Month = %d\n", month); // 1
    printf("Year  = %d\n", year);  // 2010

    return 0;
}

sprintf() — নম্বর থেকে স্ট্রিং

int sprintf(char *str, const char *format, ...);

উদাহরণ: তারিখ ফরম্যাট করা

#include <stdio.h>

int main() {
    char date_str[20];
    int day = 2, month = 1, year = 2010;

    sprintf(date_str, "%02d/%02d/%04d", day, month, year);

    printf("Formatted date: %s\n", date_str);
    return 0;
}

আউটপুট

Formatted date: 02/01/2010

অন্যান্য কনভার্সন ফাংশন

ফাংশনহেডারকাজ
atoi()stdlib.hস্ট্রিং → int
atol()stdlib.hস্ট্রিং → long
atof()stdlib.hস্ট্রিং → double
strtol()stdlib.hস্ট্রিং → long (বেস ও এরর চেক সহ)
strtod()stdlib.hস্ট্রিং → double (এরর চেক সহ)
itoa()stdlib.h (নন-স্ট্যান্ডার্ড)int → স্ট্রিং

সুরক্ষিত কনভার্সন: strtol() উদাহরণ

#include <stdio.h>
#include <stdlib.h>

int main() {
    char *str = "12345";
    char *endptr;
    long val = strtol(str, &endptr, 10);

    if (*endptr == '\0')
        printf("Conversion successful: %ld\n", val);
    else
        printf("Invalid number format\n");

    return 0;
}

সারসংক্ষেপ

  • sscanf/sprintf — ফরম্যাটেড I/O, মেমরি বাফার দিয়ে কাজ করে।
  • strtol/strtod — এরর হ্যান্ডলিং সহ সুরক্ষিত পার্সিং।
  • atoi/atof — সিম্পল কিন্তু এরর ডিটেকশন নেই।
  1. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  2. C++-এ স্ট্রিংকে নম্বরে এবং নম্বরকে স্ট্রিংএ কনভার্ট করা

  3. সিরি সেট আপ এবং ব্যবহার করার বিগিনার্স গাইড

  4. C#-এ একটি স্ট্রিং থেকে নম্বর খুঁজে বের করে এক্সট্র্যাক্ট করার পদ্ধতি