Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - funzione gets()
Forum - C/C++ - funzione gets() - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
zaire90 (Normal User)
Rookie


Messaggi: 46
Iscritto: 16/10/2009

Segnala al moderatore
Postato alle 17:29
Sabato, 17/12/2011
RISOLTO! sono riuscito a fare il programma con fgets()...va bene apposto!

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:32
Sabato, 17/12/2011
http://www.lix.polytechnique.fr/~liberti/public/computing/ ...

P.S. Certo che sei un po' "resistente" ... mi domando perché chiedere aiuto nei forum se non si segue quello che si riceve ...

Ultima modifica effettuata da nessuno il 17/12/2011 alle 17:34


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Driverfury (Normal User)
Rookie


Messaggi: 45
Iscritto: 21/09/2011

Segnala al moderatore
Postato alle 13:16
Lunedì, 19/12/2011
Se vuoi proprio usare la gets() potresti provare utilizzando una stringa di appoggio che legge l'invio che è ancora nel buffer. Dovrebbe funzionare con il seguente codice.

Codice sorgente - presumibilmente C++

  1. # include <stdio.h>
  2. # include <string.h>
  3.  
  4. int main(void)
  5. {
  6.   char str[80];
  7.   char temp[2]; // Variabile di appoggio
  8.  
  9.   gets(str);
  10.   gets(temp);
  11.   printf("\nlunghezza stringa %d",strlen(str));
  12.  
  13.   return 0;
  14. }


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:20
Lunedì, 19/12/2011
Testo quotato

Postato originariamente da Driverfury:

Se vuoi proprio usare la gets()  



Scusa ma questo codice non cambia nulla del problema che forse non ti è chiarissimo.

La gets non va usata (e addirittura tu la usi due volte) perché soggetta a buffer overflow. Punto.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo