দুটি প্রধান ফাংশন
- 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— সিম্পল কিন্তু এরর ডিটেকশন নেই।