Existuje prikaz na vycistenie obrazovky ? t.j. ze konzola ostane prazdna ?
Fórum › C / C++
Konzola
zkus system("cls")
myth napsal:
A este jedna otazka.
Je nejako mozne uz alokovanemu polu 'prialokovat' dalsiu pamat ?
Alebo je nutne uvolnit pamat a znovu alokovat a hodonty docasne ulozit do dosneho pola?
Samozrejme, ze jde. Pokud pouzivas na alokaci funkce cisteho C, tedy malloc(calloc)/free, tak staci pouzit realloc(http://cplusplus.com/ref/cstdlib/realloc.html), nebo v pripade C++ pouziti new []/delete [], tak postup je nasledujici:
1) alokovat nove pole pozadovane velikosti (int *nove_pole =new [100] )
2) zkopirovat prvky (napr. memcpy, nebo pouzit cyklus)
3) smazat stare pole (delete [] stare_pole)
4) ukazateli na stare pole priradit ukazatel na nove pole(stare_pole = nove_pole)
Jinak jestli muzu doporucit, tak bych radeji dal prednost std::vector(a tim se nemusim starat o alokaci, dealokaci, realokaci, atd.)
Hmm zaujimave, ale s malloc nemam skusenosti.
ale som to predchvilou napisal takto:
1. alokacia docasneho pola (udaje stareho pola prepisane do docasneho pola)
2. vymazanie stareho pola
3. alokacia noveho pola (velkost docasneho pola + velkost ineho pola)
4. prepisanie udajov docasneho pola do noveho pola
5. prepisanie udajov ineho pola do noveho pola
myth napsal:
Existuje prikaz na vycistenie obrazovky ? t.j. ze konzola ostane prazdna ?
Pan Valerian tvrdi ze je lepsi pouzit toto modernejsi mazani:
void clrscr(void)
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
jinak pro borlandi prekladace jsem pouzival borland specifik: fci clrscr();
ja som s céčkom úúplny začiatočník a neviem prečo mi nejde príkaz clrscr();
toto je ukážka môjho programu:
#include <stdio.h>
#include <conio.h>
int main(void)
{
int n=1;
while((getch())!=32) //ukončíme medzernikom
{
clrscr();
printf("%d",n);
n++;
}
return 0;
}
keď to dám preložiť tak mi pri riadku clrscr(); píše toto:
a neviem prečo. Čo mám zle? a potrebujem aj príkaz gotoxy(); Na nete som si našiel aj clrscr aj gotoxy a mali by byť dobre. Neviem či mi niečo chýba alebo čo?c:\documents and settings\michal\plocha\c++\du\du.cpp(15) : error C3861: 'clrscr': identifier not found
http://forum.builder.cz/read.php?23,1892944,1894386
ale je tam pouze kod co jsem zde uz uvadel ;-)
http://www.programujte.com/forum.php?akce=prispevek&id=2182#14253
Beep ( frekvence, delka );
V C++ to funguje a malo by aj v C ;-) .
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Konzola — založil Onsi
Čo je vlastne konzola ? — založil mephi
Konzola SQL — založil pietro62
Help ... C++ konzola MIDI — založil Darkkiller
Ajax problém konzola neodpovedá — založil Jakub
Moderátoři diskuze