Bonjour à tous.
Je cherche à écrire un petit code pour transformer un nombre en chaîne de caractères. Après quelques recherches Google, je décide d'utiliser la fonction SPRINTF. J'ai écrit quelques lignes de codes qui fonctionnent mais je voulais savoir si elles étaient correctes, dans le sens "respectent-elles les règles de bon usage?".
Cela concerne notamment l'utilisation de NULL comme argument de SPRINTF pour connaitre la taille de la chaine à écrire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "stdlib.h" #include "stdio.h" int main(void) { int a = 0x42; int i=-666; char *ptChaine=NULL; // on regarde la taille necessaire pour ecrire la chaine i = sprintf(NULL, "le nombre a est egal a : %x\ n",a); // on alloue la chaine sinon elle reste à NULL avec le sprintf ptChaine = malloc(i); // on peut enfin l'écrire sprintf(ptChaine,"le nombre a est egal a : 0x%x\n",a); // et l'afficher puts(ptChaine); system("pause"); return 0; }
Merci d'avance
Partager