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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::setw - std::setw

Synopsis
	  Defined in header <iomanip>
	  /* unspecified */ setw( int n	);

	  When	 used	in   an	 expression  out  <<  std::setw(n)  or	in  >>
       std::setw(n), sets the width
	  parameter of the stream out or in to exactly n.

	  Some operations reset	the width to zero (see	below),	 so  std::setw
       may need	to be
	  repeatedly called to set the width for multiple operations.

Parameters
	  n - new value	for width

Return value
	  An object of unspecified type	such that

	    *  if  out is an object of type std::basic_ostream<CharT, Traits>,
       the expression
	      out << setw(n)
		 * has type std::basic_ostream<CharT, Traits>&
		 * has value out
		 * behaves as if it called f(out, n)
	    * if in is an object of  type  std::basic_istream<CharT,  Traits>,
       the expression in
	      >> setw(n)
		 * has type std::basic_istream<CharT, Traits>&
		 * has value in
		 * behaves as if it called f(in, n)

	  where	the function f is defined as:

	void f(std::ios_base& str, int n)
	{
	    // set width
	    str.width(n);
	}

Notes
	  The width property of	the stream will	be reset to zero (meaning "un-
       specified") if
	  any of the following functions are called:

	    * Input

	    * operator>>(basic_istream&, basic_string&)
	    * operator>>(basic_istream&, char*)
	    * Output

	    *  Overloads  of  basic_ostream::operator<<() that take arithmetic
       types or	void
	      pointers (at Stage 3 of num_put::put())
	    * operator<<(basic_ostream&, char) and  operator<<(basic_ostream&,
       char*)
	    * operator<<(basic_ostream&, basic_string&)
	    * std::put_money (inside money_put::put())
	    * std::quoted (when	used with an output stream)

	  The exact effects this modifier has on the input and output vary be-
       tween the
	  individual  I/O  functions  and are described	at each	operator<< and
       operator>>
	  overload page	individually.

Example
       // Run this code

	#include <iomanip>
	#include <iostream>
	#include <sstream>

	int main()
	{
	    std::cout << "no setw: [" << 42 << "]\n"
		      << "setw(6): [" << std::setw(6) << 42 << "]\n"
		      << "no setw, several elements: ["	<< 89 << 12 <<	34  <<
       "]\n"
		      <<  "setw(6), several elements: [" << 89 << std::setw(6)
       << 12 <<	34 << "]\n";

	    std::istringstream is("hello, world");
	    char arr[10];

	    is >> std::setw(6) >> arr;
	    std::cout << "Input	from \"" << is.str() <<	"\" with setw(6)  gave
       \""
		      << arr <<	"\"\n";
	}

Output:
	no setw: [42]
	setw(6): [    42]
	no setw, several elements: [891234]
	setw(6), several elements: [89	  1234]
	Input from "hello, world" with setw(6) gave "hello"

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	    DR	   Applied  to		Behavior as published	       Correct
       behavior
	  LWG 183 C++98	     setw could	only be	used with  streams  of	usable
       with any
			     type std::ostream or std::istream	     character
       stream

See also
	  width	     manages field width
		     (public member function of	std::ios_base)
	  setfill    changes the fill character
		     (function template)
	  internal   sets the placement	of fill	characters
	  left	     (function)
	  right
	  showbase   controls whether prefix is	used to	indicate numeric base
	  noshowbase (function)

http://cppreference.com		  2024.06.10			  std::setw(3)

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

home | help