B.7 <inttypes.h> (C99) 

Der Header <inttypes.h> ist eine Ergänzung bzw. Erweiterung des Headers <stdint.h> (der natürlich auch inkludiert ist). <inttypes.h> definiert einige Makros (genauer Stringliterale), die als Konvertierungsspezifizierer für Funktionen der printf- und scanf-Familie verwendet werden können. Des Weiteren finden Sie in der Headerdatei den Struktur-Typ imaxdiv_t und weitere Funktionen.
Der Struktur-Typ imaxdiv_t enthält zwei Argumente vom Typ intmax_t und wird von der Funktion imaxdiv() zurückgegeben:
#include <inttypes.h> imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
Die Funktion imaxdiv() berechnet hierbei den Quotienten und den Rest einer Division von Ganzzahlen mit dem Typ intmax_t (definiert in <stdint.h>).
Weitere Funktionen der Headerdatei <inttypes.h> sind:
Funktion | Beschreibung |
intmax_t imaxabs(intmax_t j); |
Liefert den absoluten Wert einer ganzen Zahl vom Typ intmax_t. |
intmax_t strtoimax( const char * restrict nptr, char ** restrict endptr, int base); |
Konvertiert einen String in einen ganzzahligen Wert vom Typ intmax_t. |
uintmax_t strtoumax( const char * restrict nptr, char ** restrict endptr, int base); |
Konvertiert einen String in einen ganzzahligen Wert vom Typ uintmax_t. |
intmax_t wcstoimax( const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base); |
Konvertiert einen String mit breiten Zeichen in einen ganzzahligen Wert vom Typ intmax_t. |
uintmax_t wcstoumax( const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base); |
Konvertiert einen String mit breiten Zeichen in einen ganzzahligen Wert vom Typ uintmax_t. |
Die Makros der printf-Familie beginnen alle mit dem Präfix PRI, und die Makros der scanf-Familie beginnen mit dem Präfix SCN. Danach folgt der Konvertierungsspezifizierer d, i, o, x oder X mit dem Typnamen. Für jeden in <stdint.h> definierten Typ gibt es ein Makro. Bei der Übersicht der Makros müssen Sie lediglich noch den Buchstaben N des Makronamens durch die Bit-Breite des Typs austauschen (in der Regel 8, 16, 32 oder 64). Hier sehen Sie alle Makros für die Konvertierungsspezifizierer d, i, o, x oder X (bei scanf() gibt es den Konvertierungsspezifizierer X nicht):
// printf-Makros für signed integers PRIdN PRIdLEASTN PRIdFASTN PRIdMAX PRIdPTR PRIiN PRIiLEASTN PRIiFASTN PRIiMAX PRIiPTR // printf-Makros für unsigned integers PRIoN PRIoLEASTN PRIoFASTN PRIoMAX PRIoPTR PRIuN PRIuLEASTN PRIuFASTN PRIuMAX PRIuPTR PRIxN PRIxLEASTN PRIxFASTN PRIxMAX PRIxPTR PRIXN PRIXLEASTN PRIXFASTN PRIXMAX PRIXPTR // scanf-Makros für signed integers SCNdN SCNdLEASTN SCNdFASTN SCNdMAX SCNdPTR SCNiN SCNiLEASTN SCNiFASTN SCNiMAX SCNiPTR // scanf-Makros für unsigned integers SCNoN SCNoLEASTN SCNoFASTN SCNoMAX SCNoPTR SCNuN SCNuLEASTN SCNuFASTN SCNuMAX SCNuPTR SCNxN SCNxLEASTN SCNxFASTN SCNxMAX SCNxPTR
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.