🗊 Презентация Ввод и вывод

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

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

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


Слайд 1


Лекция 13-2
Описание слайда:
Лекция 13-2

Слайд 2


Работа с файлами Файлом называется поименованная часть памяти диска, содержащая некоторый набор записей. Непосредственную работу с файлами выполняет...
Описание слайда:
Работа с файлами Файлом называется поименованная часть памяти диска, содержащая некоторый набор записей. Непосредственную работу с файлами выполняет операционная система. В языках программирования имеются высокоуровневые средства для доступа к файлам. В C++ они объявлены в заголовочном файле fstream. Источник или приемник данных называется потоком. Примерами потоков являются стандартные потоки для ввода cin и для вывода cout. Для чтения из файла или записи в файл создаются потоки, связанные с файлами. Существуют два вида потоков: текстовые и бинарные. Текстовый поток – это последовательность символьных строк, заканчивающихся символом «новая строка» - '\n'. При выводе перед каждым символом '\n' помещается символ возврата каретки '\r'. При вводе происходит обратное преобразование – два символа '\r' и '\n' заменяются одним символом '\n'. Необходимость такого преобразования вызвана различиями в фиксации признака новой строки в C++ и в операционной системе. В языке C++ новая строка обозначается единственным символом '\n', реально же на диске в файле хранятся оба символа '\r' и '\n', генерируемые нажатием клавиши Enter, которая используется при завершении ввода очередной строки с помощью клавиатуры. Бинарный поток – это последовательность байтов, которая не подвергается какому-либо преобразованию.

Слайд 3


Стандартные потоки При каждом пуске программы открыты три стандартных потока: cin – стандартный ввод, cout – стандартный вывод, cerr – стандартный...
Описание слайда:
Стандартные потоки При каждом пуске программы открыты три стандартных потока: cin – стандартный ввод, cout – стандартный вывод, cerr – стандартный приемник ошибок. По умолчанию стандартный ввод связан с клавиатурой, стандартный вывод – с экраном дисплея. Стандартный ввод, и вывод можно перенаправить на файлы средствами операционной системы. Эти потоки имеют буфера, в которые предварительно направляются данные. Это позволяет ускорить ввод и вывод. Поток cerr не имеет буфера, его нельзя перенаправить на файл. Этот поток всегда связан со стандартным устройством вывода, обычно это экран монитора.

Слайд 4


Файловые потоки В заголовочном файле fstream объявлены три потоковых класса, обеспечивающие работу с файлами: ofstream – класс выходных файловых...
Описание слайда:
Файловые потоки В заголовочном файле fstream объявлены три потоковых класса, обеспечивающие работу с файлами: ofstream – класс выходных файловых потоков; ifstream – класс входных файловых потоков; fstream – класс двунаправленных файловых потоков. Для работы с файлами в программе нужно определить переменные этих классов, например, ifstream fin; // fin - входной файловый поток ofstream fout; // fout - выходной файловый поток

Слайд 5


Связь потоков с файлами Связь потока с файлом можно установить с помощью функции-члена open(), с двумя аргументами. Первый аргумент обязателен, он...
Описание слайда:
Связь потоков с файлами Связь потока с файлом можно установить с помощью функции-члена open(), с двумя аргументами. Первый аргумент обязателен, он задает имя открываемого файла. Второй аргумент не является обязательным, он задает режим работы с файлом. Если второй аргумент на задан, файлы считаются текстовыми. Примеры: fin.open("InpData.txt"); // Файл InpData.txt открывается для чтения fout.open("ResData.txt"); // Файл ResData.txt открывается для записи В качестве второго аргумента функции open() можно использовать константы (называемые флагами), определенные в классе ios: ios::out – файл используется для вывода; ios::in – файл используется для ввода; ios::app – файл открывается для добавления в конец файла; ios::binary – файл открывается как бинарный. Примеры: fin.open("InpData.txt", ios::in); // Файл открывается для чтения fout.open("ResData.txt", ios::out ); // Файл открывается для записи

Слайд 6


Связь потоков с файлами Для проверки успешности завершения функции open() к потоку можно применить оператор !, который возвращает ненулевое значение...
Описание слайда:
Связь потоков с файлами Для проверки успешности завершения функции open() к потоку можно применить оператор !, который возвращает ненулевое значение при наличии ошибки. Например, проверить, что файл InpData.txt удалось открыть, можно следующим образом: if( !fin != 0 ) { cerr

Слайд 7


Программа «Копирование файлов» Открываются два файловых потока - один на чтение, другой на запись. Из входного файла производится построчное чтение,...
Описание слайда:
Программа «Копирование файлов» Открываются два файловых потока - один на чтение, другой на запись. Из входного файла производится построчное чтение, прочитанные строки выводятся на экран и в выходной файл. После чтения каждых 20 строк программа останавливается и продолжает выполняться после нажатия клавиши Enter.

Слайд 8


Программа «Подсчет суммарных затрат» В текстовом файле «input.txt» содержатся записи, содержащие в себе фамилию покупателя и стоимость покупки....
Описание слайда:
Программа «Подсчет суммарных затрат» В текстовом файле «input.txt» содержатся записи, содержащие в себе фамилию покупателя и стоимость покупки. Каждая запись размещена на отдельной строке. Фамилии в записях могут повторяться. Записать в файл «output.txt» в порядке возрастания затрат фамилии покупателей и их суммарные затраты.

Слайд 9


Работа с бинарными файлами Связать файловые переменные с конкретными файлами на диске можно, передавая конструктору имена файлов и режим работы с...
Описание слайда:
Работа с бинарными файлами Связать файловые переменные с конкретными файлами на диске можно, передавая конструктору имена файлов и режим работы с ними. Пример: ofstream textout(NameTextFile, ios::out); создает текстовый файловый поток textout, связывает его с файлом, имя которого находится в строке NameTextFile и открывает его на запись. ofstream binout(NameBinFile, ios::out | ios::binary); создает бинарный выходной поток binout (флаги ios::binary и ios::out), связанный с файлом, имя которого указано в строке NameBinFile. Замечание: данные флаги представляют из себя целые числа, все разряды которых нули, кроме одного разряда, поэтому их можно комбинировать с помощью операции логического или (|). Для чтения из бинарного потока применяют функцию: int read(char *pc, size_t count); которая читает из потока count байтов и сохраняет их в массиве, начало которого указывает pc. Для записи в бинарный поток служит функция: int write(const char *pc, size_t count); направляющая в поток count байтов из массива, на который указывает pc.

Слайд 10


Работа с бинарными файлами Позиции в файле нумеруются с нуля, поэтому бинарный поток подобен массиву байтов. С каждым файловым потоком связан текущий...
Описание слайда:
Работа с бинарными файлами Позиции в файле нумеруются с нуля, поэтому бинарный поток подобен массиву байтов. С каждым файловым потоком связан текущий указатель на байт, который будет прочитан или записан при следующей операции ввода/вывода. Положением текущего указателя в выходном потоке можно управлять с помощью функции: ostream& seekp(long offs, seek_dir dir); Текущую позицию во входном потоке можно изменить функцией istream& seekg(long offs, seek_dir dir); Первый параметр offs функций seekp() и seekg() задает число позиций, на которое надо переместить текущий указатель; второй параметр dir назначает точку отсчета, от которой надо произвести смещение. Для указания точки отсчета можно использовать перечислимые константы из файла iostream: enum seek_dir { beg, cur, end }; beg – смещаться от начала файла, cur – смещаться от текущей позиции, end – смещаться от конца файла. Пример: если файловый поток f открывается на чтение и запись, то текущий указатель перемещается в начало файла инструкцией: f.seekg(0, ios::beg);

Слайд 11


Программа «Сравнение текстового и бинарного файлов» В программе создаются два выходных файловых потока: текстовый и бинарный. В файлы записываются...
Описание слайда:
Программа «Сравнение текстового и бинарного файлов» В программе создаются два выходных файловых потока: текстовый и бинарный. В файлы записываются случайные целые числа в текстовом и бинарном виде. Созданные файлы закрываются и открываются вновь как бинарные, для передачи функции FileSize(), определяющей их размеры. Чтобы прочитать содержимое файла, хранящего текстовое представление чисел, он сначала закрывается как бинарный, а затем открывается на ввод как текстовый. Файл с бинарным представлением чисел подготавливается к чтению перемещением текущего указателя к началу файла. Содержимое файлов выводится на экран.

Слайд 12


Программа «Сравнение текстового и бинарного файлов» #include #include #include #include using namespace std; long FileSize(istream& f) // Возвращает...
Описание слайда:
Программа «Сравнение текстового и бинарного файлов» #include #include #include #include using namespace std; long FileSize(istream& f) // Возвращает размер файла в байтах { // f – ссылка на файловый поток long k; // Размер файла в байтах f.seekg(0, ios::end); // Поместить текущий указатель в конец файла // 0 - величина смещения // ios::end - позиция, относительно которой делается смещение k = f.tellg(); // Функция tellg() возвращает текущую позицию в файле return k; }

Слайд 13


Программа «Сравнение текстового и бинарного файлов» int main() { setlocale(LC_ALL, "Russian"); const char* NameTextFile =...
Описание слайда:
Программа «Сравнение текстового и бинарного файлов» int main() { setlocale(LC_ALL, "Russian"); const char* NameTextFile = "TxtFile.txt"; // Имя текстового файла const char* NameBinFile = "BinFile.bin"; // Имя бинарного файла const int N = 20; // Количество чисел в файле const int NL = 12; // Количество чисел на одной строке // Создание выходного текстового потока ofstream textout(NameTextFile, ios::out); if(!textout){ // Проверка cout

Слайд 14


Программа «Сравнение текстового и бинарного файлов» int i, nmb; srand((unsigned)time(0)); // Инициализация датчика случайных чисел for(i = 0; i < N;...
Описание слайда:
Программа «Сравнение текстового и бинарного файлов» int i, nmb; srand((unsigned)time(0)); // Инициализация датчика случайных чисел for(i = 0; i < N; i++){ nmb = rand(); // Генерируем числа textout

Слайд 15


Программа «Сравнение текстового и бинарного файлов» // Вывод чисел из обоих файлов cout
Описание слайда:
Программа «Сравнение текстового и бинарного файлов» // Вывод чисел из обоих файлов cout



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