#include <iostream>
#include <string>
#include <limits>
using namespace std;
...
// C++-ban mindig használjunk valamilyen sztring osztályt!
// A string állományt sose felejtsük el beépíteni!!!
string s;
// 1. Szóközig vagy sor végéig olvasunk
cin >> s;
if(cin)
cout << s << endl;
// Ehhez a limits header kell: kiüríti a buffert a sor végéig
cin.ignore(numeric_limits<std::streamsize>::max(),'\n');
// 2. Sor végéig vagy a maximális méretig (s.max_size()) olvasunk
if(std::getline(cin, s))
cout << s << endl;
// Ehhez a limits header kell: kiüríti a buffert a sor végéig
cin.ignore(numeric_limits<std::streamsize>::max(),'\n');
// Ha mindenképp C sztringet akarunk használni:
// A lezáró nullát automatikusan beleszámolja
cin.width(STR_SIZE);
// 1. Szóközig vagy sor végéig olvasunk
cin >> str;
if(cin)
cout << str << endl;
// Ehhez a limits header kell: kiüríti a buffert a sor végéig
cin.ignore(numeric_limits<std::streamsize>::max(),'\n');
// 2. Sor végéig vagy STR_SIZE-1-ig olvas (a -1-et most sem kell kiírni)
cin.getline(str, STR_SIZE);
if(cin)
cout << str << endl;