C에서 앞에 0이 있는 출력 형식 지정
C에서 출력 형식 지정은 데이터를 특정 방식으로 표시하는 데 중요합니다. 일반적인 시나리오 중 하나는 printf가 d를 처리하는 방법과 유사하게 앞에 0을 인쇄하는 것입니다. printf를 사용하는 것은 옵션이지만 C 스트림 출력 연산자(<<)를 선호할 수 있습니다.
앞에 0을 얻는 한 가지 옵션은 아래와 같이 sprintf를 사용하여 형식화된 문자열을 출력 연산자와 연결하는 것입니다. :
std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;
하지만 IO를 사용하는 더 깔끔한 솔루션이 있습니다. 조작기:
#include <iomanip> using namespace std; cout << setw(5) << setfill('0') << zipCode << endl; // or without 'using namespace std;' std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;</p> <p>setw(width)는 필드 너비를 설정하고, setfill(char)은 나머지 공간을 채우는 데 사용되는 문자를 지정합니다. 이 경우 '0'은 앞에 0을 추가하는 데 사용됩니다.</p> <p>이러한 조작자는 cout 개체의 전역 상태에 영향을 미칩니다. 나중에 사용할 때 의도하지 않은 효과를 피하려면 플래그를 재설정하여 실행 취소해야 합니다.</p> <p>간결한 형식을 선호하는 경우 fmt 라이브러리 사용을 고려하세요.</p> <pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
C 20 이상에서는 - std::format을 지원하며 C 23에서는 std::print를 도입하여 형식화에 훨씬 더 편리한 옵션을 제공합니다. 출력.
우편번호와 같이 음수가 아닌 숫자의 경우 위 코드로 충분합니다. 그러나 음수를 처리해야 하는 경우 std::internal을 추가하여 부호와 크기 사이에 채우기 문자를 배치하세요.
cout << internal << setw(5) << setfill('0') << zipCode << endl;
위 내용은 C에서 앞에 0을 사용하여 출력 형식을 지정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!