Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C] problema con acquisizione newline

    buonasera a tutti, avrei un problema con l'acquisizione utilizzando la scanf.
    sappiamo che per acquisire un carattere il codice è scanf(" %c", &s) però questa istruzione non permette di acquisire il carattere newline (per intenderci \n) quando premiamo invio.
    sapreste consigliarmi come fare? grazie a tutti

  2. #2
    Utilizza la funzione getc, che restituisce il valore decimale del carattere letto dallo stream in input:

    int getc(FILE* stream)

    Se devi acquisire da console utilizzi come input lo standard input

    int car = getc(stdin);

    Mi sembra di ricordare che il carattere RETURN ha valore 13.

    Saluti.

  3. #3
    si ci avevo pensato, il problema è che l'input devo per forza metterlo in una variabile char, non posso metterlo in una int...

  4. #4
    mediante un cast salvi il valore in un char.

  5. #5
    cioè utilizzando sprintf? scusami ma ho appena iniziato a utilizzare questo linguaggio e non sono ancora molto pratica.....

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma il problema qual e' ?

    Devi acquisire un carattere ... cosa c'entra il newline?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ti spiego, devo acquisire un elenco e mi serve acquisire anche quando "vado a capo", cioè quando premo invio... che corrisponde a \n... però la scanf non mi permette di acquisirlo dato che aspetta sempre un valore...

  8. #8
    Ma dove salvi l'elenco in input?
    Sappi comunque che la funzione scanf acquisisce anche il carattere Invio.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Continuo a non capire.

    Acquisire un elenco di cosa? Stai usando una semplice variabile di tipo char, un solo carattere ... che elenco vuoi acquisire in una variabile char?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Non ho capito bene quello che vuoi fare, ma se vuoi acquisire una stringa compreso il newline finale usa fgets (usando stdin come stream).
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.