কম্পিউটার

C++ ম্যানিপুলেটর (endl, setw, setprecision, setf) কি?


স্ট্রিম ম্যানিপুলেটর হল বিশেষভাবে স্ট্রিম অবজেক্টে সন্নিবেশ (<<) এবং নিষ্কাশন (>>) অপারেটরগুলির সাথে একত্রে ব্যবহার করার জন্য ডিজাইন করা ফাংশন, উদাহরণস্বরূপ −

std::cout << std::setw(10);

এগুলি এখনও নিয়মিত ফাংশন এবং আর্গুমেন্ট হিসাবে একটি স্ট্রীম অবজেক্ট ব্যবহার করে অন্য যেকোন ফাংশন হিসাবেও বলা যেতে পারে, উদাহরণস্বরূপ −

boolalpha (cout);

ম্যানিপুলেটরগুলি স্ট্রিমগুলিতে ফর্ম্যাটিং প্যারামিটার পরিবর্তন করতে এবং নির্দিষ্ট বিশেষ অক্ষর সন্নিবেশ বা নিষ্কাশন করতে ব্যবহৃত হয়৷

নিচে কিছু বহুল ব্যবহৃত C++ ম্যানিপুলেটর −

দেওয়া হল

endl

এই ম্যানিপুলেটরের কার্যকারিতা '\n'(নতুন লাইনের অক্ষর) এর মতোই রয়েছে। কিন্তু এটি আউটপুট স্ট্রীমকেও ফ্লাশ করে।

উদাহরণ

#include<iostream>
int main() {
   std::cout << "Hello" << std::endl << "World!";
}

আউটপুট

Hello
World!

শোপয়েন্ট/নোশোপয়েন্ট

এই ম্যানিপুলেটর নিয়ন্ত্রণ করে যে দশমিক বিন্দু সর্বদা ফ্লোটিং-পয়েন্ট উপস্থাপনায় অন্তর্ভুক্ত থাকে কিনা।

উদাহরণ

#include <iostream>
int main() {
   std::cout << "1.0 with showpoint: " << std::showpoint << 1.0 << '\n'
             << "1.0 with noshowpoint: " << std::noshowpoint << 1.0 << '\n';
}

আউটপুট

1.0 with showpoint: 1.00000
1.0 with noshowpoint: 1

সেট নির্ভুলতা

এই ম্যানিপুলেটর ফ্লোটিং-পয়েন্ট নির্ভুলতা পরিবর্তন করে। যখন একটি এক্সপ্রেশন আউট <> setprecision(n) ব্যবহার করা হয়, তখন স্ট্রিমের নির্ভুলতা প্যারামিটার আউট বা ঠিক n এ সেট করে।

উদাহরণ

#include <iostream>
#include <iomanip>
int main() {
   const long double pi = 3.141592653589793239;
   std::cout << "default precision (6): " << pi << '\n'
             << "std::setprecision(10): " << std::setprecision(10) << pi << '\n';
}

আউটপুট

default precision (6): 3.14159
std::setprecision(10): 3.141592654

setw

এই ম্যানিপুলেটর পরবর্তী ইনপুট/আউটপুট ক্ষেত্রের প্রস্থ পরিবর্তন করে। যখন একটি এক্সপ্রেশন আউট <> setw(n) ব্যবহার করা হয়, তখন স্ট্রীমের প্রস্থ প্যারামিটার আউট বা ইন ঠিক n এ সেট করে।

উদাহরণ

#include <iostream>
#include <iomanip>
int main() {
   std::cout << "no setw:" << 42 << '\n'
             << "setw(6):" << std::setw(6) << 42 << '\n'
             << "setw(6), several elements: " << 89 << std::setw(6) << 12 << 34 << '\n';
}

আউটপুট

no setw:42
setw(6):    42
setw(6), several elements: 89    1234

  1. C++ এ টাইপ কোয়ালিফায়ার কি?

  2. C++ এ অক্ষর অক্ষর কি কি?

  3. C++ এ বুলিয়ান লিটারেল কি?

  4. C++ এ স্ট্যান্ডার্ড লাইব্রেরি কি?