Một chương trình đang chạy trong một thiết bị đầu cuối text/console có thể thao tác văn bản được hiển thị trong giao diện điều khiển của nó theo những cách khác nhau (làm cho văn bản in đậm, di chuyển con trỏ, màn hình rõ ràng vv). Điều này được thực hiện bằng cách in các chuỗi ký tự đặc biệt, được gọi là "escape sequences" (vì chúng thường bắt đầu bằng Escape, ASCII 27).
Nếu thiết bị đầu cuối đi tới thiết bị đầu cuối hiểu các trình tự thoát này, màn hình của thiết bị đầu cuối sẽ thay đổi tương ứng.
Nếu bạn chuyển hướng stdout vào một tệp, chuỗi thoát sẽ xuất hiện trong tệp (thường không phải là những gì bạn muốn).
Không có tiêu chuẩn hoàn chỉnh cho các trình tự thoát, nhưng hầu hết các thiết bị đầu cuối đều sử dụng các trình tự được giới thiệu bởi VT100, với nhiều phần mở rộng. Đây là những gì hầu hết các thiết bị đầu cuối dưới Unix/Linux (xterm, rxvt, konsole) và những người khác như PuTTY hiểu.
Trong thực tế, bạn sẽ không trực tiếp mã hóa chuỗi thoát vào phần mềm của bạn (mặc dù bạn có thể), nhưng sử dụng thư viện để in chúng, chẳng hạn như ncurses hoặc GNU readline được đề cập ở trên. Điều này cho phép khả năng tương thích với các loại thiết bị đầu cuối khác nhau.
Có thể muốn thêm #include cho chức năng ngủ. –
Prairiedogg