Манипулиране на външни файлове

Масивите не са подходящи за дългосрочно съхранение в края на работната програма на данни се губи. Понякога резултатите от изчисленията, които искате да запазите за бъдещи справки. Той използва файловете.







Файлът е колекция от подобни данни, които имат име и са в паметта на компютъра (вътрешен или Fortran RAM).

Файлът се състои от записи. Record - е единица за обмен между програмата и външната памет.

Входни и изходни данни могат да бъдат поставени в програмните файлове.

Броят на компонентите във файла не е уточнено предварително. Обемът на информация, съхранена в среда външна памет е ограничен капацитет

напиши показалеца или файлови компоненти края на файла

Действия с файлове се състоят от четенето и писането. По всяко време на програмата е само един от елементите на файла, посочи от текущия указател файл (файлов указател). Той определя местоположението на файла, когато (ако) се чете (запис) на данните. Файловият указател може да се намира в началната точка (преди първия запис) за текущия запис в крайната точка (след последното вписване - "край на файл")

В Fortran, има два типа файлове: външни и вътрешни.

Вътрешен файла - това е област на паметта, на определен характер променлива. Тя се съхранява (има само) в RAM и е отворен по подразбиране. Писане на данни в вътрешна преписка е много по-бързо от външен файл. Вътрешни файлове се използват за преобразуване на данни от един тип на характера (друг). Те са отворени по подразбиране. Вътрешни файлове са само метод последователно достъп. Устройството е вътрешен низ име на файла. Това е променлив характер (файлът съдържа запис, чийто размер съвпада с размера на променливата), елемент на характер масив или масив символ (например файл е последователност от елементи, всеки от които е запис на броя на влизанията, равен на броя на елементите масив)

Print *, ул. На екрана: _____ 23.50000

Външно файл - файл, който се съхранява на диска (последователността на записите на превозвача), или периферни устройства (клавиатура, екран).

За да работите с външен файл, той трябва да бъде отворена (свързани с I / O устройство). Когато отворите и да се създаде показалеца на файла се задава в началото на файла. Четене и писане на данни от файла автоматично ще доведе до движение на показалеца, т.е. се движи курсора до началото на следващия запис. Когато данните се записват след последния компонент е да сложи край на файл.

За определяне на края на файла с помощта на логически функции EOF. която връща .TRUE. ако файлът не е изтекъл срокът и .FALSE. друго.

След приключване на работата с него е необходимо да се прекрати преписката.

В FORTRAN позоваване на файлове с данни се осъществява чрез канал (или устройство). Това е логично понятие, т.е. канал устройство не е в обичайния смисъл на думата, но въображаемото. Преди извършването на вход / изход е необходимо да се установи връзка между физическия файл и устройство, т.е. прикачите файл към устройството (канал). Ustroystvooboznachaetsya идентификатор и е - звездичка * или цяло число скаларна експресия. За външен файл - е номер 1-32767 (2_147_483_640). Максималната стойност на броя на устройството зависи от конкретната реализация.

Всеки файл съответства на логиката устройство. Едно физическо устройство може да съответства на различни логически устройства.

За I / O устройства стандартни физически устройства могат да бъдат свързани (клавиатура и екран). Екран и клавиатура Fortran осигурява емисии от определени числа. В Fortran програми съществуват идентификационните номера на устройството *, 0, 5, 6. И по подразбиране за устройства *, 0, 5 прикрепена клавиатура, както и да уреди *, 0, 6 - екран.

Всички оператори на това - на дисплея.

Тези устройства се преустановява автоматично след края на програмата. Тези устройства могат да бъдат приложени към всеки файл.

Всеки външен файл има име. Той трябва да отговаря на правилата на конвенцията за именуване операционна система: "С \ Users \ A123 \ f1.txt" - спецификация за външен файл, или ако устройството на - запазени имена, като мошеник, PRN.

Външният файл е приложен към I / O устройство, в резултат на изпълнение на изявлението OPEN. Сега достъп до външен файл се извършва чрез номер на устройство, към който е прикрепен.

OPEN (единица = 2, файл = 'в \ Users \ A133 \ f1.txt ")

Устройството не може да бъде прикрепен към повече от един файл и обратно.

Файлът се състои от записи. Думата "запис" се определя като "логически запис". Покана за запис единица за обмен на данни между програмата и външната памет.







две числа могат да бъдат написани по различен начин на файлове:

Всички записи имат един и същ вид файл.

В Fortran, следните видове записи (в зависимост от представянето на данни):

форматиран - те се състоят от кодова таблица на символи. При въвеждане на данни се превръща от външната (символично) представяне - до вътрешната представяне, и за извличане - от вътрешната към външната;

неформатиран (неформатиран), които съдържат данните в представяне вътрешна машина, се използват главно за съхранение междинни резултати в изчисленията.

Преглед на документация, описана в точка (сега казват в изявление) openspetsifikatoramiform = 'форматиран "или форма =' unformated"

край на файла "Record" не съдържа никакви данни и автоматично се настройва след последния файл записа.

Външни файлове се отличават:

съгласно метода на достъп до данни;

в структура (в зависимост от представянето на данни)

Според метода на достъп (метод на достъп) за информация:

Методът за достъп определя реда, в който да обработи файла.

Последователно метод за достъп включва данни последователно четене, за да желани. В последователни файлове достъп само нови данни се добавят към файла. Неформатиран последователни файлове не могат да бъдат редактирани директно. Записванията в последователен файл може да имат различни дължини. За да редактирате запис в последователен файл е възможно само по този начин: прочетете всички записи в масива, да направите промяната и пишат масив във файл или да се използва за редактиране на временен помощен файл, направете необходимите промени в нея, а след това замени съдържанието на временния файл с оригинала. В края на временния файл автоматично се изтриват.

В зависимост от представяне на данни файлове може да бъде външно (различават по структура):

Данните в двоични файлове се съхраняват в двоичен представителство. Тези файлове - не е типично за Fortran (не се поддържа във всички версии), и ние няма да се разгледа.

По този начин, Fortran поддържа два метода за достъп, и три модели (форматиран, неформатиран двоични). Ето защо, в Fortran, има 6 вида файлове. Ще разгледаме само най-общи файлове:

Формат последователно (текст);

Обикновено в програмата, когато I / O организация приема следния ред на операторите:

Първо, операторът отваря отворен файл (приложена към устройството и неговите свойства са определени). На следващо място, действия, извършени от трансфер на данни (четене, писане). След края на файла, той е изключен от устройството (затваряне на файла - в близост).

Когато изберете типа на файла, че е необходимо да се вземе предвид обстоятелствата, посочени по-долу. Ако имате нужда от визуална проверка на данните, трябва да използвате файлове с формат. Но в текста файлове могат да бъдат грешка при закръгляването. Неформатиран файлове са по-малки по размер, в сравнение с текстови файлове. неформатиран прехвърлянето на файла с данните е по-бързо, тъй като не се изисква преобразуване на данните.

Преди изпълнението на операция по файл, той трябва да бъде съчетано (свързана) с логическото устройство. С други думи, файлът трябва да бъде отворен. Това твърдение се отваря файла и показалеца на файла се задава на първия запис.

[Форма =<способ представления данных>]

[, Recl =<целочисленное выражение>]

Проектантите могат да се появят в произволен ред. Ако уредът е първият, можете да посочите само броя, намаляване единица. метод за достъп могат да бъдат зададени: достъп = 'последователно' - последователен достъп, достъп = "директен" - директен достъп достъп = 'се прикрепя към него "- приложим за работа с последователен достъп, отворена за добавяне на файлове. Форма = 'форматиран "или" неформатиран "дефинира начин на представяне на данните.

Ако не е посочен метод за достъп, файл по подразбиране се приема в съответствие dostupaformatnym.

Pripryamom метод за достъп по подразбиране се смята за не-формат на файла.

Open (20, файл = 'text.dat ") - форматиран файл последователно достъп.

файл-име на (спецификация на файла) файл, който може да се настрои символна константа или тип в променлива характер. Ако тази опция е пропуснато, външен файл се разглежда като временна, а името на този файл е даден по подразбиране.

Iostat- число променлива, която е 0, ако няма грешка, и има положителна стойност, ако някоя част на грешка на оператора, и отрицателно число, ако е станала грешка.

заблуждавате - оператори на етикетите, които контролират се прехвърлят, ако е възникнала грешка по време на изпълнението на акта.

Recl- използва само за директен достъп до файловете (в байтове размера на запис).

Status- указва състоянието: нов (нов), съществуващият (стар). временно (нулата), освен (запази или да запишете), премахване (изтриване).

Временни файлове са винаги валиден статут файл изтриване и за другите спести (след затваряне на файл, той се записва).

Когато създадете файл шоу Статус а = "нов", въпреки че по подразбиране, ако няма файл, той се отваря с тази стойност.

Всички входно / изходни оператори, с изключение на входно / изходни оператори със стандартно устройство система (*, 5, 6) могат да съдържат контролна информация, представляваща списък спецификатор.

Прочетете оператор

Този оператор се използва за четене на данни от файл, устройство, свързано към устройството =<номер устройства> посочено в списъка на влизане променливи. Общ вид на оператора:

[, FMT =<способ представления данных>]

Проектантите единица =<номер устройства>,файл =<имя файла> преди обсъдени.

Fmt- формат спецификатор, което може да се настрои, или формат етикет или символ израз уточняване на формата. * Ако има, това означава, поставяне на контролен списък (само за текстови файлове, последователен достъп) формат, вместо. Това спецификатор е показан само за форматирани записи. Любопитно за този файл спецификатор трябва да бъдат пропуснати.

Стойност в края на оператор етикет, който контролира се прехвърля, когато запис "края на файла".

ERR-декларация етикет, който получава контрол, ако настъпили I / O грешка.

Iostat- число променлива, която е 0, ако няма грешка, и има положителна стойност, ако някоя част от грешка на оператора, както и отрицателно число, ако ситуацията стана файлови коне.

Почивната число израз, но се използва за достъп директно файлове и определя броя на четене записи.

Прочетете (20 *) х - пише в свободен формат (под списъка за контрол) на този файл, който е свързан с канал 20. в променливата х.