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

конец файла


 

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

51252. Расчет основных характеристик сети подвижной радиосвязи. Методические указания 429 KB
  На втором четырехчасовом занятии курсант: Снимает на кальку кроки местности с топокарты; Восстанавливает необходимые профили рельефа местности; Определяет эффективную высоту размещения фазового центра антенны станции радиодоступа; По формуле Хата рассчитывает зависимость величины затухания сигнала на границе зоны покрытия от величины радиуса зоны покрытия; Строит график полученной зависимости на миллиметровке; Из первого уравнения передачи определяет допустимую величину затухания сигнала на трассе; Определяет из графика радиус зоны покрытия...
51254. Кинематика материальной точки 47 KB
  Изучил основы теории погрешностей и методов обработки экспериментальных результатов. Научился определять кинематические харрактеристики по стробоскопическим фотографиям
51257. Исследование переходных процессов в электрических цепях с источником постоянного напряжения 122.5 KB
  Соберем цепь согласно схеме для конденсатора и сопротивления соединенных последовательно: Получаем осциллограммы тока напряжение на R2 поделенное на его сопротивление и напряжения на конденсаторе: Измерение параметров при включенной катушке индуктивности: Получим следующие осциллограммы: Рассчитаем постоянные времени и построим теоретические графики Исследование переходного процесса на последовательной RLC цепи: Осциллограммы переходного процесса:.
51258. ІСТОРІЯ ЕКОНОМІКИ ТА ЕКОНОМІЧНОЇ ДУМКИ 84.42 KB
  У методичних рекомендаціях викладено загальні положення та тематичний зміст практичних занять з нормативної навчальної дисципліни циклу природничо-наукової та загальноекономічної підготовки «Економічна історія». Наведено перелік питань для обговорення з кожної теми, тести для відповідей, перелік рекомендованої літератури.
51259. БОЛЬНИЧНАЯ ГИГИЕНА (РУКОВОДСТВО К ПРАКТИЧЕСКИМ ЗАНЯТИЯМ) 790.5 KB
  Вопросы гигиены лечебно-профилактических учреждений являются одними из самых существенных в курсе гигиены для студентов лечебного и педиатрического факультетов.
51260. Расчет математического ожидания, среднего квадратического отклонения, дисперсии, с помощью программы Microsoft Excel 33.5 KB
  Так как функция математического ожидания это т оже самое что и функция среднего арифметического то: в пустой ячейке вводим = далее нажимаем fx выбираем функцию СРЗНАЧ выделяем числовые данные нашей исходной таблицы. Вычислить дисперсию: Вводим = далее fx Статистические ДИСП выделить числовые данные...