Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Okay, I have been researching on how to do this, but say I am running a program that has a whole bit of output on the terminal, how would I clear the screen from within my program so that I can keep my program running?

I know I can just type clear in terminal and it clears it fine, but like I said, for this program it would be more beneficial for me.

I found something that works, however, I'm not sure what it is or what it is doing.

cout << "33[2J33[1;1H";

That works but I have no clue what it is, if you could explain it, than I would much appreciate it.

question from:https://stackoverflow.com/questions/4062045/clearing-terminal-in-linux-with-c-code

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
285 views
Welcome To Ask or Share your Answers For Others

1 Answer

These are ANSI escape codes. The first one (33[2J) clears the entire screen (J) from top to bottom (2). The second code (33[1;1H) positions the cursor at row 1, column 1.

All ANSI escapes begin with the sequence ESC[, have zero or more parameters delimited by ;, and end with a command letter (J and H in your case). 33 is the C-style octal sequence for the escape character.

See here for the full roadshow.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...