Latest web development tutorials

Cライブラリ関数 - fsetpos()

C標準ライブラリ - に<stdio.h> C標準ライブラリ-に<stdio.h>

説明

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);
}

C標準ライブラリ - に<stdio.h> C標準ライブラリ-に<stdio.h>