2 回答

TA貢獻1820條經驗 獲得超10個贊
先說一下C語言中fseek()的功能:
函數原型:int fseek(FILE *fp, LONG offset, int origin)
參數含義:fp 文件指針 offset 相對于origin規(guī)定的偏移位置量 origin 指針移動的起始位置,可設置為以下三種情況: SEEK_SET 文件開始位置 SEEK_CUR 文件當前位置 SEEK_END 文件結束位置
C++中seep()和seekg()函數功能
seekp:設置輸出文件流的文件流指針位置
seekg:設置輸入文件流的文件流指針位置
函數原型:
ostream& seekp( streampos pos );
ostream& seekp( streamoff off, ios::seek_dir dir );
istream& seekg( streampos pos );
istream& seekg( streamoff off, ios::seek_dir dir );
函數參數
pos:新的文件流指針位置值
off:需要偏移的值
dir:搜索的起始位置
dir參數用于對文件流指針的定位操作上,代表搜索的起始位置
在ios中定義的枚舉類型:
enum seek_dir {beg, cur, end};
每個枚舉常量的含義:
ios::beg:文件流的起始位置
ios::cur:文件流的當前位置
ios::end:文件流的結束位置

TA貢獻1886條經驗 獲得超2個贊
#include <fstream>
#include <iostream>
using namespace std;
其實是在ios中定義的
seekg成員函數格式 格式1:istream & seekg(long pos);用于在輸入文件流中絕對移動讀取指針 格式2:istream & seekg(long offset, seek_dir dir);用于在輸入文件流中相對移動讀取指針 參數: offset — 指針移動量 dir — 移動基準點,為如下值ios::beg 文件開頭、ios::cur 當前位置、ios::end 從文件尾 使用示意: 1. 多次從頭操作同一文件: in.seekg(0) 和 out.seekg(0) 將當前讀和寫指針指向文件的開始 2. 指向文件的結尾: in.seekg(0, ios::end) 和 out.seekg(0, ios::end) 將當前讀寫指針指向文件結尾 seekp成員函數格式 格式1:ostream& seekp(long pos);用于在輸出流中絕對移動寫入定位指針 格式2:ostream& seekp(long offset, ios::seek_dir dir);用于在輸出流中相對移動寫入定位指針 參數: offset — 指針移動量 dir — 移動基準點,為如下值ios::beg 文件開頭、ios::cur 當前位置、ios::end 從文件尾 使用方法類似于seekg
添加回答
舉報