Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::setbase(3)		      C++ Standard Libary	       std::setbase(3)

NAME
       std::setbase - std::setbase

Synopsis
	  Defined in header <iomanip>
	  /*unspecified*/ setbase( int base );

	  Sets	the numeric base of the	stream.	When used in an	expression out
       << setbase(base)
	  or in	>> setbase(base), changes the basefield	flag of	the stream out
       or in,
	  depending on the value of base:

	    * the value	16 sets	basefield to std::ios_base::hex
	    * the value	8 sets std::ios_base::oct
	    * the value	10 sets	std::ios_base::dec.

	  Values of base other than 8, 10, or  16  reset  basefield  to	 zero,
       which corresponds to
	  decimal output and prefix-dependent input.

Parameters
	  base - new value for basefield

Return value
	  Returns  an  object of unspecified type such that if str is the name
       of an output
	  stream  of  type  std::basic_ostream<CharT,  Traits>	 or   std::ba-
       sic_istream<CharT,
	  Traits>,  then  the  expression  str << setbase(base)	or str >> set-
       base(base) behaves as
	  if the following code	was executed:

	str.setf(base ==  8 ? std::ios_base::oct :
		    base == 10 ? std::ios_base::dec :
			base ==	16 ? std::ios_base::hex	:
			     std::ios_base::fmtflags(0),
		 std::ios_base::basefield);

Example
       // Run this code

	#include <iostream>
	#include <sstream>
	#include <iomanip>
	int main()
	{
	    std::cout << "Parsing string \"10 0x10 010\"\n";

	    int	n1, n2,	n3;
	    std::istringstream s("10 0x10 010");
	    s >> std::setbase(16) >> n1	>> n2 >> n3;
	    std::cout << "hexadecimal parse: " << n1 <<	' ' << n2 << ' ' << n3
       << '\n';

	    s.clear();
	    s.seekg(0);
	    s >> std::setbase(0) >> n1 >> n2 >>	n3;
	    std::cout << "prefix-dependent parse: " << n1 << ' ' << n2 << '  '
       << n3 <<	'\n';

	    std::cout << "hex output: "	<< std::setbase(16)
		      <<  std::showbase	 <<  n1	 <<  ' ' << n2 << ' ' << n3 <<
       '\n';
	}

Output:
	Parsing	string "10 0x10	010"
	hexadecimal parse: 16 16 16
	prefix-dependent parse:	10 16 8
	hex output: 0xa	0x10 0x8

See also
	  dec	     changes the base used for integer I/O
	  hex	     (function)
	  oct
	  showbase   controls whether prefix is	used to	indicate numeric base
	  noshowbase (function)

http://cppreference.com		  2022.07.31		       std::setbase(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::setbase&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help