Newsgroup: it.comp.lang.c++
Titolo: aiuto...urgenza...lettura carattere

Ciao a tutti, sto facendo un programma in c++ per l'esame di reti di 
calcolatori....mi serve il vostro aiuto in quanto è una banalità ma è da 
tanto che non adopero le classi di I/O e non riesco a risolvere questo 
problema...devo leggere un carattere dalla tastiera ma non voglio 
aspettare il carattere di return(appena legge per esempio q allora 
continua conl'elaborazione)...qualcuno mi può postare due righe di 
codice per questo problema?
Grazie a tutti

mmmh... a memoria (programmo per Windoze da anni e quindi non uso più certe
cose)... Prova int getchar(). Restituisce un carattere. Può restituire anche
EOF (immagina che lo stdin del tuo programma fosse connesso a un file txt)
--- bye


grazie per avermi risposto, ma io devo leggere da tastiera...è un 
semplice input di un carattere...per spiegarti meglio posso dirti che il 
programma ha tanti thread in esecuzione che mandano dati via UDP...il 
problemma è che nel main mi fermo e se premo per esempio q il programma 
dovrebbe gestirlo subito senza aspettare il return
Qualche consiglio su come gestire iostream ecc??
grazie a tutti

Ti ho già risposto. Cercati come funziona getchar (il nome ce l'hai, non
dovrebbe essere difficile). Ti stavo spiegando che se lo inserisci in un
ciclo while devi terminare il while DI SICURO con l'EOF (e magari anche con
'q', ESC e compagnia cantante).

 Ti ho già risposto. Cercati come funziona getchar (il nome ce l'hai, non
Ma a me getchar non va bene in quanto non devo aspettare di premere 
return...io ho provato a usarla ma getchar si aspetta che io premi anche 
return per andare avanti...non so se mi spiego ma appena premo q allora 
il programma va avanti e non aspetta return

Temevo che fosse cosě. Le funzioni IO standard del C/C++ sono tutte
orientate al "line input". Questo perchč certi vecchi terminali un po'
strani non inviavano subito la roba, ma aspettavano un terminatore. Quindi
probabilmente la risposta non fa parte del dominio delle risposte date in
questo newsgroup :-) (praticamente non lo so/non mi ricordo neanch'io...
Sotto DOS probabilmente si usava la conio.h ... Sotto linux non so... Cmq
leggi questo: 
http://www.eskimo.com/~scs/C-faq/q19.1.html
 č la FAQ del C,
calcola che in questo caso il C++ si comporta nella stessa identica
maniera!)
--- bye

Qualche consiglio su come gestire iostream ecc??
Guarda... dirti che sei OT e' veramente farti un complimento (non ci
sono modi standard per fare cio' che chiedi), ed e' anche vero che
generalmente agli OT non si dovrebbe rispondere per non farli
proliferare, ma dato che:
1) sono di buon umore;
2) tanto gli OT ci sono comunque;
3) avevo il codice gia' pronto;
allora, tieniti questo (in C, funzia su win, compilato col dev c++,
altro non so!):  :)
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define MAXLEN 10
int main(void){
    char pass[MAXLEN];
    printf("inserisci codice: ");
    int i = 0;
    while((pass[i++] = getch()) != '\r' && i < MAXLEN-1)
        putchar('*');
    pass[i] = '\0';
    printf("\n%s\n",pass);
    system("pause");
    return 0;
}
AH, non te la prendere per il tono, scherzavo (magari nemmeno sapevi
che non era standard!) ;)
Ciao,
Zeppe

Stempelo wrote:

 getch();
però non è standard...
esempio:
char c;
cout << "inserisci un carattere: ";
c=getch();
if(c=='q')
exit(1);
else
cout << "Hai inserito "<< c <<"\n\n";
ciao
by JSMR

 che non era standard!) ;)
Ehi vai piano con le tue ipotesi,affermazioni, ecc....porta rispetto se 
non conosci le altre persone e non passarle per ignoranti...

 
esatto...grazie lo stesso...e poi sei sicuro che non aspetti return per 
continuare?

 non conosci le altre persone e non passarle per ignoranti...
appunto:
http://www.news.nic.it/manif/it.comp.lang.c++.txt
-- 
Gerolamo (che... lo standard è ISO, non ANSI...)

 
http://www.news.nic.it/manif/it.comp.lang.c++.txt
appunto leggilo prima di postare il link in automatico senza leggerlo;
i punti dicono:
- Linee guida per la codifica in C++;
- Utilizzo dei costrutti del linguaggio e della libreria standard;
e molti altri,quindi anche te dico con umiltà:
"Ehi vai piano con le tue ipotesi,affermazioni, ecc....porta rispetto se 
non conosci le altre persone e non passarle per ignoranti... "
Ciao

Stempelo wrote:

si
ciao by JSMR
-- 
Esistono 10 tipi di persone al mondo, quelli che conoscono
il codice binario e quelli che non lo conoscono.

 si
hai ragione...ma possibile che non ci sia un metodo in c++??
Grazie a chi lo sa e mi risponde...ciaooo!!!

non conosci le altre persone e non passarle per ignoranti...
Cavolo, non te l'avessi scritto che stavo scherzando!! Cmq, senza
offesa, ma una persona che posta un OT palese in un ng, che non sa
dove andare a guardare per trovare una funzione non standard di questo
tipo, e non prova nemmeno a scrivere su google qualcosa tipo 'C input
function without buffering' (primo risultato, e c'e' la tua risposta),
la prendo un po' per una persona 'poco esperta'... ma senza offesa,
siamo tutti poco esperti (primo di tutti io che sono uno studente),
tant'e' che per timore che te la prendessi ti ho anche scritto che
stavo scherzando!
Nota che non ti ho mai dato dell'ignorante, ne' l'ho pensato.
Spero che il tuo codice abbia funzionato, dato che non hai dettro se
usi windows...
Ciao!
Zeppe

 Assolutamente no...
A me sembra sempre più di si, ma visto che non ho tempo da perdere
né voglia di replicare chiudo qui e ti auguro di trovare le info che
ti servono.
Ma altrove. Qui non c'è risposta alla tua domanda.
ciao
-- 
Gerolamo

 ti servono.
Ti ho detto di no!!...uffi Gerolamo se lo vuoi credere, credilo pure, ma 
non continuare a dire: confusione? Sembra di si...Sicuro? Confusione??
Dai caspita...provochi flame e basta...Ciao

 usi windows...
Infatti non l'ho detto su che SO funziona in quanto se lo dico mi viene 
risposto vai su it.comp...win.. oppure it.comp...linux oppure 
it.comp....SO  ecc.. Se ho postato qua è perchè volevo un metodo 
portabile...cmq mi potete dire dove posso postare la mia domanda 
affinchè qualcuno mi dia qualche dritta senza che sia i soliti 
it.comp...win.. oppure it.comp...linux ?
Vabbè dai, ciao a tutti e grazie per i consigli

Vabbè dai, ciao a tutti e grazie per i consigli
Figurati!
Ciao!
Zeppe