Tôi đang tạo chương trình hiển thị một số thông tin trong ncurses và sau đó mở vim (sử dụng system
) để cho phép người dùng chỉnh sửa tệp. Sau khi vim được thoát ra, mặc dù, màn hình ncurses sẽ không vẽ lại. refresh
và wrefresh
không làm bất cứ điều gì, dẫn đến việc truy cập hoàn toàn menu đẹp của tôi.C - chuyển từ ncurses ui sang chương trình bên ngoài và quay lại
Vì vậy, tôi được gửi trở lại dòng lệnh. Các mục menu sẽ vẽ lại khi tôi di chuyển đến chúng. Di chuyển xung quanh một kết quả chút trong cái gì đó trông như thế này:
Như bạn thấy, tôi không còn là trong môi trường ncurses khá của tôi ,.
Tôi có thể rớt xuống ncurses hoàn toàn và thiết lập lại mọi thứ, nhưng sau đó một số nội dung (như vị trí menu) không được giữ nguyên.
Làm cách nào để thực hiện điều này một cách chính xác? Có cách nào tốt hơn để gọi một số chương trình bên ngoài và trở lại đây một cách duyên dáng không?
Cảm ơn! Điều này dường như làm việc, nhưng bây giờ tôi trở lại giao diện người dùng của mình và không có tổ hợp phím nào của tôi đăng ký. Vì vậy, tôi phải giết chương trình. Bất kỳ ý tưởng? –
làm thế nào để bạn bắt đầu ncurses? initscr();/* khởi tạo thư viện curses */ bàn phím (stdscr, TRUE);/* bật ánh xạ bàn phím */ nonl();/* nói lời nguyền không làm NL-> CR/NL trên đầu ra */ cbreak();/* lấy từng ký tự nhập một lần, không chờ \ n */ noecho();/* không echo input */ Có điều gì đó đang thay đổi phương thức nhập liệu không? bạn có thể gọi cbreak() khi bạn trả lại – Tree77
Tôi đang làm tất cả những điều trên, vẫn không may mắn. –