C言語の標準入出力
本記事C言語の標準入出力(シーげんごのひょうじゅんにゅうしゅつりょく)では、C言語で提供される、ファイル入出力用の、標準Cライブラリヘッダ <stdio.h> の大部分を構成する標準Cライブラリ関数について述べる。これらの機能は、1970年代初頭にベル研究所のマイク・レスク(英語版)によって書かれた、「ポータブルI/Oパッケージ」に由来し、正式にVersion 7 UnixでUnixオペレーティングシステムの一部になった。
C言語の標準入出力機能は、現代使われるプログラミング言語の中ではかなり貧弱であり、すべてのファイル操作をバイトストリーム (「入力ストリーム」あるいは「出力ストリーム」) の操作に抽象化する。C言語以前のプログラミング言語とは異なり、C言語はランダムアクセスを直接サポートしていない。ファイルの途中から読み取るには、プログラマは、ストリームを作成し、ファイルの途中へシークし、ストリームからバイトを順番に読み取らなければならない。
ファイル入出力のストリームモデルは、C言語とほぼ同時に開発されたUnixによって普及した。最近のオペレーティングシステムの大部分はUnixのストリームモデルを継承している。また、C言語の影響を受けた多くの言語はC言語のファイル入出力インターフェイスを継承しており、差異はほぼ存在しない (例: PHP)。