>백엔드 개발 >C++ >printf_s와 같은 std::ostream을 사용하여 정확한 형식을 지정하는 방법은 무엇입니까?

printf_s와 같은 std::ostream을 사용하여 정확한 형식을 지정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 04:30:28360검색

How to achieve precise formatting with std::ostream like printf_s?

std::ostream을 사용하여 정확한 형식 지정

std::cout을 사용하여 정확한 형식을 지정하는 방법은 무엇입니까? 다음 예를 고려하십시오.

<code class="cpp">double my_double = 42.0;
char str[12];
printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>

이 코드에서 printf_s는 특정 정밀도와 너비로 이중 my_double의 형식을 지정하고 인쇄하는 데 사용됩니다. std::ostream의 동등한 기능은 스트림 조작기를 사용하여 달성할 수 있습니다.

std::cout을 사용하여 " 42.000000"을 출력하려면 다음 조작기를 순서대로 적용하십시오.

std:: 고정: 과학적 표기법 대신 고정 소수점 표기법을 설정합니다.

std::setw(11): 출력 필드의 너비를 11자로 설정합니다.

std::setprecision(6): 소수점 뒤에 표시할 자릿수를 지정합니다.

올바른 코드는 다음과 같습니다.

<code class="cpp">#include <iomanip>

std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>

이것은 접근 방식을 사용하면 타사 라이브러리나 사용자 정의 문자열 조작을 사용하지 않고 std::ostream을 사용하여 double 값의 정확한 형식을 지정할 수 있습니다.

std::ostream 형식 지정에 대한 포괄적인 참조는 C 표준 라이브러리 문서를 참조하세요. 특히 "스트림 조작기" 섹션을 참조하세요.

위 내용은 printf_s와 같은 std::ostream을 사용하여 정확한 형식을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.