Cライブラリ関数 - fsetpos()
説明
Cライブラリ関数は、fsetpos(ファイル*ストリーム、constのint型 fpos_tの* posの)指定された場所のファイルの場所指定されたフローストリームに設定されています。POSパラメータは関数FGETPOS位置によって与えられます。
声明
ここで、()文fsetpos関数です。
int fsetpos(FILE *stream, const fpos_t *pos)
パラメータ
- ストリーム-これは、オブジェクトへのポインタをファイルへのポインタ、オブジェクト識別子ファイルの流れです。
- POS -これは、ポインタfpos_tオブジェクトへのポインタで、オブジェクトが得られFGETPOSの採用前の位置が含まれています。
戻り値
成功した場合、関数は0の値を返し、それ以外の場合はゼロ以外の値、正の値にグローバル変数errnoを返し、この値は、perrorはによって説明することができます。
例
以下の例は、()関数を使用するfsetposを示しています。
#include <stdio.h> int main () { FILE *fp; fpos_t position; fp = fopen("file.txt","w+"); fgetpos(fp, &position); fputs("Hello, World!", fp); fsetpos(fp, &position); fputs("这将覆盖之前的内容", fp); fclose(fp); return(0); }
次のように読み取り、のは、ファイルfile.txtを作成されます上記のプログラムを、コンパイルして実行してみましょう。 その後、私たちは、ファイルへの書き込みポインタの開始時にリセットするfsetpos()関数を使用まず、我々はファイルの初期位置を取得するためにFGETPOS()関数を使用してから、我々は、ハローファイルに世界を書き込み、ファイルは次のテキストで上書きされ!:
这将覆盖之前的内容
それでは、上記のファイルの内容を表示するには、次の手順を使用してみましょう:
#include <stdio.h> int main () { FILE *fp; int c; fp = fopen("file.txt","r"); while(1) { c = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", c); } fclose(fp); return(0); }