46229

Ввод-вывод в терминал. Работа со строками. Работа с файлами

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-11-20

14.5 KB

2 чел.

1. Ввод-вывод в терминал. Работа со строками. Работа с файлами.

Обмен данными между программой и внешними устройствами осуществляется с помощью операций ввода-вывода. Типичным внешним устройством является терминал. На терминале можно напечатать информацию. Можно ввести информацию с терминала, напечатав ее на клавиатуре. Другим типичным устройством является жесткий или гибкий диск, на котором расположены файлы. Программа может создавать файлы, в которых хранится информация. Другая (или эта же) программа может читать информацию из файла.

В языке Си++ нет особых операторов для ввода или вывода данных. Вместо этого имеется набор классов, стандартно поставляемых вместе с компилятором, которые и реализуют основные операции ввода-вывода.

Библиотека классов для ввода-вывода решает две задачи. Во-первых, она обеспечивает эффективный ввод-вывод всех встроенных типов и простое, но тем не менее гибкое, определение операций ввода-вывода для новых типов, разрабатываемых программистом. Во-вторых, сама библиотека позволяет при необходимости развивать её и модифицировать.

Механизм для ввода-вывода в Си++ называется потоком . Название произошло от того, что информация вводится и выводится в виде потока байтов – символ за символом.

Класс istream реализует поток ввода, класс ostream – поток вывода. Эти классы определены в файле заголовков iostream.h. 

ostream – это механизм преобразования значений различного типа в последовательность символов.

istream – класс, обеспечивающий оператор ввода >> для небольшого набора стандартных типов

Вывод осуществляется с помощью операции <<

Ввод с помощью операции >>.

Работа со строками

Манипуляторы

endl - при выводе перейти на новую строку;

ends - вывести нулевой байт (признак конца строки символов);

flush - немедленно вывести и опустошить все промежуточные буферы;

dec - выводить числа в десятичной системе (действует по умолчанию);

oct -  выводить числа в восьмеричной системе;

hex - выводить числа в шестнадцатиричной системе счисления;

Чтение всей строки целиком

Оператор >> читает за раз всего одно слово.

Для чтения строки необходимо использовать функцию getline:

istream& getline (istream& is, string& str);

Работа с файлами

Для работы с файлами существуют специальные потоки из библиотеки <fstream>:

ifstream - поток ввода, открывает файл для чтения

ofstream – поток вывода, открывает файл для записи

ifstream и ofstream предоставляют три специальные функции для работы с файлами:

close() - закрывает файл

open(const char* s,

ios_base::openmode n) - открывает файл

bool is_open() - определяет открыт ли файл

Режимы открытия файлов

app - всегда писать в конец файла

binary - ввод/вывод в двоичном режиме

in - открыть для ввода

out - открыть для вывода

trunc - уничтожить данные после открытия

существующего потока

ate - открыть позиционируя указатель на

конец файла


 

А также другие работы, которые могут Вас заинтересовать

48581. Сорбционные и ионообменные установки для очистки сточных вод. Конструкции фильтров и электрофильтров для очистки газов от пыли 834 KB
  Сорбционный вертикальный насыпной фильтр: 1 корпус; 2 неподвижный слой активного угля; 3 отбойник; 4 трубопровод подачи очищаемой сточной воды; 5 труба сброса воздуха; 6 люк Фильтры с неподвижным слоем сорбента применяют при регенеративной очистке сточных вод с целью утилизации выделенных относительно чистых продуктов. Зернистые фильтры используют в газоочистке при высокой температуре среды. Различают насыпные зернистые фильтры в которых элементы фильтрующего слоя не связаны жестко друг с другом и жесткие зернистые фильтры в...
48583. Теория автоматического управления. Конспект лекций 12.04 MB
  Линейные непрерывные системы Рекомендовано УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники в качестве учебно-методического пособия для студентов учреждений обеспечивающих получение высшего образования по специальности I53 01 07 Информационные технологии и управление в технических системах Минск БГУИР 2007 УДК 681. 1 : Линейные непрерывные системы : учеб. Конспект лекций предназначен для студентов всех форм обучения изучающих системы автоматического управления. Под моделью понимают...
48584. Дискретные системы, нелинейные системы, случайные процессы в системах автоматического управления. Теория автоматического управления. Конспект лекций 4.96 MB
  В компактной форме изложены основы теории дискретных, нелинейных, стохастических систем автоматического управления. Рассмотрены элементы современной теории систем. Конспект лекций предназначен для студентов всех форм обучения, изучающих системы автоматического управления. Полезен при выполнении курсовых и дипломных проектов.
48585. Случайные процессы в системах автоматического управления 5.5 MB
  Различают статические и динамические нелинейности. В первом случае связь и описывается алгебраическим уравнением, а в случае динамической нелинейности переменные и связаны дифференциальным, разностным или интегральным уравнениями. Например, зависимость будет характеризовать нелинейное динамическое звено, где – производная по времени.