Sdílet prostřednictvím


Pole Specifikace formátu: funkce scanf a wscanf

Zde uvedené informace platí pro celou scanf řady funkcí, včetně zabezpečené verze a popisuje symboly slouží k ověření pravosti scanf funkce Analýza vstupní proud, například vstupní proud stdin pro scanf, do hodnoty, které jsou vloženy do programu proměnných.

Specifikace formátu má následující tvar:

%*] width [{h | l | ll | I64 | L}]type

format Argument Určuje interpretaci vstupních a může obsahovat jeden nebo více z následujících:

  • Prázdné znaky: prázdný (""); kartu ("\t"); nebo řádku (\n).Znakem bílého místa způsobuje scanf číst, ale nejsou ukládány všechny po sobě jdoucích znaky pro prázdné místo v vstup na další znak non–white místa.Jeden prázdný znak odpovídá jakékoli (včetně 0) a jejich kombinace mezery ve vstupu.

  • Non–White místo znaků, kromě znak procenta (%).Způsobí mezeru non–white scanf číst, ale neukládají odpovídající non–white mezera.Pokud dalším znakem ve vstupním datovém proudu neodpovídá, scanf ukončí.

  • Formátovat Specifikace zavedená znak procenta (%).Specifikace formátu způsobí, že scanf ke čtení a převést znaky ve vstupní hodnoty určeného typu.Je přiřazena hodnota argumentu v seznamu argumentů.

Formát je čtení zleva doprava.Očekává se znaky mimo specifikace formátu, aby odpovídal posloupnosti znaků ve vstupním datovém proudu; odpovídající znaky ve vstupním datovém proudu jsou kontrolovány však nejsou uloženy.Pokud znak v vstupní proud konfliktu s specifikace formátu scanf ukončí, a je znak doleva ve vstupním datovém proudu, jako by měl nelze číst.

Při výskytu první specifikace formátu hodnotu první vstupní pole je převedena podle této specifikace a uloženy v umístění, které je určen první argument.Druhý specifikace formátu způsobí, že druhý vstupní pole převedeny a uloženy ve druhé argument, až na konec řetězce formátu atd.

Vstupní pole je definováno jako všechny znaky na prvním znakem bílého místa (místo kartu nebo nového řádku) nebo na první znak, který nelze převést podle specifikace formátu nebo do pole Šířka (Pokud je zadán) bylo dosaženo.Pokud existuje příliš mnoho argumentů pro dané specifikace, jsou navíc argumenty vyhodnoceny ale ignorována.Výsledky předvídat, pokud nejsou dostatek argumentů pro specifikaci formátu.

Každé pole Specifikace formátu je jeden znak nebo číslo označuje možnost určitého formátu.type Znak, který se zobrazí po poslední volitelný formát pole, určuje, zda vstupní pole je interpretováno jako znak, řetězec nebo číslo.

Nejjednodušší specifikace formátu obsahuje pouze znak procenta a type znak (například %s).Pokud znak procenta (%) následuje znak že má význam jako formát řídicí znak, znaků a následující znaky (až do další znak procent) zachází jako běžným sekvenci znaků, je sekvence znaků, které musí odpovídat vstupní.Například chcete-li určit, že má být vstupní znak znak procenta pomocí %%.

Hvězdička (*) následující znak procenta potlačí přiřazení další vstupní pole, které je interpretován jako pole zadaného typu.Pole je zkontrolován, ale nejsou uloženy.

Zabezpečená verze (s _s přípony) z scanf řady funkce vyžadují předat parametr velikosti vyrovnávací paměti ihned po každý parametr typu c, C, s, S nebo [.Další informace o zabezpečených verzích scanf řady funkcí, viz scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l.

Viz také

Referenční dokumentace

Šířka specifikace scanf

scanf znaky pole Typ

scanf, _scanf_l, wscanf, _wscanf_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l