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.

struny

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.