Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(это программирование 2й семестр).docx
Скачиваний:
38
Добавлен:
15.05.2015
Размер:
45.99 Кб
Скачать
  1. Файлы и их назначение. Логическое и физическое имя файла.

    1. Файлы предназначены для длительного хранения данных.

    2. Файлы широко применяются для решения таких задач, где есть большое кол-во информации.

    3. Каждому файлу присваивается уникальное имя, по которому к нему производится обращение.

    4. Имя выбирается в соответствии с требованиями используемой ОС.

    5. Логическое имя это указатель на требуемый файл, т .е на область памяти, где находится файл.

  2. Открытие файлов.

    1. Прежде чем получить возможность чтения файла он должен быть открыт

функция fopen

Ф-я физическому имени файла ставит в соответствии внутреннее имя,которым пользуются в программе

FILE *fopen(), *ff;

FILE-имя типа,описанное в стандартном определении заголовочного файла stdio.h

ff-указатель на файл(логическое имя)

fopen-функция, выдающая указатель на файл

Иногда в объявлении *fopen не пишут

Обращение к fopen производится:

ff=fopen("имя файла", "вид использования");

Вид использования: "w"-запись "r"-чтение, "a"-добавление в конец

  1. Способы доступа к файлам.

    1. Чтение и запись

    2. Чтение: функции fgets, fscanf, getc

    3. Запись: функции fputs, fprintf, putc

fgets(идентификатор строки, макс.длина строки+1, логическое имя файла);

fputs(идентификатор строки, логическое имя файла);

fscanf(логическое имя файла, “управляющая строка”, список аргументов);

fprintf(логическое имя файла, “управляющая строка”, список аргументов);

getc() выбирает из файла очередной символ, ей нужно только знать указатель на файл. getc(логическое имя файла);

putc() заносит значение некоторого символа в файл putc(символ, логическое имя файла);

  1. Работа с файлами последовательного доступа (чтение, запись, добавление информации в файл).

    1. Чтение и запись

#include <stdio.h>

int main()

{

FILE *f1,*f2;

int i;

f1=fopen("input.txt", "r");

f2=fopen("output.txt", "w");

fscanf(f1, "%d", &i);

fprintf(f2,"%d",i);

fclose(f1); fclose(f2);

return 0;

}

    1. Добавление в конец

#include <stdio.h>

int main()

{

FILE *f1;

f1=fopen("input.txt", "a");

fprintf(f1, "HELLO ");

fclose(f1);

f1=fopen("input.txt", "a");

fprintf(f1, "WORLD!");

return 0;

}

  1. Поиск информации в файле.

    1. Пример поиска в файле(кусок кода)

while(true)

{

puts("ENTER FAMILY NAME or Enter FOR EXIT\n");

gets(name);

if(strlen(name)==0) break;

bool not_found=true;

for(int i=0; i<n_record; i++)

{

if(strstr(dbase[i].name, name))

{

if(dbase[i].name[strlen(name)]==' ')

{

printf("%20s5i%10.2f\n", dbase[i].name, dbase[i].birth_year, dbase[i].pay);

not_found=false;

}

}

n_sotr++;

sum_pay+=dbase[i].pay;

not_found=false;

}

}

  1. Закрытие файлов.

    1. Функция fclose

    2. fclose(логическое имя файла);

    3. После завершения работы с файлом его нужно закрыть.

  2. Понятие области действия данных и времени их существования.

    1. Областью действия или областью видимости переменной наз-ся та область программы

где на ее идентификатор можно ссылаться

    1. Областью жизни наз-ся та область программы, при выполнении которой переменная

существует в памяти компьютера

    1. Область жизни!=Область действия

  1. Синтаксис определения переменной.

    1. Атрибуты задают область действия и время жизни переменной

В целом синтаксис определения переменной можно представить:

[класс памяти] [const] тип имя [инициализатор]

  1. Локальные и глобальные переменные.

    1. Глобальные переменные – переменные с глобальным временем жизни.

Память для них выделяется в момент обьявления в программе и сохраняется до ее окончания.

Обьявления глобальных переменных размещаются вне описания какой либо функции.

    1. Локальные переменные - переменные с локальным временем жизни

Такие переменные создаются в блоке, ограниченным фигурными скобками в момент их объявления и исчезают при выходе из блока.