Sie können %.*s
verwenden, es dauert Größe der beabsichtigten zu druckenden Bytes und Zeiger auf char als Argumente bei Verwendung mit printf
. Zum Beispiel
// It prints This
printf("%.*s", 4, arr);
Aber es druckt ganze Reihe. Warum?
Sie verwenden %-5s
Bedeutung der -
linksrechtfertigt Ihren Text in das Feld.
En passant, kann die Ausgabe nicht unter Verwendung der akzeptierte Antwort so einfach wie die Code-Schnipsel erreicht werden, auch wenn es spöttisch schien sein.
int i;
char arr[]="This is the string";
for (i = 1; i < sizeof(arr); ++i) {
printf("%.*s\n", i, arr);
}
Ausgang:
T
Th
Thi
This
This
This i
This is
This is
This is t
This is th
This is the
This is the
This is the s
This is the st
This is the str
This is the stri
This is the strin
This is the string
'"% -5s "' ist nur ein String-Formatierer. Die Zeichenfolge wird nicht abgeschnitten. –
verwenden Präzision. Google-Genauigkeit für printf. –
@xing sind Sie sicher über '.-' Syntax? AFAIR, '-' ist eine Flagge ... also ... –