Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[cmd C++] Alternatywa dla system("cls")

Ostatnio zmodyfikowano 2014-10-26 11:50
Autor Wiadomość
Kopczak1995
Temat założony przez niniejszego użytkownika
[cmd C++] Alternatywa dla system("cls")
» 2014-10-24 19:14:35
Witam.
Mam małe pytanko. Dziś na laboratoriach dowiedziałem się, że wszelkie komendy system() to swego rodzaju zło wcielone, bo sprawia, że programik nie jest przenośny przez pliki *exe do których się rzekomo  odwołuje (pomińmy mało istotny fakt, że zakazano nam używania tychże instrukcji pod groźbą odrzucenia programów :P ) Niby nasz laborant stwierdził, że nie ma co się bawić w czyszczenie, bo jesteśmy na niskim poziomie *bla* *bla* *bla* ale nieco mnie to wkurza, bo lubię mieć przejrzysty kod wynikowy programu.
Także moje pytanie - czy da się w jakiś sposób zastąpić komendę system("cls") czy może wie ktoś jak +/- działa aby móc coś podobnego samemu napisać? Próbowałem już się bawić z pętlą zarzucającą mi xxx enterów ale efekt mnie nie zadowalał, więc w dalszym ciągu szukam jakichś rozwiązań.
P-119313
matys210
» 2014-10-24 19:26:56
Coś mi świta clrscr(),ale może nie działać.
P-119314
pekfos
» 2014-10-24 19:41:23
A po co chcesz czyścić ekran?
P-119316
Memento96
» 2014-10-24 19:54:20
Kolega z klasy mówił, że ma kod na "przewinięcie" konsoli tak żeby wyglądała na czystą, ale nie zachowawywała się jak po system cls, może jak znajdzie to poda, ale na pewno jest alternatywa :)
P-119319
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2014-10-24 19:54:54
Mam na następne laboratoria zrobić kombinację 9 różnych programików w jednym. Wszystko pięknie gdyby nie to, że całość ma być zapętlona i program ma się zamknąć dopiero gdy uzyszkodnik tego zechce. Czyli jesli ktoś odpali wszystkie podprogramy pod rząd to wiadomo, że po niedługim czasie wiersz poleceń będzie zawalony tekstem co raczej mi się nie podoba...

@Edit Memento - brzmi ciekawie... Jeśli uraczyłbyś mnie kodem kolegi to byłbym wdzięczny :)

@Edit2 Próbowałem funkcji clrscr... Z jakiegoś powodu Visual w ogóle nie widzi tej funkcji. Smutne ;__;
P-119320
stevy
» 2014-10-24 20:14:08
poczytaj o FillConsoleOutputCharacter na MSDN. wypełnia okno znakiem, który wstawisz jako parametr.
P-119321
GolemXIV
» 2014-10-24 20:30:54
ale ile tych enterów byś chciał zrobić? Bo moje okienko terminala ma 70 wierszy, a bufor od niego (mogę sobie przeskrolować) 999 wierszy. A jak będziesz mieć przekierowane wejście/wyjście
program.exe > plik.txt
to co byś chciał czyścić?

system() jest zły, bo nie masz żadnej pewności, że polecenie, które uruchamiasz, jest tym, o czym myślisz. Użytkownik może na przekład zrobić sobie alias (cls=reboot), a może jakiś inny użytkownik mu podłożyć program, który robi jakiś szkody w systemie.
P-119324
pekfos
» 2014-10-24 20:47:37
poczytaj o FillConsoleOutputCharacter na MSDN
Miało być przenośnie. Pod tym względem, niewiele to lepsze od "cls".
P-119325
« 1 » 2
  Strona 1 z 2 Następna strona