c字串轉換函式atoi、atof、atol
阿新 • • 發佈:2019-02-07
c開發中會常會借用一些函式來完成數字到字串、字串到數字的轉換功能,下面列舉幾個常用到的字串轉換函式:
1. atof
函式原型: double atof(const char *nptr)
標頭檔案:#include<stdlib.h>
函式說明:atof()函式會掃描引數nptr字串,跳過前面的空格
字元,直到遇上數字或正負符才開始做轉換,而再次遇到非數字或字
符串結束('\0')的時候才結束轉換,並將結果返回。引數nptr字元
串可以包含正負號、小數點或E(e)來表示的指數部分,
如:23.45/123e-2;
函式傳入值:nptr:浮點型指標
函式返回值:返回轉換後的浮點型數
2. atoi
函式原型: int atoi(const char *nptr)
標頭檔案:#include<stdlib.h>
函式說明:atoi()會掃描引數nptr字串,跳過前面的空格字元,
直到遇上數字或正負號才開始做轉換,而再遇到非數字或字串結
束('\0')時候才結束轉換,並將結果返回;
函式傳入值:短整型指標
函式返回值:返回轉換後的整型數
3.atol
函式原型: long atol(const char *nptr)
標頭檔案: #include<stdlib.h>
函式說明:atol()會掃描引數nptr字串,跳過前面的空格字元,
直到遇到數字或正負符號才開始做轉換,而再遇到非數字或字串結
束符('\0' )時才結束轉換,並將結果返回
函式傳入值:nptr:長整形指標
函式返回值:返回轉換後的長整型數
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char str[] = "-200";
char buf[] = "2000000";
char *arr = "-100.25";
int a;
long b;
double c;
a = atoi(str);
b = atol(buf);
c = atof(arr);
printf ("a = %d\nb = %ld\nc = %.2f\n", a, b, c);
system("pause");
return 0;
}
結果:
a = -200
b = 2000000
c = -100.25