Поделиться через


Строка и форматирование самомоднейшее ВВОДА-ВЫВОДА (C++)

Iostreams C, C-++ громоздкий для ввода-вывода. отформатированной строки.В качестве альтернативы можно использовать Boost.Format из библиотек C, C-++, даже если оно нештатно.Любая библиотека поддержки можно загрузить с Поддержка веб-сайта.

Некоторые преимущества Boost.Format:

  • Безопасность: Типобезопасный и создает исключение для ошибка- для примера, спецификации слишком много или слишком много элементов.

  • Расширенный: Работает для любого типа, который может быть десериализован.

  • Удобный: Стандартное POSIX для и подобных строки формата.

Хотя Boost.Format основана на C, C-++ iostreams, безопасном и расширяемым, они производительности не оптимизированы.При необходимости оптимизации производительности, попробуйте C - printf и sprintf, которые быстрое и простым в использовании.Однако они не являются расширяемыми или безопасными от уязвимостей.(Безопасные версии существуют, но они создают минимальный снижение производительности.Дополнительные сведения см. в разделах printf_s, _printf_s_l, wprintf_s, _wprintf_s_l и sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).

Следующий код демонстрирует некоторые из функций поддержки форматирования.

    string s = str( format("%2% %2% %1%\n") % "world" % "hello" );
    // s contains "hello hello world"  
 
    for( auto i = 0; i < names.size(); ++i )
        cout << format("%1% %2% %|40t|%3%\n") % first[i] % last[i] % tel[i];
    // Georges Benjamin Clemenceau             +33 (0) 123 456 789
    // Jean de Lattre de Tassigny              +33 (0) 987 654 321

См. также

Другие ресурсы

Добро пожаловать в C++ (современные C++)

Справочник по языку C++

Справочник по стандартной библиотеки C++