Advertisement

C++ 操作和处理文件读写指针

阅读量:

当处理文件时,在某些情况下希望能够快速跳转到特定位置进行读写操作。即首先要确保读写指针定位到目标位置,并且完成此操作后就可以开始实际的读写过程。

复制代码
    	ifstream 类和 fstream 类有 seekg 成员函数,可以设置文件读指针的位置;
    	
    	ofstream 类和 fstream 类有 seekp 成员函数,可以设置文件写指针的位置。

所谓“位置”,就是指距离文件开头有多少个字节。文件开头的位置是 0。

这两个函数的原型如下:

复制代码
    ostream & seekp (int offset, int mode);
    istream & seekg (int offset, int mode);

mode 表示文件读写指针的设置方式,在iOS系统中有三种不同的处理情况:

  1. **ios::beg:该设置使读指针(或写指针)指向起始位置后指定的偏移量字节处;其中偏移量为零时即表示起始位置;这种情况下偏移量必须为非负值。

ios::cur:在当前情况下,在 offset 值为负时,则指示使读写指针向文件开头方向偏移指定的字节数;而当取正值时,则指示使这些指针向文件尾部方向偏移相应字节数;无非则是不进行任何偏移操作。

ios::end 实现了一个让文件读指针(或写指针)指向指定位置的操作;

全部评论 (0)

还没有任何评论哟~