J. Soulie
Một phương thức thường dùng khác để gán giá trị cho một mảng là sử dụng
trực tiếp dòng nhập dữ liệu (
cin
). Trong trường hợp này giá trị của xâu kí tự
được gán bởi người dùng trong quá trình chương trình thực hiện.
Khi
cin
được sử dụng với các xâu kí tự nó thường được dùng với phương thức
getline
của nó, phương thức này có thể được gọi như sau:
cin.getline ( char buffer[], int length, char delimiter = \n
);
trong đó
buffer
(bộ đệm) là địa chỉ nơi sẽ lưu trữ dữ liệu vào (như là một mảng
chẳng hạn),
length
là độ dài cực đại của bộ đệm (kích thước của mảng) và
delimiter
là kí tự được dùng để kết thúc việc nhập, mặc định - nếu chúng ta
không dùng tham số này - sẽ là kí tự xuống dòng (
\n
).
Ví dụ sau đây lặp lại tất cả những gì bạn gõ trên bàn phím. Nó rất đơn giản
nhưng là một ví dụ cho thấy bạn có thể sử dụng
cin.getline
với các xâu kí tự
như thế nào:
// cin with strings
#include <iostream.h>
int main ()
{
char mybuffer [100];
cout << "What s your name? ";
cin.getline (mybuffer,100);
cout << "Hello " << mybuffer << ".\n";
cout << "Which is your favourite team? ";
cin.getline (mybuffer,100);
cout << "I like " << mybuffer << " too.\n";