Namespaces
Variants

File input/output

From cppreference.net
< c

<stdio.h> ヘッダーは、汎用的なファイル操作サポートを提供し、ナロー文字の入出力機能を持つ関数を提供します。

<wchar.h> ヘッダーは、ワイド文字の入出力機能を提供する関数を定義します。

I/Oストリームは、型 FILE のオブジェクトによって表され、 FILE * 型のポインタを通じてのみアクセスおよび操作が可能です。各ストリームは外部の物理デバイス(ファイル、標準入力ストリーム、プリンタ、シリアルポートなど)に関連付けられています。

目次

ヘッダーで定義 <stdio.h>
CのI/Oストリームを制御するために必要なすべての情報を保持できるオブジェクト型
(typedef)
ファイル内の位置とマルチバイトパーサーの状態を一意に指定できる非配列完全オブジェクト型
(typedef)

事前定義済み標準ストリーム

定義済みヘッダー <stdio.h>
入力ストリームに関連付けられた FILE * 型の式
出力ストリームに関連付けられた FILE * 型の式
エラー出力ストリームに関連付けられた FILE * 型の式
(マクロ定数)

関数

翻訳のポイント: - HTMLタグ、属性、C++固有の用語(`gets`、`gets_s`、`stdin`)は翻訳せず保持 - `(removed in C11)` → `(C11で削除)` に翻訳 - `reads a character string from stdin` → `stdinから文字列を読み込む` に翻訳 - `(function)` → `(関数)` に翻訳 - 元のフォーマットと構造を完全に保持 HTMLタグ、属性、C++固有の用語(fgetwc、getwc、C95)は翻訳せず、元のフォーマットを保持しました。テキスト部分のみを日本語に翻訳しています。
ファイルアクセス
ヘッダーで定義 <stdio.h>
ファイルを開く
(関数)
既存のストリームを別の名前で開く
(関数)
ファイルを閉じる
(関数)
出力ストリームを実際のファイルと同期します
(関数)
ファイルストリームのバッファを設定する
(関数)
ファイルストリームのバッファとそのサイズを設定する
(関数)
ヘッダーで定義 <wchar.h>
(C95)
ファイルストリームをワイド文字I/Oとナロー文字I/Oの間で切り替える
(関数)
ダイレクト入力/出力
ヘッダーで定義 <stdio.h>
ファイルから読み込む
(関数)
ファイルに書き込む
(関数)
非フォーマット入出力
ナロウ文字
ヘッダーで定義 <stdio.h>
ファイルストリームから文字を取得する
(関数)
ファイルストリームから文字列を取得する
(関数)
ファイルストリームに文字を書き込む
(関数)
ファイルストリームに文字列を書き込む
(関数)
stdin から文字を読み取る
(関数)
(C11で削除) (C11)
stdin から文字列を読み込む
(関数)
文字を stdout に書き込む
(関数)
文字列を stdout に書き込む
(関数)
ファイルストリームに文字を戻す
(関数)
ワイド文字
ヘッダーで定義 <wchar.h>
ファイルストリームからワイド文字を取得する
(関数)
(C95)
ファイルストリームからワイド文字列を取得する
(関数)
ファイルストリームにワイド文字を書き込む
(関数)
(C95)
ワイド文字列をファイルストリームに書き込む
(関数)
標準入力からワイド文字を読み込む stdin
(関数)
ワイド文字を stdout に書き込む
(関数)
(C95)
ワイド文字をファイルストリームに戻す
(関数)
フォーマット済み入力/出力
ナロウ文字
ヘッダーで定義 <stdio.h>
書式付き入力を stdin 、ファイルストリーム、またはバッファから読み込む
(関数)
(C99) (C99) (C99) (C11) (C11) (C11)
可変引数リストを使用して stdin 、ファイルストリーム、またはバッファから
書式付き入力を行います
(関数)
書式付き出力を stdout 、ファイルストリーム、またはバッファに出力する
(関数)
書式付き出力を stdout 、ファイルストリーム、またはバッファに出力
可変引数リストを使用
(関数)
ワイド文字
ヘッダーで定義 <wchar.h>
(C95) (C95) (C95) (C11) (C11) (C11)
書式化されたワイド文字入力を stdin 、ファイルストリーム、またはバッファから読み込む
(関数)
可変引数リストを使用して、 stdin 、ファイルストリーム、
またはバッファから書式化されたワイド文字入力を読み取る
(関数)
書式化されたワイド文字出力を stdout ・ファイルストリーム・バッファに出力する
(関数)
可変引数リストを使用して書式化されたワイド文字出力を stdout 、ファイルストリーム
またはバッファに出力する
(関数)
ファイル位置決め
ヘッダーで定義 <stdio.h>
現在のファイル位置指示子を返す
(関数)
ファイル位置指示子を取得する
(関数)
ファイル位置指示子をファイル内の特定の位置に移動する
(関数)
ファイル位置指示子をファイル内の特定の位置に移動する
(関数)
ファイル位置指示子をファイルの先頭に移動する
(関数)
エラー処理
ヘッダーで定義 <stdio.h>
エラーをクリア
(関数)
ファイル終端をチェックする
(関数)
ファイルエラーのチェック
(関数)
現在のエラーに対応する文字列を stderr に表示する
(関数)
ファイル操作
ヘッダーで定義 <stdio.h>
ファイルを削除する
(関数)
ファイル名を変更する
(関数)
一時ファイルへのポインタを返す
(関数)
一意のファイル名を返す
(関数)

マクロ定数

定義済みヘッダー <stdio.h>
EOF
int型の整数定数式で負の値
(マクロ定数)
FOPEN_MAX
同時にオープン可能なファイルの最大数
(マクロ定数)
FILENAME_MAX
サポートされる最長のファイル名を保持するためのchar配列に必要なサイズ
(マクロ定数)
BUFSIZ
setbuf で使用されるバッファのサイズ
(マクロ定数)
_IOFBF _IOLBF _IONBF
setvbuf への引数、完全バッファリングI/Oを示す
setvbuf への引数、行バッファリングI/Oを示す
setvbuf への引数、非バッファリングI/Oを示す
(マクロ定数)
SEEK_SET SEEK_CUR SEEK_END
fseek への引数、ファイルの先頭からのシークを示す
fseek への引数、現在のファイル位置からのシークを示す
fseek への引数、ファイルの終端からのシークを示す
(マクロ定数)
TMP_MAX TMP_MAX_S
(C11)
tmpnam によって生成可能な一意のファイル名の最大数
tmpnam_s によって生成可能な一意のファイル名の最大数
(マクロ定数)
L_tmpnam L_tmpnam_s
(C11)
tmpnam の結果を保持するためのchar配列に必要なサイズ
tmpnam_s の結果を保持するためのchar配列に必要なサイズ
(マクロ定数)

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.21 入出力 <stdio.h> (p: TBD)
  • 7.29 拡張マルチバイトおよびワイド文字ユーティリティ <wchar.h> (p: TBD)
  • 7.31.11 入出力 <stdio.h> (p: TBD)
  • 7.31.16 拡張マルチバイトおよびワイド文字ユーティリティ <wchar.h> (p: TBD)
  • K.3.5 入出力 <stdio.h> (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.21 入出力 <stdio.h> (p: TBD)
  • 7.29 拡張マルチバイト文字及びワイド文字ユーティリティ <wchar.h> (p: TBD)
  • 7.31.11 入出力 <stdio.h> (p: TBD)
  • 7.31.16 拡張マルチバイト文字及びワイド文字ユーティリティ <wchar.h> (p: TBD)
  • K.3.5 入出力 <stdio.h> (p: TBD)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.21 入出力 <stdio.h> (p: 296-339)
  • 7.29 拡張マルチバイトおよびワイド文字ユーティリティ <wchar.h> (p: 402-446)
  • 7.31.11 入出力 <stdio.h> (p: 456)
  • 7.31.16 拡張マルチバイトおよびワイド文字ユーティリティ <wchar.h> (p: 456)
  • K.3.5 入出力 <stdio.h> (p: 586-603)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.19 入出力 <stdio.h> (p: 262-305)
  • 7.24 拡張マルチバイト・ワイド文字ユーティリティ <wchar.h> (p: 348-392)
  • 7.26.9 入出力 <stdio.h> (p: 402)
  • 7.26.12 拡張マルチバイト・ワイド文字ユーティリティ <wchar.h> (p: 402)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.9 入出力 <stdio.h>
  • 4.13.6 入出力 <stdio.h>

関連項目

C++ documentation for C-style file input/output