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
Libérer: 2024-12-08 16:50:15
original
143 Les gens l'ont consulté

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;
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal