Hỏi về hàm cin.ignore()

Xin chào mọi người, em đang code một chương trình nhập xuất cơ bản như sau:

char* a = new char [11];
int n = NULL;
cout << "Moi ban nhap a: "; cin.getline(a,11);
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Moi ban nhap n: "; cin >> n;

Vấn đề của em muốn hỏi là nếu nhập dư ký tự thì nó sẽ tự động ignore nhưng nếu nhập ít hơn hoặc vừa đủ ký tự thì phải enter thêm một lần nữa, vậy có cách nào để lược bỏ phím enter nếu chỉ nhập ít hơn hoặc vừa đủ không ạ ?

xài std::string luôn đi em :V

// <string> chứ ko phải <cstring> hay <string.h>
#include <string> 

std::string a;
while (1) {
    std::cout << "Moi ban nhap a: ";
    std::getline(std::cin, a);
    if (a.size() <= 10) break;
}
5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?