歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux C編程 itoa()函數 atoi()函數

Linux C編程 itoa()函數 atoi()函數

日期:2017/3/1 9:44:17   编辑:Linux編程

今天在Ubuntu下編程,發現Linux內核中只有atoi()函數,被包含在stdlib.h頭文件中,而沒有itoa()函數,不過,itoa()函數的功能可以用sprintf()函數代替。如

int nValue = 80;

char* szBuffer = (char *)malloc(sizeof(int) + 1); //分配動態內存

memset(szBuffer, 0, sizeof(int) + 1); //內存塊初始化

sprintf(szBuffer, "%d", nValue); //整數轉化為字符串

free(szBuffer); //釋放動態分配的內存

sprintf 跟printf 在用法上幾乎一樣,只是打印的目的地不同而已,前者打印到字符串中,後者則直接在命令行上輸出。這也導致sprintf 比printf 有用得多。

sprintf 是個變參函數,定義如下:

int sprintf( char *buffer, const char *format [, argument] ... );

除了前兩個參數類型固定外,後面可以接任意多個參數。而它的精華顯然就在第二個參數:

格式化字符串上。

sprintf 最常見的應用之一莫過於把整數打印到字符串中,所以 spritnf 在大多數場合可以替代 itoa。

C語言梳理一下,分布在以下10個章節中:

  1. Linux-C成長之路(一):Linux下C編程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
  2. Linux-C成長之路(二):基本數據類型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
  3. Linux-C成長之路(三):基本IO函數操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
  4. Linux-C成長之路(四):運算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
  5. Linux-C成長之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
  6. Linux-C成長之路(六):函數要義 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
  7. Linux-C成長之路(七):數組與指針 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
  8. Linux-C成長之路(八):存儲類,動態內存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
  9. Linux-C成長之路(九):復合數據類型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
  10. Linux-C成長之路(十):其他高級議題

C++ Primer Plus 第6版 中文版 清晰有書簽PDF+源代碼 http://www.linuxidc.com/Linux/2014-05/101227.htm

Copyright © Linux教程網 All Rights Reserved