C ++ atol () - Thư viện chuẩn C ++

Hàm atol () trong C ++ diễn giải nội dung của một chuỗi và trả về giá trị nguyên tương ứng của nó.

atol () Nguyên mẫu

 long int atol (const char * str);

Nó được định nghĩa trong tệp tiêu đề.

Hàm atol () nhận chuỗi làm tham số, diễn giải nội dung của nó dưới dạng số tích phân và trả về giá trị tương ứng trong long int.

tham số atol ()

  • str - Một chuỗi có biểu diễn của một số tích phân.

atol () Giá trị trả về

Hàm atol () trả về:

  • một long intgiá trị (được chuyển đổi từ chuỗi).
  • 0 nếu không thể thực hiện chuyển đổi hợp lệ.

Nếu giá trị được chuyển đổi nằm ngoài phạm vi, nó gây ra hành vi không xác định.

Ví dụ 1: Hàm atol () hoạt động như thế nào?

 #include #include 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; ) 

Khi bạn chạy chương trình, đầu ra sẽ là:

 Số trong chuỗi = -114 Số trong Long Int = -114

Giá trị số nguyên hợp lệ cho hàm atol () bao gồm một dấu + hoặc - tùy chọn theo sau là các chữ số (0-9) . Hàm atol () không hỗ trợ hệ thập lục phân, vô cực và NaNbiểu thức như hàm atof ().

Nói chung, đối số nguyên hợp lệ cho hàm atol () có dạng sau:

 (khoảng trắng) (- | +) (chữ số)

Hàm atol () bỏ qua tất cả các ký tự khoảng trắng hàng đầu cho đến khi tìm thấy ký tự không phải khoảng trắng chính.

Sau đó, bắt đầu từ ký tự này, cần nhiều ký tự nhất có thể để tạo thành biểu diễn số nguyên hợp lệ và chuyển đổi chúng thành giá trị int dài. Bất cứ thứ gì còn lại của chuỗi sau ký tự hợp lệ cuối cùng sẽ bị bỏ qua và không ảnh hưởng đến kết quả.

Ví dụ 2: Hàm atol () với Khoảng trắng và các ký tự ở cuối

 #include #include 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; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Số trong chuỗi = 13 Số trong dài Int = 13 Số trong chuỗi = 25 Số trong dài Int = 25 Số trong chuỗi = 41,90abcd Số trong dài Int = 41 abcd14 đến Long Int = 0

thú vị bài viết...