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`) ?

Comment puis-je facilement formater des tableaux de données en C en utilisant `setw()`, `setfill()` et `left` (ou `right`) ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-17 21:14:02584parcourir

How can I easily format data tables in C   using `setw()`, `setfill()`, and `left` (or `right`)?

Formater facilement des tableaux de données en C

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 bibliothèque pour vous aider dans cette tâche.

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&amp; 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!

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