ifstream

Posted Lucky、Dog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 是要丢东西的

 

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

ifstream::read 在 ASCII 26 处失败

C ++ ifstream嵌套循环[关闭]

Ifstream 无法加载文件并且无法打开

ifstream 在读取文件 3 次后中断

C++ Ifstream 读取太多?

为啥我不能使用 ifstream 读取撇号而不崩溃?