C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

printf sehen bevor n gesendet wird?

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Philipp Weise
Guest





PostPosted: Fri Sep 19, 2003 5:08 pm    Post subject: printf sehen bevor n gesendet wird? Reply with 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?

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





PostPosted: Sat Sep 20, 2003 6:42 am    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote



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





PostPosted: Sat Sep 20, 2003 8:08 am    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote



Philipp Weise wrote:

Quote:
Fortschritt: 23%

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





PostPosted: Sat Sep 20, 2003 8:20 pm    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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





PostPosted: Sat Sep 20, 2003 11:07 pm    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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





PostPosted: Sat Sep 20, 2003 11:31 pm    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

"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





PostPosted: Mon Sep 22, 2003 9:30 am    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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





PostPosted: Mon Sep 22, 2003 12:23 pm    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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





PostPosted: Mon Sep 22, 2003 12:26 pm    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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





PostPosted: Tue Sep 23, 2003 11:56 am    Post subject: Re: printf sehen bevor n gesendet wird? Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.