Hàm atoi() trong c

      82
Hướng dẫn cách chuyển chuỗi thành số trong C. Bạn sẽ học được cách sử dụng hàm sprintf() và itoa() để chuyển chuỗi thành số trong C sau bài học này.Chúng ta có 3 phương pháp để chuyển chuỗi thành số trong C như sau:Hàm atoi(): Chuyển string sang int trong CHàm atol(): Chuyển string sang long trong CHàm atof(): Chuyển string sang float trong C

Chuyển string sang int trong C | hàm atoi()

Hàm atoi() là một hàm có sẵn trong header file stdlib.h, giúp chúng ta chuyển string sang int trong C.Chúng ta sử dụng hàm strcpy() để chuyển string sang int với cú pháp sau đây:
Trong đó str là chuỗi cần chuyển thành số.Nếu chuỗi chỉ định có thể chuyển sang int thì hàm atoi() sẽ chuyển chuỗi đó sang kiểu số nguyên. Tuy nhiên nếu chuỗi đó không thể chuyển sang kiểu số nguyên int thì giá trị 0 sẽ được trả về.Lại nữa, trong trường hợp chuỗi chỉ định chứa cả thành phần có thể và không thể chuyển sang kiểu int thì hàm atoi() sẽ chỉ chuyển phần string có thể chuyển thành int tính từ đầu chuỗi mà thôi.Và nếu như ở đầu chuỗi chỉ định chứa ký tự trắng (dấu cách, tab hay xuống dòng) thì hàm atoi() sẽ bỏ qua chúng cho tới khi tìm thấy ký tự khác ký tự trắng đầu tiên xuất hiện.Và chúng ta cần phải viết thêm dòng #include để load header file stdlib.h để có thể sử dụng được hàm atoi() trong chuơng trình.Ví dụ cụ thể:Copy#include #include int main(void){ /* Chuỗi chứa số nguyên int*/ char str0<> = "123"; /* Chuỗi chứa số thực có một phần số nguyên*/ char str1<> = "123"; /* Chuỗi chứa cả phần có thể và không thể chuyển sang int*/ char str2<> = "-123ab"; /* Chuỗi chứa ký tự trắng đầu chuỗi*/ char str3<> = " \n\t123ab"; /* Chuỗi không thể chuyển sang số nguyên*/ char str4<> = "a123b"; int num0 = atoi(str0); int num1 = atoi(str1); int num2 = atoi(str2); int num3 = atoi(str3); int num4 = atoi(str4); printf("%s => %d\n", str0,num0); printf("%s => %d\n", str1,num1); printf("%s => %d\n", str2,num2); printf("%s => %d\n", str3,num3); printf("%s => %d\n", str4,num4); return 0;}
Kết quả:Copy123 => 123123 => 123-123ab => -123 123ab => 123a123b => 0

Chuyển string sang long trong C

Tương tự như với hàm atoi() thì chúng ta có các hàm atol() để chuyển string sang long trong C.Cú pháp và cách sử dụng của hàm này thì hoàn toàn tương tự như với hàm atoi() như sau:
Ví dụ cụ thể:Copy#include #include #include int main () { long val; char str<20>; strcpy(str, "11111.22abac"); val = atof(str); printf("%s => %ld\n", str, val); return(0);}//1111.22abac => 11111

Chuyển string sang float trong C

Tương tự như với hàm atoi() thì chúng ta có các hàm atof() để chuyển string sang float trong C.Cú pháp và cách sử dụng của hàm này thì hoàn toàn tương tự như với hàm atoi() như sau:
Ví dụ cụ thể:Copy#include #include #include int main () { float val; char str<20>; strcpy(str, "11.22abac"); val = atof(str); printf("%s => %.2f\n", str, val); return(0);}//11.22abac => 11.22

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tính chuyển chuỗi thành số trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.