2 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
附加 gcc 參數(shù) -lxxxx 方式調(diào)用提供 itoa 函數(shù)接口的庫(kù)。
不過(guò)你需要確定這個(gè)xxxx 應(yīng)該是哪個(gè)才行。
你現(xiàn)在提示是 undefined reference 而不是提示函數(shù)未定義。所以應(yīng)該代碼沒(méi)問(wèn)題,是編譯環(huán)境的函數(shù)庫(kù)調(diào)用有問(wèn)題。
你怎么裝的開發(fā)環(huán)境?不會(huì)是裝了頭文件沒(méi)裝對(duì)應(yīng) so 吧?

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
#include <stdlib.h>
int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);
linux下面沒(méi)對(duì)應(yīng)的好像,我man 沒(méi)有查到.
給你直接找到一個(gè)實(shí)現(xiàn),你放到自己代碼里面就可以了
void itoa ( unsigned long val, char *buf, unsigned radix )
{
char *p; /* pointer to traverse string */
char *firstdig; /* pointer to first digit */
char temp; /* temp char */
unsigned digval; /* value of digit */
p = buf;
firstdig = p; /* save pointer to first digit */
do {
digval = (unsigned) (val % radix);
val /= radix; /* get next digit */
/* convert to ascii and store */
if (digval > 9)
*p++ = (char ) (digval - 10 + 'a '); /* a letter */
else
*p++ = (char ) (digval + '0 '); /* a digit */
} while (val > 0);
/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */
*p-- = '\0 '; /* terminate string; p points to last digit */
do {
temp = *p;
*p = *firstdig;
*firstdig = temp; /* swap *p and *firstdig */
--p;
++firstdig; /* advance to next two digits */
} while (firstdig < p); /* repeat until halfway */
}
添加回答
舉報(bào)