File: stdio.3

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (185 lines) | stat: -rw-r--r-- 11,975 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
.\" Copyright (c) 1990, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\" %%%LICENSE_END
.\"
.\"     @(#)stdio.3	6.5 (Berkeley) 5/6/91
.\"
.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu
.\" Modified, 2001-12-26, aeb
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 1997 YOSHINO Takashi
.\"       all rights reserved.
.\" Translated Mon Jan 20 23:06:18 JST 1997
.\"       by YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
.\" Updated & Modified Thu Feb 14 21:39:49 JST 2002
.\"       by Yuichi SATO <ysato@h4.dion.ne.jp>
.\" Updated & Modified Sun Sep  7 14:36:19 JST 2003
.\"       by Yuichi SATO <ysato444@yahoo.co.jp>
.\" Updated & Modified Sat Jan 17 03:18:29 JST 2004 by Yuichi SATO
.\"
.TH STDIO 3 2001\-12\-26 "" "Linux Programmer's Manual"
.SH 名前
stdio \- 標準入出力ライブラリ関数
.SH 書式
\fB#include <stdio.h>\fP
.sp
\fBFILE *\fP\fIstdin\fP\fB;\fP
.br
\fBFILE *\fP\fIstdout\fP\fB;\fP
.br
\fBFILE *\fP\fIstderr\fP\fB;\fP
.SH 説明
標準入出力ライブラリは、簡単かつ効果のよい、 バッファーリングされたストリーム入出力インターフェースを提供する。
入力と出力は論理データストリームに割り付けられ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを以下に挙げる。
より詳しい情報は個々の man ページから得ることができる。
.PP
ファイルを \fIオープン (open) する\fP ことによって、 ストリームは外部ファイル (通常は物理デバイス) に連結される。
この操作には新しくファイルを作成することも含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイルの中身が捨てられてしまう。
ファイルが位置指定リクエストをサポートしている (ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 そのストリームに連結された
\fIファイル位置指示子 (file position indicator)\fP は、追加モードで開かれない限りファイルの先頭 (0 バイト目)
に位置する。 追加モードを使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定されていない。 位置指示子は、
以降の読み書きや位置指定リクエストによって変更される。 すべての入力は、 \fBfgetc\fP(3)
関数を次々に呼び出して文字を読み込んだかのように行われる。 一方すべての出力は、 \fBfputc\fP(3)
関数を次々に呼び出して文字を書き込んだかのように行われる。
.PP
ファイルを \fIクローズ (close) する\fP ことによって、そのファイルはストリームから切り離される。
出力ストリームは、そのストリームがファイルから切り離される前にフラッシュされる (書き込まれていないすべてのバッファーの内容がホスト環境に転送される)。
\fIFILE\fP オブジェクトへのポインターの値は、 ファイルを閉じた後では不確定になる (ゴミになってしまう)。
.PP
ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることもあり、 その内容が修正されたり変更されたりする
(そのファイルで先頭への位置移動が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 \fBexit\fP(3)  関数が呼ばれた場合、
プログラムの終了の前に 現在開いているすべてのファイルは閉じられる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止に
\fBabort\fP(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる保証はない。
.PP
プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは明示的に開く必要がない。 \fI標準入力 (standard
input)\fP (通常の入力を読み取るのに使う)、 \fI標準出力 (standard output)\fP (通常の出力を書き込むのに使う)、
\fI標準エラー出力 (standard error)\fP (診断出力を書き込むのに使う) である。 これらのストリームは \fIstdin\fP,
\fIstdout\fP, \fIstderr\fP と短縮して表現される。 オープンされたときには、 標準エラーストリームは
完全にはバッファーリングされていない。 標準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイスを参照していなければ、
完全にバッファーリングされている。
.PP
端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファーリングされている。
ただしそのようなストリームにおけるバッファー内の出力は、 端末デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き込まれる。
出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表示されるように、計算に取りかかる前に標準出力に対して \fBfflush\fP(3)
を実行する必要がある。
.PP
\fIstdio\fP ライブラリは \fBlibc\fP ライブラリの一部であり、ルーチンは コンパイラー \fBcc\fP(1)  と \fBpc\fP(1)
によって必要な時に自動的に読み込まれる。 後述する man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければならないか、
その関数のコンパイラー宣言はどのようなものか、 どのような外部変数が関係するのかが示されている。
.PP
.\" Not on Linux: .BR fropen ,
.\" Not on Linux: .BR fwopen ,
\fBBUFSIZ\fP, \fBEOF\fP, \fBFILENAME_MAX\fP, \fBFOPEN_MAX\fP, \fBL_cuserid\fP,
\fBL_ctermid\fP, \fBL_tmpnam\fP, \fBNULL\fP, \fBSEEK_END\fP, \fBSEEK_SET\fP, \fBSEEK_CUR\fP,
\fBTMP_MAX\fP, \fBclearerr\fP, \fBfeof\fP, \fBferror\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP,
\fBputc\fP, \fBputchar\fP, \fBstderr\fP, \fBstdin\fP, \fBstdout\fP はマクロとして定義されている。
これらの名前は、現在の定義を \fB#undef\fP で削除しない限り、再利用することはできない。 マクロ関数の関数版として、 \fBfeof\fP,
\fBferror\fP, \fBclearerr\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP, \fBputc\fP, \fBputchar\fP
がある。 マクロの定義が明示的に消去されている場合には、 これらを使用することになるだろう。
.SS 関数のリスト
.TS
;
lb lb
lb l.
関数	説明
_
clearerr	ストリームの状態の確認とリセット
fclose	ストリームをクローズする
fdopen	ストリームをオープンする
feof	ストリームの状態の確認とリセット
ferror	ストリームの状態の確認とリセット
fflush	ストリームをフラッシュする
fgetc	次の文字または語を入力ストリームから獲得する
fgetpos	ストリームの位置を取得する
fgets	ストリームから行を取得する
fileno	引き数であるストリームの整数値のディスクリプターを返す
fopen	ストリームをオープンする
fprintf	書式付き出力変換
fpurge	ストリームをフラッシュする
fputc	文字または語をストリームに出力する
fputs	行をストリームに出力する
fread	バイナリーストリーム入出力
freopen	ストリームをオープンする
fscanf	書式付き入力変換
fseek	ストリームの位置指示子を移動する
fsetpos	ストリームの位置指示子を移動する
ftell	ストリームの位置を取得する
fwrite	バイナリーストリーム入出力
getc	次の文字または語を入力ストリームから取得する
getchar	次の文字または語を入力ストリームから取得する
gets	行を入力ストリームから取得する
getw	次の文字または語を入力ストリームから取得する
mktemp	他と重ならないテンポラリファイル名を作る
perror	システムエラーメッセージ
printf	書式付き出力変換
putc	文字または語をストリームに出力する
putchar	文字または語をストリームに出力する
puts	行をストリームに出力する
putw	文字または語をストリームに出力する
remove	ディレクトリエントリーを削除する
rewind	ストリームの位置指示子を移動する
scanf	書式付き入力変換
setbuf	ストリームのバッファーリングの操作
setbuffer	ストリームのバッファーリングの操作
setlinebuf	ストリームのバッファーリングの操作
setvbuf	ストリームのバッファーリングの操作
sprintf	書式付き出力変換
sscanf	書式付き入力変換
strerror	システムエラーメッセージ
sys_errlist	システムエラーメッセージ
sys_nerr	システムエラーメッセージ
tempnam	テンポラリファイルの操作
tmpfile	テンポラリファイルの操作
tmpnam	テンポラリファイルの操作
ungetc	入力ストリームへ 1 文字戻す。
vfprintf	書式付き出力変換
vfscanf	書式付き入力変換
vprintf	書式付き出力変換
vscanf	書式付き入力変換
vsprintf	書式付き出力変換
vsscanf	書式付き入力変換
.TE
.SH 準拠
\fIstdio\fP ライブラリは C89 に準拠している。
.SH 関連項目
\fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBwrite\fP(2), \fBstdout\fP(3),
\fBunlocked_stdio\fP(3)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。