cteni a zapis binarniho (jpg) souboru

Pavel Smerk xsmerk na fi.muni.cz
Středa Září 15 14:36:00 CEST 2010


On Wed, Sep 15, 2010 at 05:38:52AM +0200, Richard Janasek wrote:
> ano, vstup mam take v binmode, alespon si to myslim. (nedulezite radky
> jsem vypustil kvuli prehlednosti)

Obecne je dobre zkusit najit nejaky minimalni priklad chyby, tedy funkcni
kod, ktery ma nezadouci chovani, a pritom uz nejde zjednodusit. Nezridka
pritom clovek sam zjisti, v cem je problem. Tipuju ale, ze nize uvedeny kod
netrpi tim, ze by se vstup od vystupu lisil jen absenci binarnich nul,
protoze
 
> open(FOTO, $fotka);   # --- cteme soubor
> binmode (FOTO);
> 
> @foto = <FOTO>;

tady do @foto nactete cely obsah FOTO,

> $VystupniSoubor2 = $Jmeno;
> open (VystupFoto2, ">>$VystupniSoubor2");
> binmode (VystupFoto2);
> 
> while (<FOTO>)

takze tady uz ve FOTO nic neni a cyklus neprobehne ani jednou,

> {
> $Fotecka = getc FOTO;

ovsem i kdyby probihal, na jeho konci byste mel ve $Fotecka posledni znak
FOTO (nebo tak neco, viz manual), protoze zrejme chcete spis .= nez jen =
(ale hlavne si nejsem jisty, jestli je rozumne cist soubor zrovna skrze
getc),

> }
> close(FOTO);
> 
> print VystupFoto2 "$Fotecka\n";

no a nakonec pridavate k binarnimu souboru extra znak \n, coz myslim taky
neni uplne dobry napad.
									P.

> > On Tue, Sep 14, 2010 at 03:31:11PM +0200, Richard Janasek wrote:
> >> mam tam tohle:
> >>
> >> $VystupniSoubor = $Prijmeni;
> >> open (VystupFoto, ">>$VystupniSoubor");
> >> binmode (VystupFoto);
> >
> > A zrejme tam mate jeste nejaky dalsi open VstupFoto a na ten filehandle to
> > chcete pouzit taky.
> > 									P.
> >
> >> (pouštím to na Win XP a ActiveState Perl5 v12)
> >> R.
> >>
> >>
> >>> On Tue, Sep 14, 2010 at 01:33:14PM +0200, Richard Janasek wrote:
> >>>> prosim o radu, jakym zpusobem cist binarni soubor (jpg) a jeho nasledny
> >>>> zapis do jineho souboru (v podstate kopirka). Kdyz pouziju pristup jako
> >>>> k textovemu souboru - getc, tak vystup neni identicky se vstupem (jsou
> >>>> vynechany prazdne znaky).
> >>>
> >>> Funkce binmode? (Manual dokonce rika " ... regardless of platform, use
> >>> binmode() on binary data, like for example images." :-)
> >>> 							S pozdravem,	P.
> >>> _______________________________________________
> >>> Perl mailing list
> >>> Perl na mailman.muni.cz
> >>> https://mailman.muni.cz/mailman/listinfo/perl
> >>
> >> _______________________________________________
> >> Perl mailing list
> >> Perl na mailman.muni.cz
> >> https://mailman.muni.cz/mailman/listinfo/perl
> > _______________________________________________
> > Perl mailing list
> > Perl na mailman.muni.cz
> > https://mailman.muni.cz/mailman/listinfo/perl
> 
> _______________________________________________
> Perl mailing list
> Perl na mailman.muni.cz
> https://mailman.muni.cz/mailman/listinfo/perl


Další informace o konferenci Perl