On Thursday 12 June 2003 17:44, Michael Höing wrote: [...]
und darum möchte ich Dich auch noch bitten, mir diese (Deine) Zeilen:
while ((n = read( fd, buf, SIZE)) != -1) { std::cout << std::string( buf, buf + n);
insbesondere die zweite Zeile kurz zu erklären. [...]
Hier liest du so lange von fd, bis ein Fehler kommt. Wenn kein Fehler kam (n != -1), dann enthaelt n die Anzahl der gelesenen Chars. SIZE ist die Groesse des Puffers buf. Die zweite Zeile ist eigentlich Unsinn, kuerzer ist write( 1, buf, n); Nun was passiert in der urspruenglichen Version? Es wird ein std::string Objekt erzeugt, und zwar mit den Werten von [buf, buf + n), der Zeiger buf fungiert als Iterator. Anschliessend wird dieses Objekt in die Standardausgabe geschoben.