get、getline、read
get
-
single character
int get(); istream& get (char& c);
功能:从流中提取单个字符。返回该字符(第一个方法),或将其设置为参数的值(第二个方法)。
-
c-string
istream& get (char* s, streamsize n); istream& get (char* s, streamsize n, char delim);
从流中提取字符并将其作为c字符串存储在s中,直到提取(n-1)个字符或遇到定界字符为止:定界字符为换行符(’\ n’)或delim (如果指定了此参数)。
如果找到了分隔符,则不会从输入序列中将其提取出来,而是保留在那里,作为要从流中提取的下一个字符(有关删除分隔符的替代方法,请参见getline)。
如果n大于零,即使提取了一个空字符串,也会自动将一个空字符(’\ 0’)附加到写入的序列中。 -
stream buffer
istream& get (streambuf& sb); istream& get (streambuf& sb, char delim);
从流中提取字符,并将其插入到流缓冲区对象sb控制的输出序列中,一旦插入失败或输入序列中遇到定界字符,则停止(定界字符为换行符) 字符,’\ n’或delim(如果指定了此参数)。
从流中仅提取成功插入sb中的字符:既不会从输入序列中提取定界字符,也不会最终未能在sb中插入的字符从输入序列中提取,并保留在那里,作为下一个要从流中提取的字符。
样例:
std::string s("25Hello5World#Test");
std::istringstream iss(s);
// get
// get single character
std::cout <<