RE: string overflow
Maulis Adam <maulis@ludens.elte.hu>
> Sziasztok !
>
>
> Hogyan lehet olyan text fájlt feldolgozni, amelynek sorai hosszabbak, mint
> amit elvisel egy változó ?
Szia!
Sajnos a DCL-ben van jócskán limit. Meg úgy egyébként is.
Maga az RMS sem kezel 32767 (65533) karakternél hosszabb sorokat.
A DCL symbolum alapvetően 1024 karakter lehet maximum,
kivétel egyetlen egy esetpár:
READ és a WRITE/SYMBOL bármilyen (32767) hosszú sztringet képes
kezelni. Egyetlen egy más művelet (lexical, sh sym) nem kezel
1024 karakternél hosszabbat.
Ha alapvetően szöveges fájlokról van szó, akkor csinálhatod a
feldolgozást TPU -ban (Text Processing Utility, egy önnálló
programozási nyelv, EDIT/TPU/NOSECTION/COMMAND=myprog.tpu file) elég
egyszerű nyelv, és sokat tud. (Például az EVE editort (EDIT/TPU)
is ezen a nyelven írták meg.)
Persze, választhatsz valami hagyományos, 3gl nyelvet is script
helyett.
Ha alapvetően bináris fileról van szó (fix rekord hossz, lásd DIR/FULL)
akkor SET FILE/ATTRIB=(mrs=512) paranccsal megváltoztathatod a
rekordméretet, és feldolgozhatod részletekben, azonban ez a
"real hack" kategória, nem javaslom.
Azt rebesgetik a fecskék, hogy a következő VMS-ben a DCL néhány
limitjét (parancshossz, talán a szimbolum nagysága is) emelni
fogják.
Üdv,
Maulis Ádám
>
> Kösz,
> Zoli