Cùng tìm hiểu về cách nhập chuỗi trong C++. Bạn sẽ học được cách nhập 1 ký tự trong C++, nhập một chuỗi trong C++, nhập nhiều chuỗi trong C++, cũng như cách nhập chuỗi có khoảng trắng trong C++ sau bài học này.
Tóm Tắt
Nhập 1 ký tự trong C++
Để nhập 1 ký tự trong C++, chúng ta sử dụng lệnh cin trong C++ bằng cú pháp sau đây:
char a;
cin >> a;
Trong đó dòng đầu tiên dùng để khai báo biến a
có kiểu ký tự, và dòng thứ 2 dùng để gán 1 ký tự nhập từ bàn phím vào biến a.
Ví dụ cụ thể:
using
namespace
std
;
int
main
()
{
cout
<<"Nhap 1 ky tu: "
;
char
chr;
cin
>> chr;
cout
<<"Ky tu vua nhap: "
<< chr;
return
0
;}
Khi đó màn hình nhập dữ liệu sẽ như sau:
Nhap 1 ky tu: g
Ky tu vua nhap: g
Nhập vào một chuỗi trong C++
Để nhập vào một chuỗi trong C++, chúng ta cũng sử dụng lệnh cin bằng cú pháp sau đây:
char str[n];
cin >> str
Trong đó dòng đầu tiên dùng để khai báo biến str
có kiểu mảng chuỗi với độ dài n, và dòng thứ 2 dùng để gán 1 chuỗi nhập từ bàn phím vào biến str.
Ví dụ, chúng ta viết chương trình nhập vào một chuỗi ký tự C++ như sau:
using
namespace
std
;
int
main
()
{
cout
<<"Nhap chuoi ky tu: "
;
char
str[100
];
cin
>> str;
cout
<<"Chuoi ky tu vua nhap: "
<< str;
return
0
;}
Khi đó màn hình nhập dữ liệu sẽ như sau:
Nhap chuoi ky tu: abc
Chuoi ky tu vua nhap: abc
Nhập nhiều chuỗi trong C++
Để nhập nhiều chuỗi trong C++ cách nhau bởi dấu cách, chúng ta viết các chuỗi nhập vào cách nhau bởi toán tử >>, khi dùng lệnh cin với cú pháp sau đây:
char str1[n1], str1[n2], str3[n3];
cin >> str1 >> str2 >>str3 ;
Ví dụ, chúng ta viết chương trình nhập nhiều chuỗi trong C++ như sau:
using
namespace
std
;
int
main
()
{
cout
<<"Nhap cac chuoi: "
;
char
str1[16
], str2[16
], str3[16
];
cin
>> str1 >> str2 >>str3 ;
cout
<<"Cac chuoi vua nhap: "
<<str1<<' '
<<str2<<' '
<<str3;}
Khi đó màn hình nhập dữ liệu sẽ hiện ra. Chúng ta nhập từng chuỗi cách nhau bởi dấu cách từ bàn phím như sau:
Nhap cac chuoi: a bc defg
Cac chuoi vua nhap: a bc defg
Nhập chuỗi có khoảng trắng trong C++
Lệnh cin trong C++ chỉ có tác dụng nhập các chuỗi không chứa khoảng trắng. Trong trường hợp cần nhập chuỗi chứa khoảng trắng tạo bởi dấu cách, tab hay ký tự xuống dòng, chúng ta sẽ dùng hàm fgets() để thay thế.
Hàm fgets() là hàm được kế thừa từ ngôn ngữ C, vốn được sử dụng để đọc và lấy dữ liệu từ file trong C++, tuy nhiên chúng ta cũng có thể nhập chuỗi có khoảng trắng trong C++ bằng hàm này với cú pháp sau đây:
fgets(str, sizeof(str)+1, stdin);
Trong đó:
str
là biến để chứa chuỗi cần nhập từ bàn phímsizeof(str)+1
để chỉ định số ký tự lớn nhất có thể nhập bởi hàm fgets(). Ở đây hàmsizeof(str)
sẽ trả về kích cỡ của chuỗi str, bao gồm cả ký tự kết thúc chuỗi\0
, nên chúng ta cần cộng thêm 1 đơn vị vào.stdin
được sử dụng như là con trỏ file trong hàm fgets(). stdin là viết tắt của file header “iostream”, giúp chúng ta có thể nhận đầu vào tiêu chuẩn từ bàn phím.
Và sau đây là ví dụ nhập chuỗi có dấu cách trong C++:
using
namespace
std
;int
main
()
{
cout
<<"Nhap chuoi co ky tu trang: "
;
char
str[10
];fgets(str,
sizeof
(str)+1
,stdin
);
cout
<<"Chuoi vua nhap: "
;
cout
<< str;
return
0
;}
Khi đó màn hình nhập dữ liệu sẽ như sau:
Nhap chuoi co ky tu trang: Viet Nam
Chuoi vua nhap: Viet Nam
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về nhập chuỗi trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành với các ví dụ sau đây.
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 nhé.