🗊 Презентация Лекция 5. Файлы в Си

Нажмите для полного просмотра!
Лекция 5. Файлы в Си, слайд №1 Лекция 5. Файлы в Си, слайд №2 Лекция 5. Файлы в Си, слайд №3 Лекция 5. Файлы в Си, слайд №4 Лекция 5. Файлы в Си, слайд №5 Лекция 5. Файлы в Си, слайд №6 Лекция 5. Файлы в Си, слайд №7 Лекция 5. Файлы в Си, слайд №8 Лекция 5. Файлы в Си, слайд №9 Лекция 5. Файлы в Си, слайд №10 Лекция 5. Файлы в Си, слайд №11 Лекция 5. Файлы в Си, слайд №12 Лекция 5. Файлы в Си, слайд №13 Лекция 5. Файлы в Си, слайд №14 Лекция 5. Файлы в Си, слайд №15 Лекция 5. Файлы в Си, слайд №16 Лекция 5. Файлы в Си, слайд №17

Вы можете ознакомиться и скачать презентацию на тему Лекция 5. Файлы в Си. Доклад-сообщение содержит 17 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Лекция 5 Файлы в Си
Описание слайда:
Лекция 5 Файлы в Си

Слайд 2


Понятие файла в языке Си Файл - это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены...
Описание слайда:
Понятие файла в языке Си Файл - это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами. Использование файлов целесообразно в случае: долговременного хранения данных; доступа различных программ к одним и тем же данным; обработки больших массивов данных, которые невозможно целиком разместить в оперативной памяти компьютера. Файл, не содержащий ни одного элемента, называется пустым. Создается файл путем добавления новых записей в конец первоначально пустого файла. Длина файла, т.е. количество элементов, не задается при определении файла. В языке Си отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку ввода-вывода языка Си (stdio.h - standart input output).

Слайд 3


Буферизация ввода-вывода Считываемая и записываемая информация представляет собой последовательность байтов - "поток" (stream). Поток – это...
Описание слайда:
Буферизация ввода-вывода Считываемая и записываемая информация представляет собой последовательность байтов - "поток" (stream). Поток – это логическое устройство, являющееся источником или получателем данных. В зависимости от того, откуда поступает считываемая информация или куда направляется записываемая информация, поток связывается с соответствующим устройством ввода вывода (клавиатура, дисплей, принтер и т.п.) или с именованной областью внешней памяти – файлом, если требуется долговременно хранить информацию либо получить доступ к хранимой информации. При организации ввода-вывода в С используется буферизация, то есть обмен информацией между программой и внешним устройством происходит не непосредственно, а через буфер – специально выделяемую системой область оперативной памяти. Буферизация ускоряет работу программы из-за уменьшения количества обращений к внешним устройствам. В библиотеке описана константа BUFSIZE, величина которой 512: #define BUFSIZE 512 Для изменения размера буфера предназначены функции setbuf() или setvbuf().

Слайд 4


Текстовый и бинарный режим работы с файлами Библиотека stdio.h поддерживает текстовые и бинарные (двоичные) потоки. Текстовый поток – это...
Описание слайда:
Текстовый и бинарный режим работы с файлами Библиотека stdio.h поддерживает текстовые и бинарные (двоичные) потоки. Текстовый поток – это последовательность строк, каждая из которых заканчивается символом ‘\n’. Операционная среда может потребовать коррекции текстового потока. Например, при вводе текстового потока система преобразует символы возврат каретки 0x13 и перевод строки 0x10 в одиночный символ ‘\n’. При обнаружении в текстовом файле символа с кодом 26 (0x26), т.е. признака конца файла, чтение файла в текстовом режиме заканчивается, хотя файл может иметь продолжение. При выводе текстового потока в среду операционной системы происходит обратное преобразование. Бинарный поток – это последовательность не преобразуемых байтов, представляющих собой некоторые промежуточные данные, которые обладают тем свойством, что если их записать, а затем прочесть той же системой ввода-вывода, то будет получена информация, совпадающая с исходной.

Слайд 5


Функция fopen Прежде чем читать или записывать информацию в файл, он должен быть открыт функцией fopen и тем самым связан с потоком ввода-вывода....
Описание слайда:
Функция fopen Прежде чем читать или записывать информацию в файл, он должен быть открыт функцией fopen и тем самым связан с потоком ввода-вывода. Функция открытия потока возвращает указатель fp на предопределенную в библиотеке stdio.h структуру типа FILE (содержащую всю необходимую для работы с потоком информацию) при успешном открытии потока, или NULL в противном случае. В stdio.h заданы 3 предопределенных потока : stdin (стандартный поток ввода), stdout (стандартный поток вывода), stderr (стандартный поток ошибок) Вывод данных через stdout и stderr по умолчанию осуществляется на консоль. Ввод данных через stdin по умолчнию осуществляется через клавиатуру. Предопределенные потоки всегда открыты. При открытии файла указатель на файл связывается с конкретным файлом на диске (Если файл не может быть открыт по какой-либо причине, функция возвращает NULL. ) : FILE *fp; fp = fopen(“спецификация файла”, "способ использования файла"); “Спецификация файла” (т.е. имя файла и путь к нему) может, например, иметь вид: "c:\\my_prog.txt" - для файла my_prog.txt на диске с: . “Способ использования файла” - определяет режим открытия файла.

Слайд 6


Режимы открытия файла. r - открыть существующий файл для чтения; w - создать новый файл для записи (если файл с указанным именем существует, то он...
Описание слайда:
Режимы открытия файла. r - открыть существующий файл для чтения; w - создать новый файл для записи (если файл с указанным именем существует, то он будет переписан); а - дополнить файл (открыть существующий файл для записи информации, начиная с конца файла, или создать файл, если он не существует); r+ - открыть существующий файл для чтения и записи; w+ - создать новый файл для чтения и записи; a+ - дополнить или создать файл с возможностью чтения и записи; rb - открыть двоичный файл для чтения; wb - создать двоичный файл для записи; аb - дополнить двоичный файл; r+b - открыть двоичный файл для чтения и записи; w+b - создать двоичный файл для чтения и записи; а+b - дополнить двоичный файл с предоставлением возможности чтения и записи; rt - открыть текстовой файл для чтения; wt - создать текстовый файл для записи; at - дополнить текстовый файл; r+t - открыть текстовой файл для чтения и записи; w+t - создать текстовый файл для чтения и записи; a+t - дополнить текстовый файл с предоставлением возможности записи и чтения. Строки вида r+b можно записывать и в другой форме: rb+.

Слайд 7


Примеры открытия файлов FILE *f_in, *f_out; f_in = fopen ("My_file1","r"); f_out = fopen ("My_file2","w");
Описание слайда:
Примеры открытия файлов FILE *f_in, *f_out; f_in = fopen ("My_file1","r"); f_out = fopen ("My_file2","w");

Слайд 8


Функция fclose После окончания работы с файлом он должен быть закрыт. Закрытие файла (текстового или бинарного) выполняется функцией fclose():...
Описание слайда:
Функция fclose После окончания работы с файлом он должен быть закрыт. Закрытие файла (текстового или бинарного) выполняется функцией fclose(): fclose(FILE *fp); При этом разрывается связь указателя на файл c внешним набором данных. Освободившийся указатель можно использовать для другого файла. При успешном завершении операции функция fclose( ) возвращает значение нуль. Любое другое значение свидетельствует об ошибке. Пример: fclose(f_in);

Слайд 9


Проверка признака конца файла При каждой операции ввода/вывода происходит перемещение указателя текущей позиции в файле, в какой-то момент указатель...
Описание слайда:
Проверка признака конца файла При каждой операции ввода/вывода происходит перемещение указателя текущей позиции в файле, в какой-то момент указатель достигает конца файла. Структура типа FILE имеет поле – индикатор конца файла. Функция feof() проверяет состояние индикатора конца файла и возвращает значение 0, если конец файла не был достигнут, или значение, отличное от нуля, если был достигнут конец файла. Функция имеет единственный аргумент – указатель на поток типа FILE. Вызов функции: if (! feof(f_in))… проверяет, что конец файла еще не достигнут.

Слайд 10


Функции ввода/вывода. Функции fgetc() и fputc(). Простейший способ выполнить чтение из файла или запись в файл – использовать функции getc() или...
Описание слайда:
Функции ввода/вывода. Функции fgetc() и fputc(). Простейший способ выполнить чтение из файла или запись в файл – использовать функции getc() или putc(). Функция getc() выбирает из файла очередной символ; ей нужно только знать указатель на файл: char Symb = getc(f_in); Если при обработке достигается конец файла, то функция getc() возвращает значение EOF(end of file). Функция putc() заносит значение символа Symb в файл, на который указывает f_out. Формат вызова функции: putc(Symb,f_out);

Слайд 11


Функции fgetc() и fputc(). Пример 1. Текст из файла my_char.txt выводится на экран. Если файл не найден, на экран выводится сообщение "File not...
Описание слайда:
Функции fgetc() и fputc(). Пример 1. Текст из файла my_char.txt выводится на экран. Если файл не найден, на экран выводится сообщение "File not found!": #include int main(void) { FILE *ptr; unsigned char ch; if ((ptr=fopen("my_char.txt","r"))!=NULL) { ch=fgetc(ptr); while (!feof(ptr)) { printf("%c",ch); ch=fgetc(ptr); } fclose(ptr); } еlse printf("\nFile not found!"); return 0; } В этом примере для чтения из файла используется переменная ptr. При открытии файла производится проверка. Если переменной ptr присвоено значение NULL, то файл не найден; на экран выводится соответствующее сообщение, и программа завершается. Если ptr получила ненулевое значение, то файл открыт. Далее выполняется чтение символов из файла до тех пор, пока не будет достигнут конец файла (!feof(ptr)). Прочитанные символы помещаются в переменную ch, а затем выводятся на экран.

Слайд 12


Функции getc() и putc(). Пример 2. Записать в файл буквы, вводимые с клавиатуры. Ввод продолжается до нажатия клавиши F6 или CTRL/z (ввод символа EOF...
Описание слайда:
Функции getc() и putc(). Пример 2. Записать в файл буквы, вводимые с клавиатуры. Ввод продолжается до нажатия клавиши F6 или CTRL/z (ввод символа EOF – конца файла): #include int main(void) { char c; FILE *out; out=fopen("Liter","w"); while ((c=getch( ) )!=EOF) fputc(c,out); fclose(out); return 0; }

Слайд 13


Функции fscanf() и fprintf() Функции fscanf() и fprintf() выполняют форматированный ввод/вывод. Чтение из файла выполняет функция fscanf():...
Описание слайда:
Функции fscanf() и fprintf() Функции fscanf() и fprintf() выполняют форматированный ввод/вывод. Чтение из файла выполняет функция fscanf(): fscanf(f_in,[строка формата],[список адресов переменных]); Функция возвращает количество введенных значений или EOF. Запись в файл осуществляет функция fprintf(): fprintf(f_out,[строка формата],[список переменных, констант]); Функция возвращает количество выведенных байт (символов) или EOF. Строка формата функций fscanf() и fprintf() формируется так же, как при консольном вводе/выводе функциями printf() и scanf(). Следует заметить, что вызов функции fscanf(stdin,[строка формата],[список адресов переменных]); эквивалентен вызову scanf([строка формата],[список адресов переменных]); Аналогично, fprintf(stdout, [строка формата],[список переменных, констант]); эквивалентно printf([строка формата],[список переменных, констант]);

Слайд 14


Примеры программ, использующих функции fscanf() и fprintf(). Пример 1. В программе создается массив, состоящий из четырех целых чисел. Вывести массив...
Описание слайда:
Примеры программ, использующих функции fscanf() и fprintf(). Пример 1. В программе создается массив, состоящий из четырех целых чисел. Вывести массив в файл: #include #define n 4 int main() { int i=0; int array[n]={4,44,446,4466}; FILE *out; out=fopen("num_arr.txt","w"); for(;i

Слайд 15


Примеры программ, использующих функции fscanf() и fprintf(). #include int main() { int S=0, count=0, numb; FILE *in; if...
Описание слайда:
Примеры программ, использующих функции fscanf() и fprintf(). #include int main() { int S=0, count=0, numb; FILE *in; if ((in=fopen("num_arr.txt","r"))!=NULL) { while (!feof(in)) { fscanf(in,"%d",&numb); S+=numb; count++; printf("%d\n", numb); } double aver=(double)S/count; printf("Average=%f\n", aver); fclose(in); } else printf("\nФайл не найден!"); return 0; }

Слайд 16


Примеры программ, использующих функции fscanf() и fprintf(). #include #include int main() { int bal; char name[15]; FILE *file; if ((file =...
Описание слайда:
Примеры программ, использующих функции fscanf() и fprintf(). #include #include int main() { int bal; char name[15]; FILE *file; if ((file = fopen("1.txt","w")) == NULL) printf("Файл невозможно открыть или создать\n"); else{ for(;;){ scanf ("%d%s", &bal, name); if (bal == 0) break; fprintf(file,"%d %s\n", bal, name); } } fclose(file); return 0; }

Слайд 17


Задание Создайте 10 записей, содержащих информацию о железнодорожных маршрутах. В нём должны быть следующие данные: номер пути номер вагона имя...
Описание слайда:
Задание Создайте 10 записей, содержащих информацию о железнодорожных маршрутах. В нём должны быть следующие данные: номер пути номер вагона имя поезда Запишите сами вручную эти данные в файл. Затем вам необходимо считать эти данные и вывести их на экран.



Похожие презентации
Mypresentation.ru
Загрузить презентацию