O clrscr () é uma função em C++?

procurei por toda a parte por esta função e não encontrei os ficheiros de cabeçalho para fazer isto funcionar. Diz clrscr () não declarado o que me leva à pergunta. O clrscr () é uma função em C++?

 13
c++
Author: Benjamin, 2009-05-30

10 answers

Costumava ser uma função em , em compiladores Borland C.

Não é uma função padrão C++.

 32
Author: Pablo Santa Cruz, 2009-05-30 23:34:12
E antes que alguém publique o habitual " por favor, envie-me um e-mail com o conio.h file" request, can I point out that this ancient Borland header file only contained the declaration of the function. Você também precisaria da Biblioteca Borland de suporte, que não será compatível com qualquer sistema de compilação C++ moderno.
 12
Author: , 2009-05-30 17:39:20

Como mencionado anteriormente, o clrscr() é do turbo c++, dentro do conio.h

Para todos os efeitos, conio.h é "não-padrão", e como tal deve ser provavelmente evitado.

Eu costumo usar o pré-compilador para escolher o que usar para uma tela simples e clara, e apenas chamar o programa claro do sistema operacional.... é inteligente o suficiente para saber como o ecrã é" alto".

// somewhere in the program
#define WINDOWS 1

void console_clear_screen() {
  #ifdef WINDOWS
  system("cls");
  #endif
  #ifdef LINUX
  system("clear");
  #endif
}

Nas janelas, talvez queiras olhar para as janelas.h, você pode interagir com a consola do windows diretamente usando um "punho", muitas vezes notado em código como um hWin.

No linux, eu tive boa sorte com maldições/ncurses, embora seja um pouco confuso no início.

actualizar chamando os programas do sistema (claro.exe?)é um risco potencial de segurança-se alguém é capaz de sequestrar a chamada do sistema de alguma forma através de uma avenida alternativa, eles podem forçar o seu programa a fazer coisas estranhas. A minha recomendação é procurar na api de consola da sua plataforma para fazer estas coisas.

 7
Author: Ape-inago, 2016-04-12 12:11:43

Tem de incluir este ficheiro de cabeçalho para esta função

#include <conio.h>
 3
Author: Muhammad Akhtar, 2009-05-30 17:31:35

Uma pesquisa na web diz que o ficheiro de cabeçalho que queres é 'conio.ainda não experimentei, por isso, não há garantias. Sua existência também pode depender de que plataforma você está compilando contra.

 1
Author: Bruce, 2009-05-30 17:20:55

Pode usar o comando system cls para limpar o ecrã de saída..

Clrscr() é do turbo c++, dentro do conio.h E conio.h é "não-padrão", e como tal deve ser provavelmente evitado. exemplo

    #include<windows.h>
    main()
    {
    some code....;
    system("cls");
    some more code;
    }

É testado e funciona.. eu uso o dev C++ com o compilador mingw.. :)

 1
Author: r_goyal, 2013-09-03 16:24:57

A maneira mais fácil de limpar o ecrã em c++ real é enviar um monte de linhas em branco. Claro que isto é assumir que o stdout é dirigido ao ecrã e não a um ficheiro:

for (int i = 0; i < 80; ++i)
     cout << "\n";
cout << endl;
 0
Author: Eclipse, 2009-05-30 17:23:04
Eu também fazia borland. Investigar maldições é uma boa ideia. Funciona em muitas plataformas unix.

Podes dar uma vista de olhos a nconio na fonte forge.

Isto também parece promissor.

 0
Author: EvilTeach, 2009-05-31 02:51:47

Em sistemas Unix, pode usar códigos de fuga VT100.

std::cout << "\033[2J" << std::flush;

Ver http://www.termsys.demon.co.uk/vtansi.htm

 0
Author: Janus Troelsen, 2011-12-22 14:25:35

No Linux eu uso sempre:

void clrscr(void)
{
   fprintf(stdout, "\033[2J"); // clean screen
   fprintf(stdout, "\033[1;1H"); // move cursor to the first line
}
 0
Author: Kacper Pluta, 2017-08-18 09:30:36