[linux-l] vim fragen

Oliver Bandel oliver at first.in-berlin.de
Mi Nov 13 03:16:33 CET 2002


Moin,

On Wed, Nov 13, 2002 at 01:16:21AM +0100, Steffen Solyga wrote:
[...]
> - auch wenn nicht explizit festgeschrieben: read(2) gibt spätestens
>   dann die Kontrolle an das aufrufende Programm zurück, wenn es auf
>   ein '\n' stößt


Wie kommst Du denn auf den Trichter?


Du meinst vermutlich das gepufferte Schreiben mit
mit der ANSI-C-Lib, wo das "\n" beim Schreiben
aus stdout erst mit einem "\n" dazu veranlasst wird,
die Daten raus zu schreiben, oder wenn der Puffer
bereits aufgefüllt ist, in den gepuffert wird.
Bei stderr ist es ohnehin alles ungepuffert.

Aber dieses Verhalten kann man auch einstellen.

Jedenfalls ist read(2) und write(2) ungepuffert
und wie die sich verhalten, ist sicherlich nicht
so ohne weiteres vorherzusagen und mit Sicherheit
Abhängig von der Implementation des Systems.

Das Verhalten der gepufferten Libs (printf und so)
hingegen ist durch den C-Standard vorgegeben...



> - das Prompt beginnt in der ersten Spalte jedes Terminals, auch
>   nach einem "cat textfile_ohne_newline"
> Mit Deinen Textdateien ohne das letzte '\n' wirst Du einige komische
> Sachen erleben,

Ja, so richtig komisch ärgerlich ist das manchmal.

Aber wer guckt sich schon seine Binärfiles mit
cat auf der Konsole an?

Und der vi ist glücklicherweise so nett, und 
hängt an die Textdateien das letzte "\n"
automatisch an. :)

Ciao,
   Oliver




Mehr Informationen über die Mailingliste linux-l