Leerzeichen und sprintf()

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Leerzeichen und sprintf()

Beitrag von Columbus » 06.06.2006 16:48:02

Hallo zusammen,
ich hänge mal wieder an einem vergleichsweiße kleinen Problem. Und zwar möchte ich mit sprintf einen String erzeugen, der mit einer Menge von Leerzeichen beginnt. Wie viele Leerzeichen es sein sollen, ergibt sich zur Laufzeit durch ein Argument.
Also sagen wir

Code: Alles auswählen

 programm_x 4 

Das bedeutet, daß programm_x einen String ausgibt mit 4 Leerzeichen am Anfang oder 4 mal 5 Leerzeichen (die 5 als Konstante).
Im Moment mache ich das noch mit strcpy, erzeuge einen entsprechenden Substring, den ich dann einfüge. Aber ich glaube mich zu Erinnern, daß man das ziemlich Elegant mit sprintf() machen kann?!

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.06.2006 17:13:52

Code: Alles auswählen

root@gms4:~# cat x.c
#include <stdio.h>

int main() {
 int width;
 width=10;
 printf("%*s\n", width, "bla");
 width=20;
 printf("%*s\n", width, "bla");
}
root@gms4:~# gcc -o x x.c
root@gms4:~# ./x
       bla
                 bla

Gruß
gms

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 06.06.2006 17:28:56

Dank GMS, wie immer einfach und genial 8)

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Antworten