[linux] mettre des zéros devant un nombre
Bon, je profite que je suis lancé. Voilà mon problème : Je dois inscrire dans un fichier des nombres allant disons de 1 à 25. Mais je voudrais qu'il m'affiche 01, 02, 03, ... jusqu'à 25 (en gros je veux deux chiffres). Le but étant de pouvoir retransformer la chaîne de caractètes en un nombre avec la fonction sscanf.
Mais déjà, sans passer par le fichier, j'ai un problème. Voilà le bout de code qui me pose problème :
Code:
1 2 3 4 5 6
|
// KEYCODE=1
sprintf(buffer,"%2d",KEYCODE);
// en affichant buffer j'obtiens un espace puis le chiffre 1 et pas 01
sscanf(buffer,"%d",key);
// de ce fait, sscanf me plante un segmentation fault. |
Voilà, si quelqu'un a la solution a mon problème, ça serait sympa parce que j'ai essayé avec les hexadécimaux et les flottants, c'est tjs le même problème, même en mettant %2d à sscanf, j'ai tjs un SegFault ..... :?
Re: [linux] mettre des zéros devant un nombre
Citation:
Envoyé par le mage tophinus
Voilà mon problème : Je dois inscrire dans un fichier des nombres allant disons de 1 à 25. Mais je voudrais qu'il m'affiche 01, 02, 03, ... jusqu'à 25 (en gros je veux deux chiffres). Le but étant de pouvoir retransformer la chaîne de caractètes en un nombre avec la fonction sscanf.
*printf() avec "%02d" comme indiqué dans ton livre de C...