Struktura nie działa wczytywanie getline

0

Witam,
Mam taką prostą strukturę. Problem polega na tym, że nie wiem jak wczytać string ze spacjami. Funkcja getline(cin, samochod[i].marka) nie działa i przechodzi od razu do następnej linii :Rok produkcji.

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

struct car 
{
    string marka;
    int rok_budowy;
};

int main(int argc, char** argv)
{
    int ile;
    cout << "Ile samochodów chcesz skatalogować? "; cin >> ile;

    car *samochod = new car[ile];

    for(int i = 1; i<ile ;++i)
    {
        cout << "Samochód #" << i << ":\n";
        cout << "Proszę podać markę: " ; 
        getline(cin, samochod[i].marka);

        cout << "Rok produkcji: "; cin >> samochod[i].rok_budowy;
    }

    return 0;
}
0

Spróbuj z cin.getline - strona z przykładem poniżej:

http://stackoverflow.com/a/5838723/2066024

0

Z tego co wiem to cin.getline jest do char a nie do stringów. Chciałbym, żeby ktoś obeznany w temacie powiedział mi dlaczego to nie działa.

0
#include <iomanip>
...
getline(cin>>ws,samochod[i-1].marka); // indeksacja tablic od 0
0

Dzięki działa pytanie dlaczego działa i dlaczego poprzednia wersja nie działała ?:)

0

Ok dzięki:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1