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 - открыть позиционируя указатель на

конец файла


 

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

66657. Методы управления качеством в процессе обслуживания 44 KB
  Метод диаграммного проектирования или структурирования сервисного процесса был предложен американским консультантом Линн Шостак. В сфере услуг потребительские выгоды и само удовлетворение требований потребителей в основном происходят в момент двухстороннего взаимодействия покупателя и продавца в процессе оказания услуги.
66658. Управление качеством туристско-экскурсионных услуг 59 KB
  Предоставлением туристских услуг занимаются организации двух видов тур-операторы и тур-агентства. Они приобретают туристские продукты места в самолетах номера в гостиницах и другие услуги формируют пакеты услуг туризма и продают их прямо или косвенно...
66659. Потребительские свойства услуг 62 KB
  Показатели назначения услуг характеризуют набор свойств услуги определяющий качество выполнения функций для которых она предназначена. Эта группа показателей делится на четыре подгруппы: показатели применения; показатели совместимости; показатели предприятия...
66661. Иннокентий Петрович Герасимов 122.5 KB
  Каждый ученый-почвовед творец. Почвоведу как ни кому другому нужно уметь слушать и слышать природу. Недостаточно ограничиться только своим объектом почвой и недостаточно будет сухих лабораторных данных сколь информативными они бы ни были. И не зря здесь говорится именно ...
66662. Классицизм в архитектуре Москвы 851.12 KB
  Как определенное направление сформировался во Франции, в XVII веке. Французский классицизм освобождал человека от религиозно-церковного влияния, утверждая личность как высшую ценность бытия. Русский классицизм не просто воспринял теорию западноевропейскую...
66665. Социальная стратификация в современном обществе 43.5 KB
  Безработные как особая страта в структуре общества. Разные социологи подходят к решению вопроса о стратификации общества с различных точек зрения. Стратификация социологическое понятие обозначающее: структуру общества и отдельных ее слоев; систему признаков социального расслоения неравенства.