Ask coding questions

← Back to all posts
1
Is it possible to clear the screen?
GitOverHere (0)

Is it possible to clear the screen in repl.it. I want to be able to clear the screen after the player has entered some input.

Answered by mat1 (2242) [earned 5 cycles]
View Answer
Commentshotnewtop
3
mat1 (2242)
Yes, it is possible. Simply do std::cout << "\e[2J\e[H" to clear the screen.

Printing that string will also work in almost every language on Repl.it too.

Explanation

It uses ANSI escape codes, which are special codes that you can print to the terminal to do certain things. For example, here we're printing \e[2J and \e[H. \e means an escape character in c++, which is what all ansi escape codes start with. Then, the [ character signifies that it is a CSI (Control Sequence Introducer) code. The characters proceeding it are the code for the sequence. The 2J means to clear the entire screen, but not move the cursor. Then, the H moves the cursor to the start of the terminal.
Please mark this comment as the answer if it answered your question. Thanks!

2
ash15khng (209)

@mat1 Wow, this is cool. So this should work for most other languages?

1
mat1 (2242)

@ash15khng Yup, for some languages you might have to replace \e with \033 though.

1
ash15khng (209)

@mat1 Oh, I'm more familiar with that syntax.

8
EchoCoding (242)

Yes! Import the library header file <stdlib.h> and use system("CLS") to clear the terminal.

1
malvoliothegood (83)

You could output a heap of newlines.

void clearScreen(int numLines) {
  for (int i = 0; i < numLines; i++) {
    cout << "\n";
  } 
}

// Call the function
clearScreen(40);
1
PYer (2045)

not is c++. sorry. You could try to print 50 new lines, to make all the text scroll up.
Please mark this comment as the answer. Thanks!