SYNOPSIS
        string read_file(string file, int start, int anzahl, string encoding)

BESCHREIBUNG
        Liest Zeilen aus einem File <file>. Wenn <start> angegeben ist und
        nicht 0, wird von Beginn der Zeile <start> an gelesen; ist <start> 0
        oder nicht angegeben, wird vom Beginn des Files gelesen.

        Wenn <anzahl> nicht angegeben oder 0 ist, wird das gesamte File
        gelesen, sonst nur <anzahl> Zeilen.

        Mit <encoding> kann man den Zeichensatz spezifieren, der beim
        Lesen der Datei angewandt werden soll. Falls er nicht angeben oder
        0 ist, so wird der Hook H_FILE_ENCODING verwendet.

        Wenn <start> ausserhalb der Groesse des Files liegt, liefert
        read_file() anstelle eines Strings 0 zurueck.

        Die max. Anzahl einzulesender Bytes (nicht Zeilen!) pro Aufruf dieser
        Funktion betraegt LIMIT_FILE (s. query_limits()).

GESCHICHTE
        LDMud 3.6.0 fuegte den <encoding>-Parameter hinzu.

SIEHE AUCH
        read_bytes(E), write_file(E), hooks(C)
