-
입출력 조작자, 포맷 함수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