kein STDOUT ohne \n

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

kein STDOUT ohne \n
Hallo,

ich kann beim Verbraucher die Zeichen nur Zeilenweise anzeigen, also mit printf(“%c\n”, c);. printf(“%c”, c); funktioniert nicht.
Ich habe versucht, dieses ICANON mit tcsetattr (oder wie das heißt) zu ändern, das hat bei der Eingabe wunderbar funktioniert, aber nicht, wenn ich tcsetattr (oder wie das heißt) STDOUT_FILENO übergebe. Any ideas?

PS: ich bin dafür, diesen Smily: :zzz: in Semaphoren-Smily umzubenennen.


wohl in der uebung nicht aufgepasst :wink:

Die stdio Bibliothek puffert den stdout, der Terminaltreiber tut das nicht. Die stdio bietet zum flushen des puffers die Funktion fflush an, also fflush(stdout) flusht den stdout puffer oder setvbuf zur Aenderung des Pufferungsverhaltens…

du kannst alternativ natuerlich den character mit write(STDOUT_FILENO,…) ausgeben dann umgehst du die Schnittstelle der stdio.


Paradoxerweise funktioniert das bei mir mit printf ohne, daß ich von der Pufferung was merke. Hat mich nach dem, was ich in der Übung gehört hab, doch ziemlich gewundert. Werd aber wohl trotzdem noch ein fflush zur Sicherheit einbauen. :slight_smile: