Липпман - C++ для начинающих стр 5.

Шрифт
Фон

Прочитано слово: and

Прочитано слово: Adam's

Все слова прочитаны!

(В главе 6 мы рассмотрим вопрос о том, как убрать знаки препинания из вводимых слов.)

1.5.1. Файловый ввод/вывод

Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл:

#include fstream

Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream:

ofstream outfile("name-of-file");

Проверить, удалось ли нам открыть файл, можно следующим образом:

if ( ! outfile ) // false, если файл не открыт

cerr "Ошибка открытия файла.\n"

Так же открывается файл и для ввода, только он имеет тип ifstream:

ifstream infile("name-of-file");

if ( ! infile ) // false, если файл не открыт

cerr "Ошибка открытия файла.\n"

Ниже приводится текст простой программы, которая читает файл с именем in_file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, названный out_file.

#include iostream

#include fstream

#include string

int main()

{

ifstream infile("in_file");

ofstream outfile("out_file");

if ( ! infile ) {

cerr "Ошибка открытия входного файла.\n";

return -1;

}

if ( ! outfile ) {

cerr "Ошибка открытия выходного файла.\n";

return -2;

}

string word;

while ( infile word )

outfile word ' ';

return 0;

}

В главе 20 библиотека ввода/вывода будет рассмотрена подробно. А в следующих разделах мы увидим, как можно создавать новые типы данных, используя механизм классов и шаблонов.

2014-04-07 23:08:15 Андрей

Клас дякую все зрозумыло ы легко запам`ятовується

2014-01-06 16:23:31 adil

thank you спасибо тебе хорошая статья думаю что все сдесь понятно с++ это самая стандартный Язык программирование спасибо за статию

2014-01-05 20:54:54 Djo

Зачётная глава! Решил c php перейти на c++. Всё понятно и без флуда.

2013-10-31 19:48:46 Дима

Почему в двух последних программах нет строчки namespace std;????? Я, как начинающий, никогда бы не понял как написать эти программы, если бы не пользовался другими источниками.

2012-09-05 09:19:51 Вася

Вот http://www.microsoft.com/ru-ru/download/details.aspx?id=12187 Или вот вебинсталлер http://download.microsoft.com/download/4/0/6/4067968E-5530-4A08-B8EC-17D2B3F02C35/vs_ultimateweb.exe

2012-09-04 18:28:41 Daulet

Кто-нибудь подскажите где можно скачать Microsoft Visual c++?

2012-08-29 10:51:01 Noisee

Спасибо за описание. Уважаемый автор, дополните примеры строкой using namespace std; Без этого собираться не будет.. Влад, поставь себе виртуалбокс, установи туда линукс (к примеру дебиан 6.05 - на данный момент последний). Потом погугли "c++ helloworld linux" и "с++ makefile". Думаю многие вопросы сами собой отпадут, когда сделаешь это. Удачи!

2012-07-19 01:21:35 Мишуил

Грамотно написано. Очень приятно, что есть еще хорошие статьи и авторы. Все доходчиво и понятно. 5+

2012-07-19 01:19:03 Мишуил

Влад, это не для тебя. Не заморачивайся этой тупой фигнёй - иди лучше дом2 посмотри.

2012-07-10 16:33:42 влад

я нихера не понял...и потскажите с++ надо скачивать иль он уже есть и если есть то как его найти и запустить

2012-06-17 14:05:38 RUSLAN

Какие книги предлогаете для начинающих? Иногда у меня не хватает логики для решении задач. Чтобы понимать и логику развивать в этой программирвание что надо делать?

2012-05-29 23:09:10 Иван

Как написать программу для поиска телефонных номеров на странице интернет версии газеты Aviso и других?У меня есть Exel файл с номерами,которые нужно исключить(выделить).

2012-03-11 18:28:36 Стёпа

Всё ништяк, хороший учебник ! мне понравился всё работает (если чтото-когдато не понимаешь погугли)

2012-02-29 10:31:39 Владимир

Хорошая статья Народ,у кого все получается и все примеры работают выложите пжлста проги которыми сами пользуетесь

2012-02-15 08:54:21 Павел

К сожалению, у меня почему-то не работает пример простой законченной программы из пункта 1.5. При пошаговой отладке выяснилось, что программа зацикливается в цикле while. После полного прочтения строки она заново предлагает ввести строку, а не выводит сообщение, что все слова прочитаны. Использую Visual C++ 2008 Express edition

2012-01-11 22:25:59 Артур

Чётко но пока поучу еще php

2011-11-08 10:36:18 Николай

Дмитрий, после подключения include объявите стандартное пространство имён: using namespace std;

2011-10-19 15:37:14 Дмитрий

у меня visual C++ express edition, не работает cout пишет не обьявленный идентификатор, iostream был подключен

2011-10-18 03:34:20 ииисус

почему после инклудов нет using namespace std; ? qt, например, ругается при определении string

2011-09-28 18:36:04 Дмитриц

В последней программе две ошибки. Строки, в которых используется cerr не закрыты, не стоит ";".

2. Краткий обзор С++

Эту главу мы начнем с рассмотрения встроенного в язык С++ типа данных "массив". Массив – это набор данных одного типа, например массив целых чисел или массив строк. Мы рассмотрим недостатки, присущие встроенному массиву, и напишем для его представления свой класс Array, где попытаемся избавиться от этих недостатков. Затем мы построим целую иерархию подклассов, основываясь на нашем базовом классе Array. В конце концов мы сравним наш класс Array с классом vector из стандартной библиотеки С++, реализующим аналогичную функциональность. В процессе создания этих классов мы коснемся таких свойств С++, как шаблоны, пространства имен и обработка ошибок.

2.1. Встроенный тип данных "массив"

Как было показано в главе 1, С++ предоставляет встроенную поддержку для основных типов данных – целых и вещественных чисел, логических значений и символов:

// объявление целого объекта ival

// ival инициализируется значением 1024

int ival = 1024;

// объявление вещественного объекта двойной точности dval

// dval инициализируется значением 3.14159

double dval = 3.14159;

// объявление вещественного объекта одинарной точности fval

// fval инициализируется значением 3.14159

float fval = 3.14159;

К числовым типам данных могут применяться встроенные арифметические и логические операции: объекты числового типа можно складывать, вычитать, умножать, делить и т.д.

int ival2 = ival1 + 4096; // сложение

int ival3 = ival2 - ival; // вычитание

dval = fval * ival; // умножение

ival = ival3 / 2; // деление

bool result = ival2 == ival3; // сравнение на равенство

result = ival2 + ival != ival3; // сравнение на неравенство

result = fval + ival2 dval; // сравнение на меньше

result = ival ival2; // сравнение на больше

В дополнение к встроенным типам стандартная библиотека С++ предоставляет поддержку для расширенного набора типов, таких, как строка и комплексное число. (Мы отложим рассмотрение класса vector из стандартной библиотеки до раздела 2.7.)

Промежуточное положение между встроенными типами данных и типами данных из стандартной библиотеки занимают составные типы – массивы и указатели. (Указатели рассмотрены в разделе 2.2.)

Массив – это упорядоченный набор элементов одного типа. Например, последовательность

0 1 1 2 3 5 8 13 21

представляет собой первые 9 элементов последовательности Фибоначчи. (Выбрав начальные два числа, вычисляем каждый из следующих элементов как сумму двух предыдущих.)

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке