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

конец файла


 

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

12118. ИССЛЕДОВАНИЕ ИНТЕРФЕРЕНЦИИ СВЕТА НА РАЗНЫХ ДЛИНАХ ВОЛН ПО КОЛЬЦАМ НЬЮТОНА 64.5 KB
  Лабораторная работа № 3 ИССЛЕДОВАНИЕ ИНТЕРФЕРЕНЦИИ СВЕТА НА РАЗНЫХ ДЛИНАХ ВОЛН ПО КОЛЬЦАМ НЬЮТОНА Цель работы: изучение интерференции на тонких пленках и определение по r0  интерференционной картине длины волны света. Оборудование микроскоп с осветителем ...
12119. ИЗУЧЕНИЕ ДИФРАКЦИИ МОНОХРОМАТИЧЕСКОГО СВЕТА НА ЩЕЛИ И НИТИ (ТЕОРЕМА БАБИНЕ) 532.5 KB
  ДИФРАКЦИЯ СВЕТА Лабораторная работа № 4 ИЗУЧЕНИЕ ДИФРАКЦИИ МОНОХРОМАТИЧЕСКОГО СВЕТА НА ЩЕЛИ И НИТИ ТЕОРЕМА БАБИНЕ Цель работы: измерение ширины щели и толщины нити с помощью дифракционной картины. Оборудование: лазер держатели с нитью и щелью оптическая с
12120. ИЗУЧЕНИЕ ДИФРАКЦИИ МОНОХРОМАТИЧЕСКОГО СВЕТА НА КРУГЛОМ ОТВЕРСТИИ 502.5 KB
  Лабораторная работа № 5 ИЗУЧЕНИЕ ДИФРАКЦИИ МОНОХРОМАТИЧЕСКОГО СВЕТА НА КРУГЛОМ ОТВЕРСТИИ Цель работы: исследуя картину дифракции от круглого отверстия определить радиус этого отверстия. Оборудование: гелийнеоновый лазер телескопическая система линз насад
12121. ИЗУЧЕНИЕ ДИФРАКЦИИ ПОЛИХРОМАТИЧЕСКОГО СВЕТА НА АМПЛИТУДНОЙ ДИФРАКЦИОННОЙ РЕШЕТКЕ 134.5 KB
  Лабораторная работа № 6 ИЗУЧЕНИЕ ДИФРАКЦИИ ПОЛИХРОМАТИЧЕСКОГО СВЕТА НА АМПЛИТУДНОЙ ДИФРАКЦИОННОЙ РЕШЕТКЕ Цель работы: определение границ видимой части спектра лампы накаливания Оборудование: источник света лампа накаливания экран со щелью и шкалой прозрачн...
12122. ИССЛЕДОВАНИЕ ЗАКОНОВ ЛИНЕЙНОПОЛЯРИЗОВАННОГО СВЕТА (ЗАКОНЫ МАЛЮСА И БРЮСТЕРА) 298.5 KB
  ПОЛЯРИЗАЦИЯ СВЕТА Лабораторная работа № 7 ИССЛЕДОВАНИЕ ЗАКОНОВ ЛИНЕЙНОПОЛЯРИЗОВАННОГО СВЕТА ЗАКОНЫ МАЛЮСА И БРЮСТЕРА Цель работы: проверка законов Малюса и Брюстера. Оборудование: гелийнеоновый лазер или лампа накаливания поляризатор в поворотной опр...
12123. ИССЛЕДОВАНИЕ МАГНИТООПТИЧЕСКОГО ЭФФЕКТА ФАРАДЕЯ 824 KB
  Лабораторная работа № 8 ИССЛЕДОВАНИЕ МАГНИТООПТИЧЕСКОГО ЭФФЕКТА ФАРАДЕЯ Цель работы: ознакомиться с основанным на эффекте Фарадея магнитооптическим методом наблюдения доменной структуры вычислить постоянную Верде V для ферримагнетика проверить закон Малюса....
12124. ИССЛЕДОВАНИЕ ОПТИЧЕСКОЙ АКТИВНОСТИ ВЕЩЕСТВ С ПОМОЩЬЮ ЛИНЕЙНОПОЛЯРИЗОВАННОГО СВЕТА 452 KB
  Лабораторная работа № 9 ИССЛЕДОВАНИЕ ОПТИЧЕСКОЙ АКТИВНОСТИ ВЕЩЕСТВ С ПОМОЩЬЮ ЛИНЕЙНОПОЛЯРИЗОВАННОГО СВЕТА Цель работы: ознакомление с явлением оптической активности в кристалле кварца и растворе сахара; определение удельного вращения кварца; определение конце
12125. ИССЛЕДОВАНИЕ ДИСПЕРСИОННОЙ ЗАВИСИМОСТИ УГЛА ПОВОРОТА ПЛОСКОСТИ ПОЛЯРИЗАЦИИ 678 KB
  Лабораторная работа № 10 ИССЛЕДОВАНИЕ ДИСПЕРСИОННОЙ ЗАВИСИМОСТИ УГЛА ПОВОРОТА ПЛОСКОСТИ ПОЛЯРИЗАЦИИ Цель работы: ознакомиться с явлением поворота плоскости поляризации света оптически активными веществами. Измерить постоянную вращения и дисперсию вращатель
12126. ИССЛЕДОВАНИЕ ЗАКОНА СТЕФАНА-БОЛЬЦМАНА С ПОМОЩЬЮ ТЕРМОСТОЛБИКА 155.5 KB
  Лабораторная работа №11 ИССЛЕДОВАНИЕ ЗАКОНА СТЕФАНАБОЛЬЦМАНА С ПОМОЩЬЮ ТЕРМОСТОЛБИКА Цель работы: Исследовать зависимость теплового излучения энергетической светимости или интегральной испускательной способности абсолютно черного тела от температуры. Обо