int main(){
fstream file1;
char buffer[512];
char c;
file1.open("66666.txt", ios::in);
file1.seekg(0, ios::end);
string::size_type file_size = file1.tellg();
cout<<file_size<<endl;
file1.seekg(0, ios::beg);
for(;;){
file1.read(buffer, 512);
cout<<file1.gcount()<<endl;
cout<<file1.tellg()<<endl;
if(file1.eof()){
break;
}
}
file1.close();
cin>>c;
return 0;
}
以上是我的代码和结果,我这个程序的目的是每次读取文件中的512个字节,输出是首先输出这个文件的总字节数,然后每次读的时候输出所读入的字节数以及当前get 流指针的位置。
我第一次读512字节之后,当前get流指针的位置不应该是512吗,为什么这个程序却跑出了533的结果?
我同学在他的苹果机上跑却是正确的结果。
我的环境是vs2008,32位win7系统,想知道为什么会有这样的现象出现。