Лекция 11 Файлы. Точного определения файла не существует. Файлом может быть: Объект файловой системы (файлы, папки и т.д.) Устройство ввода/вывода (клавиатура,

Презентация:



Advertisements
Похожие презентации
Работа с файлами. Операции с файлами Для того чтобы можно было читать из файла или писать в файл, он должен быть предварительно открыт с помощью библиотечной.
Advertisements

Потоки (файлы) Функции и типы для работы с потоками в стиле С описаны в модуле stdio.h. В отличие от Паскаля в С с потоком не связан тип данных. Поток.
Работа с файлами FILE НГТУ ИРИТ кафедра ИСУ Ольга Пронина.
Лабораторная работа 7. Работа с динамической памятью, строками и файлами.
ДОСТУП К ФАЙЛАМ. Доступ к файлам Важным шагом в вопросе ввода-вывода является написание программы, работающей с файлом, который не связан заранее с программой.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Лекция 9 Функции. Массивы-параметры функции Передача массива в функцию Пример: void array_enter(int a[], int size) { int i; for (i = 0; i < size; i++)
Лекция 2 Функции библиотек языка C. stdio.h Заголовочный файл стандартной библиотеки языка C. Содержит определения констант, объявления функций и типов.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
1 Программирование на языке Паскаль Тема: Файлы. Integer, Real, Boolean, Character, String, Text.
Потоки Язык C++ не обеспечивает средств для ввода/вывода Ему это и не нужно; такие средства легко и элегантно можно создать с помощью самого языка Традиционно.
ТЕКСТОВЫЕ ФАЙЛЫ Turbo Pascal 7.0. Операции с текстовыми файлами Выделение буфера обмена Установка связи Открытие файла Чтение из файла Запись в файл Закрытие.
Подготовили студенты группы 4133 Гусарова Екатерина, Сухова Анастасия, Замалетдинова Эльвина, Хасанов Мурат.
Пусть нам необходимо сформировать текстовый файл с помощью Паскаля, а затем переписать из данного файла во второй только те строки, которые начинаются.
Транксрипт:

Лекция 11 Файлы

Точного определения файла не существует. Файлом может быть: Объект файловой системы (файлы, папки и т.д.) Устройство ввода/вывода (клавиатура, принтер, дисплей) Служебные объекты операционной системы Функции для работы с файлами описаны в файле stdio.h

Способы работы с файлами Существует два способа работы с файлами: 1)Используя файлы как потоки 2)Используя произвольный доступ к данным файла

Потоковый ввод/вывод Операции над потоковыми файлами: Открытие файла Чтение из файла (ввод из файла) Запись в файл (вывод в файл) Проверка достижения конца файла Закрытие файла

Открытие файла FILE* fopen(char *name, char *mode); name – имя файла mode – режим открытия файла Возвращаемое значение: указатель на файловый тип или NULL, если произошла ошибка. modeрежимДействие Файл существуетФайл не существует rчтениеОткрытие файлаОшибка! wзаписьСодержимое файла уничтожится Файл будет создан aдобавлениеЗапись будет происходить в конец файла Файл будет создан

Закрытие файла Функция закрытия файла: void fclose(FILE *fp); fp – указатель на переменную файлового типа, связанную с открытым файлом Пример: void main() { /* открываем файл 1.txt */ FILE *fp = fopen("1.txt", "r"); if (fp == NULL) { printf("Ошибка открытия файла!"); return; }... /* производим какие-то действия над файлом*/ /* закрываем файл */ fclose(fp); }

Вывод в файл символа и строки Запись символа в файл: int fputc(int c, FILE *fp); c – символ, который необходимо записать fp – файл, в который производится запись Возвращаемое значение: записанный символ или EOF в случае ошибки записи. Запись строки в файл: int fputs(char* s, FILE *fp) s – строка, которую необходимо записать в файл fp – файл, в который производится запись Возвращаемое значение: неотрицательное значение или EOF в случае ошибки записи.

Вывод форматируемого текста в файл int fprintf(FILE *fp, char* fmt, …); fp – файл, в который производится запись fmt – форматная строка... – форматируемые значения Примечание: fprintf идентична функции printf с той лишь разницей, что в качестве первого параметра передается файл, в который необходимо вывести значения.

Пример записи в файл #include void main() { /* открываем файл на запись */ FILE *fp = fopen("hello.txt", "w"); /* проверяем на ошибки */ if (fp == NULL) { printf("Ошибка создания файла\n"); return; } /* записываем в файл строку */ fprintf(fp, "Hello, file world!\n"); /* закрываем файл */ fclose(fp); }

Чтение из файла Чтение символа из файла: int fgetc(FILE* fp); fp – файл Возвращаемое значение: считанный символ или EOF если произошла ошибка чтения или достигнут конец файла. Чтение строки из файла: char* fgets(char* line, int maxline, FILE* fp); line – строка, в которую будет считана строка из файла maxline – максимальная длина строки fp – файл Возвращаемое значение: считанная строка или NULL если произошла ошибка чтения или достигнут конец файла.

Пример считывания строк из файла Данный пример выводит на экран содержимое файла #include void main() { char s[100]; /* считываемая строка */ FILE *fp = fopen("hello.txt", "r"); /* проверяем на ошибки */ if (fp == NULL) { printf("Ошибка открытия файла\n"); return; } /* читаем построчно файл */ while (fgets(s, 100, fp) != NULL) { /* выводим считанную строку на экран */ puts(s); } fclose(fp); }

Форматный ввод данных из файла int fscanf(FILE* fp, char* fmt, …); fp – файл fmt – форматная строка … - указатели на переменные для ввода значений Возвращаемое значение: количество успешно введенных элементов. Примечание: fscanf идентична функции scanf с той лишь разницей, что в качестве первого параметра передается файл, из которого необходимо считывать значения.

Стандартный ввод/вывод В языке Си есть три преопределенных стандартных файла: stdin – стандартный ввод (клавиатура) stdout – стандартный вывод (дисплей) stderr – вывод сообщений об ошибках (дисплей) puts( ) аналогично fputs(, stdout) scanf(, …) аналогично fscanf(stdin,, …) Недопустимо: fputs(, stdin); fgets(,, stdout);

Дополнительные функции работы с файлами Определение наличия ошибки в файле: int ferror(FILE *fp) fp – файл Возвращает ненулевое значение, если при работе с данным файлом произошла ошибка. Определение достижения конца файла: int feof(FILE *fp) fp – файл Возвращает ненулевое значение, если достигнут конец файл.

Переопределение стандартных вводов/выводов Переопределение через командную строку в качестве параметров: >имя-файла – переопределение стандартного вывода на вывод в файл «имя-файла» >имя-файла – переопределение вывода ошибочных сообщений на вывод в файл «имя-файла» Пример: Myprog.exe output.txt >>errors.txt