C ++-以字母和数字序列读取int

int number;
string text;

cin>>number;          // Here I read "1234aaaa"
cin>>text;

cout<<number<<" "<<text;      // It prints "1234 aaaa"

I understand that the stream stores aaaa from the previous reading and then it passes it to the next reading.

How can I avoid the garbage value from number to be passed to text ?