std:: setw
|
헤더 파일에 정의됨
<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(즉 "지정되지 않음")으로 재설정됩니다:
- 입력
- 출력
-
- 산술 타입이나 void 포인터를 취하는 basic_ostream::operator<<() 의 오버로드들 ( num_put::put() 의 3단계에서)
- operator<<(basic_ostream&, char) 와 operator<<(basic_ostream&, char*)
- operator<<(basic_ostream&, basic_string&)
- std::put_money ( money_put::put() 내부에서)
- std::quoted (출력 스트림과 함께 사용될 때)
이 수정자가 입력과 출력에 미치는 정확한 효과는 개별 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) |