Lorsque vous imprimez un caractère de tabulation sur la sortie standard à l'aide de printf
en C, il génère un espace qui est apparemment de 4 caractères.
printf("\t");
Existe-t-il un moyen de contrôler la largeur de la tabulation dans le cas ci-dessus? Toute aide ou suggestion est appréciée.
Un onglet est un onglet. Le nombre d'espaces qu'il consomme est un problème d'affichage et dépend des paramètres de votre Shell.
Si vous souhaitez contrôler la largeur de vos données, vous pouvez utiliser les sous-spécificateurs width
dans la chaîne de format printf
. Par exemple. :
printf("%5d", 2);
Ce n'est pas une solution complète (si la valeur dépasse 5 caractères, elle ne sera pas tronquée), mais pourrait convenir à vos besoins.
Si vous voulez un contrôle complet, vous devrez probablement l'implémenter vous-même.
C'est quelque chose contrôlé par votre terminal, pas par printf
.
printf
envoie simplement un \t
au flux de sortie (qui peut être un tty, un fichier, etc.), il n'envoie pas un certain nombre d'espaces.