读书人

fstream seekg seekp 调整指针时使用i

发布时间: 2012-09-03 09:48:39 作者: rapoo

fstream seekg seekp 调整指针时使用ios::end 的问题

C/C++ code
#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;}


//ioUserFile.seekp(ios::end); 怎么没有把指针调整的文件的结尾


[解决办法]
C/C++ code
#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文件看看。有可能有不可见字符。。。 

读书人网 >C++

热点推荐