Похоже, вы получили эту цитату из docs.roxen / pike , которая не стандартная C.
Pike - это объектно-ориентированный язык программирования с синтаксисом , аналогичным для Java и C .Это не C!
Чтобы узнать о sscanf()
, вам следует проверить ссылку , в которой упоминается:
format
: строка C, которая содержит строку формата, которая соответствует тем же спецификациям, что и формат в scanf (см. Scanf).
, а также предоставляет пример.Другой пример:
#include <stdio.h>
int main () {
int day, year;
char month[10], date[15] = "29 May 1453";
int items_read = sscanf(date, "%d %s %d", &day, month, &year);
printf("Constantinople fell in %d %s %d. sscanf() Read %d items.\n", day, month, year, items_read);
return 0;
}
Вывод:
Constantinople fell in 29 May 1453. sscanf() Read 3 items.
Здесь sscanf()
ожидает date
в качестве источника и будет сопоставлять формат с параметрами после него.Он попытается сопоставить строку date
с целым числом, за которым следуют пробел, строка, пробел и целое число.
Как видите, date
имеет целое число (29), затемпробел, затем строка («май»), затем пробел, а затем целое число (1453), таким образом, он идеально соответствует формату.Затем он присваивает эти значения соответствующим переменным.
Обратите внимание, как возвращаемое значение метода в случае успеха возвращает количество элементов в списке аргументов, успешно заполненных.