C語言---整型字串轉換
C語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串。以下是用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()
itoa並不是一個標準的C函式,它是Windows特有的,如果要寫跨平臺的程式,請用sprintf。
是Windows平臺下擴充套件的,標準庫中有sprintf,功能比這個更強,用法跟printf類似:
char str[255];
sprintf(str, "%x", 100); //將100轉為16進製表示的字串。
函式名: atol
功 能: 把字串轉換成長整型數
用 法: long atol(const char *nptr);
程式例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *str = "98765432";
l = atol(str); /* 原來為l = atol(lstr); */
printf("string = %s integer = %ld/n", str, l);
return(0);
}
atol(將字串轉換成長整型數)
相關函式 atof,atoi,strtod,strtol,strtoul
表頭檔案 #include<stdlib.h>
定義函式 long atol(const char *nptr);
函式說明 atol()會掃描引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('/0')才結束轉換,並將結果返回。
返回值 返回轉換後的長整型數。
附加說明 atol()與使用strtol(nptr,(char**)NULL,10);結果相同。
範例 /*將字串a與字串b轉換成數字後相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d/n”,c);
}
執行 c=1234567890