Melyek a c formátummeghatározók?


Legjobb válasz

A C-nek sok formátummeghatározója van. Nyilvánvalóan létezik mindegyik típushoz, de ezen túl mások is léteznek, így a programozó egy bizonyos típusú változót megjeleníthet pár különböző ábrázolásban. Például a \% d egész számot fog kinyomtatni. De ugyanaz az egész szám hexadecimális formában is megjeleníthető a \% x használatával. Ennek ellenére az összes eredeti C formátum-specifikátor listája megtalálható itt: Az összes formátummeghatározó listája a C programozásban – Codeforwin

Mindazonáltal azt javaslom, hogy a C kód megírásakor vegye igénybe a modernebb megközelítést a változók deklarálása és megfelelő megjelenítése. Ez azt jelenti, hogy a és a definíciókat használja. Ezeknek a fejléceknek a felvételével most már így deklarálhatja a változókat:

Forrás: Hogyan lehet C-t kapni (2016-tól)

  • int8\_t, int16\_t, int32\_t, int64\_t – aláírt egész számok
  • uint8\_t, uint16\_t, uint32\_t, uint64\_t -jel nélküli egész számok
  • float – normál 32 bites lebegő pont
  • double – szabványos 64 bites lebegőpont
  • intptr\_t, uintptr\_t, ptrdiff\_t

Az utolsó felsorolási pont olyan típusokat tartalmaz, amelyeket felhasználhat a mutató aritmetikájához.

Az ilyen típusok megjelenítésének megfelelő módja a következő:

  • size\_t\%zu
  • ssize\_t\%zd
  • ptrdiff\_t\%td
  • nyers pont r érték – \%p (hexadarabot nyomtat a modern fordítókban; először mutasd a mutatót (void *))
  • int64\_t"\%" PRId64
  • uint64\_t"\%" PRIu64 A 64 bites típusokat csak PRI[udixXo]64 stílusú makrók. Miért? Bizonyos platformokon a 64 bites érték long, máshol pedig “sa long long. Ezek a makrók a megfelelő mögöttes formátum-specifikációt biztosítják platformok. Valójában lehetetlen megadni a megfelelő platformokon átívelő formátumú karakterláncot ezek nélkül a formátum makrók nélkül, mert a típusok megváltoznak alólad (és ne feledd, az értékek leadása a nyomtatás előtt nem biztonságos vagy logikus).
  • intptr\_t"\%" PRIdPTR
  • uintptr\_t"\%" PRIuPTR
  • intmax\_t"\%" PRIdMAX
  • uintmax\_t"\%" PRIuMAX

Példa a következő típusok egyikének kinyomtatására:

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

Ne feledje, hogy a PRIdPTR kívül esik az idézetekben, de közvetlenül a százalékjel után. Szintaktikailag kissé bosszantó valóban.

Mindenesetre remélem, hogy ez megválaszolja a legtöbbet, amit te loo voltál király a. A C modernebb használatáról, az adattípusokról és azok speciális formátum-specifikátorokon keresztüli megjelenítéséről szolgáltatott információk egy remek dokumentumból származnak, javaslom, olvassa el a Hogyan kell C-t olvasni (2016-tól) .

Ne felejtsük el, hogy a formátummeghatározókat és a printf () mindent megkereshetjük a man oldalakon. Ha UNIX vagy UNIX rendszerhez hasonló rendszert használ, nyissa meg a shelljét, és

bash$ man printf

A google is a barátja …; -)

Válasz

A formátum megadók százalékkal kezdődnek \% operátort, majd egy speciális karakter követi az adatok típusának azonosításához.

Leginkább 6 típusú formátummeghatározó létezik , amelyek a C nyelven érhetők el. “>

\% d egész formátummeghatározó

A \% d formátum-specifikáló valósul meg egész számok ábrázolására. Ezt a printf () függvénnyel használják a változóban tárolt egész érték nyomtatásához.

Szintaxis:

printf("\%d",);

\% f úszóformátum-specifikátor

A \% f a formátum-specifikáló a töredékértékek ábrázolására valósul meg. Ez a printf () függvényben valósul meg a változóban tárolt tört vagy lebegő érték kinyomtatásához. Ha csak törtrészes vagy lebegő adatokat szeretne kinyomtatni, akkor a \% f formátummeghatározót kell használnia.

Szintaxis:

printf("\%f", );

Karakterformátum-specifikátor \% c

A \% c formátummeghatározó implementálva van a karakterek ábrázolásához. Ezt a printf () függvénnyel használják a változóban tárolt karakter kinyomtatásához. Ha karakteradatokat akar kinyomtatni, be kell építenie a \% c formátummeghatározót.

Szintaxis:

printf("\%c",);

\% s karakterlánc-formátum meghatározó

A \% s formátum-specifikáló implementálva van a karakterláncok ábrázolásához. Ez a printf () függvényben használható a karaktertömb változóban tárolt karakterlánc kinyomtatásához. Ha sztringet kell nyomtatnia, akkor végre kell hajtania a \% s formátummeghatározót.

Szintaxis:

printf("\%s",);

Aláíratlan egész formátum-specifikátor\% u

A \% u formátum-specifikáló olyan értékek beolvasására szolgál, amelyek egy olyan változó címéből származnak, amelynek a memóriájában tárolatlan, tizedes egész szám van. Ezt a printf () függvényben használják az aláíratlan egész változó kinyomtatásához.

Szintaxis:

printf("\%u",);

Hosszú Int formátummeghatározó\% ld

A \% ld formátummeghatározó hosszú egész értékek ábrázolására van megvalósítva. Ez a printf () függvény segítségével valósítható meg a változóban tárolt hosszú egész szám értékének kinyomtatásához.

Szintaxis:

printf("\%ld",);

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük