• 입출력 조작자, 포맷 함수
    C++ 2021. 7. 11. 02:44
    반응형
    입출력 조작자 (Manipulator)

    매개변수 없는 조작자: endl, hex, dec, showbase 등

    매개변수 있는 조작자: setw, setfill, setprecision 등 (iomanip 헤더 파일 필요)

    #include <iostream>
    #include <iomanip>
    
    int main() {
        double pi = 3.141592;
        std::cout << std::setprecision(4) << pi << '\n'; // 3.142
        std::cout << std::fixed << std::setprecision(3) << pi << '\n'; // 3.142
    
        int dec = 255;
        std::cout << "Dec: " << dec << ", Hex: " << std::hex << dec << ", Oct: " << std::oct << dec << '\n';
        // Dec: 255, Hex: ff, Oct:377
    
        return 0;
    }

     

    ** 소수점 자르기 **

    setprecision(n)은 가장 앞에서부터 유효한 숫자 n개를 자르는 메서드.

    fixed와 함께 써야 소수점 아래 자리수를 고정시킬 수 있음.

     

    포맷 함수 (Format function)

    C의 printf, 파이썬의 f-string 같은 기능

    format 헤더 파일 필요

    C++20부터 사용 가능

    #include <iostream>
    #include <format>
    
    int main() {
        double pi = 3.141592;
        std::cout << std::format("{:.3f}", pi) << '\n'; // 3.142
    
        int dec = 255;
        std::cout << std::format("Dec: {0}, Hex:{0:x}, Oct:{0:o}\n", dec); // Dec: 255, Hex: ff, Oct: 377
    
        std::cout << std::format("Windy {}!\n", "day"); // Windy day!
        std::cout << std::format("{} {}\n", "love", "for", "real"); // love for (인자 더 많아도 에러 x)
    
        return 0;
    }

     

     

    반응형

    'C++' 카테고리의 다른 글

    find  (0) 2021.08.28
    map  (0) 2021.07.11
    stoi() - string to int  (0) 2021.07.06
    멀티스레드 환경에서 vector 사용, pair  (0) 2021.07.06
    cin.ignore() - cin, getline 동시에 사용할 때  (0) 2021.07.06

    댓글

ABOUT ME

공부한 것을 기록하기 위해 블로그를 개설했습니다.

VISIT

/