fstream seekg seekp 调整指针时使用ios::end 的问题
#include <iostream.h>#include <fstream.h>int main(void){ fstream ioUserFile; ioUserFile.open("test.dat",ios::in | ios::out); //文件中的内容为 abcd,文件为4个字节 ioUserFile.seekp(ios::end); cout << ioUserFile.tellp()<<";" <<ioUserFile.tellg() << endl ; //此处显示的值为2;2 应该显示的值不应该是 4;4 么?test就是个空文件,也显示2;2 ioUserFile.close(); return 0;}
#include <iostream>#include <fstream>using namespace std;int main(void){ fstream ioUserFile; ioUserFile.open("test.dat",ios::in | ios::out); ioUserFile.seekp(ios::end); cout << ioUserFile.tellp()<<";" <<ioUserFile.tellg() << endl ; ioUserFile.close(); return 0;}运行结果:-1;-1lz删掉那个test.dat文件看看。有可能有不可见字符。。。