Программирование на C и C++

Онлайн справочник программиста на C и C++

Форматирование на основе массивов

В языке С функции sprintf() и sscanf() особенно полезны для подготовки данных к выводу или чтения входных данных с нестандартных устройств. Тем не менее, благодаря возможности языка С++, перегружая операторы вставки и извлечения для соответствующего класса и создавая собственные манипуляторы, можно достаточно легко работать со многими экзотическими устройствами. Благодаря сказанному, потребность в форматировании в памяти не так уж и велика. Тем не менее остается много приложений для такого форматирования.

Одним из распространенных применений форматирования на основе массивов служит конструирование строки, используемой в качестве входа или функции стандартной библиотеки, или какой-то другой внешней функции. Например, может потребоваться создать строку, которая будет передана функцией strtok() для синтаксического разбора. Функция strtok() разбивает строку на ее элементы. Другим применением ввода/вывода на основе массивов служат текстовые редакторы, выполняющие сложные операции форматирования. Часто проще использовать конструкции форматированного ввода/вывода С++ на основе массивов для построения сложной строки, чем использовать для этого «подручные» средства.