2016-07-29 17 views
0

Gibt es eine Möglichkeit, die Anzahl der Leerzeichen mit einer Variablen anzugeben?Drucken Anzahl der Leerzeichen

Zum Beispiel können sagen, dass ich eine grundlegende print-Anweisung haben:

printf("%5d",someNumber); 

Dies wird 5 Felder drucken dann die Nummer. Gibt es eine Möglichkeit, die mich eine Variable var = 5 deklarieren lässt, und eine Variable stattdessen verwendet, um Abstand zu bestimmen? Der Grund, warum ich bin gefragt ist, weil ich die Anzahl der Leerzeichen nach jeder Iteration einer Schleife Formatdaten auf eine bestimmte Weise

Antwort

1

zu kontrollieren versuchen bin versucht:

printf("%*d", width, someNumber); 

Sie weitere Informationen von man 3 printf finden

+0

dieses String-Format sagt dass die minimale Breite einschließlich der Nummer "Breite" ist, nicht dass es "Breite" Leerzeichen vor der Nummer gibt. – user3629249

0

Die Formatzeichenfolge ist genau das: eine Zeichenkette.

sprintf(frmt,"%%%dd",iterator); 

Wenn iterator = 3 wil geben den Formatstring "%3d", die Sie in printf() wie zB verwenden können: Sie können Ihre eigenen mit sprintf() zB bauen

printf(frmt,some_number); 

(Die Variable Feldbreite geschrieben von Jesse Chen nicht notwendigerweise überall verfügbar)

1

"%5d" druckt mindestens 5 Zeichen. Führende Leerzeichen werden zuerst nach Bedarf gedruckt, dann das '-' Zeichen, falls erforderlich, dann die Ziffern.

Um eine int mit mindestensn Zeichen verwenden '*', die minimale Feld Breite zu drucken:

printf("%*d", n, someNumber); 

n Räume nur zu drucken, verwenden

printf("%*s", n, "");