Fread

freadは、C言語の標準入出力ヘッダーファイル <stdio.h> で宣言されている関数である。 主に、バイナリ形式のファイル入力に使われる。

形式

ISO/IEC 9899:1999 では、以下のように定義されている[1]

概要
#include <stdio.h>
size_t fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream);
説明
fread関数は、ptrが指す配列に、sizeで指定された大きさを持つ要素を最大nmemb個まで、streamが指すストリームから読み取る。各オブジェクトに対して、fgetc関数がsize回だけ呼び出され、読み取った順に、オブジェクトの上に正確に重なっているunsigned charの配列に結果が格納される。ストリームのファイル位置指示子[注釈 1](定義されている場合)は、正常に読み取られた文字数だけ進む。エラーが発生した場合、ストリームのファイル位置指示子の結果は不定である。要素の一部だけが読み取られた場合も、その値は不定である。
返却値
fread関数は、読み取りに成功した要素の数を返すが、読み取りエラーが発生した場合またはEOFに到達した場合に、nmembよりも小さくなる。sizeまたはnmembがゼロの場合、freadはゼロを返し、配列の内容とストリームの状態は変更されない。

テキストモード

streamがテキストモードで開かれていた場合、改行コードCR+LFは読み取りの際にLFで置換される処理系もある[2]。詳細は各処理系のリファレンスを参照のこと。

コード例

詳細は「fwrite」を参照

脚注

注釈

  1. ^ ISO/IEC 9899:1999 の position indicator は、JIS X 3010:2003 では「位置表示子」と訳されている。

出典

  1. ^ ISO/IEC 9899:1999 TC3 | WG14/N1256, Committee Draft | Septermber 7, 2007 | 7.19.8.1 The fread function
  2. ^ fread | Microsoft Docs

関連項目

外部リンク

  • K&R
  • ANSI C
    • C89
    • C90
  • C99
  • C11
  • C17(英語版)
  • C2x(英語版)
  • Embedded C(英語版)
  • MISRA C
Cの機能
  • 関数
  • ヘッダファイル
  • 演算子
  • 文字列(英語版)
  • 文法(英語版)
  • プリプロセッサ(英語版)
  • データ型(英語版)
  • キーワード
  • フリースタンディング環境
  • 標準Cライブラリの関数
    • ctype.h(英語版)
    • stdio.h
    • math.h(英語版)
    • stdlib.h(英語版)
    • string.h(英語版)
    • time.h
    • stdarg.h(英語版)
    • POSIXライブラリ(英語版)
    標準Cライブラリ
    コンパイラ
    統合開発環境
    派生言語
    関連項目
    • カテゴリ カテゴリ