खोज…


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;
    }


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow