Schreibt printf auf stdout?
Schreibt printf auf stdout?

Video: Schreibt printf auf stdout?

Video: Schreibt printf auf stdout?
Video: SCANF(), PROBLEM gelöst mit FFLUSH(stdout) | C-Programmieren #5 | IN4TASTIC-DE 2024, November
Anonim

druckenf () - und einige andere "Druck"-Funktionen wie puts() - auf Standardausgabe schreiben , auch bekannt als stdout oder letztendlich Dateideskriptor 1.fprintf(stderr, …) - schreibt seine Ausgang zum Standardfehler Ausgang , auch bekannt als stderr oder File Descriptor2.

Was ist dementsprechend eine Standardausgabe?

Standardausgabe , manchmal abgekürzt stdout , bezieht sich auf die standardisierten Datenströme, die von Befehlszeilenprogrammen (d. h. Programmen im All-Text-Modus) in Linux und anderen Unix-ähnlichen Betriebssystemen erzeugt werden. Weil das Standard Streams sind Klartext, sie sind per Definition für Menschen lesbar.

Anschließend stellt sich die Frage, welchen Systemaufruf printf verwendet? druckenf () ist eine der APIs oder Schnittstellen, die dem Benutzerbereich ausgesetzt sind Anruf Funktionen aus der C-Bibliothek. druckenf () Genau genommen Verwendet schreiben() Systemaufruf . Das Schreiben() Systemaufruf ist eigentlich für das Senden von Daten an den Ausgang verantwortlich.

Wenn man dies im Auge behält, was ist stdin und stdout?

Wenn mein Verständnis richtig ist, stdin ist die Datei, in die ein Programm in seine Anforderungen schreibt, eine Aufgabe im Prozess auszuführen, stdout ist die Datei, in die der Kernel seine Ausgabe schreibt und der Prozess, der ihn anfordert, auf die Informationen zugreift, und stderr ist die Datei, in die alle Ausnahmen eingetragen werden.

Was ist Standard-Input und -Output?

Die Standardeingang Gerät, auch als bezeichnet stdin , ist das Gerät, von dem Eingang zum System genommen. Die Standardausgabe Gerät, auch als asstdout bezeichnet, ist das Gerät, zu dem Ausgang vom System gesendet. Normalerweise ist dies eine Anzeige, aber Sie können umleiten Ausgang an eine serielle Schnittstelle oder eine Datei.

Empfohlen: