स्ट्रीम मैनिपुलेटर्स विशेष रूप से इंसर्शन (<<) और एक्सट्रैक्शन (>>) ऑपरेटरों के साथ स्ट्रीम ऑब्जेक्ट्स के संयोजन के साथ उपयोग करने के लिए डिज़ाइन किए गए फ़ंक्शन हैं, उदाहरण के लिए -
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
सेटप्रेसिजन
यह मैनिपुलेटर फ़्लोटिंग-पॉइंट परिशुद्धता को बदलता है। जब एक एक्सप्रेशन में उपयोग किया जाता है <
उदाहरण
#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
सेट करें
यह मैनिपुलेटर अगले इनपुट/आउटपुट फ़ील्ड की चौड़ाई बदलता है। जब एक एक्सप्रेशन आउट <
उदाहरण
#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