Tôi đang cố thêm chức năng tự động hoàn tất vào ứng dụng dòng lệnh của mình. Cho đến nay tất cả các câu trả lời đều nói rằng nó là ưu tiên của vỏ nhưng trong trường hợp của tôi thì nó khác. Chương trình của tôi đi vào một vòng lặp (để có được lệnh) trong main()
, vì vậy tôi không nghĩ rằng nó có bất cứ điều gì để làm với vỏ. Làm thế nào tôi có thể đạt được mục tiêu đó?Tự động hoàn thành với C++ (KHÔNG có Shell)
Đây là chương trình của tôi sau đây. Nó bắt đầu phân tích cú pháp khi người dùng truy cập vào (std::getline()
). Làm thế nào tôi có thể nhận được đầu vào của người dùng tại thời gian chạy mà không cần sử dụng bất kỳ thư viện bên ngoài nào?
while (input != "exit") {
std::cout << "\nCommand >> ";
std::getline(std::cin, input);
com.parse(input);
}
Từ cơ sở dữ liệu nào bạn muốn tự động hoàn thành? –
Bạn cần sử dụng thư viện. Hãy xem xét 'readline' nếu nó có sẵn cho nền tảng của bạn. –
@CodyGray có thể là vectơ của từ khóa. – khajvah