3
Làm thế nào để nhập chuỗi có khoảng trắng trong C++?
0
huuchien8880 đã đăng:
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cout << "Nhap vao 1 chuoi: ";
    cin >> str;

    cout << "Chuoi da nhap: " << str << "\n";
    return 0;
}

Ví dụ mình nhập chuỗi "Cuoc song ma", thì cin chỉ nhận được từ "Cuoc", cho mình hỏi làm thế nào để đọc hết câu nhập từ màn hình và lưu vào str, cảm ơn.

thêm bình luận...
2
Nguyên Lộc20 đã đăng:
#include <string>
#include <iostream>
using namespace std;

int main() {
    string str;
    cout << "Nhap vao 1 chuoi: ";
    getline(cin, str);

    cout << "Chuoi da nhap la: " << str << endl;
    return 0;
}

getline nằm trong thư viện <string>, #include <string> trước khi sử dụng.

đã bổ sung 5.5 năm trước bởi

Nhập khoảng trắng vào bảo sai, giúp em với @@.

Cộng đồng 30.08.2019

Nhập khoảng trắng chương trình vẫn chạy đúng mà bạn, bạn check lại xem.

Nguyên Lộc 30.08.2019

sao e làm y hệt nhưng của em nó bỏ qua đoạn đó mà nó tới khúc nhập kế tiếp là sao ạ

Cộng đồng 17.10.2023

Chắc console của bạn bị dính buffer nên hàm getline nó bỏ qua luôn, bạn thử cin.ignore() hoặc cin.clear(); cin.sync();

Cộng đồng 18.10.2023
thêm bình luận...
1
Ðức Duy20 đã đăng:

Mặc định không bao giờ là đủ, đối tượng cin trong C++ hỗ trợ thêm phương thức getline giúp đọc câu với khoảng trắng, bạn chỉ cần gọi phương thức getline từ chính cin:

char str[100];
cout << "Nhap vao 1 chuoi: ";
cin.getline(str, sizeof(str));

cout << "Chuoi da nhap: " << str << "\n";

Lập trình thuần trong C++ nên dùng kiểu dữ liệu string thay vì mảng char để lưu chuỗi, string sẽ có nhiều ưu điểm hơn, ví dụ như string không cần phải khai báo trước số lượng ký tự như trong mảng char bởi vì sự thật là chúng ta không hề biết chuỗi nhập vào có độ dài là bao nhiêu mà ước lượng cả, có thể thừa hoặc thiếu, không những thế trong trường hợp này, câu hỏi cũng đang yêu cầu đọc dữ liệu và lưu vào kiểu string.

Nguyên Lộc 29.10.2018
thêm bình luận...
0
Cộng đồng đã đăng:

Chúng ta dùng hàm fgets để nhập chuỗi có khoảng trắng trong C++.

Link tham khảo: Nhập chuỗi có khoảng trắng trong C++

thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)