русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операции над форматированными файлами


Дата добавления: 2015-07-23; просмотров: 516; Нарушение авторских прав


Файлы, содержащие форматированные данные, называют форматированными файлами. Ниже представлены функции, которые служат для работы с такими файлами.

· line = fgetl (fid) — возвращает строку из файла с идентификатором fid с удалением символа конца строки. Если функция fgetl обнаруживает конец файла, то она возвращает значение -1 (см. функцию fopen с более подробным описанием fid);

· line = f gets (fid) — возвращает строку из файла с идентификатором fid, не удаляя символ конца строки. Если функция fgets обнаруживает конец файла, то она возвращает значение -1;

· line = fgets(fid.nchar) — возвращает не больше чем nchar первых символов строки. После признака конца строки или конца файла никакие дополнительные символы не считываются (см. примеры к функции fscanf);

· count = fprintf(fid.format,A....) — форматирует данные, содержащиеся в действительной части матрицы А, под контролем строки format и записывает их в файл с идентификатором fid. Функция fprintf возвращает число записанных байтов. Значение идентификатора fid — целое число, возвращаемое функцией fopen.

Если опустить идентификатор fid в списке аргументов функции fprintf, то вывод будет осуществляться на экран, так же как при использовании стандартного вывода (fid=l).

· fprintf(format,A....) — запись осуществляется на стандартное устройство — экран (но не в файл). Строка format определяет систему счисления, выравнивание, значащие цифры, ширину поля и другие атрибуты выходного формата. Она может содержать обычные буквы алфавита наряду со спецификаторами, знаками выравнивания и т. д.

Таблица 19.1.Специальные символы в строках формата

  Символ Описание
  \n Новая строка
  \t Горизонтальная табуляция
  \b Возврат на один символ
  \r Возврат каретки
  \f Новая страница
  \\ Обратный слеш
  \" или " Одиночная кавычка
  %% Процент

Функция fprintf ведет себя, как аналогичная функция fprintf О языка ANSI С и с некоторыми исключениями и расширениями. В табл. 19.1 описаны специальные символы, встречающиеся в строке format. Для вывода числовых или символьных данных в строке формата необходимо использовать спецификаторы, перечисленные в табл. 19.2.



Таблица 19.2.Спецификаторы формата вывода данных

Спецификатор Описание  
%d Десятичная система обозначений (со знаком)  
Одиночный символ  
Экспоненциальное представление чисел с использованием символа «е» в нижнем регистре, например 3.1415е + 00  
     
Экспоненциальное представление чисел с использованием символа «Е» в верхнем регистре, например 3.1415Е + 00  
     
%f Система обозначений с фиксированной точкой  
%g Наиболее компактный вариант из %е и %f. Незначащие нули не выводятся  
%G То же самое, что и %д, но используется верхний регистр для символа «Е»  
Восьмеричная система обозначений (без знака)  
%s Строка символов  
%u Десятичная система обозначений (без знака)  
%x   Шестнадцатеричная система обозначений с использованием символов нижнего регистра («a»...«f»)  
     
%X Шестнадцатеричная система обозначений с использованием верхнего регистра символов («A»...«F»)  

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

Таблица 19.3.Параметры спецификаторов формата

Символ Описание Пример
Знак «минус» (-) Выравнивание преобразованных аргументов по левому краю %-5.2d
Знак «плюс» (+) Всегда печатать знак числа (+ или -) %+5.2d
Ноль (0) Заполнение нулями вместо пробелов %05.2d
Цифры Определяет минимальное число знаков, которые будут напечатаны %6f
Цифры (после точки) Число после точки определяет количество символов, печатаемых справа от десятичной точки %6.2f

· А = fscanf(fid,format) — читает все данные из файла с идентификатором, fid, преобразует их согласно значению параметра format и возвращает в виде матрицы А. Значение идентификатора fid — целое число, возвращаемое функцией fopen. Параметр format представляет собой строку, определяющую формат данных, которые необходимо прочитать;

· [A,count] = fscanf(fid.format,size) — считывает количество данных, определенное параметром size, преобразует их в соответствии с параметром format и возвращает вместе с количеством успешно считанных элементов count. Параметр size — это произвольный аргумент, определяющий количество считываемых данных. Допустимы следующие значения:

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

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

o [m,n] — считывает столько элементов, сколько требуется для заполнения матрицы размера тхп. Заполнение происходит по столбцам. Величина n (но нет!) может принимать значение Inf.

Строка format состоит из обычных символов и (или) спецификаторов. Спецификаторы указывают тип считываемых данных и включают символ %, опцию ширины поля и символы формата. Возможные символы формата перечислены в табл. 19.4.

Таблица 19.4.Символы формата, используемые функцией fscanf

  Символ Описание  
  %c Последовательность символов; параметр ширины поля определяет количество считываемых символов  
   
  %d Десятичное число  
  %e, %f, %g Число с плавающей точкой  
  %i Целое число со знаком  
  %o Восьмеричное число со знаком  
  %s Последовательность непробельных символов  
  %u Десятичное целое число со знаком  
  %x Шестнадцатеричное целое число со знаком  
  [...] Последовательность символов  
       

Между символом % и символом формата допустимо вставлять следующие символы:

· звездочка (*) означает, что соответствующее значение не нужно сохранять в выходной матрице;

· строка цифр задает максимальную ширину поля;

· буква обозначает размер полученного объекта: h для короткого целого числа (например, %n d), 1 для длинного целого числа (например, %ld) или для числа с двойной точностью с плавающей запятой (например, % lg ).

Примеры:

» х = 0:pi/10:pi:y-[x:sin(x)];

» fid = fopent 'c:\sin.txt'. V);

» fprintf(fid.'X5.3f *10.6f\n'.y):fclose(fid);

0.000 0.000000

0.314 0.309017

0.628 0.587785

0.942 0.809017

1.257 0.951057

1.571 1.000000

1.885 0.951057

2.199 0.809017

2.513 0.587785

2.827 0.309017

3.142 0.000000

» fid = fopen('c:\sin.txt'.'r');

» q=fscanf(fid.'*g'.[2.10]):

» q '

ans =

0 0

0.3140 0.3090

0.6280 0.5878

0.9420 0.8090

1.2570 0.9511

1.5710 1.0000

1.8850 0.9511

2.1990 0.8090

2.5130 0.5878

2.8270 0.3090

» fgetl(fid)

ans =

3.142 0.000000

» fgets(fid)

ans =

-1

» fclose(fid)

ans=



<== предыдущая лекция | следующая лекция ==>
Операции с двоичными файлами | Позиционирование файла


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.17 сек.