Auslesen von Daten

Gast #1532748
Lesenswert?
• ▲
▼
Hallo,

ich finde immer wieder Beispiele in denen Dateien Zeile für Zeile 
ausgelesen werden nach dem Prinzip
1
...
2
VARIABLE zeile: LINE;
3
...
4
WHILE(NOT endfile(source_file)) LOOP
5
readline(source_file, zeile);
6
...
7
END LOOP;

Die Variable Zeile wird nirgends initialisiert noch inkrementiert.
daher vermute ich, dass Variablen in VHDL bei der Deklarierung mit einem 
Standardwert initialisiert werden. Ich nehme an, das dies hier 0 oder 1 
ist (keine Ahnung, welchen Index die erste Zeile in einem Textfile 
bekommt).
Ist meine Annahme korrekt, ich finde dazu keine Infos und google mir 
grad die Finger wund...

Vielleicht hat jemand einen Link wo ich eine Übersicht finde aus der 
hervorgeht mit welchen Werten Variablen initialisiert werden.

Danke im Voraus
Gruß
Karl
Gast #1532750
Lesenswert?
• ▲
▼
In dem Beispiel enthält die Variable "zeile" keine Zeilennummer,
sondern die von readline() aus der Datei eingelesene Zeile
(d.h. eine Zeichenfolge, in der kein Newline-Zeichen vorkommt).
Daher wird "zeile" ja auch als "LINE" festgelegt (und nicht
als "INTEGER").

Deine Vorstellung war offenbar, daß das zweite Argument von readline() 
die Zeilennummer der einzulesenden Zeile angibt. Dem ist allerdings 
nicht so, denn readline() liest immer die nächste noch nicht eingelesene 
Zeile aus der Datei. Vielmehr gibt das zweite Argument die Variable an,
in die readline() die eingelesene Zeile schreiben soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren