C-standard-library-c-function-fread

提供:Dev Guides
移動先:案内検索

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

説明

Cライブラリ関数 size_t fread(void ptr、size_t size、size_t nmemb、FILE * stream)は、 *ptr が指す配列に、指定された stream からデータを読み取ります。

宣言

以下は、fread()関数の宣言です。

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

パラメーター

  • ptr -これは、_size * nmemb_バイトの最小サイズのメモリブロックへのポインタです。
  • サイズ-これは、読み取られる各要素のバイト単位のサイズです。
  • nmemb -これは要素の数であり、各要素のサイズは size バイトです。
  • stream -これは、入力ストリームを指定するFILEオブジェクトへのポインタです。

戻り値

正常に読み取られた要素の合計数は、整数データ型であるsize_tオブジェクトとして返されます。 この数がnmembパラメーターと異なる場合は、エラーが発生しているか、ファイルの終わりに達しました。

次の例は、fread()関数の使用法を示しています。

#include <stdio.h>
#include <string.h>

int main () {
   FILE *fp;
   char c[] = "this is finddevguides";
   char buffer[100];

  /*Open file for both reading and writing*/
   fp = fopen("file.txt", "w+");

  /*Write data to the file*/
   fwrite(c, strlen(c) + 1, 1, fp);

  /*Seek to the beginning of the file*/
   fseek(fp, 0, SEEK_SET);

  /*Read and display data*/
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);

   return(0);
}

ファイル file.txt を作成して内容を書き込む上記のプログラムをコンパイルして実行してみましょう。これはfinddevguides_です。 その後、私たちは* fseek()*関数を使用して書き込みポインタをファイルの先頭にリセットし、次のようなファイルコンテンツを準備します-

this is finddevguides