С++ для начинающих



Библиотека iostream - часть 4


  • ostringstream, производный от ostream, пишет в строку;
  • stringstream, производный от iostream, выполняет как чтение, так и запись.
  • Для использования любого из этих классов в программу нужно включить заголовочный файл

    #include <sstream>

    (Файл sstream уже включает iostream, так что включать оба файла необязательно.) В следующем фрагменте объект класса ostringstream используется для форматирования сообщения об ошибке, которое возвращается вызывающей программе.

    #include <sstream>

    string program_name( "our_program" );

    string version( 0.01 );

    // ...

    string mumble( int *array, int size )

    {

       if ( ! array ) {

          ostringstream out_message;

          out_message << "ошибка: "

                      << program_name << "--" << version

                      << ": " << __FILE__ << ": " << __LINE__

                      << " -- указатель равен 0; "

                      << " а должен адресовать массив.\n";

          // возвращаем строку, в которой находится сообщение

          return out_message.str();

       }

       // ...

    }

    (В разделе 20.8 мы познакомимся со строковым вводом/выводом более подробно.)

    Потоки ввода/вывода поддерживают два предопределенных типа: char и wchar_t. В этой главе мы расскажем только о чтении и записи в потоки данных типа char. Помимо них, в библиотеке iostream имеется набор классов и объектов для работы с типом wchar_t. Они отличаются от соответствующих классов, использующих тип char, наличием префикса ‘w’. Так, объект стандартного ввода называется wcin, стандартного вывода – wcout, стандартного вывода для ошибок – wcerr. Но набор заголовочных файлов для char и wchar_t один и тот же.

    Классы для ввода/вывода данных типа wchar_t называются wostream, wistream, wiostream, для файлового ввода/вывода – wofstream, wifstream, wfstream, а для строкового – wostringstream, wistringstream, wstringstream.




    Содержание  Назад  Вперед