Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Файлдармен жұмыс істеу.






Fzhi Файлдан ақ паратты оқ у жә не оғ ан ақ паратты жазу ү шін оны стандартты кітапханалық функция fopen кө мегімен ашу қ ажет. Программада fopen-ге бағ ытталу мына тү рде болады:

Fp=fopen(name, mode);

Бірінші параметр - файл аты, символдар қ атары, екінші параметр - mode-та файл қ алай қ олданылатынын кө рсететін символдар қ атары. Тө менде файлды қ олданудың негізгі тә сілдері келтірілген:

“r” - файлды оқ у керек,

“w” - файлғ а жазу керек,

“a” - файлғ а қ осу керек,

“r+” - файлды оқ у жә не жазу ү шін ашу (файл болу керек),

“w+” - бос файлды оқ у жә не жазу ү шін ашу керек (егер ол файл бұ рын болса, оның ішіндегі мә ліметтер жойылады),

“a+” - файлды оқ у жә не ішіне қ осу ү шін ашу (егер файл жоқ болса, онда ол алдын-ала қ ұ рылуы тиіс).

“r”-ді қ олданғ ан кезде бар файл ашылады.

Келесі функцияларды қ арастырайық: fgets(), fputs(), fread(), fwrіte().

1. Fgets(). Fgets() функциясы stream кіріс ағ ынынан қ атарды оқ ып, strіng параметрі мә ні мен берілетін адрестегі қ атарғ а қ ояды. Символдар ағ ыннан жаң а қ атар символы болғ анғ а дейін оқ ылады, немесе ағ ынның соң ына дейін, немесе (n-1) символ оқ ылғ анғ а дейін. Егер n=1 болса, онда бос жол қ ұ рылады (қ атардың адресі қ айтарылады, егер қ ате болса немесе файлдың соң ына келсе мә ні NULL).

2. Fputs(). Функция strіng қ атарын ағ ымды позициядан бастап stream ағ ынына кө шіреді. Соң ын білдіретін нө льдік символ (‘\0’) кө шірілмейді (қ айтаратын мә н: соң ғ ы жазылғ ан символ; егер strіng қ атары бос болса, мә ні 0; егер қ ате болса, мә ні NULL).

3. Fread(). Функция stream кіріс ағ ынынан sіze ұ зындық ты count элементтерін оқ иды да, buffer берілген массивіне салады. Stream ағ ынымен байланысқ ан файл кө рсеткіші нақ ты оқ ылғ ан байттар санына ө седі. Мә ліметтерді форматты тү рлендіру (fscanf() функциясы ү шін секілді) жасалмайды. Қ атарды тү сіру символы (‘\n’) арнайы (fgets() ү шін секілді) ө ң делмейді.

4. Fwrіte(). Функция buffer обылысынан stream шығ ысағ ымғ а sіze байттан count жазба жазады. Stream ағ ымымен байланысты файл кө рсеткіші (ішкі кө рсеткіш) жазылғ ан байттар санына ө седі. Мә ліметтерді форматты тү рлендіру жасалмайды. Қ атарды тү сіру символы ө ң делмейді.

5. Fseek(). Stream ағ ымымен байланысқ ан функция файл кө рсеткішін (ішкі) файлдың offset ығ ысуымен есептелетін жә не orіgіn есебінің бағ ытының кө рсетуімен жаң а орнына алып барады. Кө рсетілген stream ағ ынына келесі енгізу/шығ ару операциясы ауыстыру орындалғ ан позициядан бастап орындалады.

Тізбе қ ұ рылымды типі.

Tkt Жазбалар – мә ліметтер қ ұ рлымы, элемент аты арқ ылы анық талады. Жазба элементтері кез келген типті болуы мү мкін. Сондық тан жазбаны сипаттағ анда ә рбір элемент атын, жә не оның типін кө рсету керек. Жазба келесі тү рде сипатталады:

Type жазба-типінің -аты=

Record

элемент-аты: элемент-типі

e nd;

Бұ лар тү рлі тіркелген элементтерді санын жинақ тайды. Жазбаның ә рбір элементінің жазба шегінде ерекше (уникальное) аты болады жә не ол ө ріс деп аталады.

Жазбалар:

· тіркелген (фиксированные);

· вариантты;

болып бө лінеді.

Тіркелген (фиксированная) жазба - ө рістер саны тіркелген. Тіркелген жазбалады сипаттау ү шін Delphi-де келесі қ ұ рлым қ олданылады:

Record

FieldList1: Type1;

FieldListN: TypeN;

end;

Мұ ндағ ы FieldList1- бірінші ө ріс аты; FieldListN- жазбадағ ы соң ғ ы N ө ріс аты;

Вариантты жазба - ө рістер саны тіркелген, бірақ ө рістердің жады аймағ ын алу кө лемін ә ртү рлі кө лемде қ арастыруғ а мү мкіндік береді. Жазбалардың вариантты бө лігін сипаттау case сө зінен басталады жә не жазбаның басқ а ө рістерін сипаттағ аннан кейін орналасуы керек. Вариантты жазбаны сипаттау ү шін келесі қ ұ рлымды пайдалануғ а болады:

Record

FieldList1: Type1;

FieldListN: TypeN;

case tag: ordinalType of

constantList1: (variant1);

constantListN: (variantN);

end;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.