+ Datei open/seek/read/write ??
MichaelR
- perl
Hallo,
ich hab' da ein kleines Problem:
open (ID, ">$db_id_file_name_franz1") or &cgierr("error [...]");
if ($db_use_flock) {flock(ID, 2) or &cgierr("fehler [....]");}
print ID ("bla");
close ID;
}
* Diese Variable (Inhalt der Datei) ist irgendeine Zahl zwischen 1 und X. Also z. B. 1, 5, 19, 35 etc.
Um diesen Inhalt zu lesen dachte ich mir:
$CurrNum = 0;
open (ID, ">$db_id_file_name_franz1") or &cgierr("error [...]");
seek (ID, 0, 0);
read (ID, $CurrNum, 1);
close ID;
Die so gelesene Variable $CurrNum soll dann um eins erhöht werden:
$CurrNum = $CurrNum+1;
a) da ich nicht weiß ob der Dateiinhalt ein- oder zweistellig (oder dreistellig) ist, kann ich die Länge bei read() nicht fest vorgeben.
b) Es scheint so - auch wenn ich als Länge 1 verwende - dass nichts aus der Datei gelesen wird, weil immer der initialisierte Wert von $CurrNum im Schreibprozess in die Dateigeschrieben wird.
Kann mir da bitte jemand helfen ?
Danke
Michale
Hi,
$CurrNum = 0;
open (ID, ">$db_id_file_name_franz1") or &cgierr("error [...]");
^ du öffnest die Datei zum Schreiben...
seek (ID, 0, 0);
read (ID, $CurrNum, 1);
^ du liest genau 1 byte...
close ID;
Ich täts so machen:
open(ID, "<$db_id_file_name_franz1") or cgierr(...);
$CurrNum = <ID>;
close ID;
cu,
Andreas
Hi Andreas,
$CurrNum = 0;
open (ID, ">$db_id_file_name_franz1") or &cgierr("error [...]");
^ du öffnest die Datei zum Schreiben...
seek (ID, 0, 0);
read (ID, $CurrNum, 1);
^ du liest genau 1 byte...
close ID;Ich täts so machen:
open(ID, "<$db_id_file_name_franz1") or cgierr(...);
$CurrNum = <ID>;
close ID;
Mensch super !!!!
Auf das wäre ich nie gekommen, herzlichen Dank !
cu
Michael