刚学io流书上有一段检查文件尾的方法是
double next = 0;
while(in_stream>>next)//in_stream是连接到输入文件的流
能理解这里的条件是取到的时候布尔为true,但是为什么可以在循环中实现连续读取而不是每一次循环从头读取?
double next = 0;
while(in_stream>>next)//in_stream是连接到输入文件的流
能理解这里的条件是取到的时候布尔为true,但是为什么可以在循环中实现连续读取而不是每一次循环从头读取?
解决方案
20
你把他看成文件位置指针,输入一次后文件指针会往后移动
40
1.seekg 输入流
语法:
istream &seekg( off_type offset, ios::seekdir origin );
istream &seekg( pos_type position );
函数seekg()用于输入流,并且它将重新设置”get”指针到当前流的从origin偏移offset个字节的位置上,或是置”get”指针在position位置。
2.seekp 输出流
语法:
ostream &seekp( off_type offset, ios::seekdir origin );
ostream &seekp( pos_type position );
seekp()函数用于输出流,但在其它方面和seekg()很相似。
语法:
istream &seekg( off_type offset, ios::seekdir origin );
istream &seekg( pos_type position );
函数seekg()用于输入流,并且它将重新设置”get”指针到当前流的从origin偏移offset个字节的位置上,或是置”get”指针在position位置。
2.seekp 输出流
语法:
ostream &seekp( off_type offset, ios::seekdir origin );
ostream &seekp( pos_type position );
seekp()函数用于输出流,但在其它方面和seekg()很相似。