kleine frage: for in while schleife umformen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Babelduo
Beiträge: 518
Registriert: 25.01.2004 17:01:37

kleine frage: for in while schleife umformen

Beitrag von Babelduo » 29.05.2004 16:53:16

hallo, hab ne ganz kleine frage...

wie kann ich diese for schleife:

Code: Alles auswählen

for(; fgets(c, MAX-1, pipe); cout << c);
in eine while schleife umwandeln/verändern?

ich habe dieses hier gemacht:

Code: Alles auswählen

while(1) {
fgets(c, MAX-1, pipe);
cout << c;
}
aber woher weis ich dann wann nix mehr kommt? und wann die schleife
abbrechen soll?!

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Re: kleine frage: for in while schleife umformen

Beitrag von BeS » 29.05.2004 17:12:21

Babelduo hat geschrieben: ich habe dieses hier gemacht:

Code: Alles auswählen

while(1) {
fgets(c, MAX-1, pipe);
cout << c;
}
aber woher weis ich dann wann nix mehr kommt? und wann die schleife
abbrechen soll?!
wie wäre es mit

Code: Alles auswählen

while (fgets(c, MAX-1, pipe))
    cout << c;

ich bin mir jetzt gerade nicht 100% bei fgets sicher, aber nach deiner for Schleife zu urteilen liefert fgets einen Abbruchwert wenn die pipe leer ist, dann müsste es eigentlich so gehen.

Ansonsten wäre vielleicht noch das eine Möglichkeit:

Code: Alles auswählen

fgets(c, MAX-1, pipe);
while (c != '') {
    cout << c;
    fgets(c, MAX-1, pipe);
}
Jetzt wird die Scheife solange durchlaufen wie in c was drin steht.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Babelduo
Beiträge: 518
Registriert: 25.01.2004 17:01:37

Beitrag von Babelduo » 29.05.2004 17:34:57

lol ... hehe falsches forum sorry :D wollte eigtentlich ... naja egal
es hat sich ja niemand beschwert ;)

yo perfekt danke klappt! thx!

Olaf Dietsche
Beiträge: 520
Registriert: 12.06.2003 23:18:50
Wohnort: Siegburg

Beitrag von Olaf Dietsche » 29.05.2004 21:05:37

Jede for Schleife

Code: Alles auswählen

for (a; b; c;) {
d;
}
kann ungefähr so in eine while Schleife umgewandelt werden:

Code: Alles auswählen

a;
while (b) {
	d;
	c;
}

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 30.05.2004 00:35:20

Von Netzwerk verschoben.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 30.05.2004 15:40:12

Olaf Dietsche hat geschrieben: kann ungefähr so in eine while Schleife umgewandelt werden:
Nicht nur ungefähr, das ist IIRC die Definition der for-schleife in ANSI C

Antworten