C++
std :: iomanip
खोज…
std :: setw
int val = 10;
// val will be printed to the extreme left end of the output console:
std::cout << val << std::endl;
// val will be printed in an output field of length 10 starting from right end of the field:
std::cout << std::setw(10) << val << std::endl;
यह आउटपुट:
10
10
1234567890
(जहाँ अंतिम पंक्ति वर्ण वर्णों को देखने में सहायता के लिए है)।
कभी-कभी हमें आउटपुट फ़ील्ड की चौड़ाई निर्धारित करने की आवश्यकता होती है, आमतौर पर जब हमें आउटपुट को कुछ संरचित और उचित लेआउट में प्राप्त करने की आवश्यकता होती है। यही कारण है कि उपयोग किया जा सकता std::setw
std :: iomanip की।
std::setw
लिए वाक्य रचना है:
std::setw(int n)
जहां n आउटपुट फ़ील्ड की लंबाई सेट करने के लिए है
std :: setprecision
जब एक अभिव्यक्ति में प्रयोग किया जाता out << setprecision(n)
या in >> setprecision(n)
, स्ट्रीम के सटीक पैरामीटर को सेट करता है या बिल्कुल एन। इस फ़ंक्शन का पैरामीटर पूर्णांक है, जो सटीक के लिए नया मान है।
उदाहरण:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <limits>
int main()
{
const long double pi = std::acos(-1.L);
std::cout << "default precision (6): " << pi << '\n'
<< "std::precision(10): " << std::setprecision(10) << pi << '\n'
<< "max precision: "
<< std::setprecision(std::numeric_limits<long double>::digits10 + 1)
<< pi << '\n';
}
//Output
//default precision (6): 3.14159
//std::precision(10): 3.141592654
//max precision: 3.141592653589793239
std :: setfill
जब एक अभिव्यक्ति में इस्तेमाल किया out << setfill(c)
के लिए बाहर धारा का भरण चरित्र सेट c
।
नोट: वर्तमान भरण वर्ण std::ostream::fill
साथ प्राप्त किया जा सकता है।
उदाहरण:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << "default fill: " << std::setw(10) << 42 << '\n'
<< "setfill('*'): " << std::setfill('*')
<< std::setw(10) << 42 << '\n';
}
//output::
//default fill: 42
//setfill('*'): ********42
std :: setiosflags
जब एक अभिव्यक्ति में प्रयोग किया जाता out << setiosflags(mask)
या in >> setiosflags(mask)
, धारा के सभी प्रारूप झंडे सेट करते हैं या मुखौटा द्वारा निर्दिष्ट के रूप में।
सभी std::ios_base::fmtflags
की सूची std::ios_base::fmtflags
:
-
dec
- पूर्णांक I / O के लिए दशमलव आधार का उपयोग करें -
oct
- पूर्णांक I / O के लिए ऑक्टल आधार का उपयोग करें -
hex
- पूर्णांक I / O के लिए हेक्साडेसिमल आधार का उपयोग करें -
basefield
-basefield
dec|oct|hex|0
basefield
dec|oct|hex|0
मास्किंग ऑपरेशन के लिए उपयोगी -
left
- बाएँ समायोजन (दाईं ओर वर्ण भरें) -
right
- दायां समायोजन (बाईं ओर वर्ण भरें) -
internal
- आंतरिक समायोजन (आंतरिक निर्दिष्ट बिंदु पर वर्ण भरें) -
adjustfield
-left|right|internal
| मास्किंग ऑपरेशन के लिए उपयोगी -
scientific
- यदि निश्चित के साथ संयुक्त हो तो वैज्ञानिक संकेतन, या हेक्स संकेतन का उपयोग करके फ्लोटिंग पॉइंट प्रकार उत्पन्न करें -
fixed
- फिक्स्ड नोटेशन, या हेक्स नोटेशन का उपयोग करके फ्लोटिंग पॉइंट टाइप जेनरेट करें यदि वैज्ञानिक के साथ संयुक्त हो -
floatfield
-scientific|fixed|(scientific|fixed)|0
| मास्किंग ऑपरेशन के लिए उपयोगी -
boolalpha
- अल्फ़ान्यूमेरिक प्रारूप मेंbool
प्रकार डालें और निकालें -
showbase
- पूर्णांक आउटपुट के लिए संख्यात्मक आधार का संकेत उपसर्ग उत्पन्न करता है, मुद्रा I / O में मुद्रा संकेतक की आवश्यकता होती है -
showpoint
-showpoint
- फ़्लोटिंग-पॉइंट नंबर आउटपुट के लिए बिना किसी दशमलव-बिंदु के वर्ण उत्पन्न करता है -
showpos
- एक उत्पन्न+
गैर नकारात्मक संख्यात्मक उत्पादन के लिए चरित्र -
skipws
- कुछ इनपुट ऑपरेशन से पहले प्रमुखskipws
छोड़ दें -
unitbuf
प्रत्येक आउटपुट ऑपरेशन के बाद आउटपुट को फ्लश करता है -
uppercase
- कुछ आउटपुट आउटपुट ऑपरेशंस में अपने अपरकेस समकक्षों के साथ कुछ निचले अक्षरों को बदलें
जोड़तोड़ के उदाहरण:
#include <iostream>
#include <string>
#include<iomanip>
int main()
{
int l_iTemp = 47;
std::cout<< std::resetiosflags(std::ios_base::basefield);
std::cout<<std::setiosflags( std::ios_base::oct)<<l_iTemp<<std::endl;
//output: 57
std::cout<< std::resetiosflags(std::ios_base::basefield);
std::cout<<std::setiosflags( std::ios_base::hex)<<l_iTemp<<std::endl;
//output: 2f
std::cout<<std::setiosflags( std::ios_base::uppercase)<<l_iTemp<<std::endl;
//output 2F
std::cout<<std::setfill('0')<<std::setw(12);
std::cout<<std::resetiosflags(std::ios_base::uppercase);
std::cout<<std::setiosflags( std::ios_base::right)<<l_iTemp<<std::endl;
//output: 00000000002f
std::cout<<std::resetiosflags(std::ios_base::basefield|std::ios_base::adjustfield);
std::cout<<std::setfill('.')<<std::setw(10);
std::cout<<std::setiosflags( std::ios_base::left)<<l_iTemp<<std::endl;
//output: 47........
std::cout<<std::resetiosflags(std::ios_base::adjustfield)<<std::setfill('#');
std::cout<<std::setiosflags(std::ios_base::internal|std::ios_base::showpos);
std::cout<<std::setw(10)<<l_iTemp<<std::endl;
//output +#######47
double l_dTemp = -1.2;
double pi = 3.14159265359;
std::cout<<pi<<" "<<l_dTemp<<std::endl;
//output +3.14159 -1.2
std::cout<<std::setiosflags(std::ios_base::showpoint)<<l_dTemp<<std::endl;
//output -1.20000
std::cout<<setiosflags(std::ios_base::scientific)<<pi<<std::endl;
//output: +3.141593e+00
std::cout<<std::resetiosflags(std::ios_base::floatfield);
std::cout<<setiosflags(std::ios_base::fixed)<<pi<<std::endl;
//output: +3.141593
bool b = true;
std::cout<<std::setiosflags(std::ios_base::unitbuf|std::ios_base::boolalpha)<<b;
//output: true
return 0;
}