get()函數是靈活的。常用的重載有三種,但實際上有六種重載:
int get();
istream & amp獲取(char & ampc);
istream & ampget ( char* s,streamsize n);
istream & ampget ( char* s,streamsize n,char delim);
istream & ampget(streambuf & amp;sb);
istream & ampget(streambuf & amp;sb,char delim);
針對常用的三種形式,我們來說壹下。
壹種是put()對應的形式:if stream &;獲取(char & ampch);函數是從流中讀取壹個字符,結果保存在引用ch中,如果到達文件末尾,則返回壹個空字符。如file 2 . get(x);表示從文件中讀取壹個字符,並將讀取的字符保存在x。
另壹種重載形式的原型是:int get();這種形式從流中返回壹個字符,如果到達文件末尾則返回EOF,比如x = file 2 . get();該函數與前面的示例相同。
原型的另壹種形式是:if stream &;get(char *buf,int num,char delim = ' \ n ');在這種形式中,字符被讀入buf指向的數組,直到num個字符被讀取或遇到delim指定的字符。如果不使用delim,將使用默認換行符' \n '。例如:
file2.get(str1,127,' A ');//從文件中讀取字符到字符串str1,遇到字符' a '或讀取127字符時終止。