Ciao ragazzi sono nuovo. Ho appena iniziato a programmare in C per lavoro e ho subito notato questo forum.
Avrei bisogno di un aiuto per una piccola questione. Sto facendo un programmino che funga da interfaccia utente, stampi a schermo delle opzioni e dei comandi che siano poi cliccabili da tastiera. Funziona tutto, c'è solo una cosa che mi irrita. In pratica quando l'utente schiaccia il tasto "T" si gli chiede successivamente di inserire un altro valore (un byte in formato hex), questo viene letto correttamente ma essendo composto da 2 cifre mi appare il messaggio a schermo di Error: digitazione errata perchè non viene premuto nessun tasto riconosciuto.
Primo non capisco perchè appare questo messaggio... una volta che entro nel "case : T" il sistema dovrebbe rimanere in attesa per la scanf e fare il getch() soltanto dopo che ho premuto invio.
Secondo vorrei sapere un modo per evitare che venga mostrato il messaggio di errore che potrebbe confondere gli utilizzatori...
Grazie a tutti, spero di essere stato chiaro
while(1){
digit2=getch();
printf(" Typed: %c\n", digit2-32);
switch(digit2){
case T:
close(pipe2[0]);
close(piped[0]);
pkt_flag=1;
puts("\nPacket type: defined");
puts("\nSelect pattern in hexadecimal format: 0x**h");
scanf("%02x",&bob);
write(piped[1], &bob, sizeof(unsigned char));
write(pipe2[1], &pkt_flag, sizeof(int));
break;
...
...
default:
puts(" \n ERROR: type \"m\" for intructions");
break;
}
}