কম্পিউটার

সি-তে ফর্ম্যাট স্পেসিফায়ার


ইনপুট এবং আউটপুট উদ্দেশ্যে ফরম্যাট স্পেসিফায়ার 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() থেকে ইনপুট নিতে পারি যেভাবে আমরা প্রিন্ট করেছি।


  1. কীভাবে একটি SSD ফর্ম্যাট করবেন

  2. সি-তে নম্বর প্যাটার্ন প্রিন্ট করার প্রোগ্রাম

  3. কিভাবে জাভাতে printf() পদ্ধতি ব্যবহার করে তারিখ ফরম্যাট করবেন?

  4. উদাহরণ সহ Bash/Shell-এ printf কমান্ড ব্যবহার করা