printf \t option
Lors de l'impression d'un caractère de tabulation sur la sortie standard en utilisant printf
en C, c'sorties de l'espace qui, apparemment, est de 4 caractères.
printf("\t");
Est-il un moyen par lequel je peux contrôler la largeur d'un onglet dans le cas ci-dessus? Toute aide ou suggestion est apprécié.
Vous devez vous connecter pour publier un commentaire.
Un onglet de l'onglet. Le nombre d'espaces qu'il consomme est un problème d'affichage, et dépend de la configuration de votre shell.
Si vous souhaitez contrôler la largeur de vos données, alors vous pourriez utiliser le
width
sous-spécificateurs de laprintf
chaîne de format. Par exemple. :Ce n'est pas une solution complète (si la valeur est de plus de 5 caractères, il ne sera pas tronqué), mais peut-être ok pour vos besoins.
Si vous voulez un contrôle complet, vous aurez probablement à mettre en œuvre vous-même.
printf("%5.5s","abcdefg");
sera sortie "abcde". Et si vous voulez toujours la sortie aligné à gauche pour les cas où la chaîne est à moins de 5 caractères, utilisez"%-5.5s"
C'est quelque chose contrôlé par votre terminal, et non pas par
printf
.printf
envoie simplement un\t
pour le flux de sortie (qui peut être un terminal, un fichier, etc), il n'envoie pas d'un nombre de cases.