| View previous topic :: View next topic |
| Author |
Message |
Philipp Weise Guest
|
Posted: Fri Sep 19, 2003 5:08 pm Post subject: printf sehen bevor n gesendet wird? |
|
|
Hallo,
ich möchte gerne eine Fortschrittsanzeige ausgeben. Diese soll etwa so
aussehen:
Fortschritt: 23%
Dann soll der Prozentwert natürlich raufgezählt werden. Leider stellt
printf den Text erst dar, wenn mit n in eine neue Zeile gesprungen
wird. Wie kann ich in der Zeile bleiben?
Danke für Antworten...
Philipp
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Jirka Klaue Guest
|
Posted: Sat Sep 20, 2003 6:42 am Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Oliver S. wrote:
| Quote: | Wie kann ich in der Zeile bleiben?
Nur mit ISO-C++-Mitteln garnicht.
|
Was ist denn mit printf("23%%r") passiert?
Jirka
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Marco Budde Guest
|
Posted: Sat Sep 20, 2003 8:08 am Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Philipp Weise wrote:
Dir ist aber klar, daß Du mit ANSI C/C++ den Cursor nicht
positionieren kannst?
| Quote: | Dann soll der Prozentwert natürlich raufgezählt werden. Leider stellt
printf den Text erst dar, wenn mit n in eine neue Zeile gesprungen
wird. Wie kann ich in der Zeile bleiben?
|
fflush (stdout);
cu, Marco
--
S: Minolta: Winkelsucher (VN), VC-9
E-Mail: [email]mb-news-a (AT) linuxhaven (DOT) de[/email]
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Michael Barjenbruch Guest
|
Posted: Sat Sep 20, 2003 8:20 pm Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Philipp Weise <capri.sonne (AT) gmx (DOT) de> wrote:
| Quote: | Hallo,
ich möchte gerne eine Fortschrittsanzeige ausgeben. Diese soll etwa so
aussehen:
Fortschritt: 23%
|
Loesungsvorschlag:
#include <stdio.h>
#include <unistd.h>
int main(void)
{
int i;
for(i=0;i<100;++i){
printf(" %2i%% doner",i);
fflush(stdout);
sleep(1); /* bei Windows ggf erhoehen */
}
return 1;
}
--
Michael Barjenbruch
[email]michael (AT) makasy (DOT) de[/email]
http://www.makasy.de/~michael/
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Sat Sep 20, 2003 11:07 pm Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Hallo,
Michael Barjenbruch <michael (AT) makasy (DOT) de> wrote:
| Quote: | Philipp Weise <capri.sonne (AT) gmx (DOT) de> wrote:
ich möchte gerne eine Fortschrittsanzeige ausgeben. Diese soll etwa so
aussehen:
|
Da wir hier in .iso-c++ sind, sollte durchaus erwähnt werden,
daß das
| Quote: | printf(" %2i%% doner",i);
fflush(stdout);
in C++ |
std::cout << setw(3) << i << "% doner" << std::flush;
heißt.
Stefan
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Markus Schaaf Guest
|
Posted: Sat Sep 20, 2003 11:31 pm Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
"Stefan Reuther" <sr21 (AT) inf (DOT) tu-dresden.de> schrieb:
| Quote: | Da wir hier in .iso-c++ sind, sollte durchaus erwähnt werden,
daß das
printf(" %2i%% doner",i);
fflush(stdout);
in C++
std::cout << setw(3) << i << "% doner" << std::flush;
heißt.
|
Außerdem könnte man noch erwähnen, daß 'r' nicht auf allen Systemen das
Gewünschte leistet. Wesentlich geeigneter erscheinen einige 'b's.
MfG
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Dirk Clemens Guest
|
Posted: Mon Sep 22, 2003 9:30 am Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Philipp Weise wrote:
| Quote: | Hallo,
ich möchte gerne eine Fortschrittsanzeige ausgeben. Diese soll etwa so
aussehen:
Fortschritt: 23%
Dann soll der Prozentwert natürlich raufgezählt werden. Leider stellt
printf den Text erst dar, wenn mit n in eine neue Zeile gesprungen
wird. Wie kann ich in der Zeile bleiben?
Versuche es mal mit fflush(stdout) nach der Print-Anweisung. |
Lemmi
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Mon Sep 22, 2003 12:23 pm Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Markus Schaaf <markus (AT) sags-per-mail (DOT) de> wrote:
| Quote: | "Stefan Reuther" <sr21 (AT) inf (DOT) tu-dresden.de> schrieb:
Außerdem könnte man noch erwähnen, daß 'r' nicht auf allen Systemen das
Gewünschte leistet. Wesentlich geeigneter erscheinen einige 'b's.
--verbose
Klappt das unter MacOS?
|
Das will ich doch stark hoffen.
Wenn 'printf("foorbar");' unter MacOS nicht funktioniert, ist
es keine konforme Implementation von C (und damit auch keine
konforme Implementation von C++).
Stefan
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Jirka Klaue Guest
|
Posted: Mon Sep 22, 2003 12:26 pm Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Stefan Reuther wrote:
| Quote: | Markus Schaaf <markus (AT) sags-per-mail (DOT) de> wrote:
"Stefan Reuther" <sr21 (AT) inf (DOT) tu-dresden.de> schrieb:
Außerdem könnte man noch erwähnen, daß 'r' nicht auf allen Systemen das
Gewünschte leistet. Wesentlich geeigneter erscheinen einige 'b's.
Klappt das unter MacOS?
Das will ich doch stark hoffen.
|
Natürlich klappt es, 'r' in der C++-Quelle und 'r' in MacOS-Dateien sind
zwei verschiedene Paar Schuhe.
Jirka
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Philipp Weise Guest
|
Posted: Tue Sep 23, 2003 11:56 am Post subject: Re: printf sehen bevor n gesendet wird? |
|
|
Michael Barjenbruch schrieb:
| Quote: | Philipp Weise <capri.sonne (AT) gmx (DOT) de> wrote:
Hallo,
ich möchte gerne eine Fortschrittsanzeige ausgeben. Diese soll etwa so
aussehen:
Fortschritt: 23%
Loesungsvorschlag:
#include
#include
int main(void)
{
int i;
for(i=0;i<100;++i){
printf(" %2i%% doner",i);
fflush(stdout);
sleep(1); /* bei Windows ggf erhoehen */
}
return 1;
}
|
Sehr gut! Vielen Dank für die vielen Antworten. Das Problem ist gelöst!
Philipp
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|