PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : puts ohne zeilenumbruch!?



mithras
13-09-2002, 14:35
Habe folgenden Code:




puts("Warte auf Connection!");
for(i=0; i<10; i++)
{
puts(".");
usleep(100000);
}
printf("\n");



Das Problem puts macht jedesmal einen Zeilenumbruch, sodass die Punke untereinander anstatt wie ich will nebeneinander in einer zeile erscheinen. Wenn ich das ganze mit printf mache dauert es einige Zeit, und dann werden sofort alle 10 zeichen ausgegeben, liegt warscheinlich dadran weil printf gepuffert ist.

Kann ich nun irgendwie bei puts den Zeilenumbruch abstellen?

Noch eine Frage: Wie kann ich in C eine Zeile auf dem Bildschirm löschen?

micha
13-09-2002, 17:00
Hi,

Ja, die Ausgabe von printf ist gepuffert, was Du aber umgehen kannst:


int i;

printf ("Warte auf Connection!");
fflush (stdout);

for (i = 0; i < 10; i++)
{
printf (".");
fflush (stdout);
usleep (100000);
}
printf("\n");


Gruß micha

anda_skoa
14-09-2002, 11:37
Original geschrieben von mithras
Noch eine Frage: Wie kann ich in C eine Zeile auf dem Bildschirm löschen?

Das ist abhängig vom Terminal.
Wenn du die Ausgabe stark kontrolliern willst, wirst du um ncurses nicht herum kommen.

Sonst kannst du eventuell mit ANSI Escape Sequenzen arbeiten.
Die meisten Terminals auf Linux können die interpretieren.
http://www.informatik.uni-halle.de/lehre/pascal/sprache/esc_vt100.html

Ciao,
_