1. 程式人生 > >stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6個可以將字串轉換為數字的函式

stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6個可以將字串轉換為數字的函式

標頭檔案:#include <stdlib.h>

atoi() 函式用來將字串轉換成整數(int),其原型為:
int atoi (const char * str);

【函式說明】atoi() 函式會掃描引數 str 字串,跳過前面的空白字元(例如空格,tab縮排等,可以通過 isspace() 函式來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('\0')才結束轉換,並將結果返回。

【返回值】返回轉換後的整型數;如果 str 不能轉換成 int 或者 str 為空字串,那麼將返回 0。

溫馨提示:ANSI C 規範定義了 stof()

atoi()atol()strtod()strtol()strtoul() 共6個可以將字串轉換為數字的函式,大家可以對比學習。另外在 C99 / C++11 規範中又新增了5個函式,分別是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介紹,請大家自行學習。

範例:將字串a 與字串b 轉換成數字後相加。

 
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main ()
  5. {
  6.     int i;
  7.     char buffer[256];
  8.     printf ("Enter a number: ");
  9.     fgets (buffer, 256, stdin);
  10.     i = atoi (buffer);
  11.     printf ("The value entered is %d.", i);
  12.  
  13.     system("pause");
  14.     return 0;
  15. }

執行結果:
Enter a number: 233cyuyan
The value entered is 233.