std::istream::get

Posted bxynlbyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了std::istream::get相关的知识,希望对你有一定的参考价值。

get()含有三种重载模式

单字符:

single character:  int get();(如果到文件尾就返回EOF)

        istream& get(char & c);

从流中读取一个字符,结果保存在引用c中,如果到文件尾就返回空字符。

如file.get(x);表示从文件中读取一个字符,并把读取的字符保存在x中。

c字符串:

c-string:   istream& get(char* s,streamsize n);    

     istream& get(char* s,streamsize n,char delim);

从流中提取字符,并将其作为c字符串存储在s中,直到读入了n个字符或者遇到定界字符位置,定界符为‘ ’或delim。

如ifstream &get(char *buf,int num,char delim=‘ ‘);把字符读入由buf指向的数组,直到读入了num个字符或遇到了delim指定的字符,如果没使用delim这个参数,将使用缺省值换行符‘ ‘。

流缓冲:

stream buffer:  istream& get(streambuf& sb);

        istream& get(streambuf& sb,char delim);

从流中提取字符,并将其插入到由流缓冲区对象sb控制的输出序列中,一旦插入失败或输入序列中遇到定界符(‘ ‘或delim),则停止。从流中仅提取成功插入到sb的字符,定界符不会在sb插入的字符里,会将它从输入序列里提取并将其保留为下一个要从流中提取的字符。

 

以上是关于std::istream::get的主要内容,如果未能解决你的问题,请参考以下文章