Namespaces
Variants

std::ios_base:: setf

From cppreference.net
fmtflags setf ( fmtflags flags ) ;
(1)
fmtflags setf ( fmtflags flags, fmtflags mask ) ;
(2)

서식 플래그를 지정된 설정으로 설정합니다.

1) flags 로 식별되는 서식 플래그를 설정합니다. 효과적으로 다음 연산이 수행됩니다: fl = fl | flags 여기서 fl 는 내부 서식 플래그의 상태를 정의합니다.
2) mask 아래의 서식 플래그를 지우고, 지워진 플래그를 flags 로 지정된 값으로 설정합니다. 효과적으로 다음 연산이 수행됩니다: fl = ( fl & ~mask ) | ( flags & mask ) 여기서 fl 은 내부 서식 플래그의 상태를 정의합니다.

목차

매개변수

flags, mask - 새로운 서식 설정. mask 는 변경 가능한 플래그들을 정의하고, flags 는 변경 대상 플래그들 중 설정할 플래그들을 정의합니다(나머지는 지워집니다). 두 매개변수 모두 formatting flags 상수들의 조합일 수 있습니다
서식 플래그
상수 설명
dec 정수 입출력에 10진법 기수 사용: std::dec 참조
oct 정수 입출력에 8진법 기수 사용: std::oct 참조
hex 정수 입출력에 16진법 기수 사용: std::hex 참조
basefield dec | oct | hex . 마스킹 연산에 유용함
left 왼쪽 정렬 (오른쪽에 채움 문자 추가): std::left 참조
right 오른쪽 정렬 (왼쪽에 채움 문자 추가): std::right 참조
internal 내부 정렬 (내부 지정 지점에 채움 문자 추가): std::internal 참조
adjustfield left | right | internal . 마스킹 연산에 유용함
scientific 부동 소수점 타입을 과학적 표기법으로 생성하거나, fixed 와 결합 시 16진법 표기법 사용: std::scientific 참조
fixed 부동 소수점 타입을 고정 소수점 표기법으로 생성하거나, scientific 와 결합 시 16진법 표기법 사용: std::fixed 참조
floatfield scientific | fixed . 마스킹 연산에 유용함
boolalpha bool 타입을 영숫자 형식으로 삽입 및 추출: std::boolalpha 참조
showbase 정수 출력 시 숫자 기수를 나타내는 접두사 생성, 통화 입출력 시 통화 표시자 요구: std::showbase 참조
showpoint 부동 소수점 숫자 출력 시 무조건 소수점 문자 생성: std::showpoint 참조
showpos 음수가 아닌 숫자 출력 시 + 문자 생성: std::showpos 참조
skipws 특정 입력 연산 전 선행 공백 문자 건너뜀: std::skipws 참조
unitbuf 각 출력 연산 후 출력 버퍼 플러시: std::unitbuf 참조
uppercase 특정 출력 연산에서 일부 소문자를 대문자로 대체: std::uppercase 참조

반환값

함수 호출 이전의 서식 플래그입니다.

예제

#include <iomanip>
#include <iostream>
#include <numbers>
int main()
{
    const double PI = std::numbers::pi;
    const int WIDTH = 15;
    std::cout.setf(std::ios::right); // equivalent: cout << right;
    std::cout << std::setw(WIDTH / 2) << "radius"
              << std::setw(WIDTH) << "circumference" << '\n';
    std::cout.setf(std::ios::fixed); // equivalent: cout << fixed;
    for (double radius = 1; radius <= 6; radius += 0.5)
        std::cout << std::setprecision(1) << std::setw(WIDTH / 2)
                  << radius
                  << std::setprecision(2) << std::setw(WIDTH)
                  << (2 * PI * radius) << '\n';
}

출력:

 radius  circumference
    1.0           6.28
    1.5           9.42
    2.0          12.57
    2.5          15.71
    3.0          18.85
    3.5          21.99
    4.0          25.13
    4.5          28.27
    5.0          31.42
    5.5          34.56
    6.0          37.70

참고 항목

포맷 플래그 관리
(public member function)
특정 포맷 플래그 지움
(public member function)