ammetto di saperne poco di C++, ma credo che tu debba usare getline se vuoi leggere una linea... altrimenti la lettura si ferma al primo spazio (e quindi credo che metta "Ciao" in a e "sono" in b)
prova, sennò ti serve qualcuno che ne sappia qualcosa