istream& getline ( istream &is , string &str , char delim ); istream& getline ( istream &is , string &str);
cin cin.get()
- is 进行读入操作的输入流
- str 存储读入的内容
- delim 终结符
cin.get()用于获取输入缓冲区的第一个字符,不会忽略任何分隔符
int cin.get(); istream& cin.get(char& var); istream& get ( char* s, streamsize n ); istream& get ( char* s, streamsize n, char delim )。cin >>
连续从键盘读取想要的数据,以空格、tab或换行作为分隔符
cin>>a>>b>>c;实例 例【1】一个完整的字符串
A Famous Saying: Much Ado About Nothing (2012/8).(1)cin.get()
string s;
char ch;
while(cin.get(ch))
{
s.push_back(ch);
}
(2)getline
string str = "";
getline(cin, str);
例【2】数字、字符混合
3 abc bca cab abc 1cin >>
int wordsNum = 0;
cin >> wordsNum;
vector vecStr(wordsNum, "");
for(int i = 0; i < wordsNum; i++){
string s = "";
cin >> s;
vecStr[i] = s;
}
string word = "";
cin >> word;
int k = 0;
cin >> k;
例【3】字母用特殊字符分割
10.0.3.193
输入IP地址,以’ . ‘分割。
getline + stringstreamstring strIP; cin >> strIP; stringstream iss(strIP); string sTmp = ""; vectornums; //long while (getline(iss, sTmp, '.')) { nums.push_back(atol(sTmp.c_str())); }



