Иллюстрированный самоучитель по Matlab



Операции с двоичными файлами - часть 2


Определенные вызовы функций fread или fwrite могут отменить числовой формат, заданный при вызове функции fopen.

fids = fopen С all') — возвращает вектор-строку, содержащую идентификаторы всех открытых файлов, не включая стандартные потоки О, 1 и 2. Число элементов вектора равно числу открытых пользователем файлов;

[filename,permission,format] -fopen(fid) — возвращает полное имя файла, строку .permission и строку format. При использовании недопустимых значений fid возвращаются пустые строки для всех выходных аргументов.

Команда fclose закрывает файл. Она имеет следующие варианты.

status = fclose(fid) — закрывает файл, если он открыт. Возвращает статус файла status, равный 0, если закрытие завершилось успешно, и -1 в противном случае. Аргумент fid — это идентификатор, связанный с открытым файлом (см. функцию fopen для более подробного описания);

status = fclose( 'all') закрывает все открытые файлы. Возвращает 0 в случае успешного завершения и -1 — в противном случае.

Пример открытия и закрытия файла:

» fid=fopen('c:\ex'.'а+') fid = 4

 » fclose(4)

ans =

0

[A,count] = fread(fid,size,precision) — считывает двоичные данные из заданного файла и помещает их в матрицу А. Выходной аргумент count содержит число удачно считанных элементов. Значение идентификатора fid — это целое число, возвращенное функцией fopen; size — аргумент, определяющий количество считываемых данных. Если аргумент size не определен, функция f read считывает данные до конца файла.

Используются следующие параметры size:

n — чтение n элементов в вектор-столбец;

 inf — чтение элементов до конца файла и помещение их в вектор-столбец, содержащий такое же количество элементов, что и в файле;

[m.n] — считывает столько элементов, сколько нужно для заполнения матрицы

тхп.

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




Содержание  Назад  Вперед