Как я могу очистить консоль - PullRequest
78 голосов
/ 26 июня 2011

Как в заголовке. Как очистить консоль в C ++?

Ответы [ 18 ]

1 голос
/ 19 октября 2018

Самый простой способ для меня без необходимости изобретать велосипед.

void Clear()
{
#if defined _WIN32
    system("cls");
#elif defined (__LINUX__) || defined(__gnu_linux__) || defined(__linux__)
    system("clear");
#elif defined (__APPLE__)
    system("clear");
#endif
}
0 голосов
/ 14 мая 2018

Вот простой способ сделать это:

#include <iostream>

using namespace std;

int main()
{
    cout.flush(); // Flush the output stream
    system("clear"); // Clear the console with the "system" function
}
0 голосов
/ 12 июня 2016

edit: полностью переделанный вопрос

Просто проверьте, в какой системе они находятся, и отправьте системную команду в зависимости от системы.хотя это будет установлено во время компиляции

#ifdef __WIN32
    system("cls");
#else
    system("clear"); // most other systems use this
#endif

Это совершенно новый метод!

0 голосов
/ 27 июня 2011

Самый простой способ - это многократная очистка потока (в идеале больше, чем любая возможная консоль). 1024 * 1024 - это размер, который никогда не может быть в окне консоли.

int main(int argc, char *argv)
{
  for(int i = 0; i <1024*1024; i++)
      std::cout << ' ' << std::endl;

  return 0;
}

Единственная проблема с этим - программный курсор; эта мигающая вещь (или не мигающая вещь) в зависимости от платформы / консоли будет в конце консоли, а не в верхней ее части. Однако, надеюсь, это никогда не вызовет никаких проблем.

0 голосов
/ 26 ноября 2014

Использовать System :: Console :: Clear ();

Это очистит (очистит) буфер

0 голосов
/ 02 апреля 2017
#include <cstdlib>

void cls(){
#if defined(_WIN32) //if windows
    system("cls");

#else
    system("clear");    //if other
#endif  //finish

}

Просто вызов cls () в любом месте

0 голосов
/ 19 декабря 2016

Вы можете использовать метод чистой консоли операционной системы через систему ("");
для окон это будет система ("cls");например
и вместо выпуска трех разных кодов для разных операционных систем.просто сделайте метод, чтобы получить то, что работает ОС.
Вы можете сделать это, обнаружив, существуют ли уникальные системные переменные с #ifdef
например,

enum OPERATINGSYSTEM = {windows = 0, mac = 1, linux = 2 /*etc you get the point*/};

void getOs(){
    #ifdef _WIN32
        return OPERATINGSYSTEM.windows
    #elif __APPLE__ //etc you get the point

    #endif
}

int main(){
    int id = getOs();
    if(id == OPERATINGSYSTEM.windows){
        system("CLS");
    }else if (id == OPERATINGSYSTEM.mac){
        system("CLEAR");
    } //etc you get the point

}
0 голосов
/ 25 апреля 2015

использование: clrscr ();

#include <iostream>
using namespace std;
int main()
      {           
         clrscr();
         cout << "Hello World!" << endl;
         return 0;
      }
...