atoi(); hvordan i C?
Hej EksperterJeg sidder og skal typecaste en int til char i c i linux, men kan ikke finde den korrekte syntaks for kaldet. Jeg kan heller ikke finde den i stdlib.h (der er kun atoi();).
Jeg fandt en kodestump på nettet hvor der var nogle der havde kodet den men den virker ikke får en parse error i slutningen?
Er der nogle der kender standardkaldet til funktionen uden jeg behøves at kode den selv?
Eller nogle der har den korrekte kode til C i linux.
Koden:
char *itoa(int val, char *ptr)
{
int sign = (val < 0) ? -1 : 1;
char tmp[16];
int i = 0, j = 0;
val = sign * val;
while (val != 0)
{
tmp[i] = (val % 10) + '0';
val = val / 10;
i++;
}
if (i == 0)
{
strcpy(ptr, "0");
}
else
{
if (sign == -1)
{
ptr[j] = '-';
j++;
}
while (i != 0)
{
ptr[j] = tmp[i - 1];
i--;
j++;
}
ptr[j] = '\000';
}
}
Jeg har prøvet at kalde den på 2 måder:
char *Variabel_p;
int Value;
Variable = itoa(Value,Variable_p);
eller bare:
itoa(Value,Variable_p);
Jeg får desuden en Warning: passing arg 1 of 'itoa' makes integer from pionter without a cast.