Gast
#5119455
Warum wird stderr eigentlich immer mit fprintf verwendet und nicht mit printf? Hier zB.:
1 | |
2 | |
3 | |
4 | |
5 | |
|
Anzeige
|
stderr und fprintf
Gast
#5119455
Warum wird stderr eigentlich immer mit fprintf verwendet und nicht mit printf? Hier zB.:
Gast
#5119458
>Warum wird stderr eigentlich immer mit fprintf verwendet und nicht mit >printf? Schau dir den Prototypen und die Parameterliste für den Aufruf von printf an, dann weisst du es. Fragender schrieb: > Warum wird stderr eigentlich immer mit fprintf verwendet und nicht mit > printf? printf geht hach stdout, nicht nach stderr. Guckstdu C-Standard.
Gast
#5119697
das müsste sich mit dup()/dup2() austrixen lassen...
Gast
#5119708
Anbei ein Stueckchen Code.
MfG
Gast
#5119712
eagle user schrieb: > das müsste sich mit dup()/dup2() austrixen lassen... dup ist eine POSIX-Funktion (gibts zB nicht unter Windows). (f)printf sind Standard-C(++)-Funktionen, die gibts auf allen Plattformen die C(++) korrekt unterstützen (auch Windows). Sollte man daher nicht durcheinander werfen; dass das so geht ist von C nicht vorgesehen. Fragender schrieb: > Warum wird stderr eigentlich immer mit fprintf verwendet und nicht mit > printf? Weil man bei printf gar nicht wählen kann, wohin die Ausgabe gehen soll. Es geht grundsätzlich immer nach stdout. Du könntest aber umgekehrt fprintf auch mit stdout benutzen, wenn du das unbedingt alles mit der selben Funktion machen willst. Dr. Sommer schrieb: > eagle user schrieb: >> das müsste sich mit dup()/dup2() austrixen lassen... > > dup ist eine POSIX-Funktion (gibts zB nicht unter Windows). Abgesehen davon geht die Ausgabe immer noch nach stdout. Das ist jetzt nur auf Systemebene mit einem anderen Stream verbunden. Auf der C-Seite bleibt ein printf(...) aber äquivalent zu einem fprintf(stdout, ...). Rolf M. schrieb: > Weil man bei printf gar nicht wählen kann, wohin die Ausgabe gehen soll. > Es geht grundsätzlich immer nach stdout. ... das man mit freopen() umbiegen kann. Allerdings ist dieser Dateiname dann noch weniger portabel as FD 2. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|