Jaké jsou specifikátory formátu vc?


Nejlepší odpověď

C má mnoho specifikátorů formátu. Jeden samozřejmě existuje pro každý typ, ale kromě toho existují další, takže programátor může zobrazit proměnnou určitého typu v několika různých reprezentacích. Například \% d vytiskne celé číslo. Stejné celé číslo lze ale také zobrazit v hexadecimálním formátu pomocí \% x. Nicméně seznam všech původních specifikátorů formátu C naleznete zde: Seznam všech specifikátorů formátu v programování C – Codeforwin

Doporučuji vám však při psaní kódu C použít modernější přístup, který souvisí s deklarace proměnných a jejich odpovídající zobrazení. To znamená použít definice poskytované a . Zahrnutím těchto záhlaví nyní můžete deklarovat své proměnné takto:

Zdroj: Jak na C (od roku 2016)

  • int8\_t, int16\_t, int32\_t, int64\_t – celá čísla se znaménkem
  • uint8\_t, uint16\_t, uint32\_t, uint64\_t – nepodepsaná celá čísla
  • float – standardní 32bitový plovoucí point
  • double – standardní 64bitová plovoucí desetinná čárka
  • intptr\_t, uintptr\_t, ptrdiff\_t

Poslední odrážka obsahuje typy, které můžete použít pro aritmetiku ukazatele.

Vzhledem k těmto typům je jejich správný způsob zobrazení následující:

  • size\_t\%zu
  • ssize\_t\%zd
  • ptrdiff\_t\%td
  • raw pointe r value – \%p (tiskne hex v moderních kompilátorech; umístěte ukazatel na (void *) první)
  • int64\_t"\%" PRId64
  • uint64\_t"\%" PRIu64 64bitové typy by se měly tisknout pouze pomocí PRI[udixXo]64 makra stylu. Proč? Na některých platformách je 64bitová hodnota long a na jiných „sa long long. Tato makra poskytují správnou základní specifikaci formátu napříč bez těchto formátovacích maker je skutečně nemožné určit správný řetězec formátu pro různé platformy, protože typy se mění zpod vás (a pamatujte, sesílání hodnot před tiskem není bezpečné nebo logické).
  • intptr\_t"\%" PRIdPTR
  • uintptr\_t"\%" PRIuPTR
  • intmax\_t"\%" PRIdMAX
  • uintmax\_t"\%" PRIuMAX

Příklad tisku jednoho z těchto typů:

printf("Local number: \%" PRIdPTR "\n\n", someIntPtr);

Všimněte si, že PRIdPTR je mimo citace, ale hned za znaménkem procenta. Syntakticky nepříjemně opravdu.

Každopádně doufám, že to odpovídá na většinu toho, čím jsi byl král pro. Informace poskytované o modernějším způsobu používání C týkající se datových typů a jejich zobrazování pomocí specifikátorů speciálního formátu pocházejí ze skvělého dokumentu, který navrhuji přečíst Jak na C (od roku 2016) .

Nezapomeňte také, že na manuálových stránkách můžete vyhledávat specifikátory formátu a všechny věci printf (). Pokud používáte systém UNIX nebo UNIX, jednoduše otevřete shell a

bash$ man printf

Google je také váš přítel …; -)

Odpověď

Specifikátory formátu začínají procentem \% operátor a za ním speciální znak pro identifikaci typu dat.

Existuje většinou 6 typů specifikátorů formátu , které jsou k dispozici v C.

Seznam specifikátorů formátu v C

Celočíselný specifikátor formátu\% d

\% d . Používá se s funkcí printf () pro tisk celočíselné hodnoty uložené v proměnné.

Syntaxe:

printf("\%d",);

Specifikátor formátu float\% f

\% f je implementován specifikátor formátu pro reprezentaci zlomkových hodnot. To je implementováno v rámci funkce printf () pro tisk zlomkové nebo plovoucí hodnoty uložené v proměnné. Kdykoli potřebujete vytisknout zlomková nebo plovoucí data, musíte použít \% f specifikátor formátu.

Syntaxe:

printf("\%f", );

Specifikátor formátu znaků \% c

Pro reprezentaci znaků je implementován specifikátor formátu \% c . Používá se s funkcí printf () pro tisk znaku uloženého v proměnné. Chcete-li tisknout znaková data, měli byste začlenit specifikátor formátu \% c .

Syntaxe:

printf("\%c",);

Specifikátor formátu řetězce\% s

\% s . Používá se ve funkci printf () pro tisk řetězce uloženého v proměnné pole znaků. Pokud musíte řetězec vytisknout, měli byste implementovat specifikátor formátu \% s .

Syntaxe:

printf("\%s",);

Specifikátor nepodepsaného celého čísla\% u

\% u specifikátor formátu je implementován pro načítání hodnot z adresy proměnné, která má v paměti uložené celé číslo bez znaménka. Toto se používá ve funkci printf () pro tisk celočíselné proměnné bez znaménka.

Syntaxe:

printf("\%u",);

Specifikátor formátu Long Int Format\% ld

Specifikátor formátu \% ld je implementován pro reprezentaci dlouhých celočíselných hodnot. Toto je implementováno pomocí funkce printf () pro tisk celé celočíselné hodnoty uložené v proměnné.

Syntaxe:

printf("\%ld",);

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *