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
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 csakPRI[udixXo]64
stílusú makrók. Miért? Bizonyos platformokon a 64 bites értéklong
, máshol pedig “salong 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. “>