[C] une fonction transformant un int en char *

une fonction transformant un int en char * [C] - Programmation

Marsh Posté le 16-02-2001 à 11:45:39    

en gros je voudrais l'inverse de "atoi"
je suis sûr que ça existe et en plus  ça me soualerait de coder ce genre de fonction
merci d'avance :jap:

Reply

Marsh Posté le 16-02-2001 à 11:45:39   

Reply

Marsh Posté le 16-02-2001 à 12:08:13    

Elle existe essaye itoa je sais plus j'ai pas mon bouquin sous la main mais c'est un truc dans ce genre

Reply

Marsh Posté le 16-02-2001 à 12:13:36    

Ben je crois que ça n'existe pas en fait. En tout cas pas sous SOLARIS.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 16-02-2001 à 12:15:54    

g déjà testé itoa mais ça n'existe po

Reply

Marsh Posté le 16-02-2001 à 13:00:51    

:cry:

Reply

Marsh Posté le 16-02-2001 à 13:11:01    

char chaine[256];
int entier;
 
sprintf(chaine, "%d", entier);


---------------
Développeur de FreeVCR : http://freevcr.ifrance.com [:gilou2]
Reply

Marsh Posté le 16-02-2001 à 13:14:06    

Raaaah vi les solutions les plus simples sont les meilleures. Putain je suis con des fois.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 16-02-2001 à 13:27:28    

c klair j'suis trop con, j'aurais du y penser
 
merci beaucoup :jap:

Reply

Marsh Posté le 16-02-2001 à 16:21:58    

Petite precision quand meme la fonction convertissant en char* existe : _itoa(int,char*,base);

Reply

Marsh Posté le 16-02-2001 à 16:30:20    

Et c'est dans quel include ?

Reply

Marsh Posté le 16-02-2001 à 16:30:20   

Reply

Marsh Posté le 16-02-2001 à 16:37:08    

Alors la question piege, dans la stdlib, je crois mais sans aucune certitude

Reply

Marsh Posté le 16-02-2001 à 17:25:58    

Oui, c'est bien ça (dans stdlib.h) :
char *_itoa( int value, char *string, int radix );
value
  Number to be converted
string
  String result
radix
  Base of value; must be in the range 2 – 36
 
A++

Reply

Marsh Posté le 16-02-2001 à 17:32:41    

Moi je l'ai pas dans stdlib.h (sous linux).

Reply

Marsh Posté le 16-02-2001 à 17:49:15    

C'est une fonction Microsoft _itoa

Reply

Marsh Posté le 16-02-2001 à 18:06:07    

le mieux vu k'elle existe pas ss ttes les archi, c de coder sa propre fonction :
 
int get_nb_chiffre(int nbr)
{
  int result;
 
  result = 0;
  if (!nbr)
    return (1);
  else
    {
      while (nbr)
 {
   nbr %= 10;
   result++;
 }
      return (result);
    }
}
 
char *int_to_str(int nbr)
{
  char *buff;
  char *result;
 
  result = buff = malloc(get_nb_chiffre(nbr) + 1);
  while (nbr)
    {
      *buff++ = '0' + nbr / 10;
      nbr %= 10;
      if (!nbr)
 *buff = '0';
    }
  *buff = 0;
  return (result);
}


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 16-02-2001 à 19:01:04    

:jap:  :jap:  :jap:

Reply

Marsh Posté le 16-02-2001 à 19:10:30    

:)


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 16-02-2001 à 23:13:50    

gilou2 a écrit a écrit :

char chaine[256];
int entier;
 
sprintf(chaine, "%d", entier);




 
Oui, ca c'est la pratique standard des codeurs C.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-02-2001 à 20:58:03    

Je confirme, ça fait 10 ans que je travaille en C sous UNIX et sprintf est ce qu'il y a de plus simple et de plus portable.
 
@+


---------------
---------------------------------------------
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed