Maison >développement back-end >C++ >Comment imprimer les zéros non significatifs en C à l'aide des opérateurs de sortie ?

Comment imprimer les zéros non significatifs en C à l'aide des opérateurs de sortie ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 16:50:15195parcourir

How to Print Leading Zeros in C   Using Output Operators?

Comment imprimer les zéros non significatifs avec l'opérateur de sortie C

En C, garder le contrôle sur le formatage de la sortie est crucial. Pour y parvenir, vous pouvez utiliser des opérateurs de sortie tels que << opérateur. Ce guide explique comment utiliser l'opérateur de sortie pour imprimer les zéros non significatifs en C , similaire à la fonction printf() avec le spécificateur de format d.

Pour ce faire, considérez le code suivant :

std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;

Cette approche utilise sprintf() pour formater le code postal en une chaîne avec des zéros non significatifs, qui est ensuite générée par le << opérateur. Cependant, ce n'est pas idéal en raison de l'appel supplémentaire sprintf().

Au lieu de cela, C fournit des manipulateurs d'E/S qui offrent plus de flexibilité et de contrôle. Le code suivant démontre leur utilisation :

#include <iostream>
#include <iomanip>

using namespace std;
cout << setw(5) << setfill('0') << zipCode << endl;</p>
<p>Le manipulateur setw(5) définit la largeur du champ à 5 caractères, garantissant suffisamment d'espace pour le code postal et les zéros non significatifs. Le manipulateur setfill('0') spécifie le caractère de remplissage comme '0', qui sera utilisé pour remplir le champ.</p>
<p>Vous pouvez également utiliser la bibliothèque fmt, qui simplifie le formatage et permet plus d'expressivité : </p>
<pre class="brush:php;toolbar:false">cout << fmt::format("{0:05d}", zipCode);

De plus, C 20 introduit la fonction std::format, offrant des fonctionnalités similaires à fmt bibliothèque.

Cependant, il est important de noter que ces manipulations d'E/S affectent l'état global de l'objet cout, donc les utilisations ultérieures de cout seront affectées à moins que vous n'annuliez les manipulations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn