C에서 부울 값을 출력 스트림으로 인쇄할 때 표준은 표시되는 결과에 대한 지침을 제공합니다.
기본적으로 std::cout은 bool 값을 정수로 표시하며 0은 false를 나타내고 1은 true를 나타냅니다. 그러나 std::boolalpha 조작자는 이 동작을 수정하여 부울 값을 문자열(false 및 true)로 표시하도록 스트림에 지시합니다.
이 변경을 활성화하려면 std::cout << std::boolalpha;:
<code class="cpp">#include <iostream> #include <iomanip> int main() { std::cout << false << "\n"; // Prints 0 std::cout << std::boolalpha; std::cout << false << "\n"; // Prints false return 0; }
표준에서는 부울 값의 현지화된 표현도 허용합니다. 스트림에 적절한 로캘을 추가하면 다른 언어로 표시되는 부울 값을 인쇄할 수 있습니다. 예를 들어, 프랑스어에서 boolalpha는 false와 true 대신 faux와 vrai를 표시합니다.
이 기능을 사용하려면 원하는 언어를 지원하는 로캘을 스트림에 추가하세요.
<code class="cpp">#include <iostream> #include <iomanip> #include <locale> int main() { std::cout.imbue(std::locale("fr")); std::cout << false << "\n"; // Prints 0 std::cout << std::boolalpha; std::cout << false << "\n"; // Prints faux return 0; }
부울 값 표현을 정밀하게 제어해야 하는 경우 사용자 정의 std::numunct 패싯을 생성할 수 있습니다. 이를 통해 true 및 false 값에 대해 표시되는 정확한 문자열을 정의할 수 있습니다.
다음은 프랑스어의 예입니다.
#include
#include
#include
#include
#include
class my_fr : public std::numpunct< char > {
protected:
char do_decimal_point() const { return ','; }
char do_thousands_sep() const { return '.'; }
std::string do_grouping() const { return ""; }
std::string do_truename() const { return "vrai"; }
std::string do_falsename() const { return "faux"; }
};
int main() {
std::cout.imbue(std::locale(std::locale(), new my_fr));
std::cout << false << "\n"; // Prints 0
std::cout << std::boolalpha;
std::cout << false << "\n"; // Prints faux
return 0;
}위 내용은 C에서 부울 값을 정수 대신 문자열로 인쇄하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!