Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-12-2009, 14:23   #1
nikel
Senior Member
 
L'Avatar di nikel
 
Iscritto dal: Mar 2006
Città: Milano
Messaggi: 832
[C ANSI] input da tastiera che non blocchi l'esecuzione del codice

Ciao!

come da titolo.. cerco un modo per verificare se c'è un tasto premuto e, se si ,leggerlo per poi utilizzarlo nel programma

(quando si preme il tasto non deve apparire sullo schermo)

è possibile?

grazie!
nikel è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 15:14   #2
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Ciao,

Non credo faccia parte dello standard ANSI, ma sicuramente in ogni compilatore che può usare conio.h hai a disposizione la funzione kbhit() (una _kbhit(), conforme ISO C++, esiste in MSVC) che ritorna true o false a seconda del numero di caratteri contenuti nel buffer di input.

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 16:04   #3
nikel
Senior Member
 
L'Avatar di nikel
 
Iscritto dal: Mar 2006
Città: Milano
Messaggi: 832
ho usato kbhit() però cercavo qualcosa di ansi...
nikel è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 18:47   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2788
Credo che non esista una funzione standard che faccia quello che chiedi. Qui puoi trovare l'intera libreria standard: LINK
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 20:18   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da nikel Guarda i messaggi
è possibile?
Non è possibile.
Il metodo da usare dipende tutto da sistema operativo e compilatore.
Quote:
Originariamente inviato da bottomap Guarda i messaggi
(una _kbhit(), conforme ISO C++, esiste in MSVC)
Non è conforme ISO Tra l'altro è in conio.h del platform sdk, quindi niente di meno conforme allo standard visto che questo header non esistere nello standard.

Ultima modifica di cionci : 03-12-2009 alle 20:20.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 20:32   #6
maulattu
Senior Member
 
L'Avatar di maulattu
 
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
Quote:
Originariamente inviato da cionci Guarda i messaggi
Non è possibile.
Il metodo da usare dipende tutto da sistema operativo e compilatore.

Non è conforme ISO Tra l'altro è in conio.h del platform sdk, quindi niente di meno conforme allo standard visto che questo header non esistere nello standard.
non si può fare uso della select che osserva l'unico file descriptor "stdin"?
__________________
Ciao ciao cagnolino Billy
MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen.
XBOX Live GamerTag: InsaneMau
maulattu è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 20:55   #7
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Quote:
Originariamente inviato da cionci Guarda i messaggi
Non è conforme ISO Tra l'altro è in conio.h del platform sdk, quindi niente di meno conforme allo standard visto che questo header non esiste nello standard.
Mi rifacevo semplicemente a quanto menzionato in msdn riguardo alla funzione kbhit (http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx).
Si può leggere in testa alla descrizione la frase:
Quote:
Use the ISO C++ conformant _kbhit instead
Onestamente non saprei cosa indichi in merito l'ISO C++ (non C - onestamente non sapevo neppure esistesse uno standard ISO C++ separato)... ho riportato solo quanto descritto. Chiedo scusa se ho dato un'indicazione errata in tal caso andrebbero tirate le orecchie pure a mamma MS.
Sarebbe tra l'altro la prima volta che trovo qualcosa di esplicitamente sbagliato su msdn (l'undocumented è un discorso a parte).

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator

Ultima modifica di bottomap : 03-12-2009 alle 21:00.
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 21:32   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Come vedi nemmeno _kbhit è standard (nemmeno C++), altrimenti ce lo scrivevano
http://msdn.microsoft.com/en-us/libr...4c(VS.80).aspx
Anche _kbhit risiede in conio.h, tutto quello che c'è in conio.h non è standard.
Probabilmente per "conforme" allo standard ISO C++ si intende che il nome della funzione è conforme allo standard ISO C++ perché è presente l'underscore. Ipotizzando, è possibile che preveda l'underscore per le funzioni che vengono aggiunte alla libreria standard per evitare che si confonda con le altre funzioni.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 21:55   #9
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Ciao,

Si, evidentemente si indica ISO C++ conformant per l'underscore davanti al nome e non per altro.

Non mi pare però che in altre funzioni che fanno parte dello standard sia specificato come dici ("altrimenti ce lo scrivevano").
E'vero invece che ogni funzione POSIX per cui esiste la corrispondente _funzione è descritta la stessa frase (This POSIX function is deprecated beginning in Visual C++ 2005. Use the ISO C++ conformant _<funzione> instead.).

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 21:56   #10
M4rk191
Senior Member
 
L'Avatar di M4rk191
 
Iscritto dal: Sep 2008
Messaggi: 1271
Quote:
Originariamente inviato da nikel Guarda i messaggi
ho usato kbhit() però cercavo qualcosa di ansi...
Se ti serve una soluzione che rispetti "lo standard ANSI" ricorda che ci sono du standard, C89 e C99. Ad ogni modo la maggior parte dei compilatori (GCC incluso) non supportano tutte le caratteristiche previste dal nuovo standard.
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2
M4rk191 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 22:02   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da bottomap Guarda i messaggi
Non mi pare però che in altre funzioni che fanno parte dello standard sia specificato come dici ("altrimenti ce lo scrivevano").
L'hanno tolto, una volta c'era su ogni funzione uno specchietto in cui c'era scritto se era ANSI e/o POSIX.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2009, 22:20   #12
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Evidentemente si... nell'msdn fornita su cd con il mcvs .net 2003 non c'è traccia della cosa (anzi direttamente kbhit rimanda su _kbhit senza avere una sua paginetta di interludio).

Sono curioso di vedere se riesco a recuperare il vecchio msdn fornito con il vs5 che usavo al lavoro. Ma mi pare che fino al vs6 non esistesse proprio la forma _<funzione> per la maggior parte delle funzioni che sarebbero diventate deprecate (comprese quelle del conio). Forse comunque menzionavano se fossero o meno di derivazione POSIX.
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2009, 01:31   #13
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da M4rk191 Guarda i messaggi
Ad ogni modo la maggior parte dei compilatori (GCC incluso) non supportano tutte le caratteristiche previste dal nuovo standard.
Nuovo?
Ha 10 anni!
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2009, 02:47   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da bottomap Guarda i messaggi
Evidentemente si... nell'msdn fornita su cd con il mcvs .net 2003 non c'è traccia della cosa (anzi direttamente kbhit rimanda su _kbhit senza avere una sua paginetta di interludio).
C'è ancora !!!
Codice:
Function 	Required header 	Compatibility
fgets 		<stdio.h> 		ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
fgetws 		<stdio.h> or <wchar.h> 	ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Le analisi di ALMA sulla cometa interste...
La missione cinese Tianwen-3 per portare...
Un satellite di HEO Space ha catturato u...
Mini LED 144Hz a prezzo folle: questo Hi...
Novità per Fortinet: arrivano For...
Volkswagen e Xpeng, il SUV è real...
Volkswagen ribattezza ID.3 e le dà un mo...
Aruba rende disponibile VMware Hosted Pr...
Questa Olympus da 20 MP con stabilizzazi...
Il nuovo dispositivo di Rabbit si chiama...
'Se avete RAM, siamo pronti ad acquistar...
Veeam corregge diverse vulnerabilit&agra...
MacBook Neo segna una svolta per Apple: ...
Polestar pubblica il report LCA di Poles...
Il rame non basta più: NVIDIA, AM...
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: 22:21.


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