
read_data()
***********


SYNOPSIS
========

   string read_data(string file, int start, int anzahl)


BESCHREIBUNG
============

   Diese Funktion macht genau das, was read_file() tut (also siehe dort),
   allerdings stellt sie sicher, dass <file> immer mit einem /data/
   beginnt (setzt es also notfalls davor).
   Es wird also immer irgendwo unterhalb von /data/ gelesen.


BEISPIEL
========

   # read_data("/d/ebene/zesstra/blupp");
   -> liest das File /data/d/ebene/zesstra/blupp.
   # read_data("/data/d/ebene/zesstra/blupp");
   -> tut dasselbe.


SIEHE AUCH
==========

   write_data()
   read_file(E), write_file(E), read_bytes(E), write_file(E)
