oracular (3) stdio.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       stdio - 標準入出力ライブラリ関数

書式

       #include <stdio.h>

       FILE *stdin;
       FILE *stdout;
       FILE *stderr;

説明

       標準入出力ライブラリは、簡単かつ効果のよい、    バッファーリングされたストリーム入出力イン
       ターフェースを提供する。 入力と出力は論理データストリームに割り付けられ、 入出力の物理的な
       特徴は隠蔽される。   このライブラリに属する関数とマクロを以下に挙げる。   より詳しい情報は
       個々の man ページから得ることができる。

       ファイルを オープン (open) する ことによって、 ストリームは外部ファイル  (通常は物理デバイ
       ス) に連結される。 この操作には新しくファイルを作成することも含まれる。 既存のファイルと同
       じ名前のファイルを新たに作ると、 もとのファイルの中身が捨てられてしまう。 ファイルが位置指
       定リクエストをサポートしている (ディスクファイルなどが相当する。逆の例としては端末が挙げら
       れる)  場合、  そのストリームに連結された  ファイル位置指示子  (file  position  indicator)
       は、追加モードで開かれない限りファイルの先頭  (0 バイト目) に位置する。 追加モードを使用し
       た場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定されていない。 位置指
       示子は、  以降の読み書きや位置指定リクエストによって変更される。 すべての入力は、 fgetc(3)
       関数を次々に呼び出して文字を読み込んだかのように行われる。  一方すべての出力は、  fputc(3)
       関数を次々に呼び出して文字を書き込んだかのように行われる。

       ファイルを  クローズ (close) する ことによって、そのファイルはストリームから切り離される。
       出力ストリームは、そのストリームがファイルから切り離される前にフラッシュされる (書き込まれ
       ていないすべてのバッファーの内容がホスト環境に転送される)。   FILE  オブジェクトへのポイン
       ターの値は、 ファイルを閉じた後では不確定になる (ゴミになってしまう)。

       ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることもあり、 その内
       容が修正されたり変更されたりする  (そのファイルで先頭への位置移動が可能であれば)。 main 関
       数がもとの呼び出し側に返ったり、 exit(3)  関数が呼ばれた場合、 プログラムの終了の前に 現在
       開いているすべてのファイルは閉じられる   (その結果、すべての出力ストリームはフラッシュされ
       る)。 プログラムの停止に abort(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じ
       られる保証はない。

       プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは明示的に開く必
       要がない。 標準入力 (standard input) (通常の入力を読み取るのに使う)、  標準出力  (standard
       output) (通常の出力を書き込むのに使う)、 標準エラー出力 (standard error) (診断出力を書き込
       むのに使う) である。 これらのストリームは  stdin,  stdout,  stderr  と短縮して表現される。
       オープンされたときには、  標準エラーストリームは 完全にはバッファーリングされていない。 標
       準入力ストリームと標準出力ストリームは、  ストリームがインタラクティブなデバイスを参照して
       いなければ、 完全にバッファーリングされている。

       端末デバイスを参照する出力ストリームは、  デフォルトでは常に行単位でバッファーリングされて
       いる。 ただしそのようなストリームにおけるバッファー内の出力は、 端末デバイスを参照している
       入力ストリームからの読み込みがあるたびに、 自動的に書き込まれる。 出力端末に行の一部を書き
       込んだ後で大量の計算を行う場合、  出力が表示されるように、計算に取りかかる前に標準出力に対
       して fflush(3) を実行する必要がある。

       stdio  ライブラリは libc ライブラリの一部であり、ルーチンは cc(1) によって必要な時に自動的
       に読み込まれる。 後述する man ページ中の「書式」の節には、  どのインクルードファイルを使用
       しなければならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変数が
       関係するのかが示されている。

       BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX,  L_cuserid,  L_ctermid,  L_tmpnam,  NULL,  SEEK_END,
       SEEK_SET, SEEK_CUR, TMP_MAX, clearerr, feof, ferror, fileno, getc, getchar, putc, putchar,
       stderr, stdin, stdout はマクロとして定義されている。  これらの名前は、現在の定義を  #undef
       で削除しない限り、再利用することはできない。   マクロ関数の関数版として、   feof,  ferror,
       clearerr, fileno, getc, getchar, putc, putchar がある。 マクロの定義が明示的に消去されてい
       る場合には、 これらを使用することになるだろう。

   関数のリスト
       関数              説明
       ───────────────────────────────────────────────────────────────────────
        clearerr(3)      ストリームの状態の確認とリセット
        fclose(3)        ストリームをクローズする
        fdopen(3)        ストリームをオープンする
        feof(3)          ストリームの状態の確認とリセット
        ferror(3)        ストリームの状態の確認とリセット
        fflush(3)        ストリームをフラッシュする
        fgetc(3)         次の文字または語を入力ストリームから取得する
        fgetpos(3)       ストリームの位置指示子を移動する
        fgets(3)         行を入力ストリームから取得する
        fileno(3)        引数であるストリームの整数値のディスクリプターを返す
        fopen(3)         ストリームをオープンする
        fprintf(3)       書式付き出力変換
        fpurge(3)        ストリームをフラッシュする
        fputc(3)         文字または語をストリームに出力する
        fputs(3)         行をストリームに出力する
        fread(3)         バイナリーストリーム入出力
        freopen(3)       ストリームをオープンする
        fscanf(3)        書式付き入力変換
       fseek(3)          ストリームの位置指示子を移動する
        fsetpos(3)       ストリームの位置指示子を移動する
        ftell(3)         ストリームの位置指示子を移動する
        fwrite(3)        バイナリーストリーム入出力
        getc(3)          次の文字または語を入力ストリームから取得する
        getchar(3)       次の文字または語を入力ストリームから取得する
        gets(3)          行を入力ストリームから取得する
        getw(3)          次の文字または語を入力ストリームから取得する
        mktemp(3)        他と重ならないテンポラリファイル名を作る
        perror(3)        システムエラーメッセージ
       printf(3)         書式付き出力変換
        putc(3)          文字または語をストリームに出力する
        putchar(3)       文字または語をストリームに出力する
        puts(3)          行をストリームに出力する
        putw(3)          文字または語をストリームに出力する
        remove(3)        ディレクトリエントリーを削除する
        rewind(3)        ストリームの位置指示子を移動する
        scanf(3)         書式付き入力変換
        setbuf(3)        ストリームのバッファーリングの操作
        setbuffer(3)     ストリームのバッファーリングの操作
        setlinebuf(3)    ストリームのバッファーリングの操作
        setvbuf(3)       ストリームのバッファーリングの操作
        sprintf(3)       書式付き出力変換
        sscanf(3)        書式付き入力変換
        strerror(3)      システムエラーメッセージ
        sys_errlist(3)   システムエラーメッセージ
        sys_nerr(3)      システムエラーメッセージ
        tempnam(3)       テンポラリファイルの操作
        tmpfile(3)       テンポラリファイルの操作
        tmpnam(3)        テンポラリファイルの操作
        ungetc(3)        入力ストリームへ 1 文字戻す
        vfprintf(3)      書式付き出力変換
        vfscanf(3)       書式付き入力変換
        vprintf(3)       書式付き出力変換
        vscanf(3)        書式付き入力変換
        vsprintf(3)      書式付き出力変換
        vsscanf(3)       書式付き入力変換

準拠

       stdio ライブラリは C89 に準拠している。

関連項目

       close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

                                            2017-11-26                                   STDIO(3)