Comment convertir long non signé en chaîne

Dans le langage C, comment puis-je convertir des unsigned long de la valeur à une chaîne de caractères (char *) et garder mon code source portable ou tout simplement recompiler pour travailler sur d'autres plate-forme (sans avoir à réécrire le code?

Par exemple, si j'ai sprintf(buffer, format, value)comment puis-je déterminer la taille de tampon avec plate-forme de manière indépendante?

source d'informationauteur Walidix