[Vienna-pm] Datei binär kopieren (unter Windows)
Peter J. Holzer
hjp-vienna-pm-list at hjp.at
Tue Jun 3 18:45:28 CDT 2003
On 2003-06-02 22:45:21 +0200, Peter Seitz wrote:
> ich möchte eine (Grafik-)Datei binär kopieren. Da ich nicht weiß, ob
> mein Programm unter Linux oder unter Windows ausgeführt wird möchte
> ich es Betriebssystemunabhängig machen. Mein code unter ActiveState
> Perl und Windows 98:
>
> open (INPUT, $input) ||
> die "Can't Open Input File $input: $!\n";
> binmode (INPUT);
[...]
> open (OUTPUT, ">$output") ||
> die "Can't Open Output File $output: $!\n";
>
> while ($len=sysread(INPUT, $buf, 1024)) {
> print OUTPUT $buf;
> }
>
>
> Einige Dateien werden sauber kopiert, andere jedoch sind zerstört.
> Sie haben eine unterschiedliche Länge.
Sie werden länger, stimmts? Und zwar um genau so viele Bytes wie \n's
enthalten sind?
> Was mache ich falsch?
Du hast
binmode (OUTPUT);
vergessen.
> Ist es sinnvoll die Dateigröße festzustellen und dann in einem Schubs
> die Datei zu lesen?
Kommt auf die Größe der Datei an.
> Das könnte aber IMHO bei sehr großen Dateien das Programm auch zum
> Absturz bringen, oder?
Ja.
hp
--
_ | Peter J. Holzer | Latein ist das humanoide Äquivalent
|_|_) | Sysadmin WSR | zu Fortran.
| | | hjp at hjp.at |
__/ | http://www.hjp.at/ | -- Alexander Bartolich in at.linux
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20030604/576a6990/attachment.bin
More information about the Vienna-pm
mailing list