[Pluto-help] Programmazione C/C++

Marco Cova giardini a libero.it
Lun 19 Ago 2002 20:01:19 CEST


On Mon, Aug 19, 2002 at 04:48:32PM +0200, Manuel (R)ex Sanna wrote:
> Cari geeks,

ehi, geeks a chi? :-)

[cut]

> avrei bisogno di ricevere una risposta di un singolo carattere [y/n]
> ad una risposta. Utilizzo getchar(), ma non mi viene richiesto nulla!!!

Mmmh, sembra un tipico casino da scanf. 
Se stai leggendo il nome del file usando scanf(3), quanto sotto
potrebbe essere giusto, altrimenti manda questa mail su /dev/null e
prova a postare (la parte rilevante del) codice (o in privato, se vuoi) :-)

scanf(3) e' nota per una serie di problemi, vedi
http://www.faqs.org/faqs/C-faq/faq/ , domande 12.12 - 12.20.

Puoi, in alternativa, usare qualcosa del tipo:

<code>
char ch, str[MAX_LENGTH];

printf("File: ");

/* probabilmente non necessario, ma tant'e' (vedi 12.4) */
fflush(stdout); 

/* questo lascia il '\n' alla fine di str */
fgets(str, MAX_LENGTH, stdin); 

/* elimina il '\n' */
str[strlen(str)-1] = '\0'; /* strlen(str) >= 1 */

ch = getchar();
</code>

HTH,
Marco





More information about the pluto-help mailing list