Ho trovato questo codice in linea come modello per eseguire una stringa su float/int/doppia conversione. È solo qui, quindi ho qualcosa da riferire per la domanda ....Stringa per flottare utilizzando stringstream
Voglio che un utente inserisca un numero come stringa, lo converta in un float, lo verifichi per il successo e lo abbandoni se l'inserimento fosse ' Q 'o stampare "Input non valido" se non era il carattere' Q'uit e ritornare per più input.
Qual è la sintassi per un test di errore di conversione? Sarebbe ss.fail()?
// using stringstream constructors.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int val;
stringstream ss (stringstream::in | stringstream::out);
ss << "120 42 377 6 5 2000";
/* Would I insert an
if(ss.fail())
{
// Deal with conversion error }
}
in here?! */
for (int n=0; n<6; n++)
{
ss >> val;
cout << val*2 << endl;
}
return 0;
}
ciò errore di sintassi hai trovato? –