🗊Презентация 7. Ввод-вывод - файлы

Нажмите для полного просмотра!
7. Ввод-вывод - файлы, слайд №17. Ввод-вывод - файлы, слайд №27. Ввод-вывод - файлы, слайд №37. Ввод-вывод - файлы, слайд №47. Ввод-вывод - файлы, слайд №57. Ввод-вывод - файлы, слайд №67. Ввод-вывод - файлы, слайд №77. Ввод-вывод - файлы, слайд №87. Ввод-вывод - файлы, слайд №97. Ввод-вывод - файлы, слайд №107. Ввод-вывод - файлы, слайд №117. Ввод-вывод - файлы, слайд №127. Ввод-вывод - файлы, слайд №137. Ввод-вывод - файлы, слайд №147. Ввод-вывод - файлы, слайд №157. Ввод-вывод - файлы, слайд №167. Ввод-вывод - файлы, слайд №177. Ввод-вывод - файлы, слайд №187. Ввод-вывод - файлы, слайд №197. Ввод-вывод - файлы, слайд №207. Ввод-вывод - файлы, слайд №217. Ввод-вывод - файлы, слайд №227. Ввод-вывод - файлы, слайд №237. Ввод-вывод - файлы, слайд №24

Содержание

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

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


Слайд 1





Ввод-вывод - файлы
Описание слайда:
Ввод-вывод - файлы

Слайд 2





Логические файлы
Являются объектами программы и обеспечивают связь с физическими файлами
Скрывают особенности реализации разных видов файлов
Могут в разные моменты времени исполнения быть связаны с разными физическими файлами
Описание слайда:
Логические файлы Являются объектами программы и обеспечивают связь с физическими файлами Скрывают особенности реализации разных видов файлов Могут в разные моменты времени исполнения быть связаны с разными физическими файлами

Слайд 3





Ввод/вывод – связь с языком
Специальные конструкции языка (Fortran)
       READ (f,2) (X(I), I=1,100)
2     FORMAT (16F5,1)
Псевдо-процедуры (Pascal)
Write(f, x:6:2, ‘ + ‘, y:6:2, 
		‘ = ‘, x+y :7:2); 
WriteLn(f);
Описание слайда:
Ввод/вывод – связь с языком Специальные конструкции языка (Fortran) READ (f,2) (X(I), I=1,100) 2 FORMAT (16F5,1) Псевдо-процедуры (Pascal) Write(f, x:6:2, ‘ + ‘, y:6:2, ‘ = ‘, x+y :7:2); WriteLn(f);

Слайд 4





Ввод/вывод – связь с языком
Специальные конструкции языка
Богатые (но фиксированные) возможности
Нет накладных расходов на вызов
Библиотечные процедуры
Минимизация языковых концепций
Подключается только при необходимости
Описание слайда:
Ввод/вывод – связь с языком Специальные конструкции языка Богатые (но фиксированные) возможности Нет накладных расходов на вызов Библиотечные процедуры Минимизация языковых концепций Подключается только при необходимости

Слайд 5





Низкоуровневый ввод/вывод
#include <fcntl.h>
// создание файла
int creat( char *filename, int permission);
// открытие файла
int open( char *filename, int access, int permission );
// чтение из файла в буфер
int read( int handle, void *buffer, int nbyte ); 
// запись из буфера в файл
int write( int handle, void *buffer, int nbyte );
// установка текущей позиции
long lseek(int handle, long offset, int whence); 
// закрытие файла – освобождение ресурсов
int close( int handle );  
// удаление файла
int unlink( char *filename );
Описание слайда:
Низкоуровневый ввод/вывод #include <fcntl.h> // создание файла int creat( char *filename, int permission); // открытие файла int open( char *filename, int access, int permission ); // чтение из файла в буфер int read( int handle, void *buffer, int nbyte ); // запись из буфера в файл int write( int handle, void *buffer, int nbyte ); // установка текущей позиции long lseek(int handle, long offset, int whence); // закрытие файла – освобождение ресурсов int close( int handle ); // удаление файла int unlink( char *filename );

Слайд 6





Низкоуровневый ввод/вывод
#include <fcntl.h>
int fd; 
char buffer[10];
fd = open(
"C:\Univ\Reports\2009\Пересдача.txt ", 
O_RDONLY | O_TEXT );
lseek(fd,4,SEEK_SET);
read(fd, buffer, 10);
close(fd);
Описание слайда:
Низкоуровневый ввод/вывод #include <fcntl.h> int fd; char buffer[10]; fd = open( "C:\Univ\Reports\2009\Пересдача.txt ", O_RDONLY | O_TEXT ); lseek(fd,4,SEEK_SET); read(fd, buffer, 10); close(fd);

Слайд 7





Низкоуровневый ввод/вывод
Системные вызовы – дорогая операция
Код ответа (м.б. непривычно):
0 – всё нормально
номер причины неудачи, иначе
Поддерживает только вывод байтов и текста; нет чисел, строк и т.д.
Использовать только в крайнем случае!
Описание слайда:
Низкоуровневый ввод/вывод Системные вызовы – дорогая операция Код ответа (м.б. непривычно): 0 – всё нормально номер причины неудачи, иначе Поддерживает только вывод байтов и текста; нет чисел, строк и т.д. Использовать только в крайнем случае!

Слайд 8





Буферизованный ввод/вывод
#include <stdio.h>
// открытие файла
FILE *fopen(char *filename, char *mode); 
mode == “r” – чтение
mode == “w” – запись
mode == “a” – дозапись
// чтение из файла count элементов размера size
long fread(void* ptr, long size, long count, FILE * stream); 
// запись в файл count элементов размера size
long fwrite(void* ptr, long size, long count, FILE * stream); 
// установка текущей позиции
int fseek(FILE * stream, long offset, int origin); 
// установка текущей позиции
long ftell(FILE * stream);
// закрытие файла – освобождение ресурсов
int fclose(FILE * stream);
Описание слайда:
Буферизованный ввод/вывод #include <stdio.h> // открытие файла FILE *fopen(char *filename, char *mode); mode == “r” – чтение mode == “w” – запись mode == “a” – дозапись // чтение из файла count элементов размера size long fread(void* ptr, long size, long count, FILE * stream); // запись в файл count элементов размера size long fwrite(void* ptr, long size, long count, FILE * stream); // установка текущей позиции int fseek(FILE * stream, long offset, int origin); // установка текущей позиции long ftell(FILE * stream); // закрытие файла – освобождение ресурсов int fclose(FILE * stream);

Слайд 9





Буферизованный ввод/вывод
FILE * f;
char bname[8],  bmarks[6];
f = fopen("C:\Univ\Reports\2009\Пересдача.txt ", “r”);
fread(bname,7,1,f);
fread(bmarks,6,1,f);
fclose(f);
Описание слайда:
Буферизованный ввод/вывод FILE * f; char bname[8], bmarks[6]; f = fopen("C:\Univ\Reports\2009\Пересдача.txt ", “r”); fread(bname,7,1,f); fread(bmarks,6,1,f); fclose(f);

Слайд 10





Буферизованный ввод/вывод
fread, fwrite могут быть значительно эффективнее read и write
fread, fwrite уместны для работы с «бинарными» данными, для которых точно известен размер
Типичные ошибки:
незакрытие файла
чтение из закрытого файла
повторное закрытие файла
несоответствие размера данных
Описание слайда:
Буферизованный ввод/вывод fread, fwrite могут быть значительно эффективнее read и write fread, fwrite уместны для работы с «бинарными» данными, для которых точно известен размер Типичные ошибки: незакрытие файла чтение из закрытого файла повторное закрытие файла несоответствие размера данных

Слайд 11





Посимвольный и посторочный ввод/вывод
FILE * in, * out;
in = fopen(“in.txt”, “r”);
out = fopen(“out.txt”, “w”);
int c;
while ((c=fgetc(in) != EOF)
   fputc(c,out);
fclose(in);
fclose(out);
Описание слайда:
Посимвольный и посторочный ввод/вывод FILE * in, * out; in = fopen(“in.txt”, “r”); out = fopen(“out.txt”, “w”); int c; while ((c=fgetc(in) != EOF) fputc(c,out); fclose(in); fclose(out);

Слайд 12





Стандартные файлы
stdin – стандартный ввод
stdout – стандартный вывод
stderr – файл ошибок
Перенаправление ввода/вывода
My1stProg.exe < StudentData.txt > Report.txt
Типичная ошибка
fclose(stdout);
	(кто создаёт, тот и удаляет)
Описание слайда:
Стандартные файлы stdin – стандартный ввод stdout – стандартный вывод stderr – файл ошибок Перенаправление ввода/вывода My1stProg.exe < StudentData.txt > Report.txt Типичная ошибка fclose(stdout); (кто создаёт, тот и удаляет)

Слайд 13





Форматный ввод/вывод
(пример)
Описание слайда:
Форматный ввод/вывод (пример)

Слайд 14





Форматный ввод/вывод
(Pascal)
Специальный синтаксис фактических параметров в псевдопроцедурах Write, WriteLn
		
	WriteLn(out, 		comment:20, 		amount:10:2, 		balance:10:2);
Описание слайда:
Форматный ввод/вывод (Pascal) Специальный синтаксис фактических параметров в псевдопроцедурах Write, WriteLn WriteLn(out, comment:20, amount:10:2, balance:10:2);

Слайд 15





Форматный ввод/вывод (С)
// вывод в файл
int fprintf(FILE * stream, char * format, ... );
// вывод в stdout  
int printf(char * format, ... );
// чтение из файла
int fscanf(FILE * stream, char* format, ... ); 
// чтение из stdin
int scanf(char * format, ... );
Описание слайда:
Форматный ввод/вывод (С) // вывод в файл int fprintf(FILE * stream, char * format, ... ); // вывод в stdout int printf(char * format, ... ); // чтение из файла int fscanf(FILE * stream, char* format, ... ); // чтение из stdin int scanf(char * format, ... );

Слайд 16





Формат вывода
Описание слайда:
Формат вывода

Слайд 17





Форматный ввод/вывод
(пример)
Описание слайда:
Форматный ввод/вывод (пример)

Слайд 18





Форматирование строк
// «вывод» в строку
int sprintf(char * src, char * format, ... );
// «чтение» из строки
int sscanf(char * src, char* format, ... );
Описание слайда:
Форматирование строк // «вывод» в строку int sprintf(char * src, char * format, ... ); // «чтение» из строки int sscanf(char * src, char* format, ... );

Слайд 19





sprintf
Пример: центрированная печать
Описание слайда:
sprintf Пример: центрированная печать

Слайд 20





Вывод/вывод указателей
В файл попадёт 4 байта
Описание слайда:
Вывод/вывод указателей В файл попадёт 4 байта

Слайд 21





Вывод/вывод указателей
Запишется всё, но...
Описание слайда:
Вывод/вывод указателей Запишется всё, но...

Слайд 22





Вывод/вывод указателей
Считаются ссылки на несуществующие объекты
Описание слайда:
Вывод/вывод указателей Считаются ссылки на несуществующие объекты

Слайд 23





Ввод/вывод указателей -
cпециализированные процедуры

Сохраняется лишнее
Предполагается отсутствие циклов
Описание слайда:
Ввод/вывод указателей - cпециализированные процедуры Сохраняется лишнее Предполагается отсутствие циклов

Слайд 24





Ввод/вывод указателей -
универсальные процедуры
Требуется знание о типе данных во время исполнения
Сериализация 
замыкание – сохранение всего, что доступно
соответствие между реальными и сохранёнными указателями
Требуется языковая поддержка
пример PS Algol: нет разницы между внутренними и внешними данными.
Описание слайда:
Ввод/вывод указателей - универсальные процедуры Требуется знание о типе данных во время исполнения Сериализация замыкание – сохранение всего, что доступно соответствие между реальными и сохранёнными указателями Требуется языковая поддержка пример PS Algol: нет разницы между внутренними и внешними данными.



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