Помощь в учёбе, очень быстро...
Работаем вместе до победы

Запись массива в файл и чтение из файла

РефератПомощь в написанииУзнать стоимостьмоей работы

Однако одного оператора open еще не достаточно для работы с файлом. С одной стороны, всякий открытый для чтения и/или записи файл нужно рано или поздно закрыть. Для этих целей в конце того блока операторов программы, в котором вы совершили с файлом все, чего вы хотели, ставится оператор close. close без каких либо операндов закрывает все открытые файлы. Если необходимо закрыть именно те файлы… Читать ещё >

Запись массива в файл и чтение из файла (реферат, курсовая, диплом, контрольная)

Введенный по ходу программы массив обычно нуждается в сохранении для последующей обработки или хранения, переноса на другой компьютер, отсылки, отчетности и т. д. Произвести сохранение введенных данных можно при помощи специальных операторов открытия и закрытия файлов для записи или чтения. Их форматы таковы.

OPEN file$ [FOR mode][ACCESS access][lock]AS [#]fileno% [LEN=reclen%].

Здесь опции операндов таковы:

file$ Имя файла или устройства. Имя файла может включать также и полный путь к нему.

mode Один из режимов: APPEND (присоединить), BINARY (бинарный ввод/вывод), INPUT (ввод или считывание из файла), OUTPUT (вывод или запись в файл), или RANDOM (открытый или произвольный доступ).

access В сетевом окружении указывает на доступ к файлу для операций READ (прочитать), WRITE (записать), или READ WRITE (и то, и другое).

lock В сетевом окружении указывает на тип блокировки (доступность/недоступность) файла: SHARED (разделенный ресурс), LOCK READ (закрыт для чтения), LOCK WRITE (закрыт для записи), LOCK READ WRITE (закрыт и для того, и для другого).

fileno% Натуральное число в пределах от 1 до 255 идентифицирующее открытый файл в программе.

reclen% Для файлов оперативного (случайного) доступа означает максимально возможную длину одновременной записи (по умолчанию -128 байт). Для последовательно записываемых и считываемых файлов — число символов в буфере (по умолчанию — 512 байт).

Однако одного оператора open еще не достаточно для работы с файлом. С одной стороны, всякий открытый для чтения и/или записи файл нужно рано или поздно закрыть. Для этих целей в конце того блока операторов программы, в котором вы совершили с файлом все, чего вы хотели, ставится оператор close. close без каких либо операндов закрывает все открытые файлы. Если необходимо закрыть именно те файлы, которые идентифицированы в программе как #1 и #12, то нужно указать их идентификаторы как операнды через запятую после оператора close.

Предположим, что мы ввели некоторый массив. Как записать его в файл с именем mass. dat? Для этого применяется уже знакомый нам оператор print в формате.

print#n%, «text», const, variable, variable$.

Таким образом, указание «#n%,» распознается этим оператором как «почтовый адрес» записи данных или текста. Отметим, что при записи данных в файл разделители «запятая» и «точка с запятой» работают аналогично тому, как это происходит с выводом информации на экран монитора оператором print, т. е. разделитель операндов «запятая» организует запись с табуляцией (отделение пробелами фиксированной длины).

Чтение данных из файла с массивом в оперативную память машины осуществляется при помощи тех же операторов открытия-закрытия файлов, но с другим блоком действий между ними и с выбором опции for input вместо for output в операторе open.

Рассмотрим еще один оператор или команду, которая позволяет осуществлять временный выход в операционную систему DOS. Формат этой команды shell [commandstring$] в котором сommandstring$ означает имя DOS-команды или bat-файла. Исполнение программы возобновляется сразу же после того как выполнена команда или bat-файл. Если операнд commandstring$ опущен, то shell выводит вас в DOS сессию и отображает на экране DOS промптер. Завершить работу в DOS нужно вводом командной строки exit. Отметим, что данная команда весьма полезна, например, при сортировке файлов данных с помощью известной DOSовской команды sort. Но, на самом деле, считать, что вы вышли именно в ту DOS-сессию, из которой запускали QB неверно. На самом деле осуществляется новая эмуляция DOS с запуском нового командного интерпретатора command.com в новом разделе оперативной памяти. Если вы входили в QB из оболочки Norton Commander, то при правильном распределении ресурсов оперативной памяти вы даже сможете запустить еще один Norton Commander (не тот, из которого вы, скажем, запускали первый Norton Commander!). Более того, можно запустить даже еще один QB (!) и попытаться из него снова выйти в еще один DOS.

Доходчивее всего, на мой взгляд, ситуация с выходом в DOS и возвратом из него интерпретируется одной старинной гравюрой, на которой изображена воображаемая небесная сфера и человек, просунувший голову через нее и выглядывающий наружу (а что это вы там делаете?); правда, композицию нужно слегка изменить — человек должен смотреть вовнутрь сферы извне… Так вот, выйдя по указанной команде (оператору) в новый DOS, вы сможете посмотреть, присутствует ли записанный вами файл mass. dat в каталогах (например, DOS-команда с маской dir m*.dat), можно даже просмотреть этот DOSовской файл командой type m*.dat. А затем вернуться в исполняемую программу уже упомянутой командой exit.

Показать весь текст
Заполнить форму текущей работой