Maison > Article > développement back-end > Comment puis-je facilement formater des tableaux de données en C en utilisant `setw()`, `setfill()` et `left` (ou `right`) ?
Lorsque vous travaillez avec des tableaux de données, il est souvent nécessaire de les formater de manière à les rendre faciles à lire et à interpréter. C fournit plusieurs fonctions dans le fichier
Les fonctions setw(), setfill() et left (ou right) fonctionnent ensemble pour contrôler la largeur, le caractère de remplissage et l'alignement des éléments de données. En utilisant ces fonctions judicieusement, vous pouvez créer des tableaux formatés avec un minimum d'effort.
Par exemple, considérons le tableau non formaté suivant :
Bob Doe 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 Helen City 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 Joe Green 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98
Pour formater le tableau comme vous le souhaitez :
const char separator = ' '; const int nameWidth = 6; const int numWidth = 8; cout << left << setw(nameWidth) << setfill(separator) << "Bob"; cout << left << setw(nameWidth) << setfill(separator) << "Doe"; cout << left << setw(numWidth) << setfill(separator) << 10.96; cout << left << setw(numWidth) << setfill(separator) << 7.61; cout << left << setw(numWidth) << setfill(separator) << 14.39; cout << left << setw(numWidth) << setfill(separator) << 2.11; cout << left << setw(numWidth) << setfill(separator) << 47.30; cout << left << setw(numWidth) << setfill(separator) << 14.21; cout << left << setw(numWidth) << setfill(separator) << 44.58; cout << left << setw(numWidth) << setfill(separator) << 5.00; cout << left << setw(numWidth) << setfill(separator) << 60.23; cout << endl;
Ce code produira le tableau formaté :
Bob Doe BLR 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 4:27.47 Helen City CUB 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98 4:29.17 Joe Green USA 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 5:06.59
Pour simplifier davantage le code, vous pouvez utiliser une fonction modèle pour gérer le formatage :
template<typename T> void printElement(T t, const int& width) { cout << left << setw(width) << setfill(separator) << t; }
En utilisant cette fonction de modèle, vous pouvez formater les éléments comme suit :
printElement("Bob", nameWidth); printElement("Doe", nameWidth); printElement(10.96, numWidth); printElement(17.61, numWidth); printElement(14.39, numWidth); printElement(2.11, numWidth); printElement(47.30, numWidth); printElement(14.21, numWidth); printElement(44.58, numWidth); printElement(5.00, numWidth); printElement(60.23, numWidth); cout << endl;
En combinant la puissance de setw(), setfill(), left ( ou à droite) et les fonctions de modèle, vous pouvez facilement formater des tableaux de données en C sans avoir besoin de calculs complexes.
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!