PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C: Fester Rahmen?


mf_2
2004-02-13, 20:52:16
Hallo,

Ich schreibe gerade ein kleines C-Programm in einem DOS-Fenster ( 80x25 Zeichen ). Ich möchte um das Fenster einen Rahmen aus #-Zeichen erstellen. Wie mache ich das? Ich habe das bisher einfach immer mit printf und vielen Leerstellen gelöst, etwa so:



printf("###############################################################################");
printf("# #");
printf("# Programm #");



was mache ich aber, wenn ich so etwas habe:




scanf("%s",string);
printf(" %s",string);



Ich weiss ja nicht, wie lang der string ist, den der User eingegeben hat. Um nun trotzdem einen Rahmen definieren zu können, kann man einen Teil des Bildschirms quasi "schreibschützen" und gesondert mit Inhalt füllen o.ä.?

Metal Maniac
2004-02-13, 21:05:10
Wie wäre es mit strlen(string), dann weisst Du wie lang' der String ist....

mf_2
2004-02-13, 22:12:58
Bleibt aber noch ein Problem: Ich kann die untere Zeile des Rahmens nicht realisieren. Der Rahmen soll ja komplett den ganzen Bildschirm umschliessen. Wisst ihr wie das geht?

Legolas
2004-02-13, 22:26:00
Am Besten so machen:


fscanf(stdin, "%20s", string);
printf("%20s",string)


So werden maximal 20 Zeichen eingelesen (Vermeindung von Buffer Overflows) und bei der Ausgabe werden maximal 20 Zeichen ausgegeben, wobei bei zuwenig Zeichen rechtsbündig ausgerichtet wird.

mf_2
2004-02-13, 23:02:20
Thx, bleibt aber immer noch das Problem mit der Rahmenzeile am Boden des Bildschirms ...