Струни - пробіл f; r ідеї

Почали

Рідна

Веб-програмування

Теми спеціалістів

Зміст

Струни у Фортрані мають якесь особливе положення. Мова не була призначена для роботи з рядками символів, які згодом довелося змінити, оскільки багато користувачів більше не були зацікавлені у вирішенні математичної задачі, але хотіли керувати програмами.

ідеї

У C зазвичай закінчуються рядки символів нульовим байтом (\ 0). У Fortran рядки заповнені пробілами.

Оголошення рядка

Рядок символів визначається так само, як звичайна змінна, але замість довжини типу даних довжина рядка символів вказується після зірочки.

Якщо ви хочете створити кілька рядків різної довжини одночасно, це працює так:

Рядок символів можна (і повинен) ініціалізувати наступним чином:

Постійна Голлеріта

Специфікація рядка символів за наступним зразком називається константою Холлеріта:

Довжина рядка символів вказується перед літерою h, за якою йде фактичний рядок символів. Цей тип специфікації можна використовувати при ініціалізації рядків символів, наприклад:

Компілятор gfortran зазначає, що специфікація символьного рядка як константи Холлеріта застаріла.

Доступ до елементів

У Fortran можна отримати доступ до елементів рядка символів, наприклад, до поля, тобто. можна отримати доступ до окремих елементів (і перезаписати їх, наприклад) або цілих частин рядка символів:

Визначення довжини

У Fortran є дві функції для визначення довжини рядків символів. З одного боку LEN, з іншого боку LEN_TRIM. LEN повертає кількість узгоджених символів, тобто. число, яке йде після зірочки в оголошенні змінної. LEN_TRIM повертає довжину рядка символів, тобто. мінус кінцеві пробіли.

Рядки змінної довжини

У Fortran, як описано вище, спочатку можна визначити лише рядки постійної довжини. Іноді доводиться подовжувати або вкорочувати струни. Для цього можна використовувати ALLOCATE. Детальніше про це в главі про динамічне управління пам’яттю.

В офіційному розширенні мови для Fortran 90 також були введені рядки символів змінної довжини. Так звані variaing_string s. Докладніше про цю тему можна знайти на WikiBooks.org.

Передача функцій

Якщо ви передаєте рядки символів підпрограм, зазначена довжина рядка символів передається як останній невидимий параметр. Тобто. LEN також надає правильну довжину рядка символів у підпрограмі. (*) Потім можна вказати як довжину рядка символів у підпрограмі:

Конкатенація

Конкатенація двох рядків можлива за допомогою оператора //. Наприклад:

Рядові операції

Існують заздалегідь визначені функції для рядків символів, які позбавляють програміста від деяких робіт.