Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - input
Forum - C/C++ - input "saltato"

Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 9:00
Venerdì, 18/04/2014
Ciao a tutti, ho (se si puo' definir così) un semplice problema, ovvero mi salta l'input di un dato. Vi posto il codice che sarà tutto più chiaro.
Codice sorgente - presumibilmente C/C++

  1. string str1, str2;
  2.                 char str3[100];
  3.  
  4.                 cout << "\nInserisci la stringa 1:  ";
  5.                 cin >> str1;
  6.                 cout << "\nInserisci la stringa 2:  ";
  7.                 cin >> str2;
  8.                 cout << "\nInserisci la stringa 3:\n";
  9.                 cin.getline(str3, 100);//in runtime mi salta questo input... why???


PM Quote
Avatar
DeSa97 (Normal User)
Newbie


Messaggi: 5
Iscritto: 27/03/2014

Segnala al moderatore
Postato alle 13:18
Venerdì, 18/04/2014
invece di cin.getline mettici
fflush(stdin);
gets(str3);

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6130
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:46
Venerdì, 18/04/2014
La fflush non è standard per lo stdin, da sconsigliare.

Utilizza la

cin.ignore();

dopo le cin

La gets è soggetta a buffer overflow, da sconsigliare.


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
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 18:52
Venerdì, 18/04/2014
Risolto (tramite i vostri suggerimenti). Grazie mille ad entrambi! :k:

PM Quote