Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_07

.pdf
Скачиваний:
5
Добавлен:
20.04.2015
Размер:
136.27 Кб
Скачать

Удаление символов

erase – удаление символов

clear – очистка строки

пример:

st.clear();

st.erase(lBeg, string::npos);

st.erase(lBeg, lEnd – lBeg + 1);

24.03.2012

cppNewb.ru

21

Проверка на пустоту

• empty

пример:

if (0 == str.empty())

// строка не пустая

{

//обработка

}

24.03.2012

cppNewb.ru

22

Потоковый ввод и вывод

вывод

operator<<

ввод

operator>>

24.03.2012

cppNewb.ru

23

Сравнение символов

лексикографическое сравнение

упорядочение в алфавите

упорядочение в кодовой таблице

символы нижнего регистра меньше символов верхнего

24.03.2012

cppNewb.ru

24

Сравнение строк

происходит лексикографическим сравнением символов до первого несовпадения

упорядоченность строк определяется порядком несовпадающих символов

24.03.2012

cppNewb.ru

25

Функции сравнение строк

operator==

operator!=

operator>

operator<

operator>=

operator<=

compare

24.03.2012

cppNewb.ru

26

Потоковый вывод и ввод

вывод – преобразование объектов (типа) в последовательность символов

ввод – запрос последовательности символов и преобразование ее в объект (типа)

24.03.2012

cppNewb.ru

27

Тип потока

вывода (выходной)

ostream

ввода (входной)

istream

ввода и вывода (двунаправленный)

iostream

24.03.2012

cppNewb.ru

28

Заголовочные файлы

<iostream>

стандартные

потоки

<fstream>

– файловые потоки

<sstream>

– строковые потоки

<iosfwd>

опережающие

объявления

<iomanip>

– манипуляторы

<streambuf>

– буферы

24.03.2012

cppNewb.ru

29

Преимущества стандартной библиотеки ввода/вывода

контроль типов передаваемых данных

использование одного кода для работы с

разными потоками (через полиморфизм)

расширяемость

ввод и вывод новых типов

новые классы потоков

24.03.2012

cppNewb.ru

30