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

конец файла


 

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

22970. Як працює мікропроцесор 1.86 MB
  Машинний цикл є процедура звернення процесора до пам’яті чи зовнішнього пристрою для запису читання або обробки інформації. Так наприклад двобайтова команда MVI B A9 тобто записати число А9 у регістр В виконується за два машинні цикли: Звернення до пам’яті за адресою що міститься у лічильнику команд. Пам’ять виставляє на ШД код команди MVI B = 06 H = 0000 0110 B. У другому машинному циклі цей другий байт видобувається з пам’яті і заноситься до робочого регістру В.
22971. Системний контролер.Керуючий пристрій. Мікропрогамування 2.88 MB
  Мікропрогамування Як вже йшлося вище слово стану видається мікропроцесором у першому такті кожного машинного циклу і триває тільки один такт. Тому слово стану повинно десь зберігатися напротязі усього циклу. Роль такого хранителя слова стану виконує спеціальний пристрій що є обов’язковою частиною мікропроцесорної системи і має назву системного контролера. Другою функцією системного контролера є перетворення коду слова стану в керуючі сигнали котрі безпосередньо подаються вже на основну пам’ять або зовнішні пристрої і керують їх роботою.
22972. Системи числення, які застосовуються у мікропроцесорній техніці 713.5 KB
  Так наприклад число 371 може бути розкладено по степенях числа 10 таким чином: 371=3х1027х1011х100 = 300701 Двійкова система числення У електроннообчислювальній техніці зручніше користуватися двійковою системою числення в основі якої лежить число 2. Так наприклад число 1001 є 4 бітовим числом а розглянутий нами вище двійковий еквівалент числа 37110 тобто 101110011 дев’ятибітовим числом. Для цього багаторозрядне двійкове число розбивається на тетради кожна з яких містить по чотири розряди двійкового числа.
22973. Мікропрцесори та малі електронно-обчислювальнні машини (ЕОМ) 1.85 MB
  Будова і принцип дії центральної частини малої ЕОМ Кожна мала електронно обчислювальна машина ЕОМ містить два блоки процесор і основну пам’ять рис. У блоці основної пам’яті зберігається оброблювана інформація і програми за якими вона обробляється. Процес розв’язання будь якої задачі на ЕОМ складається з послідовності елементарних дій котрі може виконувати процесор а саме операції вибірки інформації з пам’яті або запису до неї арифметичні та логічні операції операції порівняння тощо. На кожному кроці обробки інформації процесор...
22974. Робота з зовнішніми пристроями. Паралельний інтерфейс. 6.59 MB
  Але зручніше скористатися спеціальною ВІС паралельним програмованим адаптером ППА типу КР580ВВ55А в міжнародних позначеннях 8255А. ППА спроможний обслуговувати 3 зовнішні пристрої через три свої порти АВ і С кожний по 8 розрядів. вибір кристалу =1 ППА відключений = 0 ППА задіяний. Комбінація що відповідає DРКС означає запис в РКС регістр керуючого слова інструкції про те що має робити ППА.
22975. Послідовний інтерфейс 3.66 MB
  Всі ці функції може виконувати спеціальна ВІС що входить до мікропроцесорного комплекту КР580 і має назву Універсальний Синхронно Асинхронний Програмований Прийомопередавач УСАПП типу КР580ВВ51. УСАПП типу КР580ВВ51 в значній мірі є автономним у своїй роботі. Все інше робить сам УСАПП. При видачі даних МП звертається до УСАПП як до зовнішнього пристрою.
22976. Організація пам’яті мікропроцесорної системи 11.06 MB
  Функції виводів цього ОЗП позначено на рис. R визначає напрямок руху інформації чи то запис до ОЗП чи то читання з нього. ОЗП типу КР541РУ2 Це статичний ОЗП на ТТЛ логіці.
22977. Мікропроцесор КР1810ВМ86 (8086) 6.05 MB
  Але у порівнянні з МП80 він має такі істотні відміни: при збереженні тієї ж nМОН технології була досягнута вища ступінь інтеграції і на кристалі 55 х 55 мм розташовано біля 30 тисяч транзисторів; зменшено інерційність логічних елементів і тактову частоту підвищено до 5 8 МГц; завдяки цьому продуктивність мікропроцесора збільшилась на порядок; розширено розрядність шини даних до 16 розрядів; розширено розрядність шини адреси до 20 розрядів таким чином забезпечено можливість адресувати пам’ять до 1 Мбайт; розширено у кілька разів...
22978. Переривання 5.91 MB
  Організація переривань Все починається з того що ЗП виставляє сигнал високого рівня логічну одиницю на вхід INT мікропроцесора. Ці дані будуть оброблятися мікропроцесором за підпрограмою обробки переривань яка повинна бути заздалегідь закладена у пам’ять мікропроцесора . Замість цього в лічильник команд заноситься адреса команди з якої починається підпрограма обробки переривань. Лише після цього стає можливим введення даних з ЗП і старт підпрограми обробки переривань цих даних.