Содержание
- 2. Потоковые классы Поток — это общее название потока данных. В C++ поток представляет собой объект некоторого
- 3. Общая структура потоковых классов
- 4. ios_base · event · event_callback · failure · flags · fmtflags · getloc · imbue ·
- 5. Чтобы сделать классы потоков некопируемыми, basic_ios в С++98 объявлен следующим образом (Мейерс, Эффективный и современный С++):
- 6. Удаленные функции не могут использоваться никоим образом, так что даже код функции-члена или функций, объявленных как
- 7. Еще один трюк, который могут выполнять удаленные функции (а функции-члены, объявленные как private нет), заключается в
- 8. Флаги форматирования класса ios skipws Пропуск пробелов при вводе Left Выравнивание по левому краю right Выравнивание
- 9. Пример #include int main () { double a = 3.1415926534; double b = 2006.0; double c
- 10. Пример #include #include int main () { char a, b, c; std::istringstream iss (" 123"); iss
- 11. Пример #include int main () { std::cout std::cout std::cout return 0; }
- 12. Пример #include #include int main () { std::ofstream ofs; ofs.open ("test.txt", std::ofstream::out | std::ofstream::app); ofs ofs.close();
- 13. Пример #include #include // EOF – это знак конца файла: end of file int main ()
- 14. Есть несколько способов установки флагов форматирования, для каждого свои. Так как они являются компонентами класса ios,
- 15. Манипуляторы с аргументами setw ( ) ширина поля (int) Устанавливает ширину поля для вывода данных setfill
- 16. Функции класса ios ch = fill (); Возвращает символ заполнения (символ, которым заполняется неиспользуемая часть текстового
- 17. Класс istream
- 18. Класс ostream
- 19. Состояние потока static const _Iostate goodbit = (_Iostate)0x0; static const _Iostate eofbit = (_Iostate)0x1; static const
- 20. #include // std::cout, std::ios #include // std::stringstream void print_state (const std::ios& stream) { std::cout std::cout std::cout
- 22. Файлы Обычно мы имеем намного больше данных, чем способна вместить основная память нашего компьютера, поэтому большая
- 23. Работа с файлами Для того чтобы прочитать файл, мы должны • знать его имя; • открыть
- 24. Пример #include #include int main () { std::ifstream is("example.txt"); // open file char c; while (is.get(c))
- 25. Буфер потока Буфер потока - это объект, ответственный за выполнение операций чтения и записи объекта потока,
- 26. Пример #include #include int main () { char ch; std::ofstream ostr ("test.txt"); if (ostr) { std::cout
- 27. Пример #include #include int main () { std::ofstream ofs; ofs.open ("test.txt", std::ofstream::out | std::ofstream::app); ofs ofs.close();
- 28. stringbuf default (1) explicit basic_stringbuf (ios_base::openmode which = ios_base::in | ios_base::out); initialization (2) explicit basic_stringbuf (const
- 29. Пример #include // std::cout, std::ostream, std::hex #include // std::stringbuf #include // std::string int main () {
- 30. istream::operator>> Для чтения данных из потоков. Перегрузок много: istream& operator>> (bool& val); istream& operator>> (short& val);
- 31. Пример int main () { int n; std::cout std::cin >> n; std::cout std::cout std::cin >> std::hex
- 32. basic_istream:: get Извлекает символы из потока в качестве неформатированного ввода: int_type get(); basic_istream& get (char_type& c);
- 33. Пример #include // std::cin, std::cout #include // std::ifstream int main () { char str[256]; std::cout std::cin.get
- 34. basic_istream:: getline Извлекает символы из потока в виде неформатированных входных данных и сохраняет их в виде
- 35. Пример #include int main () { char name[256], title[256]; std::cout std::cin.getline (name,256); std::cout std::cin.getline (title,256); std::cout
- 36. basic_ostream::operator Этот оператор ( basic_ostream& operator basic_ostream& operator basic_ostream& operator basic_ostream& operator basic_ostream& operator basic_ostream& operator
- 37. Пример #include // std::cout, std::right, std::endl #include // std::setw int main () { int val =
- 38. Пример с файлом #include int main () { std::fstream fs; fs.open ("test.txt", std::fstream::in | std::fstream::out |
- 39. Локализация По книге Д. Р. Стефенс, К. Диггинс, Д. Турканис, Д. Когсуэлл «С++. Сборник рецептов» (2007)
- 40. Классическая локализация использует стандарт ANSI С: принятые в американском варианте английского языка соглашения по форматированию и
- 41. #include #include #include using namespace std; void main( ) { // Создать несколько строк с символами
- 42. При работе с различными кодировками наибольшую ловкость приходится проявлять не для ввода правильных символов в исходные
- 43. Пусть требуется записать число в поток в форматированном виде в соответствии с местными соглашениями. Закрепите (imbue)
- 44. regex xpr ("мир", regex_constants::icase); // icase - Регулярные выражения // совпадают без учета регистра. smatch match;
- 45. std::locale cp1251_locale("ru"); // добавляем глобально русификацию std::locale::global(cp1251_locale); regex xpr ("мир", regex_constants::icase); // icase - Регулярные выражения
- 47. Скачать презентацию