Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Обработка двоичных файлов . Последовательный и произвольный доступ.
Двоичные файлы в формате *.dat. Хранение информации в двоичном файле позволяет существенно ускорить время считывания и записи. Существует 2 способа доступа к элементам двоичных файлов: последовательный и произвольный. Последовательный: использование как правило для перебора всех данных хранящихся в файле. Заполнение пустых файлов так же возможно только в последовательном. Для открытия и закрытия двоичных файлов используют функции fopen и fclose. Но не всем режимам доступа следует добавлять букву b. Для записи в файл используется функция fwrite, чей прототип находится в файле <stdio.h>. Заголовок функции имеет вид: size_t fwrite(const void *ptr,size_t size. Size_t n,FILE *stream) Параметры: Void *ptr – указатель на исходные данные, записываемые в FILE Size_t size – размер в байтах одного элемента данных. Size_t n – число записываемых в файл элементов данных, размером size байт каждый. File *stream – указатель на файловый поток открытых в двоичном режиме. Void main () {FILE *giena; Int mass[100]; Giena=fopen(“ttt.dat”,”wb”); For (int i=0;i<100;i++) Mass[i]=i*I; Fwrite(mass,sizeof(int),100,giena); Fclose(giena);} Произвольный доступ. Организация произвольного доступа к компонентам файла позволяет считывать значения из любой позиции файла, а так же записывать новую информацию в любое место в файле. Все компоненты файлов с произвольным доступом должны иметь одинаковую длину. Для изменения места файла, откуда будет производиться операция чтения или записи служит функция fseek. Ее прототип содержится в файле <stdio.h>, а заголовок имеет вид: int fseek(File *stream,long offset,intwhence) Параметры: File *stream – указатель на открытый файловый поток. Long offset – число байтов, на которое нужно перемещения в обратную сторону offset должен быть отрицанием. Int whence – указатель на положение точки отсчета от которого будет происходить перемещение файлового указателя. Void main () {FILE *giena; Int x; Giena=fopen(“ttt.dat”,”rb”); Fseek (giena,25*sizeof(int),SEEK_SET); Fread (&x,sizeof(int),1,giena); Printf (“Прочитано 25е число:%d\n”,x); Fclose(giena);}
Аргументы используемые по умолчанию.- В языке Си++ в прототипе функции существует возможность указать значение по умолчанию для некоторых параметров. Это позволит пропускать соответствующие аргументы при вызове функции, а на их место компилятор подставит указанные при описании значения. Параметр со значением по умолчанию должен стоять после всех остальных в списке, если при вызове функции параметр опускается, то нужно опустить и все последующие аргументы.
Void otchisl (char *gruppa,int n=26,int k=0); Oychisl (“i-2-4”);
Использование ссылок. В си++ используется видоизмененная форма указателя, называемая ссылкой. Для ссылки не требуется дополнительного пространства памяти, так как она является по сути другим именем переменной. Для описания ссылки используется: Int &k; Main () {int t; Int &sh=t;} Основное предназначение ссылок состоит в применении их для параметров функции и для типов возвращаемых значений файлов. В ссылке после инициализации не может быть присвоена другая переменная. При передаче параметров по ссылке вызов функции синтаксически никак не отличается от вызова передачи по значению.
#include <stdio.h> Const int j=10; Int mass[j]; Int &aaa (int i) {return mass[i];} Void Main () {for (int i=1;i<j;i++) Aaa(i)=i*I; For (i=1;i<j;i++) Printf (“mass[%d]=%d\n”,I,aaa(i)); Ссылка может быть использована как тип возвращаемой функции, что позволит «присваивать функции значение».
Встроенные функции.- В Си++ при определении функции можно использовать слово inline, оно предписывает компилятору помещать расширение тела функции везде, где происходит обращение к ней вместо того, чтобы генерировать код вызова. Обычно встроенными делаются малые по размеру функции, так как их использование делает текст программы больше, хотя такая программы выполняется быстрее. На содержимое функции, объявляем как inline сущ. список ограничений, так не допускается inline для функций принимающих оператор цикла, операторы switch и goto можно. Кроме того определение встроенной функции должно обязательно предшествовать ее вызову. Кроме того компилятор может без всякого предупреждения проигнорировать inline.
|
|||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 252; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.70.203 (0.006 с.) |