Is clrscr(); een functie in C++?

Ik heb overal gezocht naar deze functie en kan de header-bestanden niet vinden om dit te laten werken.
Er staat clrscr() onverklaard, wat me bij de vraag brengt. Is clrscr(); een functie in C++?


Antwoord 1, autoriteit 100%

Het was vroeger een functie in <conio.h>, in oude Borland C-compilers.

Het is geen standaard C++-functie.


Antwoord 2, autoriteit 34%

En voordat iemand het gebruikelijke “e-mail me het conio.h-bestand”-verzoek plaatst, mag ik u erop wijzen dat dit oude Borland-headerbestand alleen de declaratie van de functie bevatte. Je hebt ook de ondersteunende Borland-bibliotheek nodig, die niet compatibel is met een modern C++-compilatiesysteem.


Antwoord 3, autoriteit 20%

Zoals eerder vermeld, is clrscr() van turbo c++, binnen conio.h

In alle opzichten is conio.h “niet standaard” en moet daarom waarschijnlijk worden vermeden.

Ik heb de neiging om de precompiler te gebruiken om te kiezen wat ik wil gebruiken voor een eenvoudig, helder scherm, en gewoon het duidelijke programma van het besturingssysteem aan te roepen…. het is slim genoeg om te weten hoe “hoog” het scherm is.

// somewhere in the program
#define WINDOWS 1
void console_clear_screen() {
  #ifdef WINDOWS
  system("cls");
  #endif
  #ifdef LINUX
  system("clear");
  #endif
}

In Windows wilt u misschien naar de windows.h kijken. U kunt rechtstreeks communiceren met de Windows-console met behulp van een “handle”, vaak in de code aangegeven als een hWin.

In linux heb ik veel geluk gehad met vloeken/ncurses, hoewel het in het begin een beetje verwarrend is.

updateHet oproepen van systeemprogramma’s (clear.exe?) is een potentieel veiligheidsrisico – als iemand de systeemaanroep op de een of andere manier via een alternatieve weg kan kapen, kunnen ze uw programma dwingen vreemde dingen te doen . Mijn aanbeveling is om in de console-API van je platform te graven om deze dingen voor elkaar te krijgen.


Antwoord 4, autoriteit 9%

je moet dit header-bestand opnemen voor deze functie

#include <conio.h>

Antwoord 5, autoriteit 3%

Een zoekopdracht op internet zegt dat het gewenste headerbestand ‘conio.h’ is – ik heb het niet uitgeprobeerd, dus geen garanties. Het bestaan ervan kan ook afhangen van het platform waarop u compileert.


Antwoord 6, autoriteit 3%

u kunt de opdracht system cls gebruiken om het uitvoerscherm te wissen..

clrscr() is van turbo c++, binnen conio.h en conio.h is “niet standaard”, en zou als zodanig waarschijnlijk vermeden moeten worden.
voorbeeld

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

het is getest en werkt.. ik gebruik dev c++ met mingw compiler.. 🙂


Antwoord 7, autoriteit 3%

Onder Linux gebruik ik altijd:

void clrscr(void)
{
   fprintf(stdout, "\033[2J"); // clean screen
   fprintf(stdout, "\033[1;1H"); // move cursor to the first line
}

Antwoord 8

De eenvoudigste manier om het scherm in echte C++ te wissen, is door een aantal lege regels te sturen. Dit veronderstelt natuurlijk dat stdout naar het scherm is gericht en niet naar een bestand:

for (int i = 0; i < 80; ++i)
     cout << "\n";
cout << endl;

Antwoord 9

Ik deed vroeger ook aan borland.

Het is een goed idee om vloeken te onderzoeken. Het werkt op veel Unix-platforms.

Je zou kunnen kijken op nconiobij source forge.

Ditziet er ook veelbelovend uit.


Antwoord 10

Op Unix-achtige systemen kunt u VT100-escapecodes gebruiken.

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

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

Other episodes