Formatage des chaînes de sortie avec alignement à droite en C
Lors du traitement de fichiers texte contenant des données, telles que des coordonnées, il est nécessaire d'aligner les éléments dans les colonnes un formatage correct se pose souvent. En C , la manipulation des chaînes de sortie est cruciale pour réaliser cet alignement. Cet article aborde le problème de l'alignement à droite des chaînes de sortie, en fournissant des solutions utilisant des techniques C standard.
Pour traiter le fichier texte d'entrée, la fonction line.split() est utilisée pour délimiter chaque ligne en ses x, y , et les coordonnées z. Après le traitement, l'objectif est de réécrire les coordonnées dans un fichier txt avec un alignement correct pour correspondre au format du fichier d'entrée.
Initialement, la nouvelle ligne est construite en utilisant la concaténation de chaînes :
<code class="cpp">line_new = words[0] + ' ' + words[1] + ' ' + words[2];</code>
Cependant, cette approche ne permet pas l’alignement souhaité. Pour réaliser cet alignement, nous pouvons utiliser des techniques de formatage de chaînes.
Utilisation du formatage de chaîne C
C offre plusieurs façons de formater des chaînes, y compris la syntaxe moderne str.format et l'ancien formatage de style printf.
Utilisation de str.format
La syntaxe str.format permet un formatage de chaîne flexible, permettant un alignement et une spécification de largeur de champ faciles. Pour aligner à droite chaque coordonnée, la syntaxe suivante peut être utilisée :
<code class="cpp">line_new = '{:>12} {:>12} {:>12}'.format(word[0], word[1], word[2]);</code>
Cette syntaxe spécifie que chaque coordonnée doit être alignée à droite avec une largeur de champ de 12 caractères.
Utilisation du formatage de style printf
Pour les anciennes versions de C qui ne prennent pas en charge str.format, le formatage de style printf peut être utilisé. Cette approche est moins flexible mais permet toujours de spécifier la largeur du champ :
<code class="cpp">line_new = '%12s %12s %12s' % (word[0], word[1], word[2]);</code>
Cette syntaxe spécifie également une largeur de champ de 12 caractères pour chaque coordonnée.
En utilisant ces techniques de formatage de chaîne, elle devient simple d'aligner les coordonnées à droite lors de l'écriture dans des fichiers txt.
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!