PDA

Visualizza la versione completa : [C++]Problema strano con getline


Metalmino
04-02-2013, 19:20
Vi posto un pezzo di codice stupidissimo:


#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
vector <string> agenda(24);
cout << "Benvenuto alla tua agenda giornaliera " << endl;
cout << "Premi 1 per inserire un attivita' o 0 per uscire " << endl;
int m;
cin >> m;
while (m==1)
{
int i;
cout << "Indica l'ora in cui vuoi immettere l'attivita' ";
cin >> i;
cout << "scrivi la nota: ";
getline(cin,agenda[i]);
cout << agenda[i];
cin >> m;

}

}



non ha alcun senso il codice, lo so, l'ho scritto per cercare di capire un problema con getline.
In pratica se non uso il ciclo while getline funge alla perfezione, nel ciclo while scritto č come se getline non venisse riconosciuto proprio. Salta la parte del getline e vā direttamente al cin>>m.

Come mai? Inizio a pensare a qualche problema di compatibilitā con win8 visto che devc++ non mi funziona su win8 (mi dā errore nella compilazione anche di un hello world) e ora con qt mi dā questo problema.

Grazie in anticipo.

Scara95
04-02-2013, 19:30
Dopo
cin >> i; aggiungi
cin.ignore(255,'\n');

255 č un valore fake: č il numero massimo di caratteri da scartare e l'ho impostato arbitrariamente...

Loading