sscanf()

Считать ввод из строки

Прототип:

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

Аргументы:

in_string
Строка, из которой будет осуществляться чтение.
format
Строка, характеризующая формат входной информации. Дополнительная информация о формате параметра fmt указана на странице printf().

Библиотека:

libc

Описание:

Функция sscanf() сканирует ввод из строки in_string, учитывая вормат аргументов format. Список последующих параметров должен содержать адреса модифицируемых переменных с учетом их типов, определяемых в format.

Возвращаемое значение:

Число аргументов, которые были успешно считаны из строки и сохранены в соответствующих переменных или EOF при достижении сканером конца строки ввода.

Примеры:

#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int day, year;
char weekday[20], month[20];
sscanf( "Thursday February 0025 1999", "%s %s %d %d",
weekday, month, &day, &year );
printf( "%s %d, %d is a %s\n", month, day, year, weekday );
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out February 25, 1999 is a Thursday

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Смотри ниже
В потоке
Да

Предостережения:

Безопасно вызывать данную функцию в обработчике сигналов, если не обрабатываются данные с плавающей точкой.

Тематические ссылки:

fscanf(), fwscanf(), scanf(), swscanf(), vfscanf(), vfwscanf(), vscanf(), vsscanf(), vswscanf(), vwscanf(), wscanf()




Предыдущий раздел: Описание API системной библиотеки