Vous recherchez une méthode pour formater la sortie à l'aide de l'opérateur de sortie (<<) en C . Bien que vous puissiez utiliser printf, vous privilégiez l'utilisation de l'opérateur de sortie.
Le code suivant formate efficacement la sortie à l'aide de l'opérateur de sortie :
#include <iostream> #include <iomanip> using namespace std; int main() { int zipCode = 12345; cout << setw(5) << setfill('0') << zipCode << endl; return 0; }</h2> <p>Ce code utilise des manipulateurs IO pour contrôler le remplissage :</p> <ul> <li>setw(width) définit la largeur du champ sur cinq.</li> <li>setfill(fillchar) définit le caractère de remplissage sur « 0 ».</li> </ul> <p>Cela entraîne le formatage du code postal avec des zéros non significatifs : 012345.</p> <h2> Approches alternatives</h2> <p>Si vous préférez une approche plus concise, vous pouvez utiliser le fmt library :</p> <pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
En C 20 et versions ultérieures, la fonctionnalité std::format est disponible :
cout << std::format("{:05d}", zipCode);
Notez que ces manipulateurs d'E/S affectent le global état de cout. Les utilisations ultérieures de cout seront affectées à moins que les manipulations ne soient explicitement annulées.
Pour les nombres négatifs, utilisez std::internal pour placer le caractère de remplissage entre le signe et la grandeur :
cout << internal << setw(5) << setfill('0') << zipCode << endl;
Vous pouvez supposer en toute sécurité que tous les codes postaux ne sont pas négatifs, mais il s'agit néanmoins d'une hypothèse.
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!