fmt 사용법: C++ 문자열 포맷을 타입 안전하게 만드는 라이브러리

GitHub Trending 일간 1위와 343 stars today를 확인한 fmt의 설치·최소 예제, 지원 환경, 라이선스와 도입 전 점검 사항을 정리한다.

fmt 사용법: C++ 문자열 포맷을 타입 안전하게 만드는 라이브러리

fmt는 C++에서 문자열 포맷을 빠르고 타입 안전하게 처리하는 오픈소스 라이브러리다. Python과 비슷한 표현을 제공하며 C++20 std::format의 기반이 된 프로젝트다.

2026년 9월 3일 10:00(Asia/Seoul) GitHub Trending 일간 목록에서 1위와 343 stars today를 확인했다. 저장소 API 총 스타는 24,260개였다.

설치와 최소 실행

헤더 전용 사용과 CMake 링크 방식으로 갈라지는 fmt 설치 선택지
프로젝트 규모에 따라 설치 방식을 고를 수 있다.
#include <fmt/core.h>
int main(){ fmt::print("answer: {}\\n", 42); }

CMake에서는 find_package(fmt CONFIG REQUIRED)fmt::fmt를 연결한다.

핵심 사용법과 활용

위치·이름 인자, 폭과 정밀도, 사용자 정의 타입 포맷을 지원한다. 로그와 CLI 출력에서 printf의 형식 불일치를 줄이는 데 유용하다.

지원 환경과 라이선스

컴파일 시 형식 검사와 실행 시 값 변환이 분리된 처리 구조
상수 포맷 문자열은 오류를 더 일찍 찾을 수 있다.

최신 안정판은 12.2.0, 기본 브랜치는 master, 최근 push는 2026년 9월 2일, 라이선스는 MIT다.

보안과 도입 전 확인 사항

  • 사용자 입력을 포맷 문자열 자체로 쓰지 않는다.
  • std::format과 병행할 때 컴파일러별 차이를 시험한다.
  • 헤더 전용 모드의 빌드 시간과 바이너리 크기를 측정한다.
  • 기존 출력과의 호환성을 회귀 시험한다.

출처와 확인 수치

수치는 2026년 9월 3일 10:00(Asia/Seoul) 확인값이다.