return 0;
}
What s your name? Juan
Hello Juan.
Which is your favourite team? Inter Milan
I like Inter Milan too.
Chú ý trong cả hai lời gọi
cin.getline
chúng ta sử dụng cùng một biến xâu
(
mybuffer
). Những gì chương trình làm trong lời gọi thứ hai đơn giản là thay
thế nội dung của
buffer
trong lời gọi cũ bằng nội dung mới.
Nếu bạn còn nhớ phần nói về giao tiếp với, bạn sẽ nhớ rằng chúng ta đã sử
dụng toán tử
>>
để nhận dữ liệu trực tiếp từ đầu vào chuẩn. Phương thức này có
thể được dùng với các xâu kí tự thay cho
cin.getline
. Ví dụ, trong chươn
trình của chúng ta, khi chúng ta muốn nhận dữ liệu từ người dùng chúng ta có
thể viết:
cin >> mybuffer;
lệnh này sẽ làm việc như nó có những hạn chế sau mà
cin.getline
không có:
Nó chỉ có thể nhận những từ đơn (không nhận được cả câu) vì phương
thức này sử dụng kí tự trống(bao gồm cả dấu cách, dấu tab và dấu xuống
dòng) làm dấu hiệu kết thúc..
Nó không cho phép chỉ định kích thước cho bộ đệm. Chương trình của bạn
có thể chạy không ổn định nếu dữ liệu vào lớn hơn kích cỡ của mảng chứa
nó.
Vì những nguyên nhân trên, khi muốn nhập vào các xâu kí tự bạn nên sử dụng
cin.getline
thay vì
cin >>
.