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++?
10 answers
Costumava ser uma função em , em compiladores Borland C.
Não é uma função padrão C++.
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.
Tem de incluir este ficheiro de cabeçalho para esta função
#include <conio.h>
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.
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.. :)
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;
Podes dar uma vista de olhos a nconio na fonte forge.
Em sistemas Unix, pode usar códigos de fuga VT100.
std::cout << "\033[2J" << std::flush;
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
}