На этом шаге мы перечислим функции ввода-вывода.
Для выполнения указанных действий можно воспользоваться следующими методами:
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 - тип символов.
На следующем шаге мы рассмотрим получение итераторов.