Я везде искал эту функцию и не могу найти файлы заголовков, чтобы сделать эту работу. В нем говорится, что clrscr() необъявлен, что подводит меня к вопросу. Является clrscr(); функция в С++?
Является clrscr(); функция в С++?
Ответ 1
Он использовался как функция в < conio.h > в старых компиляторах Borland C.
Это не стандартная функция С++.
Ответ 2
И прежде чем кто-то отправит обычный запрос "напишите мне запрос conio.h", могу ли я указать, что этот древний заголовочный файл Borland содержит только объявление функции. Вам также понадобится поддерживающая библиотека Borland, которая не будет совместима с любой современной системой компиляции С++.
Ответ 3
Как упоминалось ранее, clrscr() - от turbo С++, внутри conio.h
Для всех целей и целей conio.h является "нестандартным", и как таковое, вероятно, следует избегать.
Я стараюсь использовать прекомпилятор, чтобы выбрать, что использовать для простого ясного экрана, и просто вызвать программу очистки операционной системы... это достаточно умно, чтобы знать, как "высокий" экран.
// somewhere in the program
#define WINDOWS 1
void console_clear_screen() {
#ifdef WINDOWS
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
}
В окнах вы можете посмотреть на windows.h, вы можете напрямую взаимодействовать с консолью Windows, используя "дескриптор", часто отмечаемый в коде как hWin.
В linux мне повезло с проклятиями /ncurses, хотя сначала это немного запутывает.
update Вызов системных программ (clear.exe?) - потенциальный риск для безопасности - если кто-то может каким-то образом захватить системный вызов через альтернативный авеню, они могут заставить вашу программу делать странные вещи. Моя рекомендация заключается в том, чтобы выкопать в свою консоль платформы api, чтобы добиться этого.
Ответ 4
вы должны включить этот заголовочный файл для этой функции
#include <conio.h>
Ответ 5
В веб-поиске говорится, что файл заголовка, который вы хотите, является "conio.h" - я не пробовал, поэтому никаких гарантий. Его существование также может зависеть от того, на какой платформе вы компилируете.
Ответ 6
вы можете использовать команду system cls для очистки экрана вывода.
clrscr() - из turbo С++, внутри conio.h и conio.h является "нестандартным", и по существу, вероятно, следует избегать. пример
#include<windows.h>
main()
{
some code....;
system("cls");
some more code;
}
его протестировано и работает. Я использую dev С++ с компилятором mingw..:)
Ответ 7
Самый простой способ очистить экран в реальном С++ - это просто отправить пустую строку. Конечно, это предполагает, что stdout направлена на экран, а не файл:
for (int i = 0; i < 80; ++i)
cout << "\n";
cout << endl;
Ответ 8
Я тоже делал борланд.
Исследование проклятий - хорошая идея. Он работает на многих платформах unix.
Вы можете взглянуть на nconio в исходной кузнице.
Ответ 9
В Unix-подобных системах вы можете использовать escape-коды VT100.
std::cout << "\033[2J" << std::flush;
Ответ 10
В Linux я всегда использую:
void clrscr(void)
{
fprintf(stdout, "\033[2J"); // clean screen
fprintf(stdout, "\033[1;1H"); // move cursor to the first line
}