31/08/2018, 15:21

Hàm strtol() trong C

Hàm long int strtol(const char *str, char **endptr, int base) trong Thư viện C chuẩn chuyển đổi một phần của chuỗi ban đầu trong str thành một giá trị long int tương ứng với cơ số base đã cho, mà phải là 2, 8, …, 36, hoặc là giá trị đặc biệt 0. Khai ...

Hàm long int strtol(const char *str, char **endptr, int base) trong Thư viện C chuẩn chuyển đổi một phần của chuỗi ban đầu trong str thành một giá trị long int tương ứng với cơ số base đã cho, mà phải là 2, 8, …, 36, hoặc là giá trị đặc biệt 0.

Khai báo hàm strtol() trong C

Dưới đây là phần khai báo cho hàm strtol() trong C:

long int strtol(const char *str, char **endptr, int base)

Tham số

str -- Đây là chuỗi biểu diễn một số nguyên.

endptr -- Đây là tham chiếu tới một đối tượng đã được cấp phát của kiểu char*, có giá trị được thiết lập bởi hàm tới ký tự kế tiếp trong str sau giá trị số.

base -- Đây là cơ số, phải là 2, 8,…, 36, hoặc là giá trị đặc biệt 0.

Trả về giá trị

Hàm này trả về số nguyên đã được chuyển đổi dưới dạng một giá trị long int. Nếu không thì hàm trả về giá trị 0.

Ví dụ

Chương trình C sau minh họa cách sử dụng của hàm strtol() trong C:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char str[30] = "21.32301 Hoc C tai QTM";
   char *ptr;
   long ret;

   ret = strtol(str, &ptr, 10);
   printf("Phan gia tri so (unsigned long int) la: %ld
", ret);
   printf("Phan chuoi la: |%s|", ptr);

   return(0);
}

Biên dịch và chạy chương trình C trên để xem kết quả.

Theo Tutorialspoint

Bài trước: Hàm strtod() trong C

Bài tiếp: Hàm strtoul() trong C

0