2012-01-18 35 views
5

Ok vì vậy tôi đã chỉ tự hỏi làm thế nào các ứng dụng giao diện điều khiển như top(1) cho Linux ghi đè lên nhiều dòng. Tôi muốn biết làm thế nào để làm điều đó cho C + + hoặc C. Tôi biết làm thế nào để ghi đè lên 1 dòng bằng cách chỉ cần đặt một r nhưng tôi muốn biết làm thế nào để làm như vậy cho nhiều dòng, một lần nữa như trong đầu hoặc nếu nó thậm chí có thể.Điều khiển ghi đè như trên

+2

Tùy thuộc vào nền tảng. nền tảng của bạn là gì? – Jon

+0

Linux có lẽ là nơi tôi muốn làm việc này – csteifel

Trả lời

3

Họ sử dụng trình tự thoát thiết bị đầu cuối để di chuyển con trỏ xung quanh màn hình. Một số thậm chí sử dụng truy cập trực tiếp bộ đệm khung, để xử lý màn hình dưới dạng một mảng các ký tự có thể được lập chỉ mục trực tiếp.

Thư viện curses (hoặc ncurses) là lớp trừu tượng tốt.

+0

Chỉ cần một lưu ý, nhưng những lời nguyền không thực sự tồn tại trên Windows: [Có ncurses có sẵn cho Windows] (http://stackoverflow.com/q/138153/ 16487) –

+0

@ C.Ross: Câu hỏi đó hỏi về trình giả lập thiết bị đầu cuối thay thế hỗ trợ API nguyền rủa. 'curses' chắc chắn có sẵn cho các ứng dụng chế độ console. –

+0

pdcurses thực sự là rất có thể sử dụng, tôi đã không có bất kỳ vấn đề với porting ncurses ứng dụng của tôi bằng cách sử dụng các ký tự ASCII cơ bản để pdcurses trên Windows. nếu bạn đang sử dụng ncursesw, UTF-8 tương thích hóa thân của ncurses, có thể bạn sẽ gặp nhiều rắc rối hơn. –

2

Điều này có thể không trực tiếp giải quyết câu hỏi, nhưng loại điều này phụ thuộc vào thiết bị đầu cuối và thường được thực hiện với thực hiện lời nguyền (ncurses được sử dụng rộng rãi nhất).

Các vấn đề liên quan