Namespaces
Variants

std:: setw

From cppreference.net
< cpp ‎ | io ‎ | manip
헤더 파일에 정의됨 <iomanip>
/* unspecified */ setw ( int n ) ;

표현식에서 사용될 때 out << std :: setw ( n ) 또는 in >> std :: setw ( n ) 는 스트림 out 또는 in width 매개변수를 정확히 n 으로 설정합니다.

일부 연산은 너비를 0으로 재설정합니다( 아래 참조 ). 따라서 여러 연산에 대한 너비를 설정하려면 std::setw 를 반복적으로 호출해야 할 수 있습니다.

목차

매개변수

n - 너비의 새 값

반환값

지정되지 않은 타입의 객체로서

  • 만약 out std:: basic_ostream < CharT, Traits > 타입의 객체라면, 표현식 out << setw ( n )
    • 타입은 std:: basic_ostream < CharT, Traits > & 을 가짐
    • 값은 out 을 가짐
    • 마치 f ( out, n ) 을 호출한 것처럼 동작함
  • 만약 in std:: basic_istream < CharT, Traits > 타입의 객체라면, 표현식 in >> setw ( n )
    • 타입은 std:: basic_istream < CharT, Traits > & 을 가짐
    • 값은 in 을 가짐
    • 마치 f ( in, n ) 을 호출한 것처럼 동작함

함수 f 가 다음과 같이 정의되는 경우:

void f(std::ios_base& str, int n)
{
    // 너비 설정
    str.width(n);
}

참고 사항

스트림의 width 속성은 다음 함수들 중 어느 하나가 호출되면 0(즉 "지정되지 않음")으로 재설정됩니다:

  • 입력
  • 출력

이 수정자가 입력과 출력에 미치는 정확한 효과는 개별 I/O 함수마다 다르며, 각 operator << operator >> 오버로드 페이지에서 개별적으로 설명됩니다.

예제

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

출력:

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"

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 183 C++98 setw std::ostream 또는 std::istream 타입의 스트림에서만
사용 가능했음
모든 문자 스트림에서
사용 가능

참고 항목

필드 너비 관리
( std::ios_base 의 public member function)
채움 문자 변경
(function template)
채움 문자 배치 설정
(function)
숫자 진법 표시 접두사 사용 여부 제어
(function)