Преобразование целого числа в двоичное в C

Я пытаюсь преобразовать целое число 10 в двоичное число 1010.

Этот код пытается это сделать, но я получаю segfault в strcat ()):

int int_to_bin(int k)
{
   char *bin;

   bin = (char *)malloc(sizeof(char));
   while(k>0) {
      strcat(bin, k%2);
      k = k/2;
      bin = (char *)realloc(bin, sizeof(char) * (sizeof(bin)+1));
   }
   bin[sizeof(bin)-1] = '\0';

   return atoi(bin);
}

Как преобразовать целое число в двоичное на языке C?

6
задан Eric Leschinski 13 June 2014 в 19:13
поделиться