프로그래밍 언어/C++

C++ 에서 bool에 대한 printf 포맷 지정자

Rateye 2021. 9. 28. 11:16
728x90
반응형
질문 : bool에 대한 printf 형식 지정자는 무엇입니까?

ANSI C99부터 stdbool.h 를 통해 _Bool 또는 bool 있습니다. 그러나 printf 형식 지정자가 있습니까?

나는 그 의사 코드와 같은 것을 의미합니다.

bool x = true;
printf("%B\n", x);

다음과 같이 인쇄됩니다.

true
답변

bool 유형에 대한 형식 지정자는 없습니다. 보다 짧은 모든 정수 계열 형식 때문에, int 로 승격됩니다 int 에 아래로 통과 할 때 printf() 의 가변 인수를 사용할 수 %d :

bool x = true;
printf("%d\n", x); // prints 1

그러나 왜 안 되는가 :

printf(x ? "true" : "false");

또는 더 나은 :

printf("%s", x ? "true" : "false");

또는 더 나은 :

fputs(x ? "true" : "false", stdout);

대신?

출처 : https://stackoverflow.com/questions/17307275/what-is-the-printf-format-specifier-for-bool
728x90
반응형