Maison > développement back-end > C++ > Comment les flux C peuvent-ils remplacer printf pour le formatage de sortie ?

Comment les flux C peuvent-ils remplacer printf pour le formatage de sortie ?

Susan Sarandon
Libérer: 2024-12-02 02:56:10
original
246 Les gens l'ont consulté

How Can C   Streams Replace printf for Output Formatting?

Formatage de la sortie avec des flux C : alternatives à printf

Contrairement à printf, les flux de sortie C offrent des options pratiques pour contrôler l'apparence de la sortie via le utilisation de manipulateurs de flux. Pour obtenir le même formatage que printf(" d", zipCode), vous pouvez utiliser l'approche suivante :

std::setw et std::setfill

std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;
Copier après la connexion

std::setw(5) spécifie une largeur de champ de 5, garantissant que la sortie est complétée par des zéros à gauche si nécessaire. std::setfill('0') définit « 0 » comme caractère pour remplir tout espace supplémentaire.

Avantages des manipulateurs de flux

L'utilisation de manipulateurs de flux offre plusieurs avantages :

  • Facilité d'utilisation : ils offrent un moyen concis et intuitif de formater la sortie par rapport aux impressions volumineuses déclarations.
  • Réutilisabilité : les manipulateurs peuvent être réutilisés plusieurs fois pour modifier le format de sortie sans affecter le flux sous-jacent.

Options de formatage alternatives

Notez que la bibliothèque std::iomanip fournit un formatage supplémentaire options :

  • std::setiosflags(ios::left) : aligne la sortie à gauche.
  • std::setiosflags(ios::right) : aligne la sortie à droite .

Gestion des négatifs Nombres

Si vous devez gérer des nombres négatifs, vous pouvez utiliser std::internal, qui place le caractère de remplissage entre le signe et la grandeur :

std::cout << std::internal << std::setw(5) << std::setfill('0') << zipCode << std::endl;
Copier après la connexion

Alternative Bibliothèques

Envisagez d'utiliser la bibliothèque fmt ou la prochaine norme C 20, qui offrent de puissantes options de formatage telles que comme :

  • fmt::format("{:05d}", zipCode)
  • std::format("{:05d}", zipCode)

Ces alternatives offrent des solutions de formatage concises et flexibles.

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