|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2000
Messaggi: 1303
|
un comando per pulire lo schermo con il C ?
ciao! il mio problema è che a casa programmo con il Turbo C++ quindi per pulire lo schermo uso clrscr(), ma all'univ non abbiamo il turbo C e clrscr() non è portabile
volendo usare il visual C++ 6, o il dev C++ per Dos/windows come faccio a pulire lo schermo??? (mi pare che per unix basta usare la funzione system("clear") ... ma sotto windows/dos qual'è il comando per azzerare lo schermo????
__________________
Psu CM RS-850-ESBA, Asus Prime-Pro X370 (bios 5606), Ryzen 5 3800x @stock (Wraith Prism cooler), 2x8Gb Ddr4 Vengeance Lpx 3200 CL16, Zotac Gtx 1070 Amp! Core Edition, Ssd Samsung 970 Evo Plus + 2x850 evo, Hdd WD Blue 2TB, DvdRw Lg Gh22ns30, Lcd Samsung T260HD (1200p@60hz) | Win10 Pro i7 3570k@stock, Asrock z77 Pro3 (bios 2.00), 2x2Gb G.skill Ripjaws Ddr3 1600, Sapphire R7 250 1Gb, Ssd Samsung 830, Hdd 300Gb, Win10 Pro - Ho concluso con: Iron 10, ciufoligo, Nicola[3vil5], iSux |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2003
Messaggi: 125
|
Beh, se vuoi continuare ad usare system hai pur sempre system("cls") sotto windows/dos, ma ovviamente non e' un metodo portabile.
Oppure scrivi N righe vuote per far scorrere il testo presente e "pulire" lo schermo. Non mi viene in mente molto altro al momento... spiacente =) |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2000
Messaggi: 1303
|
Quote:
ora sto lavorando sotto windows xp/nt quindi mi va bene
__________________
Psu CM RS-850-ESBA, Asus Prime-Pro X370 (bios 5606), Ryzen 5 3800x @stock (Wraith Prism cooler), 2x8Gb Ddr4 Vengeance Lpx 3200 CL16, Zotac Gtx 1070 Amp! Core Edition, Ssd Samsung 970 Evo Plus + 2x850 evo, Hdd WD Blue 2TB, DvdRw Lg Gh22ns30, Lcd Samsung T260HD (1200p@60hz) | Win10 Pro i7 3570k@stock, Asrock z77 Pro3 (bios 2.00), 2x2Gb G.skill Ripjaws Ddr3 1600, Sapphire R7 250 1Gb, Ssd Samsung 830, Hdd 300Gb, Win10 Pro - Ho concluso con: Iron 10, ciufoligo, Nicola[3vil5], iSux |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Prima ti definisci:
#define cls "\033[2J" e poi fai printf (cls); Dovrebbe funzionare, ed è molto più veloce della system() Ciao |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Aug 2003
Messaggi: 125
|
Quote:
Sotto Win98 se non si carica l'ansi.sys nel config.sys all'avvio non funziona nulla (viene visualizzata la stringa "[2J"). Sotto XP invece... boh, mai provato =) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Genova
Messaggi: 4330
|
clrscr
__________________
.::. Steam: ~Blissard~ .::. Origin: Blissard79 .::. BNet: Blissard#2740 .::. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
Si forse hai ragione che bisogna caricare l'ansi.sys. |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: Aug 2003
Messaggi: 125
|
Quote:
Da me NON funziona dato che normalmente non carico l'ansi.sys e molti altri utenti di Windows non lo usano... lo so per esperienza perche' avevo fatto un programmino che faceva largo uso di questi codici per colori e simili (un tester per un MUD) e, al volo, non funzionava a nessuno, tutti senza ansi.sys caricato =( Di per se il metodo lo ritengo valido e, soprattutto, hai fatto benissimo a citarlo, ma personalmente (sottolineo "personalmente", non pretendo di dire alcuna verita' assoluta =)) lo utilizzerei solo in casi limite. Tutto qua =)) |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
Diciamo che dipende sempre dal contesto in cui deve essere eseguita l'applicazione. Anche la mia soluzione è un palliativo (perché comunque usi una printf() e non una primitiva del 'C'). Anche il 'clrscr' citato da Blissard è un ottima soluzione a patto che poi il codice sorgente non debba essere portato su piattaforme dove ci sono altri tipi di compilatori che potrebbero non digerire questa function call che, come detto da cionci, non è standard. All'epoca del buon vecchio caro DOS (sigh) usavo le primitive del BIOS e/o del S.O. (le chiamate ad interrupt) per eseguire ciò. Ovviamente, il tutto era limitato ad essere eseguito su PC e non su macchine con architettura diversa dal PC. Come vedi, ogni cosa ha vantaggi e svantaggi... Sta all'intelligenza di chi scrive il codice a scegliere la soluzione migliore per il suo caso. |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il clrscr c'è solamente sui compilatori Borland... Quindi è ben fuori standard...
Mentre la soluzione con system rispetta lo standard, ma non è indipendente dalla macchina...anche se si può fare molto con una define... #ifdef WIN32 #define CLEARSCREEN system("cls") #else #define CLEARSCREEN sustem("clear") #endif |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Genova
Messaggi: 4330
|
Si trova il file .h clrscr.h in rete che basta includere ed il gioco è fatto
__________________
.::. Steam: ~Blissard~ .::. Origin: Blissard79 .::. BNet: Blissard#2740 .::. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:07.



















