Шаг 406.
Библиотека STL.
Строение строковых классов. Функции ввода-вывода

    На этом шаге мы перечислим функции ввода-вывода.

    Для выполнения указанных действий можно воспользоваться следующими методами:

  ostream& operator<< (ostream& strm, const string& str)
Записывает символы str в поток strm.

    Если выполняется условие strm.width()>0, в поток данных выводятся не менее width() символов, а ширина поля в потоке данных обнуляется.

    Параметр ostream - выходной поток типа basic_ostream<char>, где char - тип символов.

  istream& operator>> (istream& strm, string& str)
Читает символы следующего слова из потока данных strm в строку str.

    Если для strm установлен флаг skipws, начальные пропуски игнорируются.

    Чтение производится до выполнения одного из следующих условий:

  • strm.wdth() больше 0, и из потока данных прочитаны width() символов;
  • strm.good() возвращает false (что может привести к выдаче соответствующего исключения);
  • isspace(c,strm.getloc()) возвращает true для следующего символа с;
  • str.max_size() символов сохраняется.

    Параметр istream - входной поток данных типа basic_istream<char>, где char - тип символов.

  istream& getline (istream& strm, string& str)
  istream& getline (istream& strm, string& str, char delim)
Читает символы следующей логической строки из потока strm в строку str.

    Читаются все символы (включая начальные пропуски) до выполнения одного из следующих условий:

  • strm-good() возвращает false (что может привести к выдаче соответствующего исключения);
  • из потока данных читается delim или strm.widen('\n');
  • str.max_size() символов сохраняется.

    Разделитель строк извлекается из потока данных, но не присоединяется к str.

    Внутренняя память перераспределяется по мере необходимости.

    Параметр istream - входной поток данных типа basic_istream<char>, где char - тип символов.

    На следующем шаге мы рассмотрим получение итераторов.




Предыдущий шаг Содержание Следующий шаг