Как правильно реализовать хорошую функцию "itoa ()"? - PullRequest
9 голосов
/ 09 августа 2010

Мне было интересно, правильна ли моя реализация функции "itoa".Может быть, вы можете помочь мне сделать это немного более «правильным», я почти уверен, что что-то упустил.(Возможно, уже есть библиотека, которая выполняет преобразование так, как я хочу, но ... не могу найти)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

char * itoa(int i) {
  char * res = malloc(8*sizeof(int));
  sprintf(res, "%d", i);
  return res;
}

int main(int argc, char *argv[]) {
 ...

Ответы [ 11 ]

0 голосов
/ 09 августа 2010
main()
{
  int i=1234;
  char stmp[10];
#if _MSC_VER
  puts(_itoa(i,stmp,10));
#else
  puts((sprintf(stmp,"%d",i),stmp));
#endif
  return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...