Chuyển đổi xâu kí tự sang các kiểu khác.
Vì một xâu kí tự có thể biểu diễn nhiều kiểu dữ liệu khác như dạng số nên việc
chuyển đổi nội dung như vậy sang dạng số là rất hữu ích. Ví dụ, một xâu có thể
mang giá trị
"1977"
nhưng đó là một chuỗi gồm 5 kí tự (kể cả kí tự null) và
không dễ gì chuyển thành một số nguyên. Vì vậy thư viện
cstdlib
(
stdlib.h
)
đã cung cấp 3 macro/hàm hữu ích sau:
atoi: chuyển xâu thành kiểu
int
.
atol: chuyển xâu thành kiểu
long
.
atof: chuyển xâu thành kiểu
float
.
Tất cả các hàm này nhận một tham số và trả về giá trị số (
int
,
long
hoặc
float
). Các hàm này khi kết hợp với phương thức
getline
của
cin
là một cách
đáng tin cậy hơn phương thức
cin>>
cổ điển khi yêu cầu người sử dụng nhập
vào một số:
// cin and ato* functions
#include <iostream.h>
#include <stdlib.h>
int main ()
{
char mybuffer [100];
float price;
int quantity;
cout << "Enter price: ";
cin.getline (mybuffer,100);
price = atof (mybuffer);