Nhập chuỗi trong C++

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.

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ím
  • sizeof(str)+1 để chỉ định số ký tự lớn nhất có thể nhập bởi hàm fgets(). Ở đây hàm sizeof(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é.