ifstream

eof() 这个东西是返回文件是否达到尾部。

           在读取错误的时候才会触发。

           这点要小心,如果写在while(eof) 即使到了文件尾部,

           但并没有读取错误,很有可能再次进入循环,然后出现读取错误

.get()

.getline() 

这两个因为重载了,get的种类,比getline多几个 

          

istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
single character (1)
int get();
istream& get (char& c);
c-string (2)
istream& get (char* s, streamsize n);
istream& get (char* s, streamsize n, char delim);
stream buffer (3)
istream& get (streambuf& sb);
istream& get (streambuf& sb, char delim);

记住一点:啥叫c-string,那个n是c-string的大小,因为c-string最后一个总是为‘\0’,所以实际上只是读入了 n-1个char

还有一点:get 不丢任何东西,getline 是要丢东西的

 

posted @ 2017-10-14 19:34  Lucky、Dog  阅读(380)  评论(0编辑  收藏  举报