সি-তে sprintf ফাংশন

Si Te Sprintf Phansana



এই লিনাক্স হিন্ট টিউটোরিয়ালে, আমরা এর কাজ নিয়ে আলোচনা করব sprintf() সি প্রোগ্রামিং ভাষায় ফাংশন। দ্য sprintf() ফাংশন অনুরূপ printf() ফাংশন, কিন্তু প্রধান পার্থক্য হল printf() stdout আউটপুটে স্ট্রিং পাঠাতে ফাংশন ব্যবহার করা হয়। দ্য sprintf() ফাংশন আউটপুটকে মেমরির একটি স্ট্রিং ভেরিয়েবলের দিকে নির্দেশ করে যা আরও স্ট্রিং প্রক্রিয়াকরণ বা ফাইল বা stdout-এ লেখা সহ বিভিন্ন উদ্দেশ্যে ব্যবহার করা যেতে পারে।

সি-তে স্প্রিন্ট() ফাংশনের সিনট্যাক্স:

sprintf() ফাংশনে, আমরা 'int' টাইপ ঘোষণা করেছি। একটি টাইপ অক্ষরের একটি প্যারামিটার নামের বাফার রয়েছে যা বড় আকারের বাফারে অক্ষর স্ট্রিং সংরক্ষণ করতে ব্যবহৃত একটি পয়েন্টার। আর্গুমেন্ট *ফর্ম্যাট হল সেই স্ট্রিং যা আউটপুট বর্ণনা করতে ব্যবহৃত হয়।







সি-তে sprintf() ফাংশনে ব্যবহৃত স্পেসিফায়ার

আমরা আউটপুট স্ক্রিনে যে ভেরিয়েবল টাইপটি প্রদর্শন করতে চাই তা নির্ধারণ করতে C ভাষায় ব্যবহৃত বিভিন্ন ফর্ম্যাট স্পেসিফায়ার নিচে দেওয়া হল:



ফরম্যাট স্পেসিফায়ার ব্যাখ্যা
%d একটি পূর্ণসংখ্যার প্রতিনিধিত্ব করে।
%f একটি নির্দিষ্ট দশমিক ফ্লোট মান প্রতিনিধিত্ব করে।
%.1f ফ্লোটিং-পয়েন্টে দশমিকের আগে একটি সংখ্যার সাথে একটি মান উপস্থাপন করে
%এবং বৈজ্ঞানিক স্বরলিপিতে একটি দশমিক ফ্লোট মান প্রতিনিধিত্ব করে (সূচকীয়)।
%g মানের দৈর্ঘ্যের উপর ভিত্তি করে স্ট্যাটিক দশমিক বা সূচকীয় বিন্যাসে একটি ভাসমান-বিন্দু মান উপস্থাপন করে।
% গ চরিত্র ভেরিয়েবল প্রতিনিধিত্ব করে।
%s একটি অক্ষর স্ট্রিং প্রতিনিধিত্ব করে।
%p পয়েন্টারের ঠিকানায় নির্দেশ করে।
%n কিছুই প্রিন্ট করে না।

sprintf() ফাংশনের রিটার্নড ভ্যালু

স্ট্রিংয়ের শেষে ঢোকানো খালি অক্ষর ব্যতীত প্রিন্ট করা অক্ষরের সম্পূর্ণ সংখ্যা সফলভাবে কম্পাইল করা হলে ফিরিয়ে দেওয়া হয়। বিকল্পভাবে, ব্যর্থতার ক্ষেত্রে একটি নেতিবাচক মান ফেরত দেওয়া হয়।



sprintf() ফাংশনের বাস্তবায়ন

এর সম্পাদনের জন্য C অনলাইন কম্পাইলার বা Dev C++ কম্পাইলার ব্যবহার করুন sprintf() সি প্রোগ্রামিং ভাষায় ফাংশন।





উদাহরণ 01:

সি প্রোগ্রামিং ল্যাঙ্গুয়েজের কার্যকারিতা দেখানোর জন্য নিচের সহজতম চিত্রটি দেওয়া হল sprintf() ফাংশন এই ক্ষেত্রে, 'x' এবং 'y' গুন করে আমরা 'z' এর মান নির্ধারণ করতে পারি। আমাদের প্রথম প্রোগ্রাম লেখা শুরু করার জন্য, আমাদের অবশ্যই প্রোগ্রামটি চালানোর জন্য হেডার ফাইলগুলি অন্তর্ভুক্ত করতে হবে। 'stdio.h' ব্যবহারকারীর কাছ থেকে ইনপুট পেতে ব্যবহার করা হয় এবং প্রোগ্রামটি সংকলনের পরে আউটপুট প্রদর্শন করে। হেডার ফাইল 'stdlib.h' মানে স্ট্যান্ডার্ড লাইব্রেরি যেখানে ডেটা স্টোরেজ, নিয়ন্ত্রণ কার্যক্রম, গণনা এবং অন্যান্য জিনিসের পদ্ধতি রয়েছে।

তারপর, আমরা বাস্তবায়ন শুরু প্রধান() পদ্ধতি যা সি-তে প্রোগ্রামের কোড বাস্তবায়নের সূচনা হিসাবে কাজ করে। ভাষা সি-তে, একটি প্রধান হল একটি প্রমিত কীওয়ার্ড বা পদ্ধতি। দ্য প্রধান() ফাংশন হল কোড এক্সিকিউশন চালু করার এবং তারপর প্রোগ্রামটি বন্ধ করার দায়িত্বপ্রাপ্ত প্রথম পদ্ধতি। দ্য প্রধান() পদ্ধতিতে একটি 'int' রিটার্ন ডেটা টাইপ রয়েছে যা সর্বদা 'প্রধান' ফাংশন থেকে সম্পাদন শুরু করে।



তারপর, আমরা একটি পূর্ণসংখ্যা হিসাবে পরিচিত একটি ডেটা টাইপ 'int' সহ 'x' নামের একটি ভেরিয়েবল ঘোষণা করেছি। দ্য 'printf()' উদ্ধৃতি চিহ্নগুলিতে ঠিক যে স্ট্রিংটি লেখা ছিল তা প্রদর্শন করার জন্য পদ্ধতি বলা হয় (অর্থাৎ x: এর মান লিখুন)। তারপর, আমাদের ব্যবহারকারীর কাছ থেকে ইনপুট পেতে হবে। সুতরাং, আমরা ব্যবহার করেছি 'স্ক্যানফ()' পদ্ধতি মধ্যে 'স্ক্যানফ()' পদ্ধতি, '%d' স্পেসিফায়ারটি পূর্ণসংখ্যা টাইপ ভেরিয়েবল 'x' স্ক্রিনে প্রদর্শনের জন্য ব্যবহৃত হয়। এটি যেমন আছে, আমরা 'y' ভেরিয়েবলটিকে ডেটা টাইপ 'int' সহ ঘোষণা করেছি এবং ব্যবহারকারীর কাছ থেকে ইনপুট পেয়েছি।

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন

int প্রধান ( )
{
int এক্স ;
printf ( 'x এর মান লিখুন: ' ) ;
scanf ( '%d' , এবং এক্স ) ;

int Y ;
printf ( 'y এর মান লিখুন:' ) ;
scanf ( '%d' , এবং Y ) ;

int সঙ্গে = এক্স * Y ;
চর বাফার [ পঞ্চাশ ] ;

sprintf ( বাফার , '%d এবং %d এর গুন হল: %d' , এক্স , Y , সঙ্গে ) ;
printf ( '%s \n ' , বাফার ) ;

প্রত্যাবর্তন 0 ;
}

আমরা আরেকটি ভেরিয়েবল 'z' ঘোষণা করেছি যেটি 'x * y' গুণনের উত্তর সংরক্ষণ করতে ব্যবহার করা হয়েছিল ডেটা টাইপ 'int' সহ। সমস্ত বৈধ ভেরিয়েবল ঘোষণা করার পরে, আমরা 50 দৈর্ঘ্যের একটি অক্ষর টাইপ 'বাফার' ঘোষণা করেছি। উপরন্তু, '%d' স্পেসিফায়ার ব্যবহার করে, sprintf() পদ্ধতি তাৎক্ষণিকভাবে গুণনের ফলাফল প্রদর্শন না করে স্ট্রিং নির্মাণ করতে সক্ষম করে। তারপর, ডবল উদ্ধৃতি চিহ্নে লেখা অক্ষর স্ট্রিংটি মুদ্রণ করুন। প্রোগ্রাম শেষে, 0 তে ফেরত দিন প্রধান() ফাংশন যা প্রোগ্রাম এক্সিকিউশনের সমাপ্তি দেখাবে

এখানে উপরের চিত্রের আউটপুট। প্রথমে, আপনাকে 'x' এর মান এবং 'y' এর মান লিখতে হবে। দ্য sprintf() পদ্ধতিটি তখন অনুবাদক দ্বারা দুটি মানকে গুণ করার ফলাফল দেখাতে ব্যবহার করা হবে।

উদাহরণ 02:

আমাদের নিবন্ধ থেকে এই দ্বিতীয় চিত্রে, আমরা একটি বৃত্তের পরিধি এবং ব্যাস ইনপুট করে PI এর মান গণনা করেছি। আসুন প্রোগ্রামটি লেখা শুরু করি যা PI এর মান গণনা করবে।

প্রোগ্রাম লেখা শুরু করার জন্য, আমাদের প্রথমে হেডার ফাইলটি অন্তর্ভুক্ত করতে হবে। C ভাষায়, হেডার ফাইলে '.h' এক্সটেনশন আছে। আমাদের অ্যাপ্লিকেশন চালানোর জন্য “stdio.h”, “stdlib”, এবং “math.h” হেডার ফাইলগুলি প্রয়োজন। হেডার ফাইল 'stdio.h' প্রিপ্রসেসর নির্দেশিকা '#include' সহ প্রোগ্রামের ইনপুট এবং আউটপুট প্রদর্শন করতে ব্যবহৃত হয়। আমাদের প্রোগ্রামের প্রাথমিক কোড, যা আমরা কার্যকর করতে চাই এবং উপযুক্ত আউটপুট তৈরি করতে চাই, প্রধান() বডিতে লেখা হয়।

main() ফাংশন বডিতে, আমরা বৃত্তের পৃষ্ঠের ক্ষেত্রফল নির্ণয় করার জন্য দুটি 'int' ভেরিয়েবল, 'পরিধি' এবং 'ব্যাসার্ধ,' সেইসাথে একটি 'ফ্লোট' ভেরিয়েবল যা 'ব্যাস' ঘোষণা করেছি। 'pi' এর ফ্লোট মান তারপর 'pi' নামক একটি অতিরিক্ত ভেরিয়েবলে সংরক্ষণ করা হয়েছিল। সবশেষে, টাইপ অক্ষরের 'বাফার' 50 এর দৈর্ঘ্য ব্যবহার করে স্ট্রিং ধরে রাখে। সম্পদ বরাদ্দ করার সময়, বাফারটি লেখা অক্ষরগুলি পুনরুদ্ধার করে এবং সমস্ত ভেরিয়েবল পাওয়ার পরে একটি স্ট্রিংয়ের সাথে সংযুক্ত করে। দ্য প্রধান() পদ্ধতি প্রতিটি পরিবর্তনশীল বোঝার চেষ্টা করে। যদি বাস্তবায়ন সঠিকভাবে সম্পন্ন করা হয়, তাহলে এটি 0-এ ফিরে আসবে প্রধান() পদ্ধতি

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত

int প্রধান ( ) {

int পরিধি = 44 ;

printf ( 'পরিধির মান হল: %d \n ' , পরিধি ) ;

int ব্যাসার্ধ = 7 ;

printf ( 'Pi এর মান খুঁজতে। প্রথমে, ব্যাসের মান বের করুন। \n ' ) ;

ভাসা ব্যাস = ( ভাসা ) 7 * দুই ;

printf ( 'ব্যাসের মান পেতে ব্যাসার্ধের মানকে 2 দ্বারা গুণ করা হচ্ছে। \n \n '
'ব্যাসের মান হল: %f \n ' , ব্যাস ) ;

ভাসা পাই = পরিধি / ব্যাস ;

চর বাফার [ পঞ্চাশ ] ;
sprintf ( বাফার , '%f' , পাই ) ;

printf ( 'Pi এর মান %s হিসাবে সংরক্ষণ করা হয়৷ \n ' , বাফার ) ;

প্রত্যাবর্তন 0 ;
}

উপরে উল্লিখিত কোড স্নিপেটটি কার্যকর করার পরে, আমরা বৃত্তের পরিধি এবং ব্যাস ব্যবহার করে 'pi' এর মান নির্ধারণ করতে সক্ষম হয়েছি।

উপসংহার

এই লিনাক্স হিন্ট টিউটোরিয়ালে প্রোগ্রামিং ল্যাঙ্গুয়েজ সি-এর sprintf() ফাংশনটি সম্বোধন করা হয়েছে। আমরা sprintf() ফাংশনের সিনট্যাক্স এবং প্যারামিটার ঘোষণা করার জন্য C এ কোডিং করার সময় নিযুক্ত ফর্ম্যাট স্পেসিফায়ার সম্পর্কে কথা বলেছি। তারপর, ব্যবহারকারী কিভাবে বুঝতে সাহায্য করতে sprintf() পদ্ধতি কাজ করে, আমরা দুটি অনন্য উদাহরণ প্রয়োগ করেছি।