03. december 2002 - 02:14Der er
3 kommentarer og 1 løsning
atoi(); hvordan i C?
Hej Eksperter
Jeg 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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
sprintf liger i stdio sammen med de andre printf'er.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.