CInternetFile::Seek
更新 : 2007 年 11 月
あらかじめ開いているファイルのポインタを移動します。
virtual ULONGLONG Seek(
LONGLONG lOffset,
UINT nFrom
);
パラメータ
lOffset
ファイル ポインタを移動するバイト単位のオフセット。nFrom
オフセットの相対参照。次のいずれかの値を指定します。CFile::begin ファイル ポインタをファイルの先頭から lOff バイトの位置へ移動します。
CFile::current ファイル ポインタをファイルの現在の位置から lOff バイトの位置へ移動します。
CFile::end ファイル ポインタをファイルの終端 (EOF) から lOff バイトの位置へ移動します。既存のファイルの中にシークするためには、lOff は負の値である必要があります。正の値の場合は、ファイルの終端を越えて移動します。
戻り値
要求した位置が正常な場合は、ファイルの開始位置からの新しいバイト オフセットを返します。それ以外の場合には、値は不定となり、CInternetException オブジェクトがスローされます。
解説
Seek 関数を使用すると、相対的または絶対的に指定した量だけポインタを移動することによって、ファイルの内容にランダムにアクセスできます。シーク中は、データは実際には読み取られません。
現時点でこのメンバ関数は、CHttpFile オブジェクトに関連するデータに対してのみ、サポートされています。FTP または gopher 要求に対しては、サポートされていません。このようなサポートされていないサービスに対して Seek を呼び出した場合、Win32 エラー コードの ERROR_INTERNET_INVALID_OPERATION が返されます。
ファイルが開かれたときのファイル ポインタの位置は、ファイルの先頭であるオフセット 0 です。
メモ : |
---|
Seek を使用すると、暗黙に Flush が呼び出されます。 |
例外
このメソッドは、CInternetException* 型の例外をスローできます。
使用例
基本クラスの実装の例を参照してください (CFile::Seek)。
必要条件
ヘッダー : afxinet.h