🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #2242

Re: Hilfe - Datei Drucken über "Server" - Datei aufrufen über anderen Compi

#2242
From: Rolf F. Katzenberger
Date: Sat, 07 Mar 1998 00:00
78 lines
3821 bytes
Ulrich Homann schrieb:
 
> Andreas Sayegh <sayegh@fokus.gmd.de> wrote:
[snip]
> >int main() {
> >       for (;;) {
> >               if (access("myfile", F_OK) == 0) {
> >                       system("type myfile > PRN");
> >                       unlink("myfile");
> >               }
> >               sleep(2);
> >       }
> >       return 0; // for compiler's sake
> >}
> >
> >access() ist wohl nicht ISO. sleep() wohl auch nicht.
> 
> access kann man sicher durch iso-konforme open und is_open ersetzen.

basic_filebuf<char>::open()  und basic_filebuf<char>::is_open() aus
<fstream> (für char spezialisiert filebuf::open()  und
filebuf::is_open()). Nur um Verwechslungen mit manch anderen
open()-Funktionen zu vermeiden ;)

> sleep scheint tatsaechlich nicht im Sprachstandard zu sein (warum eigendlich
> nicht ?). Allerdings sollte sleep in jedem Unix (als Teil der c-lib.)
> vorhanden sein und vermutlich auch ueberall anders.

Nicht überall anders (z.B. nicht unter Windows 3.11, MS DOS). Weil es
immer noch Betriebssysteme gibt, die von präemptivem
Multithreading/Multitasking wenig Ahnung haben. Und auf denen wäre ein
sleep() dasselbe wie eine Nichtstu-Schleife, denn "Aufwachen" würdest
Du ja dann wohl doch nach der angegebenen Zeit wollen, was aber dort
nicht geht, wenn Du die Kontrolle aus der Hand gibst.

> Schliesst man eigendlich das main besser durch ein return (0) oder durch
> ein exit (0) ab ?
> Wie ich irgendwann mal festgestellt habe, ist es durchaus sinnvoll eine
> 0 zurueckzugeben, und sei es, um fehlerhalte Umgebungen nicht glauben zu
> lassen, das Programm haette einen Fehlerabbruch gehabt.

exit() beendet das Programm, ohne daß die Destruktoren für die
automatischen Objekte des aktuellen scope (z.B. die gerade ausgeführte
Funktion) aufgerufen werden. Bei return werden sie aufgerufen, schon
deshalb ist return besser. main() hat außerdem einen Rückgabewert,
also ist ein passendes return IMHO auch die ästhetisch ansprechendere
Variante ;)


Ciao
  Rolf

-- 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

______________________________________________________________________
Rolf F. Katzenberger / Software Developer                   1998-01-15
See:  http://www.geocities.com/SiliconValley/Park/9557
PGP:  http://wwwkeys.pgp.net:11371/pks/lookup?op=get&search=0x3B39491F
      (Fingerprint F1C0 3116 F6D4 DA33 E61D  D2E4 2FB8 D6B6 3B39 491F)
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
Charset: noconv

iQA/AwUBNL3pES+41rY7OUkfEQL1CQCfR7rtQkaHGeFNz0VlNxPZjYd+59MAnRDV
lhHySB72bDTXhu/MJwcw6M86
=oApR
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <350152A8.A90BA0D1@ibm.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6dou9l$77u$1@ubnnews.unisource.ch> <35000573.876C63B@fokus.gmd.de> <6dph01$e9d$1@news.uni-paderborn.de>

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII
X-Google-Thread: 1124cf,a4cf980dc14ebf0
X-Google-Attributes: gid1124cf,public
X-Google-Thread: 10870a,a4cf980dc14ebf0
X-Google-Attributes: gid10870a,public
X-Google-Thread: f6ef4,a4cf980dc14ebf0
X-Google-Attributes: gidf6ef4,public
X-Google-Thread: 11171b,a4cf980dc14ebf0
X-Google-Attributes: gid11171b,public
X-Google-Thread: 10c73c,a4cf980dc14ebf0
X-Google-Attributes: gid10c73c,public
From: "Rolf F. Katzenberger" <rfkat@ibm.net>
Subject: Re: Hilfe - Datei Drucken über "Server" - Datei  aufrufen über anderen Compi
Date: 1998/03/07
Message-ID: <350152A8.A90BA0D1@ibm.net>
X-Deja-AN: 331702379
Content-Transfer-Encoding: quoted-printable
References: <6dou9l$77u$1@ubnnews.unisource.ch> <35000573.876C63B@fokus.gmd.de> <6dph01$e9d$1@news.uni-paderborn.de>
MIME-Version: 1.0
Reply-To: rfkat@ibm.net
Content-Type: text/plain; charset=iso-8859-1
Organization: IBM.NET
Newsgroups: de.comp.lang.c++,de.comp.os.ms-windows.misc,de.comp.os.ms-windows.programmer,fido.ger.windows.prog,fido.windows-ger