Чтение онлайн

на главную - закладки

Жанры

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

4. Чем сin.readотличается от сin.getline?

Функция cin.read используется для чтения структур двоичных данных.

Функция cin.getline предназначена для чтения из буфера istream.

5. Какая ширина устанавливается по умолчанию для вывода длинных целых чисел с помощью оператора вывода?

Автоматически устанавливается ширина, достаточная для отображения всего числа.

6. Какое значение возврашает оператор вывода?

Ссылку на объект istream.

7. Какой

параметр принимается конструктором объекта ofstream?

Имя открываемого файла.

8. Чтоустанавливаетаргумент ios::ate?

Аргумент ios::ate помещает точку ввода в конец файла, но вы можете записывать данные в любом месте файла.

 Упражнения

 1. Напишите программу, использующую четыре стандартных объекта класса iostream — cin, cout, cerr и clog.

1: #include <iostream.h>

2: int main

3: {

4: int x;

5: cout << "Enter а nurober; ";

6: cin >> x;

7: cout << "You entered: " << x << endl;

8: cerr << "Uh oh, this to cerr!" << endl;

9: clog << "Ouh oh, this to clog!" << endl;

10: return 0;

11: }

2. Напишите программу, предлагающую пользователю ввести свое полное имя с последующим выводом этого имени на экран.

1: #include <iostream.h>

2: int main

3: {

4: char name[80];

5: cout << "Enter your full name: ";

6: cin.getline(name,80);

7: cout << "\nYou entered: " << name << endl;

8: return 0;

9: }

3. Перепишите листинг 16.9, отказавшись от использования методов putback и ignore.

1: // Листинг 16.9. Измененный

2: #include <iostream.h>

3:

4: int main

5: {

6: char ch;

7: cout << "enter а phrase: ";

8: while ( cin.get(ch) );

9: {

10: switch (ch)

11: {

12: case '!':

13: cout << '$';

14: break:

15: case '#':

16: break;

17: default:

18: cout << ch;

19: break;

20: }

21: }

22: return 0;

23: }

4. Напишите программу, считывающую имя файла в качестве аргумента командной строки и открывающую файл для чтения. Разработайте алгоритм анализа всех символов, хранящихся в файле, и выведите на экран только текстовые символы и знаки препинания (пропускайте все непечатаемые символы). Закройте файл перед завершением работы программы.

1: #include <fstream.h>

2: enum BOOL { FALSE, TRUE };

3:

4: int main(int argc, char**argv) //

возвращает 1 в случае ошибки

5: {

6:

7: if (argc != 2)

8: {

9: cout << "Usage: argv[0] <infile>\n";

10: return(1);

11: }

12:

13: // открываем поток ввода

14: ifstream fin (argv[1],ios::binary);

15: if (!fin)

16: {

17: cout << "Unable to open " << argv[1] << " for reading.\n";

18: return(1);

19: }

20:

21: char ch;

22: while ( fin.get(ch))

23: if ((ch > 32 && ch < 127) || ch == '\n' || ch = '\t')

24: cout << ch;

25: fin.close;

26: }

Напишите профамму, которая выведет заданные аргументы командной строки обратном порядке, отбросив имя программы.

1: #include <fstream.h>

2:

3: int main(int argc, char**argv) // возвращает 1 в случае ошибки

4: {

5: for (int ctr = argc-1; ctr ; ctr--)

6: cout << argv[ctr] << " ";

7: return 0;

8: }

День 17

Контрольные вопросы 

 1. Можно ли использовать идентификаторы, объявленные в пространстве имен, без применения ключевого слова using?

Да, имена, определенные в пространстве имен, можно свободно использовать в программе, если указывать перед ними идентификатор пространства имен.

2. Назовите основные отличия между именованными и неименованными пространствами имен.

Неименованные пространства имен компилятор рассматривает так, как если бы к ним по умолчанию был применен оператор using. Следовательно, имена в них можно использовать без идентификатора пространства имен. Чтобы сделать доступными имена обычных пространств имен, необходимо либо обращаться к ним с помощью идентификатора пространства имен, либо использовать оператор using или ключевое слово using в объявлении пространства имен.

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

3. Что такое стандартное пространство имен std?

Данное пространство определено в стандартной библиотеке C++ (C++ Standard Library) и содержит объявления всех классов и функций стандартной библиотеки.

Поделиться:
Популярные книги

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

Я все еще барон

Дрейк Сириус
4. Дорогой барон!
Фантастика:
боевая фантастика
5.00
рейтинг книги
Я все еще барон

Полковник Гуров. Компиляция (сборник)

Макеев Алексей Викторович
Полковник Гуров
Детективы:
криминальные детективы
шпионские детективы
полицейские детективы
боевики
крутой детектив
5.00
рейтинг книги
Полковник Гуров. Компиляция (сборник)

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Последний реанорец. Том III

Павлов Вел
2. Высшая Речь
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Последний реанорец. Том III

Воронцов. Перезагрузка

Тарасов Ник
1. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Воронцов. Перезагрузка

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Бастард Императора. Том 13

Орлов Андрей Юрьевич
13. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 13

Сержант. Назад в СССР. Книга 4

Гаусс Максим
4. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сержант. Назад в СССР. Книга 4

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7