Внутренняя передача данных (функции sscanf и sprintf)

Эти функции являются функциями преобразования данных, а не ввода-вывода, однако правила преобразования те же, что и для соответствующих функций ввода-вывода.

Преобразование из символьной строки во внутреннее представление.

Прототип: int sscanf(char *buf, char *control, аргумент[, аргумент]...);

Здесь buf – исходная строка, control – управляющая строка.

Возвращаемое значение – см.функцию scanf.

Преобразование из внутреннего представления в символьную строку.

Прототип: int sprintf(char *buf, char *control, аргумент[, аргумент]...);

Файл прототипов обеих функций: stdio.h.

Возвращаемое значение: длина сформированной строки - число байтов без конечного 0, который добавляется или EOF (при ошибке).


Пример.

i=4;

a[ i ] = -37.45;

sprintf(mult, "<%12.5e%3s%d>", a[ i ], "x**" ,i );

Результат будет иметь вид: < -3.7450e+01x**4>.