সি প্লাস প্লাসের একটা টিউটোরিয়ালে এই কোডটা পেয়েছি। এই কোডে
এর অর্থ কি? আর stdlib.h, ctime এই দুইটা লাইব্রেরির কাজ কি? iostream-এর কাজ কি সি-তে stdio.h-এর মতো? |
iostream = Input Output Stream, stdio = Standard Input Output সি ভাষায় হেডার ফাইলের শেষে .h এক্সটেনশন থাকে। সি প্লাস প্লাসের পুরাতন স্ট্যান্ডার্ডেও একই নিয়ম ছিলো। পরে সব হেডার ফাইল থেকে .h এক্সটেনশন বাদ দেওয়ার রীতি চালু হয়েছে। (হয়তো পুরাতন কোডগুলোর সঙ্গে কম্পাটিবিলিটি রক্ষার জন্য) এখনও .h এক্সটেনশনযুক্ত হেডার ফাইল যোগ করার পদ্ধতি বৈধ রয়েছে। সি ভাষার স্ট্যান্ডার্ড লাইব্রেরি হেডারগুলোর .h এক্সটেনশন বাদ দিতে চাইলে হেডার ফাইলের শুরুতে c বর্ণটি বসাতে হয়। যেমন-
এখানে প্রথম লাইনে সময় অনুসারে একটা র্যান্ডম নাম্বার তৈরির সূচনা করা হয়, দ্বিতীয় লাইনে ঐ র্যান্ডম নাম্বার (মূলত ১ জানুয়ারি, ১৯৭০ থেকে কম্পাইলের সময় পর্যন্ত যে সময় হয়েছে তার সেকেন্ডে রূপান্তরিত সংখ্যা) তৈরি করে২ এবং যদি সংখ্যাটি জোড় হয় তাহলে Heads এবং বিজোড় হলে Tails প্রিন্ট করা হয়। time() ফাংশনে একটা পয়েন্টার আর্গুমেন্ট পাঠাতে হয় যেখানে নির্ণিত সময় গিয়ে জমা হয়। কিন্তু এখানে আমাদের সেটা জমা রাখার দরকার নেই, তাই NULL পয়েন্টার পাঠানো হয়েছে। cstdlib (বা stdlib.h) হেডারে rand() এবং srand() ফাংশনদুটি অবস্থিত। ctime হেডারে আছে time() ফাংশন। iostream হেডারে সি প্লাস প্লাসের cout, cin ইত্যাদি ইনপুট, আউটপুটের বহুল ব্যবহৃত ফাংশনগুলো রয়েছে। সুতরাং iostream এবং cstdio হেডারের ফাংশনগুলো মূলত একই ধরণের কাজ করে। ১. এখানে আরো ভালোভাবে বিস্তারিত (ব্যতিক্রমসহ) লেখা রয়েছে। ২. এখানে বিস্তারিত জানা যাবে। |