Работа с файлами FILE НГТУ ИРИТ кафедра ИСУ Ольга Пронина.

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



Advertisements
Похожие презентации
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Advertisements

Лекция 11 Файлы. Точного определения файла не существует. Файлом может быть: Объект файловой системы (файлы, папки и т.д.) Устройство ввода/вывода (клавиатура,
Работа с файлами. Операции с файлами Для того чтобы можно было читать из файла или писать в файл, он должен быть предварительно открыт с помощью библиотечной.
Потоки (файлы) Функции и типы для работы с потоками в стиле С описаны в модуле stdio.h. В отличие от Паскаля в С с потоком не связан тип данных. Поток.
Лабораторная работа 7. Работа с динамической памятью, строками и файлами.
Подготовили студенты группы 4133 Гусарова Екатерина, Сухова Анастасия, Замалетдинова Эльвина, Хасанов Мурат.
1 ©Павловская Т.А. Язык С++ Курс «С++. Программирование на языке высокого уровня» Павловская Т.А.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 3 Работа с файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков Артем.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 Работа с бинарными файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков.
ДОСТУП К ФАЙЛАМ. Доступ к файлам Важным шагом в вопросе ввода-вывода является написание программы, работающей с файлом, который не связан заранее с программой.
Файловый ввод-вывод Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ"
Лекция 2 Функции библиотек языка C. stdio.h Заголовочный файл стандартной библиотеки языка C. Содержит определения констант, объявления функций и типов.
Даная матрица Задача 1. Дана матрица X[0:n-1][0:m-1] и массив Y[0:k-1]. Написать программу, которая вычисляет массив Z, состоящий из элементов X, расположенных.
Лекция 3 ПЕРВЫЕ ПРОГРАММЫ, ВВОД/ВЫВОД В ЯЗЫКЕ С++
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
Структуры и объединения Structures and unions НГТУ ИРИТ кафедра ИСУ Ольга Пронина.
Элементы ЯПВУ. ФАЙЛЫ Элементы ЯПВУ. ФАЙЛЫ C / С++C / C++ Язык С++ поддерживает две системы ввода / вывода: унаследованную от С и новую, объектно-ориентированную.
1 Программирование на языке Си++. 2 Модуль 4. ПЕРЕГРУЗКА ОПЕРАЦИЙ Методы преобразования. Классы потоков Си++ Операции замещения и вставки Ввод/вывод в.
Ввод и вывод в языке C Одной из основных особенностей языка Си по отношению к большинству других языков программирования высокого уровня является полное.
Транксрипт:

Работа с файлами FILE НГТУ ИРИТ кафедра ИСУ Ольга Пронина

Ввод/вывод в С++ функций библиотеки языка С : printf(), scanf(), gets(), puts(), getchar(), getche(), getc(), putchar(); функций библиотеки языка С++ : стандартный входной поток (объект cin типа istream), стандартный выходной поток (объект cout типа ostream) и операции для потока ввода >> и для потока вывода

Буфер ввода/вывода void setbuf(FILE *f, char *p); void setbuf(FILE *f, char *p, int mode, size_t size); буферизация ввода/вывода осуществляется автоматически и позволяет ускорить выполнение программы за счёт уменьшения количества обращений к медленно работающим внешним устройствам буфер файл УВВ

Файловый ввод/вывод Включение файла заголовков и объявления указателей файлов. Открытие файла вызовом функции fopen, присвоение возвращаемого ею значения указателю файла. Проверка правильности открытия файла (указатель файла после шага 2 не должен равняться NULL). Чтение и запись в файл с помощью функций fprintf, fscanf, fputs, fgets, fgetc, fputc, getc, putc, freed, fwrite и других, объявленных в библиотеке. Закрытие файла вызовом функции fclose.

Функции для работы с файлами Открытие потока FILE *fopen (const char *name, const char *mode); Закрытие потока int fclose (FILE *f); Посимвольный ввод/вывод int fgetc (FILE *f); int fputc (int ch, FILE *f); Ввод/вывод символьных строк char* fgets (char *str, int n, FILE *f); int fputs (char *str, FILE *f); Форматированный ввод/вывод int fprintf (FILE *f, const char *format, …); int fscanf (FILE *f, const char *format [, par1, par2, …]);

Пример #include main() { FILE *myfile; char file_name[40]; gets(file_name); if ((myfile = fopen(file_name, r)) == NULL) { printf(ошибка при открытии файла %s \n, file_name); exit(1);//exit(0) -нормальное завершение процесса }//exit(1) - сигнал об ошибке //работа с файлом с использованием myfile ………… fclose(myfile); }

Пример #include void main() { FILE *fi; char str[80]; clrscr(); if ((fi = fopen("file.dat", "w")) == NULL) exit(1); else while (strcmp(gets(str)," ")!=0) fputs(str, fi); fclose(fi); if ((fi = fopen("file.dat", "r")) != NULL) while (fgets(str, 80, fi) != NULL) puts(str); fclose(fi); getch(); }

Функции для работы с файлами Ввод/вывод записей size_t fread (void *buf, size_t size, size_t count, FILE *f); size_t fwrite(const void *buf, size_t size, size_t n, FILE *f); Пример struct book { char title[81]; char author[21]; int page; float price; }; struct book library; FILE *fi = fopen(library.dat, r); n = fread (&library, sizeof(library), 1, fi); //n=1, чтение 1 записи //в структуру library

Функции для работы с файлами Очистка буфера int fflush (FILE *f); Работа с позицией в файле int feof (FILE *f); int fgetpos (FILE *f, fops_t *pos); int fseek (FILE *f, long k, int org); int fsetpos (FILE *f, const fops_t *pos); long int ftell (FILE *f); Работа с ошибками int ferror (FILE *f); int clearerr (FILE *f); void rewind (FILE *f); Переименование файла int rename (const char *old_name, const char *new_name);

Пример #include #define BYTES 7 FILE *fb; int main() { char file_name[30],buf[BYTES],str[40]; int i,n,x; puts("Введите имя файла: ") while (fb=fopen(gets(file_name),"rb")==0) { printf("Ошибка открытия файла %s\n",file_name); putchar('\n'); }

Вывод текстового файла puts("ТЕКСТ: "); while (fgets(str,80,fb)) puts(str); puts(""); Вывод текста и чисел файла puts("ТЕКСТ И ЧИСЛА: "); fseek(fb,0,0); fgets(str,80,fb); puts(str); for(i=0;i

Вывод бинарного файла puts("БИНАРНЫЙ ФАЙЛ: "); fseek(fb,0,0); do { n=fread(buf,1,BYTES,fb); puts(""); for(i=0;i

Вопросы?