C++ 中的atol() 函數解釋字符串的內容並返回其對應的整數值。
atol() 原型
long int atol(const char* str);
它在<cstdlib> 頭文件中定義。
atol() 函數以字符串為參數,將其內容解釋為整數,並在 long int
中返回相應的值。
參數:
- str- 具有整數表示的字符串。
返回:
atol() 函數返回:
long int
值(從字符串轉換而來)。- 如果無法執行有效轉換,則為 0。
如果轉換後的值超出範圍,則會導致未定義的行為。
示例 1:atol() 函數如何工作?
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
char s[] = "-114";
double number;
cout << "Number in String = " << s << endl;
number = atol(s);
cout << "Number in Long Int = " << number;
return 0;
}
運行程序時,輸出將是:
Number in String = -114 Number in Long Int = -114
atol() 函數的有效整數值由可選的 + 或 - 符號後跟數字組成(0-9). atol() 函數不支持十六進製、無窮大和NaN
像這樣的表達atof.
通常,atol() 函數的有效整數參數具有以下形式:
[whitespace] [- | +] [digits]
atol() 函數會忽略所有前導空白字符,直到找到主要的非空白字符。
然後,從這個字符開始,它需要盡可能多的字符來形成一個有效的整數表示並將它們轉換為一個 long int 值。在最後一個有效字符之後字符串的剩餘部分將被忽略並且對結果沒有影響。
示例 2:atol() 帶有空格和尾隨字符的函數
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
cout << "Number in String = " << " 13" << endl;
cout << "Number in Long Int = " << atol(" 13") << endl << endl;
cout << "Number in String = " << " 25 " << endl;
cout << "Number in Long Int = " << atol(" 25 ") << endl << endl;
cout << "Number in String = " << "41.90abcd" << endl;
cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl;
// Returns 0 because of invalid conversion
cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl;
return 0;
}
運行程序時,輸出將是:
Number in String = 13 Number in Long Int = 13 Number in String = 25 Number in Long Int = 25 Number in String = 41.90abcd Number in Long Int = 41 abcd14 to Long Int = 0
相關用法
- C++ atoll()用法及代碼示例
- C++ atof()用法及代碼示例
- C++ atoi()用法及代碼示例
- C++ atexit()用法及代碼示例
- C++ atan()用法及代碼示例
- C++ complex atanh()用法及代碼示例
- C++ at_quick_exit()用法及代碼示例
- C++ complex atan()用法及代碼示例
- C++ atan2()用法及代碼示例
- C++ atanh()用法及代碼示例
- C++ any_of()用法及代碼示例
- C++ abort()用法及代碼示例
- C++ complex acosh()用法及代碼示例
- C++ array at()用法及代碼示例
- C++ array::fill()、array::swap()用法及代碼示例
- C++ array::size()用法及代碼示例
- C++ array::rbegin()、array::rend()用法及代碼示例
- C++ complex abs()用法及代碼示例
- C++ array::front()、array::back()用法及代碼示例
- C++ array::front()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ atol()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。