#include <stdlib.h>函數
1.int/float to string/array:spa
C語言提供了幾個標準庫函數,能夠將任意類型(整型、長整型、浮點型等)的數字轉換爲字符串,下面列舉了各函數的方法及其說明。
● itoa():將整型值轉換爲字符串。
● ltoa():將長整型值轉換爲字符串。
● ultoa():將無符號長整型值轉換爲字符串。
● gcvt():將浮點型數轉換爲字符串,取四捨五入。
● ecvt():將雙精度浮點型值轉換爲字符串,轉換結果中不包含十進制小數點。
● fcvt():指定位數爲轉換精度,其他同ecvt()。
除此外,還可使用sprintf系列函數把數字轉換成字符串,其比itoa()系列函數運行速度慢
2. string/array to int/float
C/C++語言提供了幾個標準庫函數,能夠將字符串轉換爲任意類型(整型、長整型、浮點型等)。
● atof():將字符串轉換爲雙精度浮點型值。
● atoi():將字符串轉換爲整型值。
● atol():將字符串轉換爲長整型值。
● strtod():將字符串轉換爲雙精度浮點型值,並報告不能被轉換的全部剩餘數字。
● strtol():將字符串轉換爲長整值,並報告不能被轉換的全部剩餘數字。
● strtoul():將字符串轉換爲無符號長整型值,並報告不能被轉換的全部剩餘數字。
如下是用itoa()函數將整數轉換爲字符串的一個例子:
# include <stdio.h>
# include <stdlib.h>
void main (void)
{
int num = 100;
char str[25];
itoa(num, str, 10);
printf("The number 'num' is %d and the string 'str' is %s. \n" ,
num, str);
}
itoa()函數有3個參數:第一個參數是要轉換的數字,第二個參數是要寫入轉換結果的目標字符串,第三個參數是轉移數字時所用 的基數。在上例中,轉換基數爲10。10:十進制;2:二進制...
itoa並非一個標準的C函數,它是Windows特有的,是Windows平臺下擴展的,
若是要寫跨平臺的程序,請用sprintf,幷包含stdio.h頭文件。標準庫中有sprintf,功能比這個更強,用法跟printf相似:
#include <stdio.h>
char str[255]; sprintf(str, "%x", 100); //將100轉爲16進製表示的字符串。