Struny - medzera f; r nápady
Začal
Nativní
Webové programovanie
Odborné témy
Obsah
Struny vo Fortrane majú akési zvláštne postavenie. Účelom tohto jazyka nebolo zaoberať sa reťazcami znakov, ktoré sa neskôr museli zmeniť, pretože mnoho používateľov už nemalo záujem o riešenie matematického problému, ale chceli prevádzkovať programy.

V jazyku C je bežné ukončovať reťazce znakov nulovým bajtom (\ 0). Vo Fortrane sú struny polstrované medzerami.
Vyhlásenie o reťazci
Reťazec znakov je definovaný rovnakým spôsobom ako normálna premenná, ale namiesto dĺžky údajového typu je po hviezdičke zadaná dĺžka reťazca znakov.
Ak chcete vytvoriť niekoľko reťazcov rôznych dĺžok súčasne, funguje to takto:
Reťazec znakov môže (a mal by) byť inicializovaný nasledovne:
Hollerithova konštanta
Špecifikácia znakového reťazca podľa nasledujúceho vzoru sa označuje ako Hollerithova konštanta:
Dĺžka reťazca znakov je uvedená pred písmenom h, za ktorým nasleduje skutočný reťazec znakov. Tento typ špecifikácie je možné použiť pri inicializácii reťazcov znakov, napríklad:
Kompilátor gfortran poznamenáva, že špecifikácia reťazca znakov ako Hollerithovej konštanty je zastaraná.
Prístup k prvkom
Vo Fortrane je možné pristupovať k prvkom reťazca znakov, napríklad k poľom, tj. je možné pristupovať k jednotlivým prvkom (a napríklad ich prepísať) alebo k celým častiam reťazca znakov:
Určenie dĺžky
Vo Fortrane existujú dve funkcie na určenie dĺžky reťazcov znakov. Na jednej strane LEN, na druhej strane LEN_TRIM. LEN vráti počet dohodnutých znakov, tj. číslo, ktoré nasleduje za hviezdičkou v deklarácii premennej. LEN_TRIM vráti dĺžku reťazca znakov, tj. mínus zadné medzery.
Šnúrky s premennou dĺžkou
Vo Fortrane, ako je opísané vyššie, je spočiatku možné definovať iba reťazce konštantnej dĺžky. Niekedy je potrebné reťazce predĺžiť alebo skrátiť. Môže sa na to použiť ALLOCATE. Viac o tom v kapitole o dynamickej správe pamäte.
V rozšírení pre oficiálny jazyk pre Fortran 90 boli predstavené aj znakové reťazce premenlivej dĺžky. Takzvané varying_string s. Viac informácií o tejto téme nájdete na WikiBooks.org.
Prenos do funkcií
Ak zadáte reťazce znakov do podprogramov, zadaná dĺžka reťazca znakov sa odovzdá ako posledný neviditeľný parameter. Tj. LEN tiež dodáva správnu dĺžku znakového reťazca v podprogramu. (*) Môže sa potom určiť ako dĺžka reťazca znakov v podprogramu:
Zreťazenie
Zreťazenie dvoch reťazcov je možné pomocou operátora //. Napríklad:
Sláčikové operácie
Pre znakové reťazce existujú preddefinované funkcie, ktoré programátora odbremenia od niektorých prác.