Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++]Problema strano con getline

    Vi posto un pezzo di codice stupidissimo:
    codice:
    #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.

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Dopo
    codice:
    cin >> i;
    aggiungi
    codice:
    cin.ignore(255,'\n');
    255 č un valore fake: č il numero massimo di caratteri da scartare e l'ho impostato arbitrariamente...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.