
polevoy_cpp_2012_spring_lecture_07
.pdf
Удаление символов
•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 |