[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: C Programmierer an die Front



On Mon, 26 Feb 2001, Tim Hilden wrote:

> leider handelt es sich bei der Datei um eine Radius Datei mit
> zugangsdaten fuer mehrere tausend Kunden, von denen nur ein Teil
> auskommentiert werden muessen. Das dann richtig zu regeln, die Datei als
> Kopie neu zu schreiben und das nur im bestimmten auskommentierten Usern
> halte ich fuer unstaendlich und schwer.
>
> Am einfachsten waere es fuer mich, wenn mir jemand sagen koennte wie ich
> den aktuellen Lesepointer zurueckversetzen koennte. Das beim Schreiben
> ein Zeichen ueberschrieben wird stoert mich nicht.

"Das funktioniert so nicht. [tm]"

Wenn Du eine Datei aufmachst, damit Du sie beschreiben kannst, wird sie
entweder automatisch getruncated (auf Länge 0 gesetzt), oder beim ersten
Schreiben ab diesem Punkt, oder Du kannst halt nur an die Datei anhängen.

Auf den ersten Blick sieht das unnötig und umständlich aus, genauso wie
fork()/exec() um ein neues Programm zu starten, aber es macht wirklich
Sinn:

- Um "Einfügen" wirklich zu unterstützen müsste bei jedem write() der Rest
  der Datei um n Bytes nach hinten kopiert werden. Stell Dir das Mal bei
  deinem riesengroßen File vor...

- "Überschreiben" ist nur sehr begrenzt sinnvoll.

Ciao,
Nils
-- 
         Nils Philippsen / +49.711.96437.250 / nils redhat de
       Red Hat GmbH / Hauptstätter Straße 58 / D70178 Stuttgart
The use of COBOL cripples the mind; its teaching should, therefore, be
regarded as a criminal offence.                  -- Edsger W. Dijkstra



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]