這是參考GOOGLE搜尋找出的範例,所做的修改。
由於int的範圍為-2,147,483,648 to 2,147,483,647,因此buf字串長度設定為11。
#include <iostream.h>
char* itoa (const int i)
{
char buf[11];
sprintf (buf, "%d", i);
return buf;
}
int main(void)
{
int a=1000;
char *b;
b=itoa(a);
printf("b=%s",b);
system("pause");
return 0;
}
結果:
b=1000
參考資料:
http://www.cs.nthu.edu.tw/~dr834314/MUD/itoa.html
文章標籤
全站熱搜

不好吧! buf是區域變數,不應當傳回值!
為什麼不適合呢? 抱歉我很少上所以現在才看到。 有什麼原因導致區域變數不應當回傳值?
如果把buf宣告為static應該可以解決樓上的疑問~ 不過這func應該要很常被用到才是,不然一直佔用著空間好像也怪怪的...
基本上是沒有itoa這個東西,倒是有atoi。 其實說穿了也只是列印格式的應用。 sprintf() 是一個很好用的func。如果沒有其他的原因非要用到strcat、strcmp...etc,這些字串處理的func。sprintf()算是很簡便的方式。