Sdílet prostřednictvím


Syntaxe specifikace formátu: funkce printf a wprintf

Popisuje syntaxi pro formát řetězcové argumenty pro printf, wprintfa související funkce.Bezpečnější verze tyto funkce jsou k dispozici; Další informace naleznete v tématu Funkce zabezpečení v CRT.Informace o jednotlivých funkcích naleznete v dokumentaci pro tyto specifické funkce.Seznam těchto funkcí naleznete v Proud I/O.

Specifikace formátu, sestávající z volitelné a povinné pole má následující tvar:

%flags] width] .precision [{h | l | ll | w | I | I32 | I64}] type

Každé pole Specifikace formátu je znak nebo číslo, které označuje konkrétní možnost nebo převodu specifikátor formátu.Požadované type znak určuje druh převodu u argumentu.Nepovinný flags, width, a precision pole určit formát další aspekty.Specifikace základní formát obsahuje pouze znak procenta a type znak – například %s, který určuje převodu řetězce.Je-li znak procenta následuje znak, který nemá žádný význam jako formát pole, znak je zkopírován do výstupu nezměněna.Znak znak procenta při tisku, použijte %%.

Pole Specifikace formátu ovládacího prvku následující aspekty argumentu Převod a formátování:

  • type
    Požadovaný převod specifikátor znak, který určuje, zda přidruženého argument je interpretován jako znak, řetězec, celé číslo nebo číslo s plovoucí desetinnou čárkou.Další informace naleznete v tématu printf znaky pole Typ.

  • flags
    Nepovinný znak nebo znaky, zdůvodnění výstup a výstup značení, prázdné buňky, úvodní nuly, desetinné čárky, osmičková a šestnáctková předpony.Další informace naleznete v tématu Příznak směrnic.Více než jeden příznak se může zobrazit ve specifikaci formátu a příznaky se mohou objevit v libovolném pořadí.

  • width
    Volitelné desetinné číslo, které určuje minimální počet znaků, které jsou výstup.Další informace naleznete v tématu Šířka specifikace printf.

  • precision
    Volitelné desetinné číslo, které určuje maximální počet znaků, které se tisknou pro řetězce, počet platných číslic nebo počet číslic za desetinnou čárkou-znak hodnoty plovoucí desetinné čárky nebo minimální počet číslic, které se tisknou pro celočíselné hodnoty.Další informace naleznete v tématu "Jak přesnost hodnoty vliv typu" v Přesné specifikace..

  • h | l | ll | w | I | I32 | I64
    Volitelné předpony pro type určující velikost odpovídající argument.Další informace naleznete v tématu "zadání předpony velikost souladu" v Velikost specifikace.

Poznámka k zabezpečeníPoznámka k zabezpečení

Ujistěte se, že specifikace formátu řetězce nejsou definované uživatelem.Zvažte například program, který vyzve uživatele k zadání názvu a ukládá vstupní proměnné řetězce s názvem name.Chcete-li vytisknout name, to provést:

printf( name ); /* Danger! If name contains "%s", program will crash */

Místo toho postupujte následujícím způsobem:

printf( "%s", name );

Viz také

Referenční dokumentace

printf, _printf_l, wprintf, _wprintf_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

printf_p poziční parametry

Příznak směrnic

Šířka specifikace printf

Přesné specifikace.

Velikost specifikace

printf znaky pole Typ