
Envoyé par
jeroman
Dans ce cas, si je comprends bien, il faut convertir un nombre en une chaine de caractère qui le représente. Exemple, conversion du nombre 12345.6789 en chaine "12345.6789".
Il faut déjà connaitre le nombre maximal de caractères que la chaine contiendra. Comme on n'est pas censé la connaitre (vu que le nombre peut être plus ou moins grand), tu peux utiliser une valeur arbitraire qui correspondra au nombre maximal de caractère qui ne sera jamais dépassé.
Tu peux créer un tableau local à la fonction de cette taille, que tu te servira pour convertir le nombre en chaine de caractères. Pour la conversion, tu peux utiliser la fonction sprintf.
Ensuite, tu calcules la longueur réelle de cette chaîne via strlen, dont tu te serviras pour allouer de la mémoire sur le tas (grâce à malloc), sans oublier de rajouter 1 à la taille (pour le '\0' de fin). Il faut bien vérifier que malloc n'a pas échoué.
Puis si tout est bon, il suffit de copier le tableau local vers la mémoire allouée grâce à strncpy.
Puis tu retournes l'adresse de la mémoire allouée.
Partager