Содержание | Глава 13

Функция sscanf

#include <stdio.h>
int sscanf(const char *buf, const char *format, ...);

Функция sscanf() идентична функции scanf(), но данные читаются из массива, адресуемого параметром buf, а не из стандартного потока ввода stdin. Подробности приводятся в разделе scanf.

В версии C99 к параметрам buf и format применен квалификатор restrict.

Значение, возвращаемое функцией, равно количеству переменных, которым реально были присвоены значения. К ним не относятся поля, опущенные из-за использования модификатора команды форматирования *. Нулевое значение свидетельствует о том, что ни одно поле не было присвоено, а значение EOF сигнализирует об ошибке, обнаруженной до первого присваивания.

Пример

Данная программа выводит на экран сообщение

привет 1
#include <stdio.h>

int main(void)
{
  char str[80];
  int i;

  sscanf("привет 1 2 3 4 5", "%s%d", str, &i);
  printf("%s %d", str, i);

  return 0;
}

Зависимые функции

scanf() fscanf()
Содержание | Глава 13