Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-01-2004, 08:18   #1
alderighi
Senior Member
 
L'Avatar di alderighi
 
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
Pulire il buffer di tastiera[c/c++]

Cerco una funzione che pulisca il buffer di tastiera, perchè sto costruendo un gico in stile asteroids per una esercitazione di scuola, lavoriamo su uno schifosissimo borland 5.02 in modalita grafica sotto dos a 256 colori, e non riesco a pulire i tasti premuti precedentemente neanche con fflush(stdin);, qualcuno di voi massimi esperti conosce un qualsiasi modo per poter risolvere questo problema, anche includendo delle librerie o con un pezzo di codice scritto in assembler, come vi pare, basta funzioni.
La navicella si sposta però avvolta rimangono in memoria i tasti premuti precedentemente e va un po come gli pare.
Cionci aiutami!!!
Grazie
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T.
alderighi è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2004, 13:11   #2
alderighi
Senior Member
 
L'Avatar di alderighi
 
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
up
nessuno che mi da una mano?
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T.
alderighi è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2004, 13:17   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Un modo (non standard e poco pulito) è usare le funzioni di conio.h:
while(kbhit()) getch();
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2004, 20:35   #4
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
fflush(stdin);
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2004, 23:24   #5
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da Gogeta ss4
fflush(stdin);
E' una soluzione consigliata spesso.
Purtroppo non è standard, e può funzionare o meno a seconda del compilatore.
(E, a quanto ci dice alderighi, in questo caso non va.)

A proposito: catturare un segnale da tastiera (anziché leggere semplicemente un carattere dallo standard input) è un'operazione fortemente machine-dependent.
Temo che in questo caso sia d'obbligo consultare il manuale del compilatore.
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 15:43   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Raga , io ho trovato anke

Codice:
while ( getchar() != '\n' );
e sembra funzionare , ank io avevo un problema con la funzione "scanf" (quando veniva inserito un carattere al posto di un intero la scanf "impazziva e andava in loop" ) , che ho risolto con questo codice qua sopra, ma per ste operazioni non c'è una procedura standard? Su linux ad esempio "fflush(stdin);" non va manco a pagarlo (dato che a quanto sembra fflush con stdin può dare risultati imprevisti) , cioè , io sul mio libro di C non ho trovato niente ,e non mi è sembrato di trovare niente neanke sul libro di quei ragazzacci di Kerningam e Ritchie , insomma , quand'è che questa operazione si rende necessaria generalmente , e qual'è la procedura migliore per farla?

Grazie

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 15:56   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Su linux ad esempio "fflush(stdin);" non va manco a pagarlo
#include <termios.h>
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 16:13   #8
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827





Ma dici che è una soluzione consigliabile anke se non specificata dallo standard?

Ciao

EDIT : Comunque ilsensine , ho provato a fare come mi hai detto tu , ossia includere "termios.h" , e poi ho provato "fflush(stdin);" , al posto del codice che avevo postato poco sopra , ma non sembra funzionare , con questa va in LOOP e genera una roba del genere :

00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in instruction shell
00 ? Sorry , no letters in inst
bash-2.05b$



Mentre dovrebbe essere :

00 ? s
Sorry , no letters in instruction shell
00 ?


__________________
GPU Compiler Engineer

Ultima modifica di AnonimoVeneziano : 04-02-2004 alle 16:17.
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 16:47   #9
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da AnonimoVeneziano
Ma dici che è una soluzione consigliabile anke se non specificata dallo standard?
Certo che è standard (POSIX)

Quote:
EDIT : Comunque ilsensine , ho provato a fare come mi hai detto tu , ossia includere "termios.h" , e poi ho provato "fflush(stdin);" , al posto del codice che avevo postato poco sopra , ma non sembra funzionare , con questa va in LOOP e genera una roba del genere :
Scordati fflush!
Dai una occhiata a man termios
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 17:06   #10
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Mi inginocchio al tuo cospetto , e ti chiedo umilmente di dirmi come esare le funzioni di sto header per flushare lo STDIN , perchè nella mia somma ignoranza non riesco a decifrare una pippa del man di "termios"

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 19:46   #11
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Nun me abbandonà ilsensì!!

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 20:14   #12
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
tcflush?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 20:20   #13
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da ilsensine
tcflush?

Si , l'avevo pensato ank io , ma il problema è come lo uso?

Cioè , io sono ankora un principiante , e del MAN non ci ho capito una mazza .

Ho solo capito che al secondo membro della funzione ci devo piazzare "TCIFLUSH" e quindi diventa :

tcflush(XXX, TCIFLUSH);

ma al primo membro che ci metto?

Ho provato

tcflush(stdin, TCIFLUSH);

Ma ovviamente non funziona e mi spara sto warning alla compilazione:

simpletron.c: In function `main':
simpletron.c:40: warning: passing arg 1 of `tcflush' makes integer from pointer without a cast


Come la devo configurare sta funz?
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 20:42   #14
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
man fileno
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 20:56   #15
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Ho tentato sta forma , ma non sembra funzionare :

tcflush(fileno(stdin), TCIFLUSH);


Avrebbe dovuto funzionare o ho scannato anke in questo caso?

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 21:02   #16
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Boh ho provato, e mi funziona...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 21:16   #17
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da ilsensine
Boh ho provato, e mi funziona...

A me no , ho provato anke con sto programmino di prova :

Codice:
#include <stdio.h>
#include <termios.h>

int main()
{

int prova;

scanf("%d", &prova);
printf("%d\n", prova);
tcflush(fileno(stdin), TCIFLUSH);
scanf("%d", &prova);
printf("%d\n", prova);
return 0;
}
Ma il secondo scanf , se metto un carattere al posto di un intero al momento dell' immissione dell'input del primo scanf, è come se non esistesse , in pratica l'output che ottengo è questo :

Codice:
bash-2.05b$ ./test     <------ Parte il programma
a                       <------ Immetto un carattere al posto di un intero
1073821792     <------  Viene printato un valore intero dal primo printf
1073821792     <------  Il secondo scanf è come se non esistesse e viene subito printato il valore dal secondo printf
bash-2.05b$
Idee?



Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 21:23   #18
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da AnonimoVeneziano
Idee?
Sì, ma ora devo staccare. Ne riparliamo domani.

(Indizio: stdin è line-buffered di default)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2004, 21:25   #19
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da ilsensine
Sì, ma ora devo staccare. Ne riparliamo domani.

(Indizio: stdin è line-buffered di default)

Ok , ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2004, 08:25   #20
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Codice:
#include <stdio.h>
#include <termios.h>

int main() {
  int prova;
  struct termios tios;
  int fd = fileno(stdin);

  tcgetattr(fd, &tios);
  tios.c_lflag &= ~ICANON;
  tios.c_cc[VMIN] = 1;
  tios.c_cc[VTIME] = 0;
  tcsetattr(fd, TCSAFLUSH, &tios);

  scanf("%d", &prova);
  printf("%d\n", prova);
  tcflush(fd, TCIFLUSH);
  scanf("%d", &prova);
  printf("%d\n", prova);
  return 0;
}
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Anche T-Mobile abbandona VMware e migra ...
In Italia crescono gli investimenti nell...
Samsung combina IA e quantum computing p...
Anthropic ammette: Claude Code usa un ap...
L'IA costa sempre di più: AWS aum...
Google prepara il blocco delle app non v...
Amazfit aggiorna il Cheetah 2 Ultra: ric...
L'FAA apre ai voli commerciali supersoni...
Amazon ha già abbastanza satelliti per a...
A2A ed Equinix uniscono le forze per rec...
Apple ha creato la crisi delle memorie? ...
GPU subito in cambio di una quota dei ri...
Firefly Aerospace potrà lanciare ...
Intesa Sanpaolo sposta i sistemi IT core...
Visa, Mastercard e Coinbase lanciano Ope...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v