Quelle est la différence entre stdint.h et inttypes.h?
Si aucun d'entre eux est utilisé, un uint64_t n'est pas reconnu mais avec eux, c'est un type défini.
Quelle est la différence entre stdint.h et inttypes.h?
Si aucun d'entre eux est utilisé, un uint64_t n'est pas reconnu mais avec eux, c'est un type défini.
Y compris ce fichier est la "condition minimale" si vous voulez travailler avec l'-largeur entier types de C99 (c'est à dire "int32_t", "uint16_t" etc.). Si vous incluez ce fichier, vous obtiendrez les définitions de ces types, de sorte que vous serez en mesure d'utiliser ces types de déclarations de variables et de fonctions, et effectuer des opérations avec ces types de données.
Si vous incluez ce fichier, vous aurez tout ce que stdint.h (car inttypes.h comprend stdint.h), mais vous obtiendrez également des installations pour faire des printf et scanf (et "fprintf, "fscanf", et ainsi de suite.) avec ces types de façon portable. Par exemple, vous obtiendrez le "PRIu16" macro de sorte que vous pouvez printf une uint16_t entier comme ceci:
#include <stdio.h>
#include <inttypes.h>
int main (int argc, char *argv[]) {
// Only requires stdint.h to compile:
uint16_t myvar = 65535;
// Requires inttypes.h to compile:
printf("myvar=%" PRIu16 "\n", myvar);
}
Voir l'article de wikipedia pour inttypes.h.
Utilisation stdint.h pour un ensemble minimal de définitions; utilisation inttypes.h si vous avez aussi besoin de support portatif pour ces dans printf, scanf, et al.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.