Unterschied zwischen cin und cin.get() für char-array

Ich habe diese 2 codes:

char a[256];
cin>>a;
cout<<a;

und

char a[256];
cin.get(a,256);cin.get();
cout<<a;

und vielleicht, relativ zu dem zweiten ein, ohne cin.get();

char a[256];
cin.get(a,256);
cout<<a;

Meine Frage ist die (erste) : für ein char-array, was sollte ich verwenden? cin oder cin.get()? Und warum sollte ich cin.get(); ohne parameter, nachdem mein char Initialisierung?

Und meine zweite Frage ist: meine c++ Lehrer lehrte mich, jedes mal, wenn cin.get() für die Initialisierung chars und NACH jeder Initialisierung char-array oder ein int-array oder einfach nur int oder was auch immer, wieder cin.get(); nach. Das ist, was ich Fragen wollte zunächst.

So, jetzt habe ich diese 2:
In diesem Fall, ohne cin.get() nach der Initialisierung integer, mein Programm wird brechen und ich kann nicht mehr tun, meine char initialisieren.

int n;
cin>>n;
char a[256];
cin.get(a,256); cin.get();  //with or without cin.get();?
cout<<a;

Und die richtige:

int n;
cin>>n; cin.get();
char a[256];
cin.get(a,256); cin.get(); //again, with or without?
cout<<a;

Also, was ist die Materie? Bitte jemand erklären, für jeden Fall ! Danke.

InformationsquelleAutor Ruben P | 2015-04-14
Schreibe einen Kommentar