ইনপুট এবং আউটপুট উদ্দেশ্যে ফরম্যাট স্পেসিফায়ার C-তে ব্যবহৃত হয়। এই ধারণাটি ব্যবহার করে কম্পাইলার বুঝতে পারে যে scanf() ফাংশন ব্যবহার করে ইনপুট নেওয়ার সময় এবং printf() ফাংশন ব্যবহার করে প্রিন্ট করার সময় ভেরিয়েবলে কী ধরনের ডেটা রয়েছে। এখানে বিন্যাস নির্দিষ্টকরণের একটি তালিকা রয়েছে৷
৷| ফর্ম্যাট স্পেসিফায়ার | টাইপ |
|---|---|
| %c | চরিত্র |
| %d | স্বাক্ষরিত পূর্ণসংখ্যা |
| %e বা %E | ফ্লোটের বৈজ্ঞানিক স্বরলিপি |
| %f | ফ্লোট মান |
| %g বা %G | %e বা %E | এর মত
| %hi | স্বাক্ষরিত পূর্ণসংখ্যা (সংক্ষিপ্ত) |
| %hu | স্বাক্ষরবিহীন পূর্ণসংখ্যা (সংক্ষিপ্ত) |
| %i | অস্বাক্ষরিত পূর্ণসংখ্যা |
| %l বা %ld বা %li | দীর্ঘ |
| %lf | ডবল |
| %Lf | দীর্ঘ দ্বিগুণ |
| %lu | অস্বাক্ষরিত int বা স্বাক্ষরবিহীন দীর্ঘ |
| %lli বা %lld | দীর্ঘ দীর্ঘ |
| %llu | আনসাইন করা লম্বা লম্বা |
| %o | অক্টাল উপস্থাপনা |
| %p | পয়েন্টার |
| %s | স্ট্রিং |
| %u | স্বাক্ষরবিহীন int |
| %x বা %X | হেক্সাডেসিমেল উপস্থাপনা |
| %n | কিছুই প্রিন্ট করে না |
| %% | % অক্ষর মুদ্রণ করে |
এই মৌলিক বিন্যাস স্পেসিফায়ার. আমরা ফরম্যাট স্পেসিফায়ারের সাথে কিছু অন্যান্য অংশ যোগ করতে পারি। এগুলো নিচের মত -
-
একটি বিয়োগ চিহ্ন (-) চিহ্ন বাম প্রান্তিককরণকে বলে
-
% এর পরে একটি সংখ্যা সর্বনিম্ন ক্ষেত্রের প্রস্থ নির্দিষ্ট করে। যদি স্ট্রিংটি প্রস্থের চেয়ে কম হয়, তাহলে এটি শূন্যস্থানে পূর্ণ হবে
-
একটি সময়কাল (.) ক্ষেত্রের প্রস্থ এবং নির্ভুলতা আলাদা করতে ব্যবহৃত হয়
উদাহরণ
#include <stdio.h>
main() {
char ch = 'B';
printf("%c\n", ch); //printing character data
//print decimal or integer data with d and i
int x = 45, y = 90;
printf("%d\n", x);
printf("%i\n", y);
float f = 12.67;
printf("%f\n", f); //print float value
printf("%e\n", f); //print in scientific notation
int a = 67;
printf("%o\n", a); //print in octal format
printf("%x\n", a); //print in hex format
char str[] = "Hello World";
printf("%s\n", str);
printf("%20s\n", str); //shift to the right 20 characters including the string
printf("%-20s\n", str); //left align
printf("%20.5s\n", str); //shift to the right 20 characters including the string, and print string up to 5 character
printf("%-20.5s\n", str); //left align and print string up to 5 character
} আউটপুট
B 45 90 12.670000 1.267000e+001 103 43 Hello World Hello World Hello World Hello Hello
আমরা scanf() ফাংশনের জন্য এই ফরম্যাট স্পেসিফায়ারগুলিও একই পদ্ধতিতে ব্যবহার করতে পারি। তাই আমরা উপরের মত scanf() থেকে ইনপুট নিতে পারি যেভাবে আমরা প্রিন্ট করেছি।