OSDN Git Service

35f65bef2d066ac87794e09ae65c778c964d709e
[linuxjm/LDP_man-pages.git] / po4a / stdio / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-04-30 20:30+0900\n"
10 "PO-Revision-Date: 2013-04-30 23:48+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/asprintf.3:27
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:27
26 #, no-wrap
27 msgid "2001-12-18"
28 msgstr "2001-12-18"
29
30 #. type: TH
31 #: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
32 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
33 #: build/C/man3/fcloseall.3:25 build/C/man3/fflush.3:45
34 #: build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10 build/C/man3/fopen.3:44
35 #: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
36 #: build/C/man3/getline.3:26 build/C/man3/gets.3:27 build/C/man3/getw.3:25
37 #: build/C/man3/popen.3:40 build/C/man3/printf.3:34 build/C/man3/puts.3:26
38 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:52 build/C/man3/wprintf.3:16
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
44 #: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
45 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
46 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:44
47 #: build/C/man3/fflush.3:45 build/C/man3/fgetwc.3:18
48 #: build/C/man3/flockfile.3:25 build/C/man3/fmemopen.3:10
49 #: build/C/man3/fmtmsg.3:13 build/C/man3/fopen.3:44
50 #: build/C/man3/fopencookie.3:26 build/C/man3/fpurge.3:25
51 #: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
52 #: build/C/man3/fseeko.3:25 build/C/man3/getline.3:26 build/C/man3/gets.3:27
53 #: build/C/man3/getw.3:25 build/C/man2/link.2:31 build/C/man2/llseek.2:28
54 #: build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25 build/C/man2/open.2:52
55 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:36 build/C/man3/popen.3:40
56 #: build/C/man3/printf.3:34 build/C/man3/puts.3:26 build/C/man2/read.2:35
57 #: build/C/man2/readlink.2:43 build/C/man2/readv.2:32 build/C/man3/remove.3:31
58 #: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:52
59 #: build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13 build/C/man3/stdio.3:39
60 #: build/C/man3/stdio_ext.3:25 build/C/man2/symlink.2:32
61 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:25
62 #: build/C/man3/tmpfile.3:31 build/C/man3/tmpnam.3:27 build/C/man2/unlink.2:32
63 #: build/C/man3/unlocked_stdio.3:25 build/C/man3/wprintf.3:16
64 #: build/C/man2/write.2:39
65 #, no-wrap
66 msgid "Linux Programmer's Manual"
67 msgstr "Linux Programmer's Manual"
68
69 #. type: SH
70 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
71 #: build/C/man3/dprintf.3:27 build/C/man3/fclose.3:45
72 #: build/C/man3/fcloseall.3:26 build/C/man3/ferror.3:45
73 #: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
74 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:11
75 #: build/C/man3/fmtmsg.3:14 build/C/man3/fopen.3:45
76 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
77 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
78 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
79 #: build/C/man3/getw.3:26 build/C/man2/link.2:32 build/C/man2/llseek.2:29
80 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:53
81 #: build/C/man3/perror.3:32 build/C/man2/pipe.2:37 build/C/man3/popen.3:41
82 #: build/C/man3/printf.3:35 build/C/man3/puts.3:27 build/C/man2/read.2:36
83 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:32
84 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:53
85 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:14 build/C/man3/stdio.3:40
86 #: build/C/man3/stdio_ext.3:26 build/C/man2/symlink.2:33
87 #: build/C/man7/symlink.7:37 build/C/man3/tempnam.3:26
88 #: build/C/man3/tmpfile.3:32 build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:33
89 #: build/C/man3/unlocked_stdio.3:26 build/C/man3/wprintf.3:17
90 #: build/C/man2/write.2:40
91 #, no-wrap
92 msgid "NAME"
93 msgstr "名前"
94
95 #. type: Plain text
96 #: build/C/man3/asprintf.3:30
97 msgid "asprintf, vasprintf - print to allocated string"
98 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
99
100 #. type: SH
101 #: build/C/man3/asprintf.3:30 build/C/man3/ctermid.3:29
102 #: build/C/man3/dprintf.3:29 build/C/man3/fclose.3:47
103 #: build/C/man3/fcloseall.3:28 build/C/man3/ferror.3:47
104 #: build/C/man3/fflush.3:48 build/C/man3/fgetwc.3:21
105 #: build/C/man3/flockfile.3:28 build/C/man3/fmemopen.3:13
106 #: build/C/man3/fmtmsg.3:16 build/C/man3/fopen.3:47
107 #: build/C/man3/fopencookie.3:29 build/C/man3/fpurge.3:28
108 #: build/C/man3/fputwc.3:19 build/C/man3/fread.3:48 build/C/man3/fseek.3:45
109 #: build/C/man3/fseeko.3:28 build/C/man3/getline.3:29 build/C/man3/gets.3:30
110 #: build/C/man3/getw.3:28 build/C/man2/link.2:34 build/C/man2/llseek.2:31
111 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:28 build/C/man2/open.2:55
112 #: build/C/man3/perror.3:34 build/C/man2/pipe.2:39 build/C/man3/popen.3:43
113 #: build/C/man3/printf.3:38 build/C/man3/puts.3:29 build/C/man2/read.2:38
114 #: build/C/man2/readlink.2:46 build/C/man2/readv.2:35 build/C/man3/remove.3:34
115 #: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:55
116 #: build/C/man3/setbuf.3:51 build/C/man3/stdin.3:16 build/C/man3/stdio.3:42
117 #: build/C/man3/stdio_ext.3:30 build/C/man2/symlink.2:35
118 #: build/C/man3/tempnam.3:28 build/C/man3/tmpfile.3:34
119 #: build/C/man3/tmpnam.3:30 build/C/man2/unlink.2:35
120 #: build/C/man3/unlocked_stdio.3:29 build/C/man3/wprintf.3:20
121 #: build/C/man2/write.2:42
122 #, no-wrap
123 msgid "SYNOPSIS"
124 msgstr "書式"
125
126 #. type: Plain text
127 #: build/C/man3/asprintf.3:32
128 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
129 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
130
131 #. type: Plain text
132 #: build/C/man3/asprintf.3:34 build/C/man3/dprintf.3:31
133 #: build/C/man3/fclose.3:49 build/C/man3/ferror.3:49 build/C/man3/fflush.3:50
134 #: build/C/man3/fseek.3:47 build/C/man3/perror.3:36 build/C/man3/printf.3:40
135 #: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:44
136 #: build/C/man3/stdio_ext.3:32
137 msgid "B<#include E<lt>stdio.hE<gt>>"
138 msgstr "B<#include E<lt>stdio.hE<gt>>"
139
140 #. type: Plain text
141 #: build/C/man3/asprintf.3:36
142 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
143 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
144
145 #. type: Plain text
146 #: build/C/man3/asprintf.3:38
147 msgid ""
148 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
149 msgstr ""
150 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
151
152 #. type: SH
153 #: build/C/man3/asprintf.3:38 build/C/man3/ctermid.3:46
154 #: build/C/man3/dprintf.3:55 build/C/man3/fclose.3:51
155 #: build/C/man3/fcloseall.3:35 build/C/man3/ferror.3:65
156 #: build/C/man3/fflush.3:52 build/C/man3/fgetwc.3:30
157 #: build/C/man3/flockfile.3:51 build/C/man3/fmemopen.3:46
158 #: build/C/man3/fmtmsg.3:26 build/C/man3/fopen.3:65
159 #: build/C/man3/fopencookie.3:37 build/C/man3/fpurge.3:42
160 #: build/C/man3/fputwc.3:28 build/C/man3/fread.3:58 build/C/man3/fseek.3:57
161 #: build/C/man3/fseeko.3:37 build/C/man3/getline.3:58 build/C/man3/gets.3:46
162 #: build/C/man3/getw.3:59 build/C/man2/link.2:38 build/C/man2/llseek.2:43
163 #: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:66
164 #: build/C/man3/perror.3:55 build/C/man2/pipe.2:51 build/C/man3/popen.3:64
165 #: build/C/man3/printf.3:76 build/C/man3/puts.3:43 build/C/man2/read.2:44
166 #: build/C/man2/readlink.2:63 build/C/man2/readv.2:58 build/C/man3/remove.3:38
167 #: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:87
168 #: build/C/man3/setbuf.3:73 build/C/man3/stdin.3:24 build/C/man3/stdio.3:50
169 #: build/C/man3/stdio_ext.3:54 build/C/man2/symlink.2:52
170 #: build/C/man3/tempnam.3:42 build/C/man3/tmpfile.3:40
171 #: build/C/man3/tmpnam.3:36 build/C/man2/unlink.2:39
172 #: build/C/man3/unlocked_stdio.3:106 build/C/man3/wprintf.3:60
173 #: build/C/man2/write.2:46
174 #, no-wrap
175 msgid "DESCRIPTION"
176 msgstr "説明"
177
178 #. type: Plain text
179 #: build/C/man3/asprintf.3:53
180 msgid ""
181 "The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
182 "(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
183 "hold the output including the terminating null byte, and return a pointer to "
184 "it via the first argument.  This pointer should be passed to B<free>(3)  to "
185 "release the allocated storage when it is no longer needed."
186 msgstr ""
187 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
188 "と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイトも含"
189 "めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数にその文字列への"
190 "ポインタを返す。 このポインタは、不要になったら B<free>(3)  に渡し、割り当て"
191 "られた記憶領域を解放すべきである。"
192
193 #. type: SH
194 #: build/C/man3/asprintf.3:53 build/C/man3/ctermid.3:59
195 #: build/C/man3/fclose.3:59 build/C/man3/fcloseall.3:50
196 #: build/C/man3/fflush.3:74 build/C/man3/fgetwc.3:55
197 #: build/C/man3/flockfile.3:114 build/C/man3/fmemopen.3:176
198 #: build/C/man3/fmtmsg.3:152 build/C/man3/fopen.3:189
199 #: build/C/man3/fopencookie.3:238 build/C/man3/fpurge.3:58
200 #: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/fseek.3:121
201 #: build/C/man3/fseeko.3:65 build/C/man3/getline.3:110 build/C/man3/gets.3:111
202 #: build/C/man3/getw.3:73 build/C/man2/link.2:52 build/C/man2/llseek.2:62
203 #: build/C/man2/lseek.2:162 build/C/man2/open.2:477 build/C/man2/pipe.2:92
204 #: build/C/man3/popen.3:123 build/C/man3/puts.3:84 build/C/man2/read.2:81
205 #: build/C/man2/readlink.2:77 build/C/man2/readv.2:177
206 #: build/C/man3/remove.3:60 build/C/man2/rename.2:91 build/C/man2/rmdir.2:40
207 #: build/C/man3/scanf.3:531 build/C/man3/setbuf.3:152
208 #: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:87
209 #: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:70 build/C/man2/unlink.2:55
210 #: build/C/man3/wprintf.3:187 build/C/man2/write.2:89
211 #, no-wrap
212 msgid "RETURN VALUE"
213 msgstr "返り値"
214
215 #. type: Plain text
216 #: build/C/man3/asprintf.3:61
217 msgid ""
218 "When successful, these functions return the number of bytes printed, just "
219 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
220 "error occurs, these functions will return -1, and the contents of I<strp> is "
221 "undefined."
222 msgstr ""
223 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
224 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
225 "は -1 を返し、 I<strp> の内容は未定義となる。"
226
227 #. type: SH
228 #: build/C/man3/asprintf.3:61 build/C/man3/ctermid.3:61
229 #: build/C/man3/dprintf.3:69 build/C/man3/fclose.3:90
230 #: build/C/man3/fcloseall.3:55 build/C/man3/ferror.3:106
231 #: build/C/man3/fflush.3:93 build/C/man3/fgetwc.3:67
232 #: build/C/man3/flockfile.3:121 build/C/man3/fmemopen.3:195
233 #: build/C/man3/fmtmsg.3:225 build/C/man3/fopen.3:246
234 #: build/C/man3/fopencookie.3:245 build/C/man3/fpurge.3:70
235 #: build/C/man3/fputwc.3:65 build/C/man3/fread.3:103 build/C/man3/fseek.3:168
236 #: build/C/man3/fseeko.3:77 build/C/man3/getline.3:134 build/C/man3/gets.3:138
237 #: build/C/man3/getw.3:80 build/C/man2/link.2:138 build/C/man2/llseek.2:81
238 #: build/C/man2/lseek.2:200 build/C/man2/open.2:629 build/C/man3/perror.3:111
239 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:169 build/C/man3/printf.3:806
240 #: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:125
241 #: build/C/man2/readv.2:214 build/C/man3/remove.3:70 build/C/man2/rename.2:232
242 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:578 build/C/man3/setbuf.3:164
243 #: build/C/man3/stdin.3:113 build/C/man3/stdio.3:246
244 #: build/C/man2/symlink.2:149 build/C/man3/tempnam.3:96
245 #: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:77
246 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:113
247 #: build/C/man3/wprintf.3:195 build/C/man2/write.2:185
248 #, no-wrap
249 msgid "CONFORMING TO"
250 msgstr "準拠"
251
252 #. type: Plain text
253 #: build/C/man3/asprintf.3:67
254 msgid ""
255 "These functions are GNU extensions, not in C or POSIX.  They are also "
256 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
257 "error."
258 msgstr ""
259 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
260 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
261 "る。"
262
263 #. type: SH
264 #: build/C/man3/asprintf.3:67 build/C/man3/ctermid.3:71
265 #: build/C/man3/dprintf.3:95 build/C/man3/fclose.3:102
266 #: build/C/man3/fcloseall.3:57 build/C/man3/ferror.3:113
267 #: build/C/man3/fflush.3:108 build/C/man3/fgetwc.3:84
268 #: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:341
269 #: build/C/man3/fmtmsg.3:297 build/C/man3/fopen.3:348
270 #: build/C/man3/fopencookie.3:437 build/C/man3/fpurge.3:80
271 #: build/C/man3/fputwc.3:82 build/C/man3/fread.3:105 build/C/man3/fseek.3:170
272 #: build/C/man3/fseeko.3:83 build/C/man3/getline.3:168 build/C/man3/gets.3:173
273 #: build/C/man3/getw.3:86 build/C/man2/link.2:187 build/C/man2/llseek.2:87
274 #: build/C/man2/lseek.2:245 build/C/man3/lseek64.3:159 build/C/man2/open.2:901
275 #: build/C/man3/perror.3:139 build/C/man2/pipe.2:190 build/C/man3/popen.3:198
276 #: build/C/man3/printf.3:1080 build/C/man3/puts.3:112 build/C/man2/read.2:187
277 #: build/C/man2/readlink.2:214 build/C/man2/readv.2:284
278 #: build/C/man3/remove.3:81 build/C/man2/rename.2:245 build/C/man2/rmdir.2:132
279 #: build/C/man3/scanf.3:716 build/C/man3/setbuf.3:200 build/C/man3/stdin.3:154
280 #: build/C/man3/stdio.3:250 build/C/man3/stdio_ext.3:132
281 #: build/C/man2/symlink.2:164 build/C/man7/symlink.7:471
282 #: build/C/man3/tempnam.3:166 build/C/man3/tmpfile.3:88
283 #: build/C/man3/tmpnam.3:153 build/C/man2/unlink.2:148
284 #: build/C/man3/unlocked_stdio.3:136 build/C/man3/wprintf.3:231
285 #: build/C/man2/write.2:211
286 #, no-wrap
287 msgid "SEE ALSO"
288 msgstr "関連項目"
289
290 #. type: Plain text
291 #: build/C/man3/asprintf.3:71
292 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
293 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
294
295 #. type: SH
296 #: build/C/man3/asprintf.3:71 build/C/man3/ctermid.3:73
297 #: build/C/man3/dprintf.3:97 build/C/man3/fclose.3:108
298 #: build/C/man3/fcloseall.3:63 build/C/man3/ferror.3:118
299 #: build/C/man3/fflush.3:116 build/C/man3/fgetwc.3:89
300 #: build/C/man3/flockfile.3:131 build/C/man3/fmemopen.3:344
301 #: build/C/man3/fmtmsg.3:300 build/C/man3/fopen.3:354
302 #: build/C/man3/fopencookie.3:442 build/C/man3/fpurge.3:85
303 #: build/C/man3/fputwc.3:86 build/C/man3/fread.3:111 build/C/man3/fseek.3:173
304 #: build/C/man3/fseeko.3:85 build/C/man3/getline.3:175 build/C/man3/gets.3:189
305 #: build/C/man3/getw.3:92 build/C/man2/link.2:197 build/C/man2/llseek.2:90
306 #: build/C/man2/lseek.2:252 build/C/man3/lseek64.3:162 build/C/man2/open.2:923
307 #: build/C/man3/perror.3:144 build/C/man2/pipe.2:197 build/C/man3/popen.3:208
308 #: build/C/man3/printf.3:1089 build/C/man3/puts.3:124 build/C/man2/read.2:200
309 #: build/C/man2/readlink.2:222 build/C/man2/readv.2:288
310 #: build/C/man3/remove.3:92 build/C/man2/rename.2:254 build/C/man2/rmdir.2:141
311 #: build/C/man3/scanf.3:723 build/C/man3/setbuf.3:208 build/C/man3/stdin.3:160
312 #: build/C/man3/stdio.3:257 build/C/man3/stdio_ext.3:135
313 #: build/C/man2/symlink.2:176 build/C/man7/symlink.7:489
314 #: build/C/man3/tempnam.3:171 build/C/man3/tmpfile.3:94
315 #: build/C/man3/tmpnam.3:158 build/C/man2/unlink.2:161
316 #: build/C/man3/unlocked_stdio.3:139 build/C/man3/wprintf.3:238
317 #: build/C/man2/write.2:223
318 #, no-wrap
319 msgid "COLOPHON"
320 msgstr "この文書について"
321
322 #. type: Plain text
323 #: build/C/man3/asprintf.3:78 build/C/man3/ctermid.3:80
324 #: build/C/man3/dprintf.3:104 build/C/man3/fclose.3:115
325 #: build/C/man3/fcloseall.3:70 build/C/man3/ferror.3:125
326 #: build/C/man3/fflush.3:123 build/C/man3/fgetwc.3:96
327 #: build/C/man3/flockfile.3:138 build/C/man3/fmemopen.3:351
328 #: build/C/man3/fmtmsg.3:307 build/C/man3/fopen.3:361
329 #: build/C/man3/fopencookie.3:449 build/C/man3/fpurge.3:92
330 #: build/C/man3/fputwc.3:93 build/C/man3/fread.3:118 build/C/man3/fseek.3:180
331 #: build/C/man3/fseeko.3:92 build/C/man3/getline.3:182 build/C/man3/gets.3:196
332 #: build/C/man3/getw.3:99 build/C/man2/link.2:204 build/C/man2/llseek.2:97
333 #: build/C/man2/lseek.2:259 build/C/man3/lseek64.3:169 build/C/man2/open.2:930
334 #: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:215
335 #: build/C/man3/printf.3:1096 build/C/man3/puts.3:131 build/C/man2/read.2:207
336 #: build/C/man2/readlink.2:229 build/C/man2/readv.2:295
337 #: build/C/man3/remove.3:99 build/C/man2/rename.2:261 build/C/man2/rmdir.2:148
338 #: build/C/man3/scanf.3:730 build/C/man3/setbuf.3:215 build/C/man3/stdin.3:167
339 #: build/C/man3/stdio.3:264 build/C/man3/stdio_ext.3:142
340 #: build/C/man2/symlink.2:183 build/C/man7/symlink.7:496
341 #: build/C/man3/tempnam.3:178 build/C/man3/tmpfile.3:101
342 #: build/C/man3/tmpnam.3:165 build/C/man2/unlink.2:168
343 #: build/C/man3/unlocked_stdio.3:146 build/C/man3/wprintf.3:245
344 #: build/C/man2/write.2:230
345 msgid ""
346 "This page is part of release 3.51 of the Linux I<man-pages> project.  A "
347 "description of the project, and information about reporting bugs, can be "
348 "found at http://www.kernel.org/doc/man-pages/."
349 msgstr ""
350 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.51 の一部\n"
351 "である。プロジェクトの説明とバグ報告に関する情報は\n"
352 "http://www.kernel.org/doc/man-pages/ に書かれている。"
353
354 #. type: TH
355 #: build/C/man3/ctermid.3:26
356 #, no-wrap
357 msgid "CTERMID"
358 msgstr "CTERMID"
359
360 #. type: TH
361 #: build/C/man3/ctermid.3:26
362 #, no-wrap
363 msgid "2007-07-26"
364 msgstr "2007-07-26"
365
366 #. type: Plain text
367 #: build/C/man3/ctermid.3:29
368 msgid "ctermid - get controlling terminal name"
369 msgstr "ctermid - 制御端末名の取得"
370
371 #. type: Plain text
372 #: build/C/man3/ctermid.3:34 build/C/man3/fgetwc.3:24
373 #: build/C/man3/flockfile.3:31 build/C/man3/fmemopen.3:16
374 #: build/C/man3/fopen.3:50 build/C/man3/fputwc.3:22 build/C/man3/fread.3:51
375 #: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:33
376 #: build/C/man3/getw.3:31 build/C/man3/popen.3:46 build/C/man3/puts.3:32
377 #: build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54 build/C/man3/stdin.3:19
378 #: build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
379 #: build/C/man3/tmpnam.3:33 build/C/man3/unlocked_stdio.3:32
380 #, no-wrap
381 msgid "B<#include E<lt>stdio.hE<gt>>\n"
382 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
383
384 #. type: Plain text
385 #: build/C/man3/ctermid.3:36
386 #, no-wrap
387 msgid "B<char *ctermid(char *>I<s>B<);>\n"
388 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
389
390 #. type: Plain text
391 #: build/C/man3/ctermid.3:41 build/C/man3/dprintf.3:39
392 #: build/C/man3/ferror.3:61 build/C/man3/flockfile.3:42
393 #: build/C/man3/fmemopen.3:29 build/C/man3/fopen.3:61
394 #: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man3/perror.3:50
395 #: build/C/man3/popen.3:55 build/C/man3/printf.3:63 build/C/man2/readlink.2:54
396 #: build/C/man2/readv.2:53 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
397 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:38
398 #: build/C/man3/unlocked_stdio.3:68 build/C/man3/wprintf.3:39
399 msgid ""
400 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
401 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
402
403 #.  From <unistd.h>: _XOPEN_SOURCE
404 #. type: Plain text
405 #: build/C/man3/ctermid.3:46
406 msgid ""
407 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
408 msgstr ""
409 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
410
411 #. type: Plain text
412 #: build/C/man3/ctermid.3:59
413 msgid ""
414 "B<ctermid>()  returns a string which is the pathname for the current "
415 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
416 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
417 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
418 "the returned pathname."
419 msgstr ""
420 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
421 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
422 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
423 "ス名の最大文字数である。"
424
425 #. type: Plain text
426 #: build/C/man3/ctermid.3:61
427 msgid "The pointer to the pathname."
428 msgstr "パス名へのポインタ。"
429
430 #. type: Plain text
431 #: build/C/man3/ctermid.3:63
432 msgid "Svr4, POSIX.1-2001."
433 msgstr "SVr4, POSIX.1-2001."
434
435 #. type: SH
436 #: build/C/man3/ctermid.3:63 build/C/man3/fmemopen.3:213
437 #: build/C/man3/fopen.3:331 build/C/man3/gets.3:152 build/C/man3/getw.3:82
438 #: build/C/man2/link.2:181 build/C/man2/open.2:890 build/C/man3/popen.3:175
439 #: build/C/man3/printf.3:929 build/C/man3/puts.3:105 build/C/man2/readv.2:258
440 #: build/C/man3/remove.3:78 build/C/man2/rename.2:234 build/C/man2/rmdir.2:129
441 #: build/C/man3/scanf.3:647 build/C/man3/setbuf.3:170
442 #: build/C/man3/tempnam.3:156 build/C/man3/tmpnam.3:146
443 #: build/C/man2/unlink.2:145
444 #, no-wrap
445 msgid "BUGS"
446 msgstr "バグ"
447
448 #. type: Plain text
449 #: build/C/man3/ctermid.3:67
450 msgid ""
451 "The path returned may not uniquely identify the controlling terminal; it "
452 "may, for example, be I</dev/tty>."
453 msgstr ""
454 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
455 "ように。"
456
457 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
458 #.  if ctermid() was given an argument; fixed in 2.4.
459 #. type: Plain text
460 #: build/C/man3/ctermid.3:71
461 msgid "It is not assured that the program can open the terminal."
462 msgstr "プログラムが端末をオープンできることは保証されていない。"
463
464 #. type: Plain text
465 #: build/C/man3/ctermid.3:73
466 msgid "B<ttyname>(3)"
467 msgstr "B<ttyname>(3)"
468
469 #. type: TH
470 #: build/C/man3/dprintf.3:26
471 #, no-wrap
472 msgid "DPRINTF"
473 msgstr "DPRINTF"
474
475 #. type: TH
476 #: build/C/man3/dprintf.3:26
477 #, no-wrap
478 msgid "2010-09-15"
479 msgstr "2010-09-15"
480
481 #. type: Plain text
482 #: build/C/man3/dprintf.3:29
483 msgid "dprintf, vdprintf - print to a file descriptor"
484 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
485
486 #. type: Plain text
487 #: build/C/man3/dprintf.3:33
488 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
489 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
490
491 #. type: Plain text
492 #: build/C/man3/dprintf.3:35
493 msgid ""
494 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
495 msgstr ""
496 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
497
498 #. type: Plain text
499 #: build/C/man3/dprintf.3:43
500 msgid "B<dprintf>(), B<vdprintf>():"
501 msgstr "B<dprintf>(), B<vdprintf>():"
502
503 #. type: TP
504 #: build/C/man3/dprintf.3:46 build/C/man3/fmemopen.3:37
505 #: build/C/man3/getline.3:49
506 #, no-wrap
507 msgid "Since glibc 2.10:"
508 msgstr "glibc 2.10 以降:"
509
510 #. type: Plain text
511 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
512 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
513 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
514
515 #. type: TP
516 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
517 #: build/C/man3/getline.3:52
518 #, no-wrap
519 msgid "Before glibc 2.10:"
520 msgstr "glibc 2.10 より前:"
521
522 #. type: Plain text
523 #: build/C/man3/dprintf.3:52 build/C/man3/fmemopen.3:43
524 #: build/C/man3/getline.3:55 build/C/man3/unlocked_stdio.3:104
525 msgid "_GNU_SOURCE"
526 msgstr "_GNU_SOURCE"
527
528 #. type: Plain text
529 #: build/C/man3/dprintf.3:69
530 msgid ""
531 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
532 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
533 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
534 msgstr ""
535 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
536 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
537 "れらは I<stdio> ストリームではなくファイルディスクリプタ I<fd> に対して出力を"
538 "行う。"
539
540 #.  .SH NOTES
541 #.  These functions are GNU extensions, not in C or POSIX.
542 #.  Clearly, the names were badly chosen.
543 #.  Many systems (like MacOS) have incompatible functions called
544 #.  .BR dprintf (),
545 #.  usually some debugging version of
546 #.  .BR printf (3),
547 #.  perhaps with a prototype like
548 #.  .BI "void dprintf(int level, const char *" format ", ...);"
549 #.  where the first argument is a debugging level (and output is to
550 #.  .IR stderr ).
551 #.  Moreover,
552 #.  .BR dprintf ()
553 #.  (or
554 #.  .BR DPRINTF )
555 #.  is also a popular macro name for a debugging printf.
556 #.  So, probably, it is better to avoid this function in programs
557 #.  intended to be portable.
558 #.  A better name would have been
559 #.  .BR fdprintf ().
560 #. type: Plain text
561 #: build/C/man3/dprintf.3:95
562 msgid ""
563 "These functions are GNU extensions that are nowadays specified in "
564 "POSIX.1-2008."
565 msgstr ""
566 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
567 "る。"
568
569 #. type: Plain text
570 #: build/C/man3/dprintf.3:97
571 msgid "B<printf>(3)"
572 msgstr "B<printf>(3)"
573
574 #. type: TH
575 #: build/C/man3/fclose.3:44
576 #, no-wrap
577 msgid "FCLOSE"
578 msgstr "FCLOSE"
579
580 #. type: TH
581 #: build/C/man3/fclose.3:44
582 #, no-wrap
583 msgid "2009-02-23"
584 msgstr "2009-02-23"
585
586 #. type: Plain text
587 #: build/C/man3/fclose.3:47
588 msgid "fclose - close a stream"
589 msgstr "fclose - ストリームを閉じる"
590
591 #. type: Plain text
592 #: build/C/man3/fclose.3:51
593 msgid "B<int fclose(FILE *>I<fp>B<);>"
594 msgstr "B<int fclose(FILE *>I<fp>B<);>"
595
596 #. type: Plain text
597 #: build/C/man3/fclose.3:59
598 msgid ""
599 "The B<fclose>()  function flushes the stream pointed to by I<fp> (writing "
600 "any buffered output data using B<fflush>(3))  and closes the underlying file "
601 "descriptor."
602 msgstr ""
603 "B<fclose>() 関数は、 I<fp> が指すストリームを (バッファリングされて\n"
604 "いた全ての出力データを B<fflush>(3) を用いて書き込んで) フラッシュし、\n"
605 "対応するファイルディスクリプタをクローズする。"
606
607 #. type: Plain text
608 #: build/C/man3/fclose.3:70
609 msgid ""
610 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
611 "I<errno> is set to indicate the error.  In either case any further access "
612 "(including another call to B<fclose>())  to the stream results in undefined "
613 "behavior."
614 msgstr ""
615 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
616 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
617 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
618 "は 未定義の動作を生じさせる。"
619
620 #. type: SH
621 #: build/C/man3/fclose.3:70 build/C/man3/ferror.3:96 build/C/man3/fflush.3:81
622 #: build/C/man3/fgetwc.3:61 build/C/man3/flockfile.3:119
623 #: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:65 build/C/man3/fputwc.3:60
624 #: build/C/man3/fseek.3:136 build/C/man3/fseeko.3:74
625 #: build/C/man3/getline.3:122 build/C/man2/link.2:57 build/C/man2/llseek.2:69
626 #: build/C/man2/lseek.2:170 build/C/man2/open.2:485 build/C/man2/pipe.2:97
627 #: build/C/man3/popen.3:143 build/C/man2/read.2:95 build/C/man2/readlink.2:85
628 #: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:96
629 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:548 build/C/man2/symlink.2:89
630 #: build/C/man3/tempnam.3:92 build/C/man3/tmpfile.3:54
631 #: build/C/man3/tmpnam.3:75 build/C/man2/unlink.2:60 build/C/man2/write.2:107
632 #, no-wrap
633 msgid "ERRORS"
634 msgstr "エラー"
635
636 #. type: TP
637 #: build/C/man3/fclose.3:71 build/C/man3/fflush.3:82 build/C/man3/fpurge.3:66
638 #: build/C/man3/fseek.3:137 build/C/man2/llseek.2:70 build/C/man2/lseek.2:171
639 #: build/C/man2/read.2:114 build/C/man3/scanf.3:554 build/C/man2/write.2:126
640 #, no-wrap
641 msgid "B<EBADF>"
642 msgstr "B<EBADF>"
643
644 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
645 #.   low-level file operations on the same stream. If you do get this error,
646 #.   you must have closed the stream's low-level file descriptor using
647 #.   something like close(fileno(fp)).
648 #. type: Plain text
649 #: build/C/man3/fclose.3:80
650 msgid "The file descriptor underlying I<fp> is not valid."
651 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
652
653 #. type: Plain text
654 #: build/C/man3/fclose.3:90
655 msgid ""
656 "The B<fclose>()  function may also fail and set I<errno> for any of the "
657 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
658 msgstr ""
659 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
660 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
661 "された値に設定される。"
662
663 #. type: Plain text
664 #: build/C/man3/fclose.3:92 build/C/man3/fseek.3:170 build/C/man3/puts.3:105
665 msgid "C89, C99."
666 msgstr "C89, C99."
667
668 #. type: SH
669 #: build/C/man3/fclose.3:92 build/C/man3/fflush.3:99 build/C/man3/fgetwc.3:69
670 #: build/C/man3/fmemopen.3:207 build/C/man3/fmtmsg.3:240
671 #: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:78 build/C/man3/fputwc.3:67
672 #: build/C/man3/fseeko.3:79 build/C/man2/link.2:143 build/C/man2/llseek.2:84
673 #: build/C/man2/lseek.2:210 build/C/man2/open.2:655 build/C/man3/perror.3:124
674 #: build/C/man3/printf.3:867 build/C/man2/read.2:175
675 #: build/C/man2/readlink.2:130 build/C/man2/readv.2:226
676 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:609 build/C/man3/stdin.3:122
677 #: build/C/man2/symlink.2:155 build/C/man3/tempnam.3:101
678 #: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:82
679 #: build/C/man3/wprintf.3:197 build/C/man2/write.2:194
680 #, no-wrap
681 msgid "NOTES"
682 msgstr "注意"
683
684 #. type: Plain text
685 #: build/C/man3/fclose.3:102
686 msgid ""
687 "Note that B<fclose>()  only flushes the user-space buffers provided by the C "
688 "library.  To ensure that the data is physically stored on disk the kernel "
689 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
690 msgstr ""
691 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
692 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
693 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
694 "ればならない。"
695
696 #. type: Plain text
697 #: build/C/man3/fclose.3:108
698 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
699 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
700
701 #. type: TH
702 #: build/C/man3/fcloseall.3:25
703 #, no-wrap
704 msgid "FCLOSEALL"
705 msgstr "FCLOSEALL"
706
707 #. type: TH
708 #: build/C/man3/fcloseall.3:25
709 #, no-wrap
710 msgid "2006-12-27"
711 msgstr "2006-12-27"
712
713 #. type: Plain text
714 #: build/C/man3/fcloseall.3:28
715 msgid "fcloseall - close all open streams"
716 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
717
718 #. type: Plain text
719 #: build/C/man3/fcloseall.3:32 build/C/man3/fopencookie.3:33
720 #, no-wrap
721 msgid ""
722 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
723 "B<#include E<lt>stdio.hE<gt>>\n"
724 msgstr ""
725 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
726 "B<#include E<lt>stdio.hE<gt>>\n"
727
728 #. type: Plain text
729 #: build/C/man3/fcloseall.3:34
730 #, no-wrap
731 msgid "B<int fcloseall(void);>\n"
732 msgstr "B<int fcloseall(void);>\n"
733
734 #. type: Plain text
735 #: build/C/man3/fcloseall.3:43
736 msgid ""
737 "The B<fcloseall>()  function closes all of the calling process's open "
738 "streams.  Buffered output for each stream is written before it is closed (as "
739 "for B<fflush>(3)); buffered input is discarded."
740 msgstr ""
741 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
742 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
743 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
744 "れる。"
745
746 #. type: Plain text
747 #: build/C/man3/fcloseall.3:50
748 msgid ""
749 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
750 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
751
752 #. type: Plain text
753 #: build/C/man3/fcloseall.3:55
754 msgid ""
755 "This function returns 0 if all files were successfully closed; on error, "
756 "B<EOF> is returned."
757 msgstr ""
758 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
759 "B<EOF> を返す。"
760
761 #. type: Plain text
762 #: build/C/man3/fcloseall.3:57
763 msgid "This function is a GNU extension."
764 msgstr "この関数は GNU 拡張である。"
765
766 #. type: Plain text
767 #: build/C/man3/fcloseall.3:63
768 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
769 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
770
771 #. type: TH
772 #: build/C/man3/ferror.3:44
773 #, no-wrap
774 msgid "FERROR"
775 msgstr "FERROR"
776
777 #. type: TH
778 #: build/C/man3/ferror.3:44 build/C/man3/flockfile.3:25
779 #: build/C/man3/unlocked_stdio.3:25
780 #, no-wrap
781 msgid "2008-08-29"
782 msgstr "2008-08-29"
783
784 #. type: Plain text
785 #: build/C/man3/ferror.3:47
786 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
787 msgstr ""
788 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
789
790 #. type: Plain text
791 #: build/C/man3/ferror.3:51
792 msgid "B<void clearerr(FILE *>I<stream>B<);>"
793 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
794
795 #. type: Plain text
796 #: build/C/man3/ferror.3:53
797 msgid "B<int feof(FILE *>I<stream>B<);>"
798 msgstr "B<int feof(FILE *>I<stream>B<);>"
799
800 #. type: Plain text
801 #: build/C/man3/ferror.3:55
802 msgid "B<int ferror(FILE *>I<stream>B<);>"
803 msgstr "B<int ferror(FILE *>I<stream>B<);>"
804
805 #. type: Plain text
806 #: build/C/man3/ferror.3:57
807 msgid "B<int fileno(FILE *>I<stream>B<);>"
808 msgstr "B<int fileno(FILE *>I<stream>B<);>"
809
810 #. type: Plain text
811 #: build/C/man3/ferror.3:65
812 msgid ""
813 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
814 msgstr ""
815 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
816
817 #. type: Plain text
818 #: build/C/man3/ferror.3:70
819 msgid ""
820 "The function B<clearerr>()  clears the end-of-file and error indicators for "
821 "the stream pointed to by I<stream>."
822 msgstr ""
823 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
824 "子とエラー指示子をクリアする。"
825
826 #. type: Plain text
827 #: build/C/man3/ferror.3:78
828 msgid ""
829 "The function B<feof>()  tests the end-of-file indicator for the stream "
830 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
831 "indicator can be cleared only by the function B<clearerr>()."
832 msgstr ""
833 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
834 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
835 "よってのみクリアすることができる。"
836
837 #. type: Plain text
838 #: build/C/man3/ferror.3:87
839 msgid ""
840 "The function B<ferror>()  tests the error indicator for the stream pointed "
841 "to by I<stream>, returning nonzero if it is set.  The error indicator can be "
842 "reset only by the B<clearerr>()  function."
843 msgstr ""
844 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
845 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
846 "()  によってのみリセットすることができる。"
847
848 #. type: Plain text
849 #: build/C/man3/ferror.3:93
850 msgid ""
851 "The function B<fileno>()  examines the argument I<stream> and returns its "
852 "integer descriptor."
853 msgstr ""
854 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
855
856 #. type: Plain text
857 #: build/C/man3/ferror.3:96 build/C/man3/fgetwc.3:55 build/C/man3/fputwc.3:54
858 #: build/C/man3/fread.3:83 build/C/man3/gets.3:111 build/C/man3/puts.3:84
859 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
860 msgstr ""
861 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
862
863 #. type: Plain text
864 #: build/C/man3/ferror.3:106
865 msgid ""
866 "These functions should not fail and do not set the external variable "
867 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
868 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
869 msgstr ""
870 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
871 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
872 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
873
874 #. type: Plain text
875 #: build/C/man3/ferror.3:113
876 msgid ""
877 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
878 "C99."
879 msgstr ""
880 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
881
882 #. type: Plain text
883 #: build/C/man3/ferror.3:118
884 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
885 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
886
887 #. type: TH
888 #: build/C/man3/fflush.3:45
889 #, no-wrap
890 msgid "FFLUSH"
891 msgstr "FFLUSH"
892
893 #. type: TH
894 #: build/C/man3/fflush.3:45
895 #, no-wrap
896 msgid "2009-09-06"
897 msgstr "2009-09-06"
898
899 #. type: Plain text
900 #: build/C/man3/fflush.3:48
901 msgid "fflush - flush a stream"
902 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
903
904 #. type: Plain text
905 #: build/C/man3/fflush.3:52
906 msgid "B<int fflush(FILE *>I<stream>B<);>"
907 msgstr "B<int fflush(FILE *>I<stream>B<);>"
908
909 #. type: Plain text
910 #: build/C/man3/fflush.3:63
911 msgid ""
912 "For output streams, B<fflush>()  forces a write of all user-space buffered "
913 "data for the given output or update I<stream> via the stream's underlying "
914 "write function.  For input streams, B<fflush>()  discards any buffered data "
915 "that has been fetched from the underlying file, but has not been consumed by "
916 "the application.  The open status of the stream is unaffected."
917 msgstr ""
918 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
919 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
920 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
921 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
922 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
923 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
924 "い。"
925
926 #. type: Plain text
927 #: build/C/man3/fflush.3:71
928 msgid ""
929 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
930 "streams."
931 msgstr ""
932 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
933 "トリームをフラッシュする。"
934
935 #. type: Plain text
936 #: build/C/man3/fflush.3:74
937 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
938 msgstr ""
939 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
940 "と。"
941
942 #. type: Plain text
943 #: build/C/man3/fflush.3:81
944 msgid ""
945 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
946 "I<errno> is set to indicate the error."
947 msgstr ""
948 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
949 "ラーに対応した値に設定される。"
950
951 #. type: Plain text
952 #: build/C/man3/fflush.3:86
953 msgid "I<Stream> is not an open stream, or is not open for writing."
954 msgstr ""
955 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
956 "ない。"
957
958 #. type: Plain text
959 #: build/C/man3/fflush.3:93
960 msgid ""
961 "The function B<fflush>()  may also fail and set I<errno> for any of the "
962 "errors specified for B<write>(2)."
963 msgstr ""
964 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
965 "ある。 この場合 I<errno> もその値に設定される。"
966
967 #. type: Plain text
968 #: build/C/man3/fflush.3:95
969 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
970 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
971
972 #.  Verified on: Solaris 8.
973 #. type: Plain text
974 #: build/C/man3/fflush.3:99
975 msgid ""
976 "The standards do not specify the behavior for input streams.  Most other "
977 "implementations behave the same as Linux."
978 msgstr ""
979 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
980 "は Linux と同じ動作をする。"
981
982 #. type: Plain text
983 #: build/C/man3/fflush.3:108
984 msgid ""
985 "Note that B<fflush>()  only flushes the user-space buffers provided by the C "
986 "library.  To ensure that the data is physically stored on disk the kernel "
987 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
988 msgstr ""
989 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
990 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
991 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
992 "B<fsync>(2)  を用いる。"
993
994 #. type: Plain text
995 #: build/C/man3/fflush.3:116
996 msgid ""
997 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
998 "(3), B<unlocked_stdio>(3)"
999 msgstr ""
1000 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1001 "(3), B<unlocked_stdio>(3)"
1002
1003 #. type: TH
1004 #: build/C/man3/fgetwc.3:18
1005 #, no-wrap
1006 msgid "FGETWC"
1007 msgstr "FGETWC"
1008
1009 #. type: TH
1010 #: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16
1011 #, no-wrap
1012 msgid "1999-07-25"
1013 msgstr "1999-07-25"
1014
1015 #. type: Plain text
1016 #: build/C/man3/fgetwc.3:21
1017 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1018 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1019
1020 #. type: Plain text
1021 #: build/C/man3/fgetwc.3:26 build/C/man3/fmemopen.3:22
1022 #: build/C/man3/fputwc.3:24 build/C/man3/unlocked_stdio.3:54
1023 #, no-wrap
1024 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1025 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1026
1027 #. type: Plain text
1028 #: build/C/man3/fgetwc.3:29
1029 #, no-wrap
1030 msgid ""
1031 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1032 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1033 msgstr ""
1034 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1035 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1036
1037 #. type: Plain text
1038 #: build/C/man3/fgetwc.3:44
1039 msgid ""
1040 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1041 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1042 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1043 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1044 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1045 msgstr ""
1046 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1047 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1048 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1049 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1050 "し、 B<WEOF> を返す。"
1051
1052 #. type: Plain text
1053 #: build/C/man3/fgetwc.3:52
1054 msgid ""
1055 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1056 "may be implemented as a macro, and may evaluate its argument more than "
1057 "once.  There is no reason ever to use it."
1058 msgstr ""
1059 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1060 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1061 "ない。この関数を使う理由はもはや存在しない。"
1062
1063 #. type: Plain text
1064 #: build/C/man3/fgetwc.3:61
1065 msgid ""
1066 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1067 "or B<WEOF>."
1068 msgstr ""
1069 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
1070
1071 #. type: Plain text
1072 #: build/C/man3/fgetwc.3:63 build/C/man3/fputwc.3:62
1073 msgid "Apart from the usual ones, there is"
1074 msgstr "通常のエラーに加えて、以下のエラーがある:"
1075
1076 #. type: TP
1077 #: build/C/man3/fgetwc.3:63 build/C/man3/fputwc.3:62 build/C/man3/scanf.3:559
1078 #, no-wrap
1079 msgid "B<EILSEQ>"
1080 msgstr "B<EILSEQ>"
1081
1082 #. type: Plain text
1083 #: build/C/man3/fgetwc.3:67
1084 msgid ""
1085 "The data obtained from the input stream does not form a valid character."
1086 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1087
1088 #. type: Plain text
1089 #: build/C/man3/fgetwc.3:69 build/C/man3/fputwc.3:67
1090 msgid "C99, POSIX.1-2001."
1091 msgstr "C99, POSIX.1-2001."
1092
1093 #. type: Plain text
1094 #: build/C/man3/fgetwc.3:76
1095 msgid ""
1096 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1097 "current locale."
1098 msgstr ""
1099 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1100
1101 #. type: Plain text
1102 #: build/C/man3/fgetwc.3:84
1103 msgid ""
1104 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1105 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1106 "sequence from the stream and then convert it to a wide character."
1107 msgstr ""
1108 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1109 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1110 "換すると期待することは適切である。"
1111
1112 #. type: Plain text
1113 #: build/C/man3/fgetwc.3:89
1114 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1115 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1116
1117 #. type: TH
1118 #: build/C/man3/flockfile.3:25
1119 #, no-wrap
1120 msgid "FLOCKFILE"
1121 msgstr "FLOCKFILE"
1122
1123 #. type: Plain text
1124 #: build/C/man3/flockfile.3:28
1125 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1126 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1127
1128 #. type: Plain text
1129 #: build/C/man3/flockfile.3:33
1130 #, no-wrap
1131 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1132 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1133
1134 #. type: Plain text
1135 #: build/C/man3/flockfile.3:35
1136 #, no-wrap
1137 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1138 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1139
1140 #. type: Plain text
1141 #: build/C/man3/flockfile.3:37
1142 #, no-wrap
1143 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1144 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1145
1146 #. type: Plain text
1147 #: build/C/man3/flockfile.3:46 build/C/man3/wprintf.3:43
1148 msgid "All functions shown above:"
1149 msgstr "上記の全ての関数:"
1150
1151 #. type: Plain text
1152 #: build/C/man3/flockfile.3:49
1153 msgid ""
1154 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1155 "|| _POSIX_SOURCE"
1156 msgstr ""
1157 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1158 "|| _POSIX_SOURCE"
1159
1160 #. type: Plain text
1161 #: build/C/man3/flockfile.3:63
1162 msgid ""
1163 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1164 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1165 "thread.  For each library call, these functions wait until the I<FILE> "
1166 "object is no longer locked by a different thread, then lock it, do the "
1167 "requested I/O, and unlock the object again."
1168 msgstr ""
1169 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1170 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1171 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1172 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1173 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1174 "オブジェクトのロックを解除する。"
1175
1176 #. type: Plain text
1177 #: build/C/man3/flockfile.3:69
1178 msgid ""
1179 "(Note: this locking has nothing to do with the file locking done by "
1180 "functions like B<flock>(2)  and B<lockf>(3).)"
1181 msgstr ""
1182 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1183 "全く無関係である。)"
1184
1185 #. type: Plain text
1186 #: build/C/man3/flockfile.3:77
1187 msgid ""
1188 "All this is invisible to the C-programmer, but there may be two reasons to "
1189 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1190 "actions by one thread belongs together, and should not be interrupted by the "
1191 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1192 "should be avoided for greater efficiency."
1193 msgstr ""
1194 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1195 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1196 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1197 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1198 "避ける必要があるということであろう。"
1199
1200 #. type: Plain text
1201 #: build/C/man3/flockfile.3:94
1202 msgid ""
1203 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1204 "series of I/O actions, then unlock.  This prevents other threads from coming "
1205 "in between.  If the reason for doing this was to achieve greater efficiency, "
1206 "one does the I/O with the nonlocking versions of the stdio functions: with "
1207 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1208 "B<putc>(3)."
1209 msgstr ""
1210 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1211 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1212 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1213 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1214 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1215 "B<putc_unlocked>(3)  を使用する。"
1216
1217 #. type: Plain text
1218 #: build/C/man3/flockfile.3:101
1219 msgid ""
1220 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1221 "by a different thread, then makes the current thread owner of "
1222 "I<*filehandle>, and increments the lockcount."
1223 msgstr ""
1224 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1225 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1226 "ロック数を加算する。"
1227
1228 #. type: Plain text
1229 #: build/C/man3/flockfile.3:105
1230 msgid "The B<funlockfile>()  function decrements the lock count."
1231 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1232
1233 #. type: Plain text
1234 #: build/C/man3/flockfile.3:114
1235 msgid ""
1236 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1237 "It does nothing in case some other thread owns I<*filehandle>, and it "
1238 "obtains ownership and increments the lockcount otherwise."
1239 msgstr ""
1240 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1241 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1242 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1243
1244 #. type: Plain text
1245 #: build/C/man3/flockfile.3:119
1246 msgid ""
1247 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1248 "obtained), and nonzero for failure."
1249 msgstr ""
1250 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1251 "の値を返す。"
1252
1253 #. type: Plain text
1254 #: build/C/man3/flockfile.3:121
1255 msgid "None."
1256 msgstr "なし。"
1257
1258 #. type: Plain text
1259 #: build/C/man3/flockfile.3:123 build/C/man3/popen.3:171
1260 msgid "POSIX.1-2001."
1261 msgstr "POSIX.1-2001."
1262
1263 #. type: SH
1264 #: build/C/man3/flockfile.3:123
1265 #, no-wrap
1266 msgid "AVAILABILITY"
1267 msgstr "可用性"
1268
1269 #. type: Plain text
1270 #: build/C/man3/flockfile.3:129
1271 msgid ""
1272 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1273 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1274 msgstr ""
1275 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1276 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1277
1278 #. type: Plain text
1279 #: build/C/man3/flockfile.3:131
1280 msgid "B<unlocked_stdio>(3)"
1281 msgstr "B<unlocked_stdio>(3)"
1282
1283 #. type: TH
1284 #: build/C/man3/fmemopen.3:10
1285 #, no-wrap
1286 msgid "FMEMOPEN"
1287 msgstr "FMEMOPEN"
1288
1289 #. type: TH
1290 #: build/C/man3/fmemopen.3:10
1291 #, no-wrap
1292 msgid "2012-04-28"
1293 msgstr "2012-04-28"
1294
1295 #. type: Plain text
1296 #: build/C/man3/fmemopen.3:13
1297 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1298 msgstr ""
1299 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1300 "する"
1301
1302 #. type: Plain text
1303 #: build/C/man3/fmemopen.3:18
1304 #, no-wrap
1305 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1306 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1307
1308 #. type: Plain text
1309 #: build/C/man3/fmemopen.3:20
1310 #, no-wrap
1311 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1312 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1313
1314 #. type: Plain text
1315 #: build/C/man3/fmemopen.3:24
1316 #, no-wrap
1317 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1318 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1319
1320 #. type: Plain text
1321 #: build/C/man3/fmemopen.3:34
1322 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1323 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1324
1325 #. type: Plain text
1326 #: build/C/man3/fmemopen.3:57
1327 msgid ""
1328 "The B<fmemopen>()  function opens a stream that permits the access specified "
1329 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1330 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1331 "long."
1332 msgstr ""
1333 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1334 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1335 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1336 "I<size> バイトの長さでなければならない。"
1337
1338 #. type: Plain text
1339 #: build/C/man3/fmemopen.3:77
1340 msgid ""
1341 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1342 "an append mode, then the initial file position is set to the location of the "
1343 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1344 "position is set to the start of the buffer.  Since glibc 2.9, the letter "
1345 "\\(aqb\\(aq may be specified as the second character in I<mode>.  This "
1346 "provides \"binary\" mode: writes don't implicitly add a terminating null "
1347 "byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the buffer (i."
1348 "e., the value specified by the I<size> argument), rather than the current "
1349 "string length."
1350 msgstr ""
1351 "引き数 I<mode> は B<fopen>(3) の場合と同じである。 I<mode> で追記モード\n"
1352 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の\n"
1353 "最初の NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。\n"
1354 "それ以外の場合は、ファイル位置の初期値はバッファの先頭になる。 \n"
1355 "glibc 2.9 以降では、文字 \\(aqb\\(aq を I<mode> の二番目の文字として指定\n"
1356 "することができる。 この文字は「バイナリ」モードを指定するものである。\n"
1357 "このモードでは、書き込み時に文字列終端のヌルバイトが黙って追加 される\n"
1358 "ことはない。また、 B<fseek>(3) B<SEEK_END> は、文字列の長さからの相対値\n"
1359 "ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1360
1361 #. type: Plain text
1362 #: build/C/man3/fmemopen.3:89
1363 msgid ""
1364 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1365 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1366 "there is space.  The caller should ensure that an extra byte is available in "
1367 "the buffer (and that I<size> counts that byte)  to allow for this."
1368 msgstr ""
1369 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1370 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1371 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1372 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1373
1374 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1375 #.  and
1376 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1377 #. type: Plain text
1378 #: build/C/man3/fmemopen.3:107
1379 msgid ""
1380 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1381 "(By default, such errors will be visible only when the I<stdio> buffer is "
1382 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1383 "detect errors at the time of an output operation.  Alternatively, the caller "
1384 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1385 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1386 msgstr ""
1387 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1388 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1389 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1390 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1391 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1392 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1393 "stdio に教える方法がある。)"
1394
1395 #. type: Plain text
1396 #: build/C/man3/fmemopen.3:115
1397 msgid ""
1398 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1399 "not cause read operations to return an end-of-file indication.  A read from "
1400 "the buffer will only indicate end-of-file when the file pointer advances "
1401 "I<size> bytes past the start of the buffer."
1402 msgstr ""
1403 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1404 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1405 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1406 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1407
1408 #. type: Plain text
1409 #: build/C/man3/fmemopen.3:130
1410 msgid ""
1411 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1412 "buffer I<size> bytes long.  This is useful for an application that wants to "
1413 "write data to a temporary buffer and then read it back again.  The buffer is "
1414 "automatically freed when the stream is closed.  Note that the caller has no "
1415 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1416 "see B<open_memstream>()  below)."
1417 msgstr ""
1418 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1419 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1420 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1421 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1422 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1423 "の B<open_memstream>()  も参照)。"
1424
1425 #. type: Plain text
1426 #: build/C/man3/fmemopen.3:141
1427 msgid ""
1428 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1429 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1430 "automatically grows as required.  After closing the stream, the caller "
1431 "should B<free>(3)  this buffer."
1432 msgstr ""
1433 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1434 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1435 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1436 "B<free>(3)  すべきである。"
1437
1438 #. type: Plain text
1439 #: build/C/man3/fmemopen.3:156
1440 msgid ""
1441 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1442 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1443 "respectively, a pointer to the buffer and the current size of the buffer.  "
1444 "These values remain valid only as long as the caller performs no further "
1445 "output on the stream.  If further output is performed, then the stream must "
1446 "again be flushed before trying to access these variables."
1447 msgstr ""
1448 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1449 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1450 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1451 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1452 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1453
1454 #. type: Plain text
1455 #: build/C/man3/fmemopen.3:162
1456 msgid ""
1457 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1458 "included in the size value stored at I<sizeloc>."
1459 msgstr ""
1460 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1461 "されるサイズには「含まれない」。"
1462
1463 #. type: Plain text
1464 #: build/C/man3/fmemopen.3:170
1465 msgid ""
1466 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1467 "(3).  Moving the file position past the end of the data already written "
1468 "fills the intervening space with zeros."
1469 msgstr ""
1470 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1471 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1472 "は 0 で埋められる。"
1473
1474 #. type: Plain text
1475 #: build/C/man3/fmemopen.3:176
1476 msgid ""
1477 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1478 "wide characters instead of bytes."
1479 msgstr ""
1480 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1481 "ド文字に対して操作を行う点が異なる。"
1482
1483 #. type: Plain text
1484 #: build/C/man3/fmemopen.3:188
1485 msgid ""
1486 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1487 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1488 "and I<errno> is set to indicate the error."
1489 msgstr ""
1490 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1491 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1492 "し、 I<errno> にエラーを示す値をセットする。"
1493
1494 #. type: SH
1495 #: build/C/man3/fmemopen.3:188 build/C/man3/fmtmsg.3:222
1496 #: build/C/man3/getline.3:132 build/C/man2/pipe.2:113 build/C/man2/readv.2:209
1497 #, no-wrap
1498 msgid "VERSIONS"
1499 msgstr "バージョン"
1500
1501 #. type: Plain text
1502 #: build/C/man3/fmemopen.3:195
1503 msgid ""
1504 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1505 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1506 msgstr ""
1507 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1508 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1509
1510 #. type: Plain text
1511 #: build/C/man3/fmemopen.3:199
1512 msgid ""
1513 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1514 "not widely available on other systems."
1515 msgstr ""
1516 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1517 "のシステムで広く利用可能である。"
1518
1519 #.  http://austingroupbugs.net/view.php?id=396
1520 #. type: Plain text
1521 #: build/C/man3/fmemopen.3:207
1522 msgid ""
1523 "POSIX.1-2008 specifies that \\(aqb\\(aq in I<mode> shall be ignored.  "
1524 "However, Technical Corrigendum 1 adjusts the standard to allow "
1525 "implementation-specific treatment for this case, thus permitting the glibc "
1526 "treatment of \\(aqb\\(aq."
1527 msgstr ""
1528 "POSIX.1-2008 では I<mode> の \\(aqb\\(aq は無視されるべきだと規定されて\n"
1529 "いる。一方、Technical Corrigendum (正誤表) 1 では、I<mode> の\n"
1530 "\\(aqb\\(aq が指定された場合の扱いは実装依存であることを許容するように\n"
1531 "標準規格が修正されており、glibc の \\(aqb\\(aq の扱いは許されている。"
1532
1533 #. type: Plain text
1534 #: build/C/man3/fmemopen.3:213
1535 msgid ""
1536 "There is no file descriptor associated with the file stream returned by "
1537 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1538 "returned stream)."
1539 msgstr ""
1540 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1541 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1542 "とになる)。"
1543
1544 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1545 #. type: Plain text
1546 #: build/C/man3/fmemopen.3:220
1547 msgid ""
1548 "In glibc before version 2.7, seeking past the end of a stream created by "
1549 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1550 "call fails, returning -1."
1551 msgstr ""
1552 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1553 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1554 "B<fseek>(3)  が失敗し -1 が返る。"
1555
1556 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=11216
1557 #. type: Plain text
1558 #: build/C/man3/fmemopen.3:231
1559 msgid ""
1560 "If I<size> is specified as zero, B<fmemopen>()  fails with the error "
1561 "B<EINVAL>.  It would be more consistent if this case successfully created a "
1562 "stream that then returned end of file on the first attempt at reading.  "
1563 "Furthermore, POSIX.1-2008 does not specify a failure for this case."
1564 msgstr ""
1565 "I<size> に 0 が指定された場合、 B<fmemopen>() はエラー B<EINVAL> で失敗\n"
1566 "する。この場合にはストリームの作成に成功して、最初の読み出しを行った際に\n"
1567 "EOF (end of file) が返される方が、ストリームの扱いの一貫性が増すだろう。\n"
1568 "また、 POSIX.1-2008 ではこの場合のエラーは規定されていない。"
1569
1570 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13152
1571 #. type: Plain text
1572 #: build/C/man3/fmemopen.3:239
1573 msgid ""
1574 "Specifying append mode (\"a\" or \"a+\") for B<fmemopen>()  sets the initial "
1575 "file position to the first null byte, but (if the file offset is reset to a "
1576 "location other than the end of the stream)  does not force subsequent writes "
1577 "to append at the end of the stream."
1578 msgstr ""
1579 "B<fmemopen>() に追記モード (\"a\" や \"a+\") を指定すると、\n"
1580 "ファイル位置の初期値は最初の NULL バイトに設定されるが、(ファイル\n"
1581 "オフセットをストリームの末尾以外の位置に再設定した場合)それ以降の\n"
1582 "書き込みではストリームの末尾への追記が行われる訳ではない。"
1583
1584 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13151
1585 #. type: Plain text
1586 #: build/C/man3/fmemopen.3:255
1587 msgid ""
1588 "If the I<mode> argument to B<fmemopen>()  specifies append (\"a\" or \"a+"
1589 "\"), and the I<size> argument does not cover a null byte in I<buf> then, "
1590 "according to POSIX.1-2008, the initial file position should be set to the "
1591 "next byte after the end of the buffer.  However, in this case the glibc "
1592 "B<fmemopen>()  sets the file position to -1."
1593 msgstr ""
1594 "B<fmemopen>() の I<mode> 引き数に追記モード (\"a\" や \"a+\") を指定し、\n"
1595 "I<size> 引き数で指定した範囲の I<buf> 内に NULL バイトがない場合、\n"
1596 "POSIX.1-2008 では、ファイル位置の初期値はバッファの末尾の直後の\n"
1597 "バイトに設定すべきとされている。しかし、glibc の B<fmemopen>() では\n"
1598 "この場合ファイル位置は -1 に設定される。"
1599
1600 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12836
1601 #. type: Plain text
1602 #: build/C/man3/fmemopen.3:268
1603 msgid ""
1604 "To specify binary mode for B<fmemopen>()  the \\(aqb\\(aq must be the "
1605 "I<second> character in I<mode>.  Thus, for example, \"wb+\" has the desired "
1606 "effect, but \"w+b\" does not.  This is inconsistent with the treatment of "
1607 "I<mode> by B<fopen>(3)."
1608 msgstr ""
1609 "B<fmemopen>() でバイナリモードを指定するには、\n"
1610 "\\(aqb\\(aq は I<mode> の I<2 文字目> でなければならない。\n"
1611 "例えば、 \"wb+\" は意図通りの効果になるが、 \"w+b\" はそうではない。\n"
1612 "これは B<fopen>(3) の I<mode> の扱いとは異なる。"
1613
1614 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=6544
1615 #. type: Plain text
1616 #: build/C/man3/fmemopen.3:276
1617 msgid ""
1618 "The glibc 2.9 addition of \"binary\" mode for B<fmemopen>()  silently "
1619 "changed the ABI: previously, B<fmemopen>()  ignored \\(aqb\\(aq in I<mode>."
1620 msgstr ""
1621 "glibc 2.9 での B<fmemopen>() の「バイナリ」モードの追加は、\n"
1622 "ABI (Application Binary Interface) が黙って変更された。\n"
1623 "それ以前の B<fmemopen>() では I<mode> 内の \\(aqb\\(aq は無視されていた。"
1624
1625 #. type: SH
1626 #: build/C/man3/fmemopen.3:276 build/C/man3/fmtmsg.3:244
1627 #: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:141
1628 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:973
1629 #: build/C/man2/readlink.2:157 build/C/man2/readv.2:265
1630 #: build/C/man3/scanf.3:682
1631 #, no-wrap
1632 msgid "EXAMPLE"
1633 msgstr "例"
1634
1635 #. type: Plain text
1636 #: build/C/man3/fmemopen.3:286
1637 msgid ""
1638 "The program below uses B<fmemopen>()  to open an input buffer, and "
1639 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1640 "scans its input string (taken from the program's first command-line "
1641 "argument) reading integers, and writes the squares of these integers to the "
1642 "output buffer.  An example of the output produced by this program is the "
1643 "following:"
1644 msgstr ""
1645 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1646 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1647 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1648 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1649 "ムの実行例は以下のようになる。"
1650
1651 #. type: Plain text
1652 #: build/C/man3/fmemopen.3:291
1653 #, no-wrap
1654 msgid ""
1655 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1656 "size=11; ptr=1 529 1849\n"
1657 msgstr ""
1658 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1659 "size=11; ptr=1 529 1849\n"
1660
1661 #. type: SS
1662 #: build/C/man3/fmemopen.3:293 build/C/man3/fopencookie.3:271
1663 #, no-wrap
1664 msgid "Program source"
1665 msgstr "プログラムのソース"
1666
1667 #. type: Plain text
1668 #: build/C/man3/fmemopen.3:300
1669 #, no-wrap
1670 msgid ""
1671 "#define _GNU_SOURCE\n"
1672 "#include E<lt>string.hE<gt>\n"
1673 "#include E<lt>stdio.hE<gt>\n"
1674 "#include E<lt>stdlib.hE<gt>\n"
1675 msgstr ""
1676 "#define _GNU_SOURCE\n"
1677 "#include E<lt>string.hE<gt>\n"
1678 "#include E<lt>stdio.hE<gt>\n"
1679 "#include E<lt>stdlib.hE<gt>\n"
1680
1681 #. type: Plain text
1682 #: build/C/man3/fmemopen.3:303
1683 #, no-wrap
1684 msgid ""
1685 "#define handle_error(msg) \\e\n"
1686 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1687 msgstr ""
1688 "#define handle_error(msg) \\e\n"
1689 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1690
1691 #. type: Plain text
1692 #: build/C/man3/fmemopen.3:311
1693 #, no-wrap
1694 msgid ""
1695 "int\n"
1696 "main(int argc, char *argv[])\n"
1697 "{\n"
1698 "    FILE *out, *in;\n"
1699 "    int v, s;\n"
1700 "    size_t size;\n"
1701 "    char *ptr;\n"
1702 msgstr ""
1703 "int\n"
1704 "main(int argc, char *argv[])\n"
1705 "{\n"
1706 "    FILE *out, *in;\n"
1707 "    int v, s;\n"
1708 "    size_t size;\n"
1709 "    char *ptr;\n"
1710
1711 #. type: Plain text
1712 #: build/C/man3/fmemopen.3:316
1713 #, no-wrap
1714 msgid ""
1715 "    if (argc != 2) {\n"
1716 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1717 "\texit(EXIT_FAILURE);\n"
1718 "    }\n"
1719 msgstr ""
1720 "    if (argc != 2) {\n"
1721 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1722 "\texit(EXIT_FAILURE);\n"
1723 "    }\n"
1724
1725 #. type: Plain text
1726 #: build/C/man3/fmemopen.3:320
1727 #, no-wrap
1728 msgid ""
1729 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1730 "    if (in == NULL)\n"
1731 "        handle_error(\"fmemopen\");\n"
1732 msgstr ""
1733 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1734 "    if (in == NULL)\n"
1735 "        handle_error(\"fmemopen\");\n"
1736
1737 #. type: Plain text
1738 #: build/C/man3/fmemopen.3:324
1739 #, no-wrap
1740 msgid ""
1741 "    out = open_memstream(&ptr, &size);\n"
1742 "    if (out == NULL)\n"
1743 "        handle_error(\"open_memstream\");\n"
1744 msgstr ""
1745 "    out = open_memstream(&ptr, &size);\n"
1746 "    if (out == NULL)\n"
1747 "        handle_error(\"open_memstream\");\n"
1748
1749 #. type: Plain text
1750 #: build/C/man3/fmemopen.3:329
1751 #, no-wrap
1752 msgid ""
1753 "    for (;;) {\n"
1754 "        s = fscanf(in, \"%d\", &v);\n"
1755 "        if (s E<lt>= 0)\n"
1756 "            break;\n"
1757 msgstr ""
1758 "    for (;;) {\n"
1759 "        s = fscanf(in, \"%d\", &v);\n"
1760 "        if (s E<lt>= 0)\n"
1761 "            break;\n"
1762
1763 #. type: Plain text
1764 #: build/C/man3/fmemopen.3:340
1765 #, no-wrap
1766 msgid ""
1767 "        s = fprintf(out, \"%d \", v * v);\n"
1768 "        if (s == -1)\n"
1769 "            handle_error(\"fprintf\");\n"
1770 "    }\n"
1771 "    fclose(in);\n"
1772 "    fclose(out);\n"
1773 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1774 "    free(ptr);\n"
1775 "    exit(EXIT_SUCCESS);\n"
1776 "}\n"
1777 msgstr ""
1778 "        s = fprintf(out, \"%d \", v * v);\n"
1779 "        if (s == -1)\n"
1780 "            handle_error(\"fprintf\");\n"
1781 "    }\n"
1782 "    fclose(in);\n"
1783 "    fclose(out);\n"
1784 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1785 "    free(ptr);\n"
1786 "    exit(EXIT_SUCCESS);\n"
1787 "}\n"
1788
1789 #. type: Plain text
1790 #: build/C/man3/fmemopen.3:344
1791 msgid "B<fopen>(3), B<fopencookie>(3)"
1792 msgstr "B<fopen>(3), B<fopencookie>(3)"
1793
1794 #. type: TH
1795 #: build/C/man3/fmtmsg.3:13
1796 #, no-wrap
1797 msgid "FMTMSG"
1798 msgstr "FMTMSG"
1799
1800 #. type: TH
1801 #: build/C/man3/fmtmsg.3:13
1802 #, no-wrap
1803 msgid "2008-06-14"
1804 msgstr "2008-06-14"
1805
1806 #. type: Plain text
1807 #: build/C/man3/fmtmsg.3:16
1808 msgid "fmtmsg - print formatted error messages"
1809 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1810
1811 #. type: Plain text
1812 #: build/C/man3/fmtmsg.3:19
1813 #, no-wrap
1814 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1815 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1816
1817 #. type: Plain text
1818 #: build/C/man3/fmtmsg.3:21
1819 #, no-wrap
1820 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1821 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1822
1823 #. type: Plain text
1824 #: build/C/man3/fmtmsg.3:23
1825 #, no-wrap
1826 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1827 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1828
1829 #. type: Plain text
1830 #: build/C/man3/fmtmsg.3:25
1831 #, no-wrap
1832 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1833 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1834
1835 #. type: Plain text
1836 #: build/C/man3/fmtmsg.3:36
1837 msgid ""
1838 "This function displays a message described by its arguments on the device"
1839 "(s)  specified in the I<classification> argument.  For messages written to "
1840 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1841 msgstr ""
1842 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1843 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1844 "は、 B<MSGVERB> 環境変数に依存する。"
1845
1846 #. type: Plain text
1847 #: build/C/man3/fmtmsg.3:43
1848 msgid ""
1849 "The I<label> argument identifies the source of the message.  The string must "
1850 "consist of two colon separated parts where the first part has not more than "
1851 "10 and the second part not more than 14 characters."
1852 msgstr ""
1853 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1854 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1855 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1856
1857 #. type: Plain text
1858 #: build/C/man3/fmtmsg.3:47
1859 msgid "The I<text> argument describes the condition of the error."
1860 msgstr "I<text> 引き数にはエラー条件を記述する。"
1861
1862 #. type: Plain text
1863 #: build/C/man3/fmtmsg.3:52
1864 msgid ""
1865 "The I<action> argument describes possible steps to recover from the error.  "
1866 "If it is printed, it is prefixed by \"TO FIX: \"."
1867 msgstr ""
1868 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1869 "れが表示される場合、\"TO FIX: \" が前に付く。"
1870
1871 #. type: Plain text
1872 #: build/C/man3/fmtmsg.3:60
1873 msgid ""
1874 "The I<tag> argument is a reference to the online documentation where more "
1875 "information can be found.  It should contain the I<label> value and a unique "
1876 "identification number."
1877 msgstr ""
1878 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1879 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1880
1881 #. type: SS
1882 #: build/C/man3/fmtmsg.3:60
1883 #, no-wrap
1884 msgid "Dummy arguments"
1885 msgstr "ダミー引き数"
1886
1887 #. type: Plain text
1888 #: build/C/man3/fmtmsg.3:79
1889 msgid ""
1890 "Each of the arguments can have a dummy value.  The dummy classification "
1891 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1892 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1893 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1894 "synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
1895 "synonym for B<NO_SEV>."
1896 msgstr ""
1897 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1898 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1899 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1900 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1901 "((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
1902 "る。"
1903
1904 #. type: SS
1905 #: build/C/man3/fmtmsg.3:79
1906 #, no-wrap
1907 msgid "The classification argument"
1908 msgstr "classification 引き数"
1909
1910 #. type: Plain text
1911 #: build/C/man3/fmtmsg.3:83
1912 msgid ""
1913 "The I<classification> argument is the sum of values describing 4 types of "
1914 "information."
1915 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1916
1917 #. type: Plain text
1918 #: build/C/man3/fmtmsg.3:86
1919 msgid "The first value defines the output channel."
1920 msgstr "最初の値は出力チャンネルを定義する。"
1921
1922 #. type: TP
1923 #: build/C/man3/fmtmsg.3:86
1924 #, no-wrap
1925 msgid "B<MM_PRINT>"
1926 msgstr "B<MM_PRINT>"
1927
1928 #. type: Plain text
1929 #: build/C/man3/fmtmsg.3:90
1930 msgid "Output to I<stderr>."
1931 msgstr "I<stderr> に出力する。"
1932
1933 #. type: TP
1934 #: build/C/man3/fmtmsg.3:90
1935 #, no-wrap
1936 msgid "B<MM_CONSOLE>"
1937 msgstr "B<MM_CONSOLE>"
1938
1939 #. type: Plain text
1940 #: build/C/man3/fmtmsg.3:93
1941 msgid "Output to the system console."
1942 msgstr "システムコンソールに出力する。"
1943
1944 #. type: TP
1945 #: build/C/man3/fmtmsg.3:93
1946 #, no-wrap
1947 msgid "B<MM_PRINT | MM_CONSOLE>"
1948 msgstr "B<MM_PRINT | MM_CONSOLE>"
1949
1950 #. type: Plain text
1951 #: build/C/man3/fmtmsg.3:96
1952 msgid "Output to both."
1953 msgstr "両方に出力する。"
1954
1955 #. type: Plain text
1956 #: build/C/man3/fmtmsg.3:98
1957 msgid "The second value is the source of the error:"
1958 msgstr "2 番目の値はエラーの発生源である:"
1959
1960 #. type: TP
1961 #: build/C/man3/fmtmsg.3:98
1962 #, no-wrap
1963 msgid "B<MM_HARD>"
1964 msgstr "B<MM_HARD>"
1965
1966 #. type: Plain text
1967 #: build/C/man3/fmtmsg.3:101
1968 msgid "A hardware error occurred."
1969 msgstr "ハードウェアエラーが起こった。"
1970
1971 #. type: TP
1972 #: build/C/man3/fmtmsg.3:101
1973 #, no-wrap
1974 msgid "B<MM_FIRM>"
1975 msgstr "B<MM_FIRM>"
1976
1977 #. type: Plain text
1978 #: build/C/man3/fmtmsg.3:104
1979 msgid "A firmware error occurred."
1980 msgstr "ファームウェアエラーが起こった。"
1981
1982 #. type: TP
1983 #: build/C/man3/fmtmsg.3:104
1984 #, no-wrap
1985 msgid "B<MM_SOFT>"
1986 msgstr "B<MM_SOFT>"
1987
1988 #. type: Plain text
1989 #: build/C/man3/fmtmsg.3:107
1990 msgid "A software error occurred."
1991 msgstr "ソフトウェアエラーが起こった。"
1992
1993 #. type: Plain text
1994 #: build/C/man3/fmtmsg.3:109
1995 msgid "The third value encodes the detector of the problem:"
1996 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
1997
1998 #. type: TP
1999 #: build/C/man3/fmtmsg.3:109
2000 #, no-wrap
2001 msgid "B<MM_APPL>"
2002 msgstr "B<MM_APPL>"
2003
2004 #. type: Plain text
2005 #: build/C/man3/fmtmsg.3:112
2006 msgid "It is detected by an application."
2007 msgstr "アプリケーションによって検知された。"
2008
2009 #. type: TP
2010 #: build/C/man3/fmtmsg.3:112
2011 #, no-wrap
2012 msgid "B<MM_UTIL>"
2013 msgstr "B<MM_UTIL>"
2014
2015 #. type: Plain text
2016 #: build/C/man3/fmtmsg.3:115
2017 msgid "It is detected by a utility."
2018 msgstr "ユーティリティによって検知された。"
2019
2020 #. type: TP
2021 #: build/C/man3/fmtmsg.3:115
2022 #, no-wrap
2023 msgid "B<MM_OPSYS>"
2024 msgstr "B<MM_OPSYS>"
2025
2026 #. type: Plain text
2027 #: build/C/man3/fmtmsg.3:118
2028 msgid "It is detected by the operating system."
2029 msgstr "オペレーティングシステムによって検知された。"
2030
2031 #. type: Plain text
2032 #: build/C/man3/fmtmsg.3:120
2033 msgid "The fourth value shows the severity of the incident:"
2034 msgstr "4 番目の値は問題の重大度を表す:"
2035
2036 #. type: TP
2037 #: build/C/man3/fmtmsg.3:120
2038 #, no-wrap
2039 msgid "B<MM_RECOVER>"
2040 msgstr "B<MM_RECOVER>"
2041
2042 #. type: Plain text
2043 #: build/C/man3/fmtmsg.3:123
2044 msgid "It is a recoverable error."
2045 msgstr "回復可能なエラーである。"
2046
2047 #. type: TP
2048 #: build/C/man3/fmtmsg.3:123
2049 #, no-wrap
2050 msgid "B<MM_NRECOV>"
2051 msgstr "B<MM_NRECOV>"
2052
2053 #. type: Plain text
2054 #: build/C/man3/fmtmsg.3:126
2055 msgid "It is a nonrecoverable error."
2056 msgstr "回復不可能なエラーである。"
2057
2058 #. type: SS
2059 #: build/C/man3/fmtmsg.3:126
2060 #, no-wrap
2061 msgid "The severity argument"
2062 msgstr "severity 引き数"
2063
2064 #. type: Plain text
2065 #: build/C/man3/fmtmsg.3:130
2066 msgid "The I<severity> argument can take one of the following values:"
2067 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
2068
2069 #. type: TP
2070 #: build/C/man3/fmtmsg.3:130
2071 #, no-wrap
2072 msgid "B<MM_NOSEV>"
2073 msgstr "B<MM_NOSEV>"
2074
2075 #. type: Plain text
2076 #: build/C/man3/fmtmsg.3:133
2077 msgid "No severity is printed."
2078 msgstr "重大度は表示されない。"
2079
2080 #. type: TP
2081 #: build/C/man3/fmtmsg.3:133
2082 #, no-wrap
2083 msgid "B<MM_HALT>"
2084 msgstr "B<MM_HALT>"
2085
2086 #. type: Plain text
2087 #: build/C/man3/fmtmsg.3:136
2088 msgid "This value is printed as HALT."
2089 msgstr "この値は HALT として表示される。"
2090
2091 #. type: TP
2092 #: build/C/man3/fmtmsg.3:136
2093 #, no-wrap
2094 msgid "B<MM_ERROR>"
2095 msgstr "B<MM_ERROR>"
2096
2097 #. type: Plain text
2098 #: build/C/man3/fmtmsg.3:139
2099 msgid "This value is printed as ERROR."
2100 msgstr "この値は ERROR として表示される。"
2101
2102 #. type: TP
2103 #: build/C/man3/fmtmsg.3:139
2104 #, no-wrap
2105 msgid "B<MM_WARNING>"
2106 msgstr "B<MM_WARNING>"
2107
2108 #. type: Plain text
2109 #: build/C/man3/fmtmsg.3:142
2110 msgid "This value is printed as WARNING."
2111 msgstr "この値は WARNING として表示される。"
2112
2113 #. type: TP
2114 #: build/C/man3/fmtmsg.3:142
2115 #, no-wrap
2116 msgid "B<MM_INFO>"
2117 msgstr "B<MM_INFO>"
2118
2119 #. type: Plain text
2120 #: build/C/man3/fmtmsg.3:145
2121 msgid "This value is printed as INFO."
2122 msgstr "この値は INFO として表示される。"
2123
2124 #. type: Plain text
2125 #: build/C/man3/fmtmsg.3:152
2126 msgid ""
2127 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2128 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2129 "print."
2130 msgstr ""
2131 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2132 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2133
2134 #. type: Plain text
2135 #: build/C/man3/fmtmsg.3:154
2136 msgid "The function can return 4 values:"
2137 msgstr "関数は 4 つの値を返す:"
2138
2139 #. type: TP
2140 #: build/C/man3/fmtmsg.3:154
2141 #, no-wrap
2142 msgid "B<MM_OK>"
2143 msgstr "B<MM_OK>"
2144
2145 #. type: Plain text
2146 #: build/C/man3/fmtmsg.3:157
2147 msgid "Everything went smooth."
2148 msgstr "全てがうまくいった。"
2149
2150 #. type: TP
2151 #: build/C/man3/fmtmsg.3:157
2152 #, no-wrap
2153 msgid "B<MM_NOTOK>"
2154 msgstr "B<MM_NOTOK>"
2155
2156 #. type: Plain text
2157 #: build/C/man3/fmtmsg.3:160
2158 msgid "Complete failure."
2159 msgstr "完全に失敗した。"
2160
2161 #. type: TP
2162 #: build/C/man3/fmtmsg.3:160
2163 #, no-wrap
2164 msgid "B<MM_NOMSG>"
2165 msgstr "B<MM_NOMSG>"
2166
2167 #. type: Plain text
2168 #: build/C/man3/fmtmsg.3:164
2169 msgid "Error writing to I<stderr>."
2170 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2171
2172 #. type: TP
2173 #: build/C/man3/fmtmsg.3:164
2174 #, no-wrap
2175 msgid "B<MM_NOCON>"
2176 msgstr "B<MM_NOCON>"
2177
2178 #. type: Plain text
2179 #: build/C/man3/fmtmsg.3:167
2180 msgid "Error writing to the console."
2181 msgstr "コンソールに書き込むときにエラーが起こった。"
2182
2183 #. type: SH
2184 #: build/C/man3/fmtmsg.3:167
2185 #, no-wrap
2186 msgid "ENVIRONMENT"
2187 msgstr "環境変数"
2188
2189 #. type: Plain text
2190 #: build/C/man3/fmtmsg.3:178
2191 msgid ""
2192 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2193 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2194 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2195 "separated list of valid keywords, then only the parts of the message "
2196 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2197 "\"severity\", \"text\", \"action\" and \"tag\"."
2198 msgstr ""
2199 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2200 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2201 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2202 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2203 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2204
2205 #. type: Plain text
2206 #: build/C/man3/fmtmsg.3:190
2207 msgid ""
2208 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2209 "levels.  By default, only the five severity levels described above are "
2210 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2211 "If the user puts B<SEV_LEVEL> with a format like"
2212 msgstr ""
2213 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2214 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2215 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2216 "B<SEV_LEVEL> を"
2217
2218 #. type: Plain text
2219 #: build/C/man3/fmtmsg.3:193
2220 msgid "SEV_LEVEL=[description[:description[:...]]]"
2221 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2222
2223 #. type: Plain text
2224 #: build/C/man3/fmtmsg.3:198
2225 msgid ""
2226 "in the environment of the process before the first call to B<fmtmsg>(), "
2227 "where each description is of the form"
2228 msgstr ""
2229 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2230 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2231 "指定された printstring を表示する。 各 description は"
2232
2233 #. type: Plain text
2234 #: build/C/man3/fmtmsg.3:201
2235 msgid "severity-keyword,level,printstring"
2236 msgstr "severity-keyword,level,printstring"
2237
2238 #. type: Plain text
2239 #: build/C/man3/fmtmsg.3:208
2240 msgid ""
2241 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2242 "addition to the standard levels 0-4), and use the indicated printstring when "
2243 "such a level occurs."
2244 msgstr "という形式である。"
2245
2246 #. type: Plain text
2247 #: build/C/man3/fmtmsg.3:222
2248 msgid ""
2249 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2250 "present.  The level part is a string representation of a number.  The "
2251 "numeric value must be a number greater than 4.  This value must be used in "
2252 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2253 "possible to overwrite any of the predefined classes.  The printstring is the "
2254 "string printed when a message of this class is processed by B<fmtmsg>()."
2255 msgstr ""
2256 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2257 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2258 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2259 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2260 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2261 "た場合に表示される文字列である。"
2262
2263 #. type: Plain text
2264 #: build/C/man3/fmtmsg.3:225
2265 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2266 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2267
2268 #. type: Plain text
2269 #: build/C/man3/fmtmsg.3:240
2270 msgid ""
2271 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2272 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2273 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2274 msgstr ""
2275 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2276 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2277 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2278
2279 #. type: Plain text
2280 #: build/C/man3/fmtmsg.3:244
2281 msgid ""
2282 "System V and UnixWare man pages tell us that these functions have been "
2283 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2284 "vlfmt()\", and will be removed later."
2285 msgstr ""
2286 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2287 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2288 "は削除される予定である」と書かれている。"
2289
2290 #. type: Plain text
2291 #: build/C/man3/fmtmsg.3:249
2292 #, no-wrap
2293 msgid ""
2294 "#include E<lt>stdio.hE<gt>\n"
2295 "#include E<lt>stdlib.hE<gt>\n"
2296 "#include E<lt>fmtmsg.hE<gt>\n"
2297 msgstr ""
2298 "#include E<lt>stdio.hE<gt>\n"
2299 "#include E<lt>stdlib.hE<gt>\n"
2300 "#include E<lt>fmtmsg.hE<gt>\n"
2301
2302 #. type: Plain text
2303 #: build/C/man3/fmtmsg.3:255
2304 #, no-wrap
2305 msgid ""
2306 "int\n"
2307 "main(void)\n"
2308 "{\n"
2309 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2310 "    int err;\n"
2311 msgstr ""
2312 "int\n"
2313 "main(void)\n"
2314 "{\n"
2315 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2316 "    int err;\n"
2317
2318 #. type: Plain text
2319 #: build/C/man3/fmtmsg.3:276
2320 #, no-wrap
2321 msgid ""
2322 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2323 "                \"unknown mount option\", \"See mount(8).\",\n"
2324 "                \"util-linux:mount:017\");\n"
2325 "    switch (err) {\n"
2326 "    case MM_OK:\n"
2327 "        break;\n"
2328 "    case MM_NOTOK:\n"
2329 "        printf(\"Nothing printed\\en\");\n"
2330 "        break;\n"
2331 "    case MM_NOMSG:\n"
2332 "        printf(\"Nothing printed to stderr\\en\");\n"
2333 "        break;\n"
2334 "    case MM_NOCON:\n"
2335 "        printf(\"No console output\\en\");\n"
2336 "        break;\n"
2337 "    default:\n"
2338 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2339 "    }\n"
2340 "    exit(EXIT_SUCCESS);\n"
2341 "}\n"
2342 msgstr ""
2343 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2344 "                \"unknown mount option\", \"See mount(8).\",\n"
2345 "                \"util-linux:mount:017\");\n"
2346 "    switch (err) {\n"
2347 "    case MM_OK:\n"
2348 "      break;\n"
2349 "    case MM_NOTOK:\n"
2350 "        printf(\"Nothing printed\\en\");\n"
2351 "        break;\n"
2352 "    case MM_NOMSG:\n"
2353 "        printf(\"Nothing printed to stderr\\en\");\n"
2354 "        break;\n"
2355 "    case MM_NOCON:\n"
2356 "        printf(\"No console output\\en\");\n"
2357 "        break;\n"
2358 "    default:\n"
2359 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2360 "    }\n"
2361 "    exit(EXIT_SUCCESS);\n"
2362 "}\n"
2363
2364 #. type: Plain text
2365 #: build/C/man3/fmtmsg.3:279
2366 msgid "The output should be:"
2367 msgstr "出力は"
2368
2369 #. type: Plain text
2370 #: build/C/man3/fmtmsg.3:283
2371 #, no-wrap
2372 msgid ""
2373 "    util-linux:mount: ERROR: unknown mount option\n"
2374 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2375 msgstr ""
2376 "    util-linux:mount: ERROR: unknown mount option\n"
2377 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2378
2379 #. type: Plain text
2380 #: build/C/man3/fmtmsg.3:286
2381 msgid "and after"
2382 msgstr "のようになり、"
2383
2384 #. type: Plain text
2385 #: build/C/man3/fmtmsg.3:289
2386 #, no-wrap
2387 msgid "    MSGVERB=text:action; export MSGVERB\n"
2388 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2389
2390 #. type: Plain text
2391 #: build/C/man3/fmtmsg.3:292
2392 msgid "the output becomes:"
2393 msgstr "を実行すると、次のようになる。"
2394
2395 #. type: Plain text
2396 #: build/C/man3/fmtmsg.3:296
2397 #, no-wrap
2398 msgid ""
2399 "    unknown mount option\n"
2400 "    TO FIX: See mount(8).\n"
2401 msgstr ""
2402 "    unknown mount option\n"
2403 "    TO FIX: See mount(8).\n"
2404
2405 #. type: Plain text
2406 #: build/C/man3/fmtmsg.3:300
2407 msgid "B<addseverity>(3), B<perror>(3)"
2408 msgstr "B<addseverity>(3), B<perror>(3)"
2409
2410 #. type: TH
2411 #: build/C/man3/fopen.3:44
2412 #, no-wrap
2413 msgid "FOPEN"
2414 msgstr "FOPEN"
2415
2416 #. type: TH
2417 #: build/C/man3/fopen.3:44
2418 #, no-wrap
2419 msgid "2012-04-22"
2420 msgstr "2012-04-22"
2421
2422 #. type: Plain text
2423 #: build/C/man3/fopen.3:47
2424 msgid "fopen, fdopen, freopen - stream open functions"
2425 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2426
2427 #. type: Plain text
2428 #: build/C/man3/fopen.3:52
2429 #, no-wrap
2430 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2431 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2432
2433 #. type: Plain text
2434 #: build/C/man3/fopen.3:54
2435 #, no-wrap
2436 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2437 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2438
2439 #. type: Plain text
2440 #: build/C/man3/fopen.3:56
2441 #, no-wrap
2442 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2443 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2444
2445 #. type: Plain text
2446 #: build/C/man3/fopen.3:65
2447 msgid ""
2448 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2449 msgstr ""
2450 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2451
2452 #. type: Plain text
2453 #: build/C/man3/fopen.3:71
2454 msgid ""
2455 "The B<fopen>()  function opens the file whose name is the string pointed to "
2456 "by I<path> and associates a stream with it."
2457 msgstr ""
2458 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2459 "びつける。"
2460
2461 #. type: Plain text
2462 #: build/C/man3/fopen.3:76
2463 msgid ""
2464 "The argument I<mode> points to a string beginning with one of the following "
2465 "sequences (possibly followed by additional characters, as described below):"
2466 msgstr ""
2467 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタであ\n"
2468 "る (以下の述べる、追加の文字が後に続くこともある):"
2469
2470 #. type: TP
2471 #: build/C/man3/fopen.3:76
2472 #, no-wrap
2473 msgid "B<r>"
2474 msgstr "B<r>"
2475
2476 #. type: Plain text
2477 #: build/C/man3/fopen.3:80
2478 msgid ""
2479 "Open text file for reading.  The stream is positioned at the beginning of "
2480 "the file."
2481 msgstr ""
2482 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2483 "る。"
2484
2485 #. type: TP
2486 #: build/C/man3/fopen.3:80
2487 #, no-wrap
2488 msgid "B<r+>"
2489 msgstr "B<r+>"
2490
2491 #. type: Plain text
2492 #: build/C/man3/fopen.3:84
2493 msgid ""
2494 "Open for reading and writing.  The stream is positioned at the beginning of "
2495 "the file."
2496 msgstr ""
2497 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2498 "る。"
2499
2500 #. type: TP
2501 #: build/C/man3/fopen.3:84
2502 #, no-wrap
2503 msgid "B<w>"
2504 msgstr "B<w>"
2505
2506 #. type: Plain text
2507 #: build/C/man3/fopen.3:88
2508 msgid ""
2509 "Truncate file to zero length or create text file for writing.  The stream is "
2510 "positioned at the beginning of the file."
2511 msgstr ""
2512 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2513 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2514 "頭に位置される。"
2515
2516 #. type: TP
2517 #: build/C/man3/fopen.3:88
2518 #, no-wrap
2519 msgid "B<w+>"
2520 msgstr "B<w+>"
2521
2522 #. type: Plain text
2523 #: build/C/man3/fopen.3:94
2524 msgid ""
2525 "Open for reading and writing.  The file is created if it does not exist, "
2526 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2527 "file."
2528 msgstr ""
2529 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2530 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2531 "の先頭に位置される。"
2532
2533 #. type: TP
2534 #: build/C/man3/fopen.3:94 build/C/man3/scanf.3:447
2535 #, no-wrap
2536 msgid "B<a>"
2537 msgstr "B<a>"
2538
2539 #. type: Plain text
2540 #: build/C/man3/fopen.3:99
2541 msgid ""
2542 "Open for appending (writing at end of file).  The file is created if it does "
2543 "not exist.  The stream is positioned at the end of the file."
2544 msgstr ""
2545 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2546 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2547
2548 #. type: TP
2549 #: build/C/man3/fopen.3:99
2550 #, no-wrap
2551 msgid "B<a+>"
2552 msgstr "B<a+>"
2553
2554 #. type: Plain text
2555 #: build/C/man3/fopen.3:105
2556 msgid ""
2557 "Open for reading and appending (writing at end of file).  The file is "
2558 "created if it does not exist.  The initial file position for reading is at "
2559 "the beginning of the file, but output is always appended to the end of the "
2560 "file."
2561 msgstr ""
2562 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2563 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2564 "あるが、 書き込みは常にファイルの最後に追加される。"
2565
2566 #. type: Plain text
2567 #: build/C/man3/fopen.3:118
2568 msgid ""
2569 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2570 "character or as a character between the characters in any of the two-"
2571 "character strings described above.  This is strictly for compatibility with "
2572 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2573 "systems, including Linux.  (Other systems may treat text files and binary "
2574 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2575 "O to a binary file and expect that your program may be ported to non-UNIX "
2576 "environments.)"
2577 msgstr ""
2578 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2579 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2580 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2581 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2582 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2583 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2584 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2585 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2586
2587 #. type: Plain text
2588 #: build/C/man3/fopen.3:121
2589 msgid "See NOTES below for details of glibc extensions for I<mode>."
2590 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2591
2592 #. type: Plain text
2593 #: build/C/man3/fopen.3:126
2594 msgid ""
2595 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2596 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2597 "umask value (see B<umask>(2))."
2598 msgstr ""
2599 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2600 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2601 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2602
2603 #. type: Plain text
2604 #: build/C/man3/fopen.3:141
2605 msgid ""
2606 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2607 "that ANSI C requires that a file positioning function intervene between "
2608 "output and input, unless an input operation encounters end-of-file.  (If "
2609 "this condition is not met, then a read is allowed to return the result of "
2610 "writes other than the most recent.)  Therefore it is good practice (and "
2611 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2612 "(3)  operation between write and read operations on such a stream.  This "
2613 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2614 "for its synchronizing side effect."
2615 msgstr ""
2616 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2617 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2618 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2619 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2620 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2621 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2622 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2623 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2624 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2625 "い)。"
2626
2627 #. type: Plain text
2628 #: build/C/man3/fopen.3:146
2629 msgid ""
2630 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2631 "causes all subsequent write operations to this stream to occur at end-of-"
2632 "file, as if preceded the call:"
2633 msgstr ""
2634 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、\n"
2635 "このストリームに対する書き込み操作は全て (先に以下の呼び出しを行った\n"
2636 "かのように) ファイルの末尾で行われる。"
2637
2638 #. type: Plain text
2639 #: build/C/man3/fopen.3:149
2640 #, no-wrap
2641 msgid "    fseek(stream, 0, SEEK_END);\n"
2642 msgstr "    fseek(stream, 0, SEEK_END);\n"
2643
2644 #. type: Plain text
2645 #: build/C/man3/fopen.3:171
2646 msgid ""
2647 "The B<fdopen>()  function associates a stream with the existing file "
2648 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2649 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2650 "file descriptor.  The file position indicator of the new stream is set to "
2651 "that belonging to I<fd>, and the error and end-of-file indicators are "
2652 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2653 "file descriptor is not dup'ed, and will be closed when the stream created by "
2654 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2655 "memory object is undefined."
2656 msgstr ""
2657 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2658 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2659 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2660 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2661 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2662 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2663 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2664 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2665
2666 #. type: Plain text
2667 #: build/C/man3/fopen.3:189
2668 msgid ""
2669 "The B<freopen>()  function opens the file whose name is the string pointed "
2670 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2671 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2672 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2673 "function is to change the file associated with a standard text stream "
2674 "(I<stderr>, I<stdin>, or I<stdout>)."
2675 msgstr ""
2676 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2677 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2678 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2679 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2680 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2681
2682 #. type: Plain text
2683 #: build/C/man3/fopen.3:201
2684 msgid ""
2685 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2686 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2687 "indicate the error."
2688 msgstr ""
2689 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2690 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2691
2692 #. type: TP
2693 #: build/C/man3/fopen.3:202 build/C/man3/fseek.3:142
2694 #: build/C/man3/getline.3:123 build/C/man2/llseek.2:77
2695 #: build/C/man2/lseek.2:175 build/C/man2/pipe.2:102 build/C/man2/read.2:126
2696 #: build/C/man2/read.2:137 build/C/man2/readlink.2:95
2697 #: build/C/man2/readlink.2:104 build/C/man2/readv.2:200
2698 #: build/C/man2/rename.2:139 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:566
2699 #: build/C/man2/write.2:154
2700 #, no-wrap
2701 msgid "B<EINVAL>"
2702 msgstr "B<EINVAL>"
2703
2704 #. type: Plain text
2705 #: build/C/man3/fopen.3:212
2706 msgid ""
2707 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2708 "invalid."
2709 msgstr ""
2710 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2711
2712 #. type: Plain text
2713 #: build/C/man3/fopen.3:222
2714 msgid ""
2715 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2716 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2717 msgstr ""
2718 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2719 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2720 "する。"
2721
2722 #. type: Plain text
2723 #: build/C/man3/fopen.3:229
2724 msgid ""
2725 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2726 "errors specified for the routine B<open>(2)."
2727 msgstr ""
2728 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2729 "があり、 その時は対応する値に I<errno> をセットする。"
2730
2731 #. type: Plain text
2732 #: build/C/man3/fopen.3:236
2733 msgid ""
2734 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2735 "errors specified for the routine B<fcntl>(2)."
2736 msgstr ""
2737 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2738 "とがあり、 その時は対応する値に I<errno> をセットする。"
2739
2740 #. type: Plain text
2741 #: build/C/man3/fopen.3:246
2742 msgid ""
2743 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2744 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2745 msgstr ""
2746 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2747 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2748 "トする。"
2749
2750 #. type: Plain text
2751 #: build/C/man3/fopen.3:255
2752 msgid ""
2753 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2754 "()  function conforms to POSIX.1-1990."
2755 msgstr ""
2756 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2757 "は POSIX.1-1990 に準拠している。"
2758
2759 #. type: SS
2760 #: build/C/man3/fopen.3:256
2761 #, no-wrap
2762 msgid "Glibc notes"
2763 msgstr "glibc での注意"
2764
2765 #. type: Plain text
2766 #: build/C/man3/fopen.3:259
2767 msgid ""
2768 "The GNU C library allows the following extensions for the string specified "
2769 "in I<mode>:"
2770 msgstr ""
2771 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2772 "いる:"
2773
2774 #. type: TP
2775 #: build/C/man3/fopen.3:259
2776 #, no-wrap
2777 msgid "B<c> (since glibc 2.3.3)"
2778 msgstr "B<c> (glibc 2.3.3 以降)"
2779
2780 #. type: Plain text
2781 #: build/C/man3/fopen.3:266
2782 msgid ""
2783 "Do not make the open operation, or subsequent read and write operations, "
2784 "thread cancellation points.  This flag is ignored for B<fdopen>()."
2785 msgstr ""
2786 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント\n"
2787 "(cancellation points) を作成しない。\n"
2788 "このフラグは B<fdopen>() では無視される。"
2789
2790 #. type: TP
2791 #: build/C/man3/fopen.3:266
2792 #, no-wrap
2793 msgid "B<e> (since glibc 2.7)"
2794 msgstr "B<e> (glibc 2.7 以降)"
2795
2796 #. type: Plain text
2797 #: build/C/man3/fopen.3:276
2798 msgid ""
2799 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2800 "information.  This flag is ignored for B<fdopen>()."
2801 msgstr ""
2802 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。詳細は\n"
2803 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
2804
2805 #. type: TP
2806 #: build/C/man3/fopen.3:276
2807 #, no-wrap
2808 msgid "B<m> (since glibc 2.3)"
2809 msgstr "B<m> (glibc 2.3 以降)"
2810
2811 #.  As at glibc 2.4:
2812 #. type: Plain text
2813 #: build/C/man3/fopen.3:288
2814 msgid ""
2815 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2816 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is attempted only "
2817 "for a file opened for reading."
2818 msgstr ""
2819 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2820 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2821 "オープンするファイルについてだけである。"
2822
2823 #. type: TP
2824 #: build/C/man3/fopen.3:288 build/C/man3/scanf.3:421
2825 #, no-wrap
2826 msgid "B<x>"
2827 msgstr "B<x>"
2828
2829 #.  Since glibc 2.0?
2830 #.  FIXME C11 specifies this flag
2831 #. type: Plain text
2832 #: build/C/man3/fopen.3:305
2833 msgid ""
2834 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2835 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2836 "This flag is ignored for B<fdopen>()."
2837 msgstr ""
2838 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2839 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2840 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2841
2842 #. type: Plain text
2843 #: build/C/man3/fopen.3:313
2844 msgid ""
2845 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
2846 "the following syntax in I<mode>:"
2847 msgstr ""
2848 "上記の文字に加えて、\n"
2849 "B<fopen>() と B<freopen>() では I<mode> に\n"
2850 "以下の書式を 指定することができる。"
2851
2852 #. type: Plain text
2853 #: build/C/man3/fopen.3:315
2854 msgid "B< ,ccs=>I<string>"
2855 msgstr "B< ,ccs=>I<string>"
2856
2857 #. type: Plain text
2858 #: build/C/man3/fopen.3:331
2859 msgid ""
2860 "The given I<string> is taken as the name of a coded character set and the "
2861 "stream is marked as wide-oriented.  Thereafter, internal conversion "
2862 "functions convert I/O to and from the character set I<string>.  If the B<,"
2863 "ccs=>I<string> syntax is not specified, then the wide-orientation of the "
2864 "stream is determined by the first file operation.  If that operation is a "
2865 "wide-character operation, the stream is marked wide-oriented, and functions "
2866 "to convert to the coded character set are loaded."
2867 msgstr ""
2868 "指定された I<string> は、符号化文字集合の名前と解釈され、\n"
2869 "ストリームではワイド文字のストリームとして扱われる。\n"
2870 "内部変換関数で入出力時に文字集合 I<string> との変換が行われる。\n"
2871 "書式 B<,ccs=>I<string> が指定されない場合は、\n"
2872 "ストリームをワイド文字のストリームとして扱うかは\n"
2873 "最初のファイル操作時に決定される。\n"
2874 "最初のファイル操作がワイド文字操作であった場合は、\n"
2875 "そのストリームはワイド文字のストリームとして扱われ、\n"
2876 "符号化文字集合との変換を行う関数が読み込まれる。"
2877
2878 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
2879 #. type: Plain text
2880 #: build/C/man3/fopen.3:348
2881 msgid ""
2882 "When parsing for individual flag characters in I<mode> (i.e., the characters "
2883 "preceding the \"ccs\" specification), the glibc implementation of B<fopen>"
2884 "()  and B<freopen>()  limits the number of characters examined in I<mode> to "
2885 "7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
2886 "possible specifications such as \"rb+cmxe\").  The current implementation of "
2887 "B<fdopen>()  parses at most 5 characters in I<mode>."
2888 msgstr ""
2889 "I<mode> の個々のフラグ文字 (\"ccs\" 指定の前の文字) を解釈する際に、\n"
2890 "glibc の B<fopen>() と B<freopen>() の実装では、\n"
2891 "I<mode> の確認を最大 7 文字しか行わないという制限がある\n"
2892 "(バージョン 2.14 より前の glibc では最大 6 文字だが、\n"
2893 "6 文字では \"rb+cmxe\" などの指定を行うには不十分であった)。\n"
2894 "B<fdopen>() の現在の実装では最大 5 文字の I<mode> しか解釈されない。"
2895
2896 #. type: Plain text
2897 #: build/C/man3/fopen.3:354
2898 msgid ""
2899 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2900 msgstr ""
2901 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2902
2903 #. type: TH
2904 #: build/C/man3/fopencookie.3:26
2905 #, no-wrap
2906 msgid "FOPENCOOKIE"
2907 msgstr "FOPENCOOKIE"
2908
2909 #. type: TH
2910 #: build/C/man3/fopencookie.3:26
2911 #, no-wrap
2912 msgid "2013-03-17"
2913 msgstr "2013-03-17"
2914
2915 #. type: TH
2916 #: build/C/man3/fopencookie.3:26 build/C/man2/link.2:31
2917 #: build/C/man2/llseek.2:28 build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25
2918 #: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2919 #: build/C/man2/readlink.2:43 build/C/man2/readv.2:32 build/C/man2/rename.2:32
2920 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13
2921 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
2922 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
2923 #, no-wrap
2924 msgid "Linux"
2925 msgstr "Linux"
2926
2927 #. type: Plain text
2928 #: build/C/man3/fopencookie.3:29
2929 msgid "fopencookie - opening a custom stream"
2930 msgstr ""
2931
2932 #. type: Plain text
2933 #: build/C/man3/fopencookie.3:36
2934 #, no-wrap
2935 msgid ""
2936 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2937 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2938 msgstr ""
2939 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2940 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2941
2942 #. type: Plain text
2943 #: build/C/man3/fopencookie.3:49
2944 msgid ""
2945 "The B<fopencookie>()  function allows the programmer to create a custom "
2946 "implementation for a standard I/O stream.  This implementation can store the "
2947 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2948 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2949 "to data that is stored in a buffer in memory."
2950 msgstr ""
2951
2952 #. type: Plain text
2953 #: build/C/man3/fopencookie.3:51
2954 msgid "In order to create a custom stream the programmer must:"
2955 msgstr ""
2956
2957 #. type: IP
2958 #: build/C/man3/fopencookie.3:51 build/C/man3/fopencookie.3:54
2959 #: build/C/man3/fopencookie.3:65 build/C/man3/scanf.3:634
2960 #: build/C/man3/scanf.3:639 build/C/man3/scanf.3:645
2961 #: build/C/man7/symlink.7:249 build/C/man7/symlink.7:259
2962 #: build/C/man7/symlink.7:289 build/C/man7/symlink.7:349
2963 #: build/C/man7/symlink.7:378 build/C/man7/symlink.7:407
2964 #: build/C/man7/symlink.7:438 build/C/man7/symlink.7:451
2965 #, no-wrap
2966 msgid "*"
2967 msgstr "*"
2968
2969 #. type: Plain text
2970 #: build/C/man3/fopencookie.3:54
2971 msgid ""
2972 "Implement four \"hook\" functions that are used internally by the standard I/"
2973 "O library when performing I/O on the stream."
2974 msgstr ""
2975
2976 #. type: Plain text
2977 #: build/C/man3/fopencookie.3:65
2978 msgid ""
2979 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2980 "information (e.g., where to store data) used by the aforementioned hook "
2981 "functions.  The standard I/O package knows nothing about the contents of "
2982 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2983 "()), but automatically supplies the cookie as the first argument when "
2984 "calling the hook functions."
2985 msgstr ""
2986
2987 #. type: Plain text
2988 #: build/C/man3/fopencookie.3:70
2989 msgid ""
2990 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2991 "hook functions with that stream."
2992 msgstr ""
2993
2994 #. type: Plain text
2995 #: build/C/man3/fopencookie.3:78
2996 msgid ""
2997 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2998 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2999 "operate on that stream."
3000 msgstr ""
3001
3002 #. type: Plain text
3003 #: build/C/man3/fopencookie.3:85
3004 msgid ""
3005 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
3006 "to be associated with the new stream.  This pointer is supplied as the first "
3007 "argument when the standard I/O library invokes any of the hook functions "
3008 "described below."
3009 msgstr ""
3010
3011 #. type: Plain text
3012 #: build/C/man3/fopencookie.3:101
3013 msgid ""
3014 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
3015 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
3016 "See B<fopen>(3)  for details."
3017 msgstr ""
3018
3019 #. type: Plain text
3020 #: build/C/man3/fopencookie.3:107
3021 msgid ""
3022 "The I<io_funcs> argument is a structure that contains four fields pointing "
3023 "to the programmer-defined hook functions that are used to implement this "
3024 "stream.  The structure is defined as follows"
3025 msgstr ""
3026
3027 #. type: Plain text
3028 #: build/C/man3/fopencookie.3:116
3029 #, no-wrap
3030 msgid ""
3031 "typedef struct {\n"
3032 "    cookie_read_function_t  *read;\n"
3033 "    cookie_write_function_t *write;\n"
3034 "    cookie_seek_function_t  *seek;\n"
3035 "    cookie_close_function_t *close;\n"
3036 "} cookie_io_functions_t;\n"
3037 msgstr ""
3038 "typedef struct {\n"
3039 "    cookie_read_function_t  *read;\n"
3040 "    cookie_write_function_t *write;\n"
3041 "    cookie_seek_function_t  *seek;\n"
3042 "    cookie_close_function_t *close;\n"
3043 "} cookie_io_functions_t;\n"
3044
3045 #. type: Plain text
3046 #: build/C/man3/fopencookie.3:120
3047 msgid "The four fields are as follows:"
3048 msgstr ""
3049
3050 #. type: TP
3051 #: build/C/man3/fopencookie.3:120
3052 #, no-wrap
3053 msgid "I<cookie_read_function_t *read>"
3054 msgstr "I<cookie_read_function_t *read>"
3055
3056 #. type: Plain text
3057 #: build/C/man3/fopencookie.3:124
3058 msgid ""
3059 "This function implements read operations for the stream.  When called, it "
3060 "receives three arguments:"
3061 msgstr ""
3062
3063 #. type: Plain text
3064 #: build/C/man3/fopencookie.3:126
3065 #, no-wrap
3066 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3067 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3068
3069 #. type: Plain text
3070 #: build/C/man3/fopencookie.3:141
3071 msgid ""
3072 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3073 "input data can be placed and the size of that buffer.  As its function "
3074 "result, the I<read> function should return the number of bytes copied into "
3075 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3076 "update the stream offset appropriately."
3077 msgstr ""
3078
3079 #. type: Plain text
3080 #: build/C/man3/fopencookie.3:146
3081 msgid ""
3082 "If I<*read> is a NULL pointer, then reads from the custom stream always "
3083 "return end of file."
3084 msgstr ""
3085
3086 #. type: TP
3087 #: build/C/man3/fopencookie.3:146
3088 #, no-wrap
3089 msgid "I<cookie_write_function_t *write>"
3090 msgstr "I<cookie_write_function_t *write>"
3091
3092 #. type: Plain text
3093 #: build/C/man3/fopencookie.3:150
3094 msgid ""
3095 "This function implements write operations for the stream.  When called, it "
3096 "receives three arguments:"
3097 msgstr ""
3098
3099 #. type: Plain text
3100 #: build/C/man3/fopencookie.3:152
3101 #, no-wrap
3102 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3103 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3104
3105 #. type: Plain text
3106 #: build/C/man3/fopencookie.3:168
3107 msgid ""
3108 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3109 "output to the stream and the size of that buffer.  As its function result, "
3110 "the I<write> function should return the number of bytes copied from I<buf>, "
3111 "or 0 on error.  (The function must not return a negative value.)  The "
3112 "I<write> function should update the stream offset appropriately."
3113 msgstr ""
3114
3115 #. type: Plain text
3116 #: build/C/man3/fopencookie.3:173
3117 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3118 msgstr ""
3119
3120 #. type: TP
3121 #: build/C/man3/fopencookie.3:173
3122 #, no-wrap
3123 msgid "I<cookie_seek_function_t *seek>"
3124 msgstr "I<cookie_seek_function_t *seek>"
3125
3126 #. type: Plain text
3127 #: build/C/man3/fopencookie.3:177
3128 msgid ""
3129 "This function implements seek operations on the stream.  When called, it "
3130 "receives three arguments:"
3131 msgstr ""
3132
3133 #. type: Plain text
3134 #: build/C/man3/fopencookie.3:179
3135 #, no-wrap
3136 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3137 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3138
3139 #. type: Plain text
3140 #: build/C/man3/fopencookie.3:185
3141 msgid ""
3142 "The I<*offset> argument specifies the new file offset depending on which of "
3143 "the following three values is supplied in I<whence>:"
3144 msgstr ""
3145
3146 #. type: TP
3147 #: build/C/man3/fopencookie.3:186 build/C/man2/lseek.2:67
3148 #, no-wrap
3149 msgid "B<SEEK_SET>"
3150 msgstr "B<SEEK_SET>"
3151
3152 #. type: Plain text
3153 #: build/C/man3/fopencookie.3:191
3154 msgid ""
3155 "The stream offset should be set I<*offset> bytes from the start of the "
3156 "stream."
3157 msgstr ""
3158
3159 #. type: TP
3160 #: build/C/man3/fopencookie.3:191 build/C/man2/lseek.2:72
3161 #, no-wrap
3162 msgid "B<SEEK_CUR>"
3163 msgstr "B<SEEK_CUR>"
3164
3165 #. type: Plain text
3166 #: build/C/man3/fopencookie.3:195
3167 msgid "I<*offset> should be added to the current stream offset."
3168 msgstr ""
3169
3170 #. type: TP
3171 #: build/C/man3/fopencookie.3:195 build/C/man2/lseek.2:77
3172 #, no-wrap
3173 msgid "B<SEEK_END>"
3174 msgstr "B<SEEK_END>"
3175
3176 #. type: Plain text
3177 #: build/C/man3/fopencookie.3:199
3178 msgid ""
3179 "The stream offset should be set to the size of the stream plus I<*offset>."
3180 msgstr ""
3181
3182 #. type: Plain text
3183 #: build/C/man3/fopencookie.3:206
3184 msgid ""
3185 "Before returning, the I<seek> function should update I<*offset> to indicate "
3186 "the new stream offset."
3187 msgstr ""
3188
3189 #. type: Plain text
3190 #: build/C/man3/fopencookie.3:210
3191 msgid ""
3192 "As its function result, the I<seek> function should return 0 on success, and "
3193 "-1 on error."
3194 msgstr ""
3195
3196 #. type: Plain text
3197 #: build/C/man3/fopencookie.3:215
3198 msgid ""
3199 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3200 "operations on the stream."
3201 msgstr ""
3202
3203 #. type: TP
3204 #: build/C/man3/fopencookie.3:215
3205 #, no-wrap
3206 msgid "I<cookie_close_function_t *close>"
3207 msgstr "I<cookie_close_function_t *close>"
3208
3209 #. type: Plain text
3210 #: build/C/man3/fopencookie.3:221
3211 msgid ""
3212 "This function closes the stream.  The hook function can do things such as "
3213 "freeing buffers allocated for the stream.  When called, it receives one "
3214 "argument:"
3215 msgstr ""
3216
3217 #. type: Plain text
3218 #: build/C/man3/fopencookie.3:223
3219 #, no-wrap
3220 msgid "    int close(void *cookie);\n"
3221 msgstr "    int close(void *cookie);\n"
3222
3223 #. type: Plain text
3224 #: build/C/man3/fopencookie.3:228
3225 msgid ""
3226 "The I<cookie> argument is the cookie that the programmer supplied when "
3227 "calling B<fopencookie>()."
3228 msgstr ""
3229
3230 #. type: Plain text
3231 #: build/C/man3/fopencookie.3:234
3232 msgid ""
3233 "As its function result, the I<close> function should return 0 on success, "
3234 "and B<EOF> on error."
3235 msgstr ""
3236
3237 #. type: Plain text
3238 #: build/C/man3/fopencookie.3:238
3239 msgid ""
3240 "If I<*close> is NULL, then no special action is performed when the stream is "
3241 "closed."
3242 msgstr ""
3243
3244 #.  .SH ERRORS
3245 #.  It's not clear if errno ever gets set...
3246 #. type: Plain text
3247 #: build/C/man3/fopencookie.3:245
3248 msgid ""
3249 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3250 "NULL is returned."
3251 msgstr ""
3252
3253 #. type: Plain text
3254 #: build/C/man3/fopencookie.3:247
3255 msgid "This function is a nonstandard GNU extension."
3256 msgstr ""
3257
3258 #. type: Plain text
3259 #: build/C/man3/fopencookie.3:256
3260 msgid ""
3261 "The program below implements a custom stream whose functionality is similar "
3262 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3263 "stream whose data is stored in a memory buffer.  The program writes its "
3264 "command-line arguments to the stream, and then seeks through the stream "
3265 "reading two out of every five characters and writing them to standard "
3266 "output.  The following shell session demonstrates the use of the program:"
3267 msgstr ""
3268
3269 #. type: Plain text
3270 #: build/C/man3/fopencookie.3:264
3271 #, no-wrap
3272 msgid ""
3273 "$B< ./a.out \\(aqhello world\\(aq>\n"
3274 "/he/\n"
3275 "/ w/\n"
3276 "/d/\n"
3277 "Reached end of file\n"
3278 msgstr ""
3279 "$B< ./a.out \\(aqhello world\\(aq>\n"
3280 "/he/\n"
3281 "/ w/\n"
3282 "/d/\n"
3283 "Reached end of file\n"
3284
3285 #. type: Plain text
3286 #: build/C/man3/fopencookie.3:271
3287 msgid ""
3288 "Note that a more general version of the program below could be improved to "
3289 "more robustly handle various error situations (e.g., opening a stream with a "
3290 "cookie that already has an open stream; closing a stream that has already "
3291 "been closed)."
3292 msgstr ""
3293
3294 #. type: Plain text
3295 #: build/C/man3/fopencookie.3:280
3296 #, no-wrap
3297 msgid ""
3298 "#define _GNU_SOURCE\n"
3299 "#include E<lt>sys/types.hE<gt>\n"
3300 "#include E<lt>stdio.hE<gt>\n"
3301 "#include E<lt>stdlib.hE<gt>\n"
3302 "#include E<lt>unistd.hE<gt>\n"
3303 "#include E<lt>string.hE<gt>\n"
3304 msgstr ""
3305 "#define _GNU_SOURCE\n"
3306 "#include E<lt>sys/types.hE<gt>\n"
3307 "#include E<lt>stdio.hE<gt>\n"
3308 "#include E<lt>stdlib.hE<gt>\n"
3309 "#include E<lt>unistd.hE<gt>\n"
3310 "#include E<lt>string.hE<gt>\n"
3311
3312 #. type: Plain text
3313 #: build/C/man3/fopencookie.3:282
3314 #, no-wrap
3315 msgid "#define INIT_BUF_SIZE 4\n"
3316 msgstr "#define INIT_BUF_SIZE 4\n"
3317
3318 #. type: Plain text
3319 #: build/C/man3/fopencookie.3:289
3320 #, no-wrap
3321 msgid ""
3322 "struct memfile_cookie {\n"
3323 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3324 "    size_t  allocated;  /* Size of buf */\n"
3325 "    size_t  endpos;     /* Number of characters in buf */\n"
3326 "    off_t   offset;     /* Current file offset in buf */\n"
3327 "};\n"
3328 msgstr ""
3329 "struct memfile_cookie {\n"
3330 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3331 "    size_t  allocated;  /* Size of buf */\n"
3332 "    size_t  endpos;     /* Number of characters in buf */\n"
3333 "    off_t   offset;     /* Current file offset in buf */\n"
3334 "};\n"
3335
3336 #. type: Plain text
3337 #: build/C/man3/fopencookie.3:295
3338 #, no-wrap
3339 msgid ""
3340 "ssize_t\n"
3341 "memfile_write(void *c, const char *buf, size_t size)\n"
3342 "{\n"
3343 "    char *new_buff;\n"
3344 "    struct memfile_cookie *cookie = c;\n"
3345 msgstr ""
3346 "ssize_t\n"
3347 "memfile_write(void *c, const char *buf, size_t size)\n"
3348 "{\n"
3349 "    char *new_buff;\n"
3350 "    struct memfile_cookie *cookie = c;\n"
3351
3352 #. type: Plain text
3353 #: build/C/man3/fopencookie.3:297
3354 #, no-wrap
3355 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3356 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3357
3358 #. type: Plain text
3359 #: build/C/man3/fopencookie.3:307
3360 #, no-wrap
3361 msgid ""
3362 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3363 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3364 "        if (new_buff == NULL) {\n"
3365 "            return -1;\n"
3366 "        } else {\n"
3367 "            cookie-E<gt>allocated *= 2;\n"
3368 "            cookie-E<gt>buf = new_buff;\n"
3369 "        }\n"
3370 "    }\n"
3371 msgstr ""
3372 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3373 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3374 "        if (new_buff == NULL) {\n"
3375 "            return -1;\n"
3376 "        } else {\n"
3377 "            cookie-E<gt>allocated *= 2;\n"
3378 "            cookie-E<gt>buf = new_buff;\n"
3379 "        }\n"
3380 "    }\n"
3381
3382 #. type: Plain text
3383 #: build/C/man3/fopencookie.3:309
3384 #, no-wrap
3385 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3386 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3387
3388 #. type: Plain text
3389 #: build/C/man3/fopencookie.3:313
3390 #, no-wrap
3391 msgid ""
3392 "    cookie-E<gt>offset += size;\n"
3393 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3394 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3395 msgstr ""
3396 "    cookie-E<gt>offset += size;\n"
3397 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3398 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3399
3400 #. type: Plain text
3401 #: build/C/man3/fopencookie.3:316
3402 #, no-wrap
3403 msgid ""
3404 "    return size;\n"
3405 "}\n"
3406 msgstr ""
3407 "    return size;\n"
3408 "}\n"
3409
3410 #. type: Plain text
3411 #: build/C/man3/fopencookie.3:322
3412 #, no-wrap
3413 msgid ""
3414 "ssize_t\n"
3415 "memfile_read(void *c, char *buf, size_t size)\n"
3416 "{\n"
3417 "    ssize_t xbytes;\n"
3418 "    struct memfile_cookie *cookie = c;\n"
3419 msgstr ""
3420 "ssize_t\n"
3421 "memfile_read(void *c, char *buf, size_t size)\n"
3422 "{\n"
3423 "    ssize_t xbytes;\n"
3424 "    struct memfile_cookie *cookie = c;\n"
3425
3426 #. type: Plain text
3427 #: build/C/man3/fopencookie.3:324
3428 #, no-wrap
3429 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3430 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/fopencookie.3:330
3434 #, no-wrap
3435 msgid ""
3436 "    xbytes = size;\n"
3437 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3438 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3439 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3440 "       xbytes = 0;\n"
3441 msgstr ""
3442 "    xbytes = size;\n"
3443 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3444 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3445 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3446 "       xbytes = 0;\n"
3447
3448 #. type: Plain text
3449 #: build/C/man3/fopencookie.3:332
3450 #, no-wrap
3451 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3452 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3453
3454 #. type: Plain text
3455 #: build/C/man3/fopencookie.3:336
3456 #, no-wrap
3457 msgid ""
3458 "    cookie-E<gt>offset += xbytes;\n"
3459 "    return xbytes;\n"
3460 "}\n"
3461 msgstr ""
3462 "    cookie-E<gt>offset += xbytes;\n"
3463 "    return xbytes;\n"
3464 "}\n"
3465
3466 #. type: Plain text
3467 #: build/C/man3/fopencookie.3:342
3468 #, no-wrap
3469 msgid ""
3470 "int\n"
3471 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3472 "{\n"
3473 "    off64_t new_offset;\n"
3474 "    struct memfile_cookie *cookie = c;\n"
3475 msgstr ""
3476 "int\n"
3477 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3478 "{\n"
3479 "    off64_t new_offset;\n"
3480 "    struct memfile_cookie *cookie = c;\n"
3481
3482 #. type: Plain text
3483 #: build/C/man3/fopencookie.3:351
3484 #, no-wrap
3485 msgid ""
3486 "    if (whence == SEEK_SET)\n"
3487 "        new_offset = *offset;\n"
3488 "    else if (whence == SEEK_END)\n"
3489 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3490 "    else if (whence == SEEK_CUR)\n"
3491 "        new_offset = cookie-E<gt>offset + *offset;\n"
3492 "    else\n"
3493 "        return -1;\n"
3494 msgstr ""
3495 "    if (whence == SEEK_SET)\n"
3496 "        new_offset = *offset;\n"
3497 "    else if (whence == SEEK_END)\n"
3498 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3499 "    else if (whence == SEEK_CUR)\n"
3500 "        new_offset = cookie-E<gt>offset + *offset;\n"
3501 "    else\n"
3502 "        return -1;\n"
3503
3504 #. type: Plain text
3505 #: build/C/man3/fopencookie.3:354
3506 #, no-wrap
3507 msgid ""
3508 "    if (new_offset E<lt> 0)\n"
3509 "        return -1;\n"
3510 msgstr ""
3511 "    if (new_offset E<lt> 0)\n"
3512 "        return -1;\n"
3513
3514 #. type: Plain text
3515 #: build/C/man3/fopencookie.3:359
3516 #, no-wrap
3517 msgid ""
3518 "    cookie-E<gt>offset = new_offset;\n"
3519 "    *offset = new_offset;\n"
3520 "    return 0;\n"
3521 "}\n"
3522 msgstr ""
3523 "    cookie-E<gt>offset = new_offset;\n"
3524 "    *offset = new_offset;\n"
3525 "    return 0;\n"
3526 "}\n"
3527
3528 #. type: Plain text
3529 #: build/C/man3/fopencookie.3:364
3530 #, no-wrap
3531 msgid ""
3532 "int\n"
3533 "memfile_close(void *c)\n"
3534 "{\n"
3535 "    struct memfile_cookie *cookie = c;\n"
3536 msgstr ""
3537 "int\n"
3538 "memfile_close(void *c)\n"
3539 "{\n"
3540 "    struct memfile_cookie *cookie = c;\n"
3541
3542 #. type: Plain text
3543 #: build/C/man3/fopencookie.3:368
3544 #, no-wrap
3545 msgid ""
3546 "    free(cookie-E<gt>buf);\n"
3547 "    cookie-E<gt>allocated = 0;\n"
3548 "    cookie-E<gt>buf = NULL;\n"
3549 msgstr ""
3550 "    free(cookie-E<gt>buf);\n"
3551 "    cookie-E<gt>allocated = 0;\n"
3552 "    cookie-E<gt>buf = NULL;\n"
3553
3554 #. type: Plain text
3555 #: build/C/man3/fopencookie.3:371
3556 #, no-wrap
3557 msgid ""
3558 "    return 0;\n"
3559 "}\n"
3560 msgstr ""
3561 "    return 0;\n"
3562 "}\n"
3563
3564 #. type: Plain text
3565 #: build/C/man3/fopencookie.3:387
3566 #, no-wrap
3567 msgid ""
3568 "int\n"
3569 "main(int argc, char *argv[])\n"
3570 "{\n"
3571 "    cookie_io_functions_t  memfile_func = {\n"
3572 "        .read  = memfile_read,\n"
3573 "        .write = memfile_write,\n"
3574 "        .seek  = memfile_seek,\n"
3575 "        .close = memfile_close\n"
3576 "    };\n"
3577 "    FILE *fp;\n"
3578 "    struct memfile_cookie mycookie;\n"
3579 "    ssize_t nread;\n"
3580 "    long p;\n"
3581 "    int j;\n"
3582 "    char buf[1000];\n"
3583 msgstr ""
3584 "int\n"
3585 "main(int argc, char *argv[])\n"
3586 "{\n"
3587 "    cookie_io_functions_t  memfile_func = {\n"
3588 "        .read  = memfile_read,\n"
3589 "        .write = memfile_write,\n"
3590 "        .seek  = memfile_seek,\n"
3591 "        .close = memfile_close\n"
3592 "    };\n"
3593 "    FILE *fp;\n"
3594 "    struct memfile_cookie mycookie;\n"
3595 "    ssize_t nread;\n"
3596 "    long p;\n"
3597 "    int j;\n"
3598 "    char buf[1000];\n"
3599
3600 #. type: Plain text
3601 #: build/C/man3/fopencookie.3:389
3602 #, no-wrap
3603 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3604 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3605
3606 #. type: Plain text
3607 #: build/C/man3/fopencookie.3:395
3608 #, no-wrap
3609 msgid ""
3610 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3611 "    if (mycookie.buf == NULL) {\n"
3612 "        perror(\"malloc\");\n"
3613 "        exit(EXIT_FAILURE);\n"
3614 "    }\n"
3615 msgstr ""
3616 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3617 "    if (mycookie.buf == NULL) {\n"
3618 "        perror(\"malloc\");\n"
3619 "        exit(EXIT_FAILURE);\n"
3620 "    }\n"
3621
3622 #. type: Plain text
3623 #: build/C/man3/fopencookie.3:399
3624 #, no-wrap
3625 msgid ""
3626 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3627 "    mycookie.offset = 0;\n"
3628 "    mycookie.endpos = 0;\n"
3629 msgstr ""
3630 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3631 "    mycookie.offset = 0;\n"
3632 "    mycookie.endpos = 0;\n"
3633
3634 #. type: Plain text
3635 #: build/C/man3/fopencookie.3:405
3636 #, no-wrap
3637 msgid ""
3638 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3639 "    if (fp == NULL) {\n"
3640 "        perror(\"fopencookie\");\n"
3641 "        exit(EXIT_FAILURE);\n"
3642 "    }\n"
3643 msgstr ""
3644 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3645 "    if (fp == NULL) {\n"
3646 "        perror(\"fopencookie\");\n"
3647 "        exit(EXIT_FAILURE);\n"
3648 "    }\n"
3649
3650 #. type: Plain text
3651 #: build/C/man3/fopencookie.3:407
3652 #, no-wrap
3653 msgid "    /* Write command-line arguments to our file */\n"
3654 msgstr "    /* Write command-line arguments to our file */\n"
3655
3656 #. type: Plain text
3657 #: build/C/man3/fopencookie.3:413
3658 #, no-wrap
3659 msgid ""
3660 "    for (j = 1; j E<lt> argc; j++)\n"
3661 "        if (fputs(argv[j], fp) == EOF) {\n"
3662 "            perror(\"fputs\");\n"
3663 "            exit(EXIT_FAILURE);\n"
3664 "        }\n"
3665 msgstr ""
3666 "    for (j = 1; j E<lt> argc; j++)\n"
3667 "        if (fputs(argv[j], fp) == EOF) {\n"
3668 "            perror(\"fputs\");\n"
3669 "            exit(EXIT_FAILURE);\n"
3670 "        }\n"
3671
3672 #. type: Plain text
3673 #: build/C/man3/fopencookie.3:415
3674 #, no-wrap
3675 msgid "    /* Read two bytes out of every five, until EOF */\n"
3676 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3677
3678 #. type: Plain text
3679 #: build/C/man3/fopencookie.3:430
3680 #, no-wrap
3681 msgid ""
3682 "    for (p = 0; ; p += 5) {\n"
3683 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3684 "            perror(\"fseek\");\n"
3685 "            exit(EXIT_FAILURE);\n"
3686 "        }\n"
3687 "        nread = fread(buf, 1, 2, fp);\n"
3688 "        if (nread == -1) {\n"
3689 "            perror(\"fread\");\n"
3690 "            exit(EXIT_FAILURE);\n"
3691 "        }\n"
3692 "        if (nread == 0) {\n"
3693 "            printf(\"Reached end of file\\en\");\n"
3694 "            break;\n"
3695 "        }\n"
3696 msgstr ""
3697 "    for (p = 0; ; p += 5) {\n"
3698 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3699 "            perror(\"fseek\");\n"
3700 "            exit(EXIT_FAILURE);\n"
3701 "        }\n"
3702 "        nread = fread(buf, 1, 2, fp);\n"
3703 "        if (nread == -1) {\n"
3704 "            perror(\"fread\");\n"
3705 "            exit(EXIT_FAILURE);\n"
3706 "        }\n"
3707 "        if (nread == 0) {\n"
3708 "            printf(\"Reached end of file\\en\");\n"
3709 "            break;\n"
3710 "        }\n"
3711
3712 #. type: Plain text
3713 #: build/C/man3/fopencookie.3:433
3714 #, no-wrap
3715 msgid ""
3716 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3717 "    }\n"
3718 msgstr ""
3719 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3720 "    }\n"
3721
3722 #. type: Plain text
3723 #: build/C/man3/fopencookie.3:436 build/C/man2/readlink.2:213
3724 #, no-wrap
3725 msgid ""
3726 "    exit(EXIT_SUCCESS);\n"
3727 "}\n"
3728 msgstr ""
3729 "    exit(EXIT_SUCCESS);\n"
3730 "}\n"
3731
3732 #. type: Plain text
3733 #: build/C/man3/fopencookie.3:442
3734 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3735 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3736
3737 #. type: TH
3738 #: build/C/man3/fpurge.3:25
3739 #, no-wrap
3740 msgid "FPURGE"
3741 msgstr "FPURGE"
3742
3743 #. type: TH
3744 #: build/C/man3/fpurge.3:25
3745 #, no-wrap
3746 msgid "2001-12-15"
3747 msgstr "2001-12-15"
3748
3749 #. type: Plain text
3750 #: build/C/man3/fpurge.3:28
3751 msgid "fpurge, __fpurge - purge a stream"
3752 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3753
3754 #. type: Plain text
3755 #: build/C/man3/fpurge.3:32
3756 #, no-wrap
3757 msgid ""
3758 "/* unsupported */\n"
3759 "B<#include E<lt>stdio.hE<gt>>\n"
3760 msgstr ""
3761 "/* unsupported */\n"
3762 "B<#include E<lt>stdio.hE<gt>>\n"
3763
3764 #. type: Plain text
3765 #: build/C/man3/fpurge.3:34
3766 #, no-wrap
3767 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3768 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3769
3770 #. type: Plain text
3771 #: build/C/man3/fpurge.3:37
3772 #, no-wrap
3773 msgid ""
3774 "/* supported */\n"
3775 "B<#include E<lt>stdio.hE<gt>>\n"
3776 msgstr ""
3777 "/* supported */\n"
3778 "B<#include E<lt>stdio.hE<gt>>\n"
3779
3780 #. type: Plain text
3781 #: build/C/man3/fpurge.3:39
3782 #, no-wrap
3783 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3784 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3785
3786 #. type: Plain text
3787 #: build/C/man3/fpurge.3:41
3788 #, no-wrap
3789 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3790 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3791
3792 #. type: Plain text
3793 #: build/C/man3/fpurge.3:54
3794 msgid ""
3795 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3796 "output streams this discards any unwritten output.  For input streams this "
3797 "discards any input read from the underlying object but not yet obtained via "
3798 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3799 "B<fflush>(3)."
3800 msgstr ""
3801 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3802 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3803 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3804 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3805 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3806
3807 #. type: Plain text
3808 #: build/C/man3/fpurge.3:58
3809 msgid ""
3810 "The function B<__fpurge>()  does precisely the same, but without returning a "
3811 "value."
3812 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3813
3814 #. type: Plain text
3815 #: build/C/man3/fpurge.3:65
3816 msgid ""
3817 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3818 "and sets I<errno> appropriately."
3819 msgstr ""
3820 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3821 "を適切な値に設定する。"
3822
3823 #. type: Plain text
3824 #: build/C/man3/fpurge.3:70
3825 msgid "I<stream> is not an open stream."
3826 msgstr "I<stream> がオープンされていない。"
3827
3828 #. type: Plain text
3829 #: build/C/man3/fpurge.3:78
3830 msgid ""
3831 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3832 "was introduced in 4.4BSD and is not available under Linux.  The function "
3833 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3834 "later."
3835 msgstr ""
3836 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3837 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3838 "され、glibc 2.1.95 以降には存在している。"
3839
3840 #. type: Plain text
3841 #: build/C/man3/fpurge.3:80
3842 msgid "Usually it is a mistake to want to discard input buffers."
3843 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3844
3845 #.  .BR fclean (3),
3846 #. type: Plain text
3847 #: build/C/man3/fpurge.3:85
3848 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3849 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3850
3851 #. type: TH
3852 #: build/C/man3/fputwc.3:16
3853 #, no-wrap
3854 msgid "FPUTWC"
3855 msgstr "FPUTWC"
3856
3857 #. type: Plain text
3858 #: build/C/man3/fputwc.3:19
3859 msgid "fputwc, putwc - write a wide character to a FILE stream"
3860 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3861
3862 #. type: Plain text
3863 #: build/C/man3/fputwc.3:27
3864 #, no-wrap
3865 msgid ""
3866 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3867 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3868 msgstr ""
3869 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3870 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3871
3872 #. type: Plain text
3873 #: build/C/man3/fputwc.3:43
3874 msgid ""
3875 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3876 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3877 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3878 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3879 "it returns I<wc>."
3880 msgstr ""
3881 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3882 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3883 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3884 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3885 "関数は I<wc> を返す。"
3886
3887 #. type: Plain text
3888 #: build/C/man3/fputwc.3:51
3889 msgid ""
3890 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3891 "may be implemented as a macro, and may evaluate its argument more than "
3892 "once.  There is no reason ever to use it."
3893 msgstr ""
3894 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3895 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3896 "ない。この関数を使う理由はもはや存在しない。"
3897
3898 #. type: Plain text
3899 #: build/C/man3/fputwc.3:60
3900 msgid ""
3901 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3902 "indicate an error."
3903 msgstr ""
3904 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3905 "B<WEOF> を返す。"
3906
3907 #. type: Plain text
3908 #: build/C/man3/fputwc.3:65
3909 msgid "Conversion of I<wc> to the stream's encoding fails."
3910 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3911
3912 #. type: Plain text
3913 #: build/C/man3/fputwc.3:74
3914 msgid ""
3915 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3916 "current locale."
3917 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3918
3919 #. type: Plain text
3920 #: build/C/man3/fputwc.3:82
3921 msgid ""
3922 "In the absence of additional information passed to the B<fopen>(3)  call, it "
3923 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
3924 "sequence corresponding to the wide character I<wc>."
3925 msgstr ""
3926 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
3927 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
3928 "よい。"
3929
3930 #. type: Plain text
3931 #: build/C/man3/fputwc.3:86
3932 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3933 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3934
3935 #. type: TH
3936 #: build/C/man3/fread.3:45
3937 #, no-wrap
3938 msgid "FREAD"
3939 msgstr "FREAD"
3940
3941 #. type: TH
3942 #: build/C/man3/fread.3:45
3943 #, no-wrap
3944 msgid "2012-03-30"
3945 msgstr "2012-03-30"
3946
3947 #. type: Plain text
3948 #: build/C/man3/fread.3:48
3949 msgid "fread, fwrite - binary stream input/output"
3950 msgstr "fread, fwrite - バイナリストリームの入出力"
3951
3952 #. type: Plain text
3953 #: build/C/man3/fread.3:54
3954 #, no-wrap
3955 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3956 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3957
3958 #. type: Plain text
3959 #: build/C/man3/fread.3:57
3960 #, no-wrap
3961 msgid ""
3962 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3963 "B<              FILE *>I<stream>B<);>\n"
3964 msgstr ""
3965 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3966 "B<              FILE *>I<stream>B<);>\n"
3967
3968 #. type: Plain text
3969 #: build/C/man3/fread.3:69
3970 msgid ""
3971 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
3972 "long, from the stream pointed to by I<stream>, storing them at the location "
3973 "given by I<ptr>."
3974 msgstr ""
3975 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
3976 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
3977 "I<size> バイトの長さを持つ。"
3978
3979 #. type: Plain text
3980 #: build/C/man3/fread.3:80
3981 msgid ""
3982 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
3983 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
3984 "location given by I<ptr>."
3985 msgstr ""
3986 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
3987 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
3988 "バイトの長さを持つ。"
3989
3990 #. type: Plain text
3991 #: build/C/man3/fread.3:96
3992 msgid ""
3993 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
3994 "or written.  This number equals the number of bytes transferred only when "
3995 "I<size> is 1.  If an error occurs, or the end of the file is reached, the "
3996 "return value is a short item count (or zero)."
3997 msgstr ""
3998 "成功すると、 B<fread>() と B<fwrite>() は読み書きを行った要素の個数を返す。\n"
3999 "I<size> が 1 の場合は、この数字は転送されたバイト数と等しい。\n"
4000 "エラーが生じた場合や、ファイルの末尾 (end-of-file) に達した場合、\n"
4001 "返り値は指定した個数よりも小さい値 (または 0) となる。"
4002
4003 #. type: Plain text
4004 #: build/C/man3/fread.3:103
4005 msgid ""
4006 "B<fread>()  does not distinguish between end-of-file and error, and callers "
4007 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
4008 msgstr ""
4009 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
4010 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
4011 "らない。"
4012
4013 #. type: Plain text
4014 #: build/C/man3/fread.3:105
4015 msgid "C89, POSIX.1-2001."
4016 msgstr "C89, POSIX.1-2001."
4017
4018 #. type: Plain text
4019 #: build/C/man3/fread.3:111
4020 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4021 msgstr ""
4022 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4023
4024 #. type: TH
4025 #: build/C/man3/fseek.3:42
4026 #, no-wrap
4027 msgid "FSEEK"
4028 msgstr "FSEEK"
4029
4030 #. type: TH
4031 #: build/C/man3/fseek.3:42
4032 #, no-wrap
4033 msgid "1993-11-29"
4034 msgstr "1993-11-29"
4035
4036 #. type: Plain text
4037 #: build/C/man3/fseek.3:45
4038 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
4039 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
4040
4041 #. type: Plain text
4042 #: build/C/man3/fseek.3:49
4043 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4044 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4045
4046 #. type: Plain text
4047 #: build/C/man3/fseek.3:51
4048 msgid "B<long ftell(FILE *>I<stream>B<);>"
4049 msgstr "B<long ftell(FILE *>I<stream>B<);>"
4050
4051 #. type: Plain text
4052 #: build/C/man3/fseek.3:53
4053 msgid "B<void rewind(FILE *>I<stream>B<);>"
4054 msgstr "B<void rewind(FILE *>I<stream>B<);>"
4055
4056 #. type: Plain text
4057 #: build/C/man3/fseek.3:55
4058 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4059 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4060
4061 #. type: Plain text
4062 #: build/C/man3/fseek.3:57
4063 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4064 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4065
4066 #. type: Plain text
4067 #: build/C/man3/fseek.3:81
4068 msgid ""
4069 "The B<fseek>()  function sets the file position indicator for the stream "
4070 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
4071 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4072 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4073 "relative to the start of the file, the current position indicator, or end-of-"
4074 "file, respectively.  A successful call to the B<fseek>()  function clears "
4075 "the end-of-file indicator for the stream and undoes any effects of the "
4076 "B<ungetc>(3)  function on the same stream."
4077 msgstr ""
4078 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4079 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4080 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4081 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4082 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4083 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4084 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4085 "かったことになる。"
4086
4087 #. type: Plain text
4088 #: build/C/man3/fseek.3:87
4089 msgid ""
4090 "The B<ftell>()  function obtains the current value of the file position "
4091 "indicator for the stream pointed to by I<stream>."
4092 msgstr ""
4093 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4094 "置表示子 の現時点での値を与える。"
4095
4096 #. type: Plain text
4097 #: build/C/man3/fseek.3:94
4098 msgid ""
4099 "The B<rewind>()  function sets the file position indicator for the stream "
4100 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4101 msgstr ""
4102 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4103 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4104
4105 #. type: Plain text
4106 #: build/C/man3/fseek.3:97
4107 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4108 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4109
4110 #. type: Plain text
4111 #: build/C/man3/fseek.3:101
4112 msgid ""
4113 "except that the error indicator for the stream is also cleared (see "
4114 "B<clearerr>(3))."
4115 msgstr ""
4116 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4117 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4118
4119 #. type: Plain text
4120 #: build/C/man3/fseek.3:121
4121 msgid ""
4122 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4123 "equivalent to B<ftell>()  and B<fseek>()  (with I<whence> set to "
4124 "B<SEEK_SET>), setting and storing the current value of the file offset into "
4125 "or from the object referenced by I<pos>.  On some non-UNIX systems, an "
4126 "I<fpos_t> object may be a complex object and these routines may be the only "
4127 "way to portably reposition a text stream."
4128 msgstr ""
4129 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4130 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4131 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4132 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4133 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4134 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4135 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4136
4137 #. type: Plain text
4138 #: build/C/man3/fseek.3:136
4139 msgid ""
4140 "The B<rewind>()  function returns no value.  Upon successful completion, "
4141 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4142 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4143 "indicate the error."
4144 msgstr ""
4145 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4146 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4147 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4148
4149 #. type: Plain text
4150 #: build/C/man3/fseek.3:142
4151 msgid "The I<stream> specified is not a seekable stream."
4152 msgstr "指定した I<stream> がシークできない。"
4153
4154 #. type: Plain text
4155 #: build/C/man3/fseek.3:153
4156 msgid ""
4157 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4158 "B<SEEK_CUR>."
4159 msgstr ""
4160 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4161 "B<SEEK_CUR> 以外の値であった。"
4162
4163 #. type: Plain text
4164 #: build/C/man3/fseek.3:168
4165 msgid ""
4166 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4167 "also fail and set I<errno> for any of the errors specified for the routines "
4168 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4169 msgstr ""
4170 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4171 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4172 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4173
4174 #. type: Plain text
4175 #: build/C/man3/fseek.3:173
4176 msgid "B<lseek>(2), B<fseeko>(3)"
4177 msgstr "B<lseek>(2), B<fseeko>(3)"
4178
4179 #. type: TH
4180 #: build/C/man3/fseeko.3:25
4181 #, no-wrap
4182 msgid "FSEEKO"
4183 msgstr "FSEEKO"
4184
4185 #. type: TH
4186 #: build/C/man3/fseeko.3:25
4187 #, no-wrap
4188 msgid "2001-11-05"
4189 msgstr "2001-11-05"
4190
4191 #. type: Plain text
4192 #: build/C/man3/fseeko.3:28
4193 msgid "fseeko, ftello - seek to or report file position"
4194 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4195
4196 #. type: Plain text
4197 #: build/C/man3/fseeko.3:33
4198 #, no-wrap
4199 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4200 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4201
4202 #. type: Plain text
4203 #: build/C/man3/fseeko.3:36
4204 #, no-wrap
4205 msgid ""
4206 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4207 "\n"
4208 msgstr ""
4209 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4210 "\n"
4211
4212 #. type: Plain text
4213 #: build/C/man3/fseeko.3:54
4214 msgid ""
4215 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4216 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4217 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4218 "I<off_t> instead of I<long>."
4219 msgstr ""
4220 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4221 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4222 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4223 "I<off_t> になっている。"
4224
4225 #. type: Plain text
4226 #: build/C/man3/fseeko.3:57
4227 msgid ""
4228 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4229 "compilation with"
4230 msgstr ""
4231 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4232
4233 #. type: Plain text
4234 #: build/C/man3/fseeko.3:61 build/C/man3/lseek64.3:81
4235 #, no-wrap
4236 msgid "#define _FILE_OFFSET_BITS 64\n"
4237 msgstr "#define _FILE_OFFSET_BITS 64\n"
4238
4239 #. type: Plain text
4240 #: build/C/man3/fseeko.3:65
4241 msgid "will turn I<off_t> into a 64-bit type."
4242 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4243
4244 #. type: Plain text
4245 #: build/C/man3/fseeko.3:74
4246 msgid ""
4247 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4248 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4249 "indicate the error."
4250 msgstr ""
4251 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4252 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4253
4254 #. type: Plain text
4255 #: build/C/man3/fseeko.3:77
4256 msgid "See the ERRORS in B<fseek>(3)."
4257 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4258
4259 #. type: Plain text
4260 #: build/C/man3/fseeko.3:79
4261 msgid "SUSv2, POSIX.1-2001."
4262 msgstr "SUSv2, POSIX.1-2001."
4263
4264 #. type: Plain text
4265 #: build/C/man3/fseeko.3:83
4266 msgid ""
4267 "These functions are found on System V-like systems.  They are not present in "
4268 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4269 msgstr ""
4270 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4271 "かったが、 glibc 2.1 から使えるようになった。"
4272
4273 #. type: Plain text
4274 #: build/C/man3/fseeko.3:85
4275 msgid "B<fseek>(3)"
4276 msgstr "B<fseek>(3)"
4277
4278 #. type: TH
4279 #: build/C/man3/getline.3:26
4280 #, no-wrap
4281 msgid "GETLINE"
4282 msgstr "GETLINE"
4283
4284 #. type: TH
4285 #: build/C/man3/getline.3:26
4286 #, no-wrap
4287 msgid "2010-06-12"
4288 msgstr "2010-06-12"
4289
4290 #. type: Plain text
4291 #: build/C/man3/getline.3:29
4292 msgid "getline, getdelim - delimited string input"
4293 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4294
4295 #. type: Plain text
4296 #: build/C/man3/getline.3:34
4297 #, no-wrap
4298 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4299 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4300
4301 #. type: Plain text
4302 #: build/C/man3/getline.3:37
4303 #, no-wrap
4304 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4305 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4306
4307 #. type: Plain text
4308 #: build/C/man3/getline.3:47
4309 msgid "B<getline>(), B<getdelim>():"
4310 msgstr "B<getline>(), B<getdelim>():"
4311
4312 #. type: Plain text
4313 #: build/C/man3/getline.3:52
4314 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4315 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4316
4317 #. type: Plain text
4318 #: build/C/man3/getline.3:65
4319 msgid ""
4320 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4321 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4322 "terminated and includes the newline character, if one was found."
4323 msgstr ""
4324 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4325 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4326 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4327
4328 #. type: Plain text
4329 #: build/C/man3/getline.3:75
4330 msgid ""
4331 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4332 "storing the line, which should be freed by the user program.  (In this case, "
4333 "the value in I<*n> is ignored.)"
4334 msgstr ""
4335 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4336 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4337 "合、 I<*n> の値は無視される)。"
4338
4339 #. type: Plain text
4340 #: build/C/man3/getline.3:93
4341 msgid ""
4342 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4343 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4344 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4345 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4346 msgstr ""
4347 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4348 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4349 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4350 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4351 "I<*n> を更新する。"
4352
4353 #. type: Plain text
4354 #: build/C/man3/getline.3:99
4355 msgid ""
4356 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4357 "to reflect the buffer address and allocated size respectively."
4358 msgstr ""
4359 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4360 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4361
4362 #. type: Plain text
4363 #: build/C/man3/getline.3:110
4364 msgid ""
4365 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4366 "than newline can be specified as the I<delimiter> argument.  As with "
4367 "B<getline>(), a delimiter character is not added if one was not present in "
4368 "the input before end of file was reached."
4369 msgstr ""
4370 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4371 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4372 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4373 "ファに追加しない。"
4374
4375 #. type: Plain text
4376 #: build/C/man3/getline.3:119
4377 msgid ""
4378 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4379 "read, including the delimiter character, but not including the terminating "
4380 "null byte.  This value can be used to handle embedded null bytes in the line "
4381 "read."
4382 msgstr ""
4383 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4384 "字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
4385 "よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
4386
4387 #. type: Plain text
4388 #: build/C/man3/getline.3:122
4389 msgid ""
4390 "Both functions return -1 on failure to read a line (including end-of-file "
4391 "condition)."
4392 msgstr ""
4393 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4394 "した場合にも -1 を返す)。"
4395
4396 #. type: Plain text
4397 #: build/C/man3/getline.3:132
4398 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4399 msgstr ""
4400 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4401 "I<stream> が有効でない)。"
4402
4403 #. type: Plain text
4404 #: build/C/man3/getline.3:134
4405 msgid "These functions are available since libc 4.6.27."
4406 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4407
4408 #. type: Plain text
4409 #: build/C/man3/getline.3:141
4410 msgid ""
4411 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4412 "were standardized in POSIX.1-2008."
4413 msgstr ""
4414 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4415 "POSIX.1-2008 で標準化された。"
4416
4417 #. type: Plain text
4418 #: build/C/man3/getline.3:146
4419 #, no-wrap
4420 msgid ""
4421 "#define _GNU_SOURCE\n"
4422 "#include E<lt>stdio.hE<gt>\n"
4423 "#include E<lt>stdlib.hE<gt>\n"
4424 msgstr ""
4425 "#define _GNU_SOURCE\n"
4426 "#include E<lt>stdio.hE<gt>\n"
4427 "#include E<lt>stdlib.hE<gt>\n"
4428
4429 #. type: Plain text
4430 #: build/C/man3/getline.3:154
4431 #, no-wrap
4432 msgid ""
4433 "int\n"
4434 "main(void)\n"
4435 "{\n"
4436 "    FILE *fp;\n"
4437 "    char *line = NULL;\n"
4438 "    size_t len = 0;\n"
4439 "    ssize_t read;\n"
4440 msgstr ""
4441 "int\n"
4442 "main(void)\n"
4443 "{\n"
4444 "    FILE *fp;\n"
4445 "    char *line = NULL;\n"
4446 "    size_t len = 0;\n"
4447 "    ssize_t read;\n"
4448
4449 #. type: Plain text
4450 #: build/C/man3/getline.3:158
4451 #, no-wrap
4452 msgid ""
4453 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4454 "    if (fp == NULL)\n"
4455 "        exit(EXIT_FAILURE);\n"
4456 msgstr ""
4457 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4458 "    if (fp == NULL)\n"
4459 "        exit(EXIT_FAILURE);\n"
4460
4461 #. type: Plain text
4462 #: build/C/man3/getline.3:163
4463 #, no-wrap
4464 msgid ""
4465 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4466 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4467 "        printf(\"%s\", line);\n"
4468 "    }\n"
4469 msgstr ""
4470 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4471 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4472 "        printf(\"%s\", line);\n"
4473 "    }\n"
4474
4475 #. type: Plain text
4476 #: build/C/man3/getline.3:167
4477 #, no-wrap
4478 msgid ""
4479 "    free(line);\n"
4480 "    exit(EXIT_SUCCESS);\n"
4481 "}\n"
4482 msgstr ""
4483 "    free(line);\n"
4484 "    exit(EXIT_SUCCESS);\n"
4485 "}\n"
4486
4487 #. type: Plain text
4488 #: build/C/man3/getline.3:175
4489 msgid ""
4490 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4491 msgstr ""
4492 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4493
4494 #. type: TH
4495 #: build/C/man3/gets.3:27
4496 #, no-wrap
4497 msgid "GETS"
4498 msgstr "GETS"
4499
4500 #. type: TH
4501 #: build/C/man3/gets.3:27
4502 #, no-wrap
4503 msgid "2012-01-18"
4504 msgstr "2012-01-18"
4505
4506 #. type: Plain text
4507 #: build/C/man3/gets.3:30
4508 msgid ""
4509 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4510 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4511
4512 #. type: Plain text
4513 #: build/C/man3/gets.3:35
4514 #, no-wrap
4515 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4516 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4517
4518 #. type: Plain text
4519 #: build/C/man3/gets.3:37
4520 #, no-wrap
4521 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4522 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4523
4524 #. type: Plain text
4525 #: build/C/man3/gets.3:39
4526 #, no-wrap
4527 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4528 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4529
4530 #. type: Plain text
4531 #: build/C/man3/gets.3:41
4532 #, no-wrap
4533 msgid "B<int getchar(void);>\n"
4534 msgstr "B<int getchar(void);>\n"
4535
4536 #. type: Plain text
4537 #: build/C/man3/gets.3:43
4538 #, no-wrap
4539 msgid "B<char *gets(char *>I<s>B<);>\n"
4540 msgstr "B<char *gets(char *>I<s>B<);>\n"
4541
4542 #. type: Plain text
4543 #: build/C/man3/gets.3:45
4544 #, no-wrap
4545 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4546 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4547
4548 #. type: Plain text
4549 #: build/C/man3/gets.3:57
4550 msgid ""
4551 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4552 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4553 msgstr ""
4554 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4555 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4556 "す。"
4557
4558 #. type: Plain text
4559 #: build/C/man3/gets.3:64
4560 msgid ""
4561 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4562 "a macro which evaluates I<stream> more than once."
4563 msgstr ""
4564 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4565 "実装されているかもしれない。"
4566
4567 #. type: Plain text
4568 #: build/C/man3/gets.3:68
4569 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4570 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4571
4572 #. type: Plain text
4573 #: build/C/man3/gets.3:78
4574 msgid ""
4575 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4576 "until either a terminating newline or B<EOF>, which it replaces with a null "
4577 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4578 "below)."
4579 msgstr ""
4580 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4581 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4582 "\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
4583 "記の「バグ」を参照)。"
4584
4585 #. type: Plain text
4586 #: build/C/man3/gets.3:92
4587 msgid ""
4588 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4589 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4590 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4591 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4592 "in the buffer."
4593 msgstr ""
4594 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4595 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4596 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4597 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4598
4599 #. type: Plain text
4600 #: build/C/man3/gets.3:103
4601 msgid ""
4602 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4603 "it is available for subsequent read operations.  Pushed-back characters will "
4604 "be returned in reverse order; only one pushback is guaranteed."
4605 msgstr ""
4606 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4607 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4608 "しとして保証されているのは、一文字だけである。"
4609
4610 #. type: Plain text
4611 #: build/C/man3/gets.3:108
4612 msgid ""
4613 "Calls to the functions described here can be mixed with each other and with "
4614 "calls to other input functions from the I<stdio> library for the same input "
4615 "stream."
4616 msgstr ""
4617 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4618 "互いに混ぜて使うことができる。"
4619
4620 #. type: Plain text
4621 #: build/C/man3/gets.3:123
4622 msgid ""
4623 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4624 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4625 msgstr ""
4626 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4627 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4628 "す。"
4629
4630 #. type: Plain text
4631 #: build/C/man3/gets.3:131
4632 msgid ""
4633 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4634 "end of file occurs while no characters have been read."
4635 msgstr ""
4636 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4637 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4638
4639 #. type: Plain text
4640 #: build/C/man3/gets.3:138
4641 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4642 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4643
4644 #. type: Plain text
4645 #: build/C/man3/gets.3:140
4646 msgid "C89, C99, POSIX.1-2001."
4647 msgstr "C89, C99, POSIX.1-2001."
4648
4649 #. type: Plain text
4650 #: build/C/man3/gets.3:152
4651 msgid ""
4652 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4653 "C11 removes the specification of B<gets>()  from the C language, and since "
4654 "version 2.16, glibc header files don't expose the function declaration if "
4655 "the B<_ISOC11_SOURCE> feature test macro is defined."
4656 msgstr ""
4657 "LSB は B<gets>() を非推奨としている。\n"
4658 "POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
4659 "ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
4660 "glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
4661 "た\n"
4662 "場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
4663
4664 #. type: Plain text
4665 #: build/C/man3/gets.3:166
4666 msgid ""
4667 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4668 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4669 "()  will continue to store characters past the end of the buffer, it is "
4670 "extremely dangerous to use.  It has been used to break computer security.  "
4671 "Use B<fgets>()  instead."
4672 msgstr ""
4673 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4674 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4675 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4676 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4677 "と。"
4678
4679 #. type: Plain text
4680 #: build/C/man3/gets.3:173
4681 msgid ""
4682 "It is not advisable to mix calls to input functions from the I<stdio> "
4683 "library with low-level calls to B<read>(2)  for the file descriptor "
4684 "associated with the input stream; the results will be undefined and very "
4685 "probably not what you want."
4686 msgstr ""
4687 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4688 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4689 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4690
4691 #. type: Plain text
4692 #: build/C/man3/gets.3:189
4693 msgid ""
4694 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4695 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4696 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4697 msgstr ""
4698 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
4699 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
4700 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
4701 "B<feature_test_macros>(7)"
4702
4703 #. type: TH
4704 #: build/C/man3/getw.3:25
4705 #, no-wrap
4706 msgid "GETW"
4707 msgstr "GETW"
4708
4709 #. type: TH
4710 #: build/C/man3/getw.3:25
4711 #, no-wrap
4712 msgid "2010-09-26"
4713 msgstr "2010-09-26"
4714
4715 #. type: Plain text
4716 #: build/C/man3/getw.3:28
4717 msgid "getw, putw - input and output of words (ints)"
4718 msgstr "getw, putw - ワード(int)の入出力"
4719
4720 #. type: Plain text
4721 #: build/C/man3/getw.3:33
4722 #, no-wrap
4723 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4724 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4725
4726 #. type: Plain text
4727 #: build/C/man3/getw.3:35
4728 #, no-wrap
4729 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4730 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4731
4732 #. type: Plain text
4733 #: build/C/man3/getw.3:44
4734 msgid "B<getw>(), B<putw>():"
4735 msgstr "B<getw>(), B<putw>():"
4736
4737 #. type: TP
4738 #: build/C/man3/getw.3:47
4739 #, no-wrap
4740 msgid "Since glibc 2.3.3:"
4741 msgstr "glibc 2.3.3 以降:"
4742
4743 #. type: Plain text
4744 #: build/C/man3/getw.3:50
4745 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4746 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4747
4748 #. type: Plain text
4749 #: build/C/man3/getw.3:53
4750 #, no-wrap
4751 msgid ""
4752 "(_XOPEN_SOURCE &&\n"
4753 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4754 msgstr ""
4755 "(_XOPEN_SOURCE &&\n"
4756 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4757
4758 #. type: TP
4759 #: build/C/man3/getw.3:53
4760 #, no-wrap
4761 msgid "Before glibc 2.3.3:"
4762 msgstr "glibc 2.3.3 より前:"
4763
4764 #. type: Plain text
4765 #: build/C/man3/getw.3:56
4766 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4767 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4768
4769 #. type: Plain text
4770 #: build/C/man3/getw.3:66
4771 msgid ""
4772 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4773 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4774 msgstr ""
4775 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4776 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4777 "ことを勧める。"
4778
4779 #. type: Plain text
4780 #: build/C/man3/getw.3:73
4781 msgid ""
4782 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4783 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4784 "instead."
4785 msgstr ""
4786 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4787 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4788 "使用することを勧める。"
4789
4790 #. type: Plain text
4791 #: build/C/man3/getw.3:80
4792 msgid ""
4793 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4794 "error, they return B<EOF>."
4795 msgstr ""
4796 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4797 "が発生した場合、これらの関数は B<EOF> を返す。"
4798
4799 #. type: Plain text
4800 #: build/C/man3/getw.3:82
4801 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4802 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4803
4804 #. type: Plain text
4805 #: build/C/man3/getw.3:86
4806 msgid ""
4807 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4808 "can be used to distinguish between the two cases."
4809 msgstr ""
4810 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4811 "(3)  を用いると、この二つの場合を区別することが出来る。"
4812
4813 #. type: Plain text
4814 #: build/C/man3/getw.3:92
4815 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4816 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4817
4818 #. type: TH
4819 #: build/C/man2/link.2:31
4820 #, no-wrap
4821 msgid "LINK"
4822 msgstr "LINK"
4823
4824 #. type: TH
4825 #: build/C/man2/link.2:31 build/C/man2/rename.2:32 build/C/man2/symlink.2:32
4826 #: build/C/man2/write.2:39
4827 #, no-wrap
4828 msgid "2013-01-27"
4829 msgstr "2013-01-27"
4830
4831 #. type: Plain text
4832 #: build/C/man2/link.2:34
4833 msgid "link - make a new name for a file"
4834 msgstr "link - ファイルの新しい名前を作成する"
4835
4836 #. type: Plain text
4837 #: build/C/man2/link.2:36 build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34
4838 #: build/C/man2/readlink.2:48 build/C/man2/rmdir.2:35
4839 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4840 msgid "B<#include E<lt>unistd.hE<gt>>"
4841 msgstr "B<#include E<lt>unistd.hE<gt>>"
4842
4843 #. type: Plain text
4844 #: build/C/man2/link.2:38
4845 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4846 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4847
4848 #. type: Plain text
4849 #: build/C/man2/link.2:41
4850 msgid ""
4851 "B<link>()  creates a new link (also known as a hard link) to an existing "
4852 "file."
4853 msgstr ""
4854 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハードリンク (hard "
4855 "link) ともいう) を作成する。"
4856
4857 #. type: Plain text
4858 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4859 msgid "If I<newpath> exists it will I<not> be overwritten."
4860 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4861
4862 #. type: Plain text
4863 #: build/C/man2/link.2:52
4864 msgid ""
4865 "This new name may be used exactly as the old one for any operation; both "
4866 "names refer to the same file (and so have the same permissions and "
4867 "ownership) and it is impossible to tell which name was the \"original\"."
4868 msgstr ""
4869 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4870 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4871 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4872
4873 #. type: Plain text
4874 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4875 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4876 #: build/C/man2/unlink.2:60
4877 msgid ""
4878 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4879 "appropriately."
4880 msgstr ""
4881 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4882 "定される。"
4883
4884 #. type: TP
4885 #: build/C/man2/link.2:58 build/C/man2/open.2:486 build/C/man2/readlink.2:86
4886 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4887 #: build/C/man3/tmpfile.3:55 build/C/man2/unlink.2:61
4888 #, no-wrap
4889 msgid "B<EACCES>"
4890 msgstr "B<EACCES>"
4891
4892 #. type: Plain text
4893 #: build/C/man2/link.2:69
4894 msgid ""
4895 "Write access to the directory containing I<newpath> is denied, or search "
4896 "permission is denied for one of the directories in the path prefix of "
4897 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4898 msgstr ""
4899 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4900 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4901 "(B<path_resolution>(7)  を参照)。"
4902
4903 #. type: TP
4904 #: build/C/man2/link.2:69 build/C/man2/open.2:495 build/C/man2/rename.2:133
4905 #: build/C/man2/symlink.2:99 build/C/man2/write.2:135
4906 #, no-wrap
4907 msgid "B<EDQUOT>"
4908 msgstr ""
4909
4910 #. type: Plain text
4911 #: build/C/man2/link.2:72 build/C/man2/rename.2:136
4912 msgid "The user's quota of disk blocks on the file system has been exhausted."
4913 msgstr ""
4914
4915 #. type: TP
4916 #: build/C/man2/link.2:72 build/C/man2/open.2:501 build/C/man2/symlink.2:104
4917 #: build/C/man3/tmpfile.3:58
4918 #, no-wrap
4919 msgid "B<EEXIST>"
4920 msgstr "B<EEXIST>"
4921
4922 #. type: Plain text
4923 #: build/C/man2/link.2:76 build/C/man2/symlink.2:108
4924 msgid "I<newpath> already exists."
4925 msgstr "I<newpath> が既に存在する。"
4926
4927 #. type: TP
4928 #: build/C/man2/link.2:76 build/C/man2/llseek.2:74 build/C/man2/open.2:507
4929 #: build/C/man2/pipe.2:98 build/C/man2/read.2:118 build/C/man2/readlink.2:91
4930 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:64
4931 #: build/C/man2/symlink.2:108 build/C/man2/unlink.2:80
4932 #: build/C/man2/write.2:141
4933 #, no-wrap
4934 msgid "B<EFAULT>"
4935 msgstr "B<EFAULT>"
4936
4937 #. type: Plain text
4938 #: build/C/man2/link.2:79 build/C/man2/rename.2:139 build/C/man2/symlink.2:111
4939 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
4940 msgstr ""
4941 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
4942
4943 #. type: TP
4944 #: build/C/man2/link.2:79 build/C/man2/read.2:147 build/C/man2/readlink.2:107
4945 #: build/C/man2/symlink.2:111 build/C/man2/unlink.2:84
4946 #: build/C/man2/write.2:165
4947 #, no-wrap
4948 msgid "B<EIO>"
4949 msgstr "B<EIO>"
4950
4951 #. type: Plain text
4952 #: build/C/man2/link.2:82 build/C/man2/symlink.2:114 build/C/man2/unlink.2:87
4953 msgid "An I/O error occurred."
4954 msgstr "I/O エラーが発生した。"
4955
4956 #. type: TP
4957 #: build/C/man2/link.2:82 build/C/man2/open.2:531 build/C/man2/readlink.2:110
4958 #: build/C/man2/rename.2:149 build/C/man2/rmdir.2:73
4959 #: build/C/man2/symlink.2:114 build/C/man2/unlink.2:92
4960 #, no-wrap
4961 msgid "B<ELOOP>"
4962 msgstr "B<ELOOP>"
4963
4964 #. type: Plain text
4965 #: build/C/man2/link.2:86 build/C/man2/rename.2:153
4966 msgid ""
4967 "Too many symbolic links were encountered in resolving I<oldpath> or "
4968 "I<newpath>."
4969 msgstr ""
4970 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎ"
4971 "る。"
4972
4973 #. type: TP
4974 #: build/C/man2/link.2:86 build/C/man2/rename.2:153
4975 #, no-wrap
4976 msgid "B<EMLINK>"
4977 msgstr "B<EMLINK>"
4978
4979 #. type: Plain text
4980 #: build/C/man2/link.2:91
4981 msgid ""
4982 "The file referred to by I<oldpath> already has the maximum number of links "
4983 "to it."
4984 msgstr ""
4985 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
4986
4987 #. type: TP
4988 #: build/C/man2/link.2:91 build/C/man2/open.2:541 build/C/man2/readlink.2:113
4989 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:77
4990 #: build/C/man2/symlink.2:118 build/C/man2/unlink.2:96
4991 #, no-wrap
4992 msgid "B<ENAMETOOLONG>"
4993 msgstr "B<ENAMETOOLONG>"
4994
4995 #. type: Plain text
4996 #: build/C/man2/link.2:94 build/C/man2/rename.2:163 build/C/man2/symlink.2:121
4997 msgid "I<oldpath> or I<newpath> was too long."
4998 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
4999
5000 #. type: TP
5001 #: build/C/man2/link.2:94 build/C/man2/open.2:555 build/C/man2/readlink.2:116
5002 #: build/C/man2/rename.2:163 build/C/man2/rmdir.2:80
5003 #: build/C/man2/symlink.2:121 build/C/man2/unlink.2:99
5004 #, no-wrap
5005 msgid "B<ENOENT>"
5006 msgstr "B<ENOENT>"
5007
5008 #. type: Plain text
5009 #: build/C/man2/link.2:99
5010 msgid ""
5011 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
5012 "dangling symbolic link."
5013 msgstr ""
5014 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
5015 "(dangling)シンボリックリンクである。"
5016
5017 #. type: TP
5018 #: build/C/man2/link.2:99 build/C/man2/open.2:562 build/C/man2/readlink.2:119
5019 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:571
5020 #: build/C/man2/symlink.2:128 build/C/man3/tempnam.3:93
5021 #: build/C/man2/unlink.2:106
5022 #, no-wrap
5023 msgid "B<ENOMEM>"
5024 msgstr "B<ENOMEM>"
5025
5026 #. type: Plain text
5027 #: build/C/man2/link.2:102 build/C/man2/open.2:565 build/C/man2/readlink.2:122
5028 #: build/C/man2/rename.2:179 build/C/man2/rmdir.2:88
5029 #: build/C/man2/symlink.2:131 build/C/man2/unlink.2:109
5030 msgid "Insufficient kernel memory was available."
5031 msgstr "十分なカーネルメモリーがない。"
5032
5033 #. type: TP
5034 #: build/C/man2/link.2:102 build/C/man2/open.2:565 build/C/man2/rename.2:179
5035 #: build/C/man2/symlink.2:131 build/C/man3/tmpfile.3:70
5036 #: build/C/man2/write.2:168
5037 #, no-wrap
5038 msgid "B<ENOSPC>"
5039 msgstr "B<ENOSPC>"
5040
5041 #. type: Plain text
5042 #: build/C/man2/link.2:106 build/C/man2/rename.2:183
5043 #: build/C/man2/symlink.2:135
5044 msgid "The device containing the file has no room for the new directory entry."
5045 msgstr ""
5046 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
5047 "空きがない。"
5048
5049 #. type: TP
5050 #: build/C/man2/link.2:106 build/C/man2/open.2:571 build/C/man2/readlink.2:122
5051 #: build/C/man2/rename.2:183 build/C/man2/rmdir.2:88
5052 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:109
5053 #, no-wrap
5054 msgid "B<ENOTDIR>"
5055 msgstr "B<ENOTDIR>"
5056
5057 #. type: Plain text
5058 #: build/C/man2/link.2:111
5059 msgid ""
5060 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
5061 "a directory."
5062 msgstr ""
5063 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
5064 "い。"
5065
5066 #. type: TP
5067 #: build/C/man2/link.2:111 build/C/man2/link.2:115 build/C/man2/open.2:604
5068 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
5069 #: build/C/man2/symlink.2:140 build/C/man2/unlink.2:114
5070 #, no-wrap
5071 msgid "B<EPERM>"
5072 msgstr "B<EPERM>"
5073
5074 #. type: Plain text
5075 #: build/C/man2/link.2:115
5076 msgid "I<oldpath> is a directory."
5077 msgstr "I<oldpath> がディレクトリである。"
5078
5079 #. type: Plain text
5080 #: build/C/man2/link.2:120
5081 msgid ""
5082 "The file system containing I<oldpath> and I<newpath> does not support the "
5083 "creation of hard links."
5084 msgstr ""
5085 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
5086 "していない。"
5087
5088 #. type: TP
5089 #: build/C/man2/link.2:120
5090 #, no-wrap
5091 msgid "B<EPERM> (since Linux 3.6)"
5092 msgstr "B<EPERM> (Linux 3.6 以降)"
5093
5094 #. type: Plain text
5095 #: build/C/man2/link.2:127
5096 msgid ""
5097 "The caller does not have permission to create a hard link to this file (see "
5098 "the description of I</proc/sys/fs/protected_hardlink> in B<proc>(5))."
5099 msgstr ""
5100
5101 #. type: TP
5102 #: build/C/man2/link.2:127 build/C/man2/open.2:612 build/C/man2/rename.2:221
5103 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:145
5104 #: build/C/man3/tmpfile.3:73 build/C/man2/unlink.2:137
5105 #, no-wrap
5106 msgid "B<EROFS>"
5107 msgstr "B<EROFS>"
5108
5109 #. type: Plain text
5110 #: build/C/man2/link.2:130 build/C/man2/rename.2:224
5111 msgid "The file is on a read-only file system."
5112 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
5113
5114 #. type: TP
5115 #: build/C/man2/link.2:130 build/C/man2/rename.2:224
5116 #, no-wrap
5117 msgid "B<EXDEV>"
5118 msgstr "B<EXDEV>"
5119
5120 #. type: Plain text
5121 #: build/C/man2/link.2:138
5122 msgid ""
5123 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
5124 "permits a file system to be mounted at multiple points, but B<link>()  does "
5125 "not work across different mount points, even if the same file system is "
5126 "mounted on both.)"
5127 msgstr ""
5128 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
5129 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
5130 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
5131 "のマウント位置を跨いでは動作しない。)"
5132
5133 #.  SVr4 documents additional ENOLINK and
5134 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5135 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5136 #. type: Plain text
5137 #: build/C/man2/link.2:143
5138 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5139 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5140
5141 #. type: Plain text
5142 #: build/C/man2/link.2:150
5143 msgid ""
5144 "Hard links, as created by B<link>(), cannot span file systems.  Use "
5145 "B<symlink>(2)  if this is required."
5146 msgstr ""
5147 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
5148 "このような場合は B<symlink>(2)  を使用すること。"
5149
5150 #.  more precisely: since kernel 1.3.56
5151 #.  For example, the default Solaris compilation environment
5152 #.  behaves like Linux, and contributors to a March 2005
5153 #.  thread in the Austin mailing list reported that some
5154 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5155 #. type: Plain text
5156 #: build/C/man2/link.2:181
5157 msgid ""
5158 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5159 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5160 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5161 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5162 "the same file that I<oldpath> refers to).  Some other implementations behave "
5163 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5164 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5165 "dereferenced if it is a symbolic link.  For precise control over the "
5166 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5167 msgstr ""
5168 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
5169 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5170 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリックリンク"
5171 "である場合、 I<newpath> は同じシンボリックリンクファイルへの (ハード) リンク"
5172 "として作成される (つまり I<newpath> は I<oldpath> が参照していた同じファイル"
5173 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
5174 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
5175 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
5176 "なった。 リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関して"
5177 "は B<linkat>(2)  を参照のこと。"
5178
5179 #. type: Plain text
5180 #: build/C/man2/link.2:187
5181 msgid ""
5182 "On NFS file systems, the return code may be wrong in case the NFS server "
5183 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5184 "to find out if the link got created."
5185 msgstr ""
5186 "NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前"
5187 "に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つける"
5188 "ためには B<stat>(2)  を使用すること。"
5189
5190 #. type: Plain text
5191 #: build/C/man2/link.2:197
5192 msgid ""
5193 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5194 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5195 msgstr ""
5196 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5197 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5198
5199 #. type: TH
5200 #: build/C/man2/llseek.2:28
5201 #, no-wrap
5202 msgid "LLSEEK"
5203 msgstr "LLSEEK"
5204
5205 #. type: TH
5206 #: build/C/man2/llseek.2:28
5207 #, no-wrap
5208 msgid "2012-07-13"
5209 msgstr "2012-07-13"
5210
5211 #. type: Plain text
5212 #: build/C/man2/llseek.2:31
5213 msgid "_llseek - reposition read/write file offset"
5214 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5215
5216 #. type: Plain text
5217 #: build/C/man2/llseek.2:35
5218 #, no-wrap
5219 msgid ""
5220 "B<#include E<lt>sys/types.hE<gt>>\n"
5221 "B<#include E<lt>unistd.hE<gt>>\n"
5222 msgstr ""
5223 "B<#include E<lt>sys/types.hE<gt>>\n"
5224 "B<#include E<lt>unistd.hE<gt>>\n"
5225
5226 #. type: Plain text
5227 #: build/C/man2/llseek.2:39
5228 #, no-wrap
5229 msgid ""
5230 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5231 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5232 "B<            unsigned int >I<whence>B<);>\n"
5233 msgstr ""
5234 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5235 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5236 "B<            unsigned int >I<whence>B<);>\n"
5237
5238 #. type: Plain text
5239 #: build/C/man2/llseek.2:43
5240 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
5241 msgstr ""
5242 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
5243 "を参照。"
5244
5245 #. type: Plain text
5246 #: build/C/man2/llseek.2:62
5247 msgid ""
5248 "The B<_llseek>()  function repositions the offset of the open file "
5249 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5250 "offset_low> bytes relative to the beginning of the file, the current "
5251 "position in the file, or the end of the file, depending on whether I<whence> "
5252 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5253 "resulting file position in the argument I<result>."
5254 msgstr ""
5255 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
5256 "れたオープンされたファイルのオフセットの位置を、相対的に I<"
5257 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5258 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5259 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5260 "のファイル位置を I<result> 引き数に返す。"
5261
5262 #. type: Plain text
5263 #: build/C/man2/llseek.2:69
5264 msgid ""
5265 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5266 "-1 is returned and I<errno> is set to indicate the error."
5267 msgstr ""
5268 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5269 "エラーを示す I<errno> が設定される。"
5270
5271 #. type: Plain text
5272 #: build/C/man2/llseek.2:74 build/C/man2/lseek.2:175
5273 msgid "I<fd> is not an open file descriptor."
5274 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5275
5276 #. type: Plain text
5277 #: build/C/man2/llseek.2:77
5278 msgid "Problem with copying results to user space."
5279 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5280
5281 #. type: Plain text
5282 #: build/C/man2/llseek.2:81
5283 msgid "I<whence> is invalid."
5284 msgstr "I<whence> が不正である。"
5285
5286 #. type: Plain text
5287 #: build/C/man2/llseek.2:84
5288 msgid ""
5289 "This function is Linux-specific, and should not be used in programs intended "
5290 "to be portable."
5291 msgstr ""
5292 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5293
5294 #. type: Plain text
5295 #: build/C/man2/llseek.2:87
5296 msgid ""
5297 "Glibc does not provide a wrapper for this system call; call it using "
5298 "B<syscall>(2)."
5299 msgstr ""
5300 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5301 "(2)  を使って呼び出すこと。"
5302
5303 #. type: Plain text
5304 #: build/C/man2/llseek.2:90
5305 msgid "B<lseek>(2), B<lseek64>(3)"
5306 msgstr "B<lseek>(2), B<lseek64>(3)"
5307
5308 #. type: TH
5309 #: build/C/man2/lseek.2:47
5310 #, no-wrap
5311 msgid "LSEEK"
5312 msgstr "LSEEK"
5313
5314 #. type: TH
5315 #: build/C/man2/lseek.2:47
5316 #, no-wrap
5317 msgid "2013-03-27"
5318 msgstr "2013-03-27"
5319
5320 #. type: Plain text
5321 #: build/C/man2/lseek.2:50
5322 msgid "lseek - reposition read/write file offset"
5323 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5324
5325 #. type: Plain text
5326 #: build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
5327 msgid "B<#include E<lt>sys/types.hE<gt>>"
5328 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5329
5330 #. type: Plain text
5331 #: build/C/man2/lseek.2:56
5332 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5333 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5334
5335 #. type: Plain text
5336 #: build/C/man2/lseek.2:67
5337 msgid ""
5338 "The B<lseek>()  function repositions the offset of the open file associated "
5339 "with the file descriptor I<fd> to the argument I<offset> according to the "
5340 "directive I<whence> as follows:"
5341 msgstr ""
5342 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5343 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5344 "へ以下のように変更する:"
5345
5346 #. type: Plain text
5347 #: build/C/man2/lseek.2:72
5348 msgid "The offset is set to I<offset> bytes."
5349 msgstr "オフセットは I<offset> バイトに設定される。"
5350
5351 #. type: Plain text
5352 #: build/C/man2/lseek.2:77
5353 msgid "The offset is set to its current location plus I<offset> bytes."
5354 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5355
5356 #. type: Plain text
5357 #: build/C/man2/lseek.2:82
5358 msgid "The offset is set to the size of the file plus I<offset> bytes."
5359 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5360
5361 #. type: Plain text
5362 #: build/C/man2/lseek.2:90
5363 msgid ""
5364 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5365 "the file (but this does not change the size of the file).  If data is later "
5366 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5367 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5368 "gap."
5369 msgstr ""
5370 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5371 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5372 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5373 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5374 "される。"
5375
5376 #. type: SS
5377 #: build/C/man2/lseek.2:90
5378 #, no-wrap
5379 msgid "Seeking file data and holes"
5380 msgstr ""
5381
5382 #. type: Plain text
5383 #: build/C/man2/lseek.2:93
5384 msgid ""
5385 "Since version 3.1, Linux supports the following additional values for "
5386 "I<whence>:"
5387 msgstr ""
5388 "Linux バージョン 3.1 以降では、\n"
5389 "I<whence> に以下の値も指定することができる。"
5390
5391 #. type: TP
5392 #: build/C/man2/lseek.2:93
5393 #, no-wrap
5394 msgid "B<SEEK_DATA>"
5395 msgstr "B<SEEK_DATA>"
5396
5397 #. type: Plain text
5398 #: build/C/man2/lseek.2:104
5399 msgid ""
5400 "Adjust the file offset to the next location in the file greater than or "
5401 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5402 "file offset is set to I<offset>."
5403 msgstr ""
5404
5405 #. type: TP
5406 #: build/C/man2/lseek.2:104
5407 #, no-wrap
5408 msgid "B<SEEK_HOLE>"
5409 msgstr "B<SEEK_HOLE>"
5410
5411 #. type: Plain text
5412 #: build/C/man2/lseek.2:118
5413 msgid ""
5414 "Adjust the file offset to the next hole in the file greater than or equal to "
5415 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5416 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5417 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5418 "hole at the end of any file)."
5419 msgstr ""
5420
5421 #. type: Plain text
5422 #: build/C/man2/lseek.2:124
5423 msgid ""
5424 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5425 "end of the file."
5426 msgstr ""
5427
5428 #. type: Plain text
5429 #: build/C/man2/lseek.2:130
5430 msgid ""
5431 "These operations allow applications to map holes in a sparsely allocated "
5432 "file.  This can be useful for applications such as file backup tools, which "
5433 "can save space when creating backups and preserve holes, if they have a "
5434 "mechanism for discovering holes."
5435 msgstr ""
5436
5437 #.  https://lkml.org/lkml/2011/4/22/79
5438 #.  http://lwn.net/Articles/440255/
5439 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5440 #. type: Plain text
5441 #: build/C/man2/lseek.2:153
5442 msgid ""
5443 "For the purposes of these operations, a hole is a sequence of zeros that "
5444 "(normally) has not been allocated in the underlying file storage.  However, "
5445 "a file system is not obliged to report holes, so these operations are not a "
5446 "guaranteed mechanism for mapping the storage space actually allocated to a "
5447 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5448 "the underlying storage may not be reported as a hole.)  In the simplest "
5449 "implementation, a file system can support the operations by making "
5450 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5451 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5452 "by I<offset> is a hole, it can be considered to consist of data that is a "
5453 "sequence of zeros)."
5454 msgstr ""
5455
5456 #. type: Plain text
5457 #: build/C/man2/lseek.2:162
5458 msgid ""
5459 "The B<_GNU_SOURCE> feature test macro must be defined in order to obtain the "
5460 "definitions of B<SEEK_DATA> and B<SEEK_HOLE> from I<E<lt>unistd.hE<gt>>."
5461 msgstr ""
5462
5463 #. type: Plain text
5464 #: build/C/man2/lseek.2:170
5465 msgid ""
5466 "Upon successful completion, B<lseek>()  returns the resulting offset "
5467 "location as measured in bytes from the beginning of the file.  On error, the "
5468 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5469 msgstr ""
5470 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5471 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5472 "される。"
5473
5474 #.  Some systems may allow negative offsets for character devices
5475 #.  and/or for remote file systems.
5476 #. type: Plain text
5477 #: build/C/man2/lseek.2:183
5478 msgid ""
5479 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5480 "beyond the end of a seekable device."
5481 msgstr ""
5482 "I<whence> が有効な値ではない。または、seek の結果、ファイルオフセットが負に\n"
5483 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
5484
5485 #. type: TP
5486 #: build/C/man2/lseek.2:183 build/C/man2/open.2:584
5487 #, no-wrap
5488 msgid "B<EOVERFLOW>"
5489 msgstr "B<EOVERFLOW>"
5490
5491 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5492 #. type: Plain text
5493 #: build/C/man2/lseek.2:188
5494 msgid "The resulting file offset cannot be represented in an I<off_t>."
5495 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
5496
5497 #. type: TP
5498 #: build/C/man2/lseek.2:188
5499 #, no-wrap
5500 msgid "B<ESPIPE>"
5501 msgstr "B<ESPIPE>"
5502
5503 #. type: Plain text
5504 #: build/C/man2/lseek.2:192
5505 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5506 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5507
5508 #. type: TP
5509 #: build/C/man2/lseek.2:192 build/C/man2/open.2:578
5510 #, no-wrap
5511 msgid "B<ENXIO>"
5512 msgstr "B<ENXIO>"
5513
5514 #. type: Plain text
5515 #: build/C/man2/lseek.2:200
5516 msgid ""
5517 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5518 "beyond the end of the file."
5519 msgstr ""
5520 "I<whence> が B<SEEK_DATA> か B<SEEK_HOLE> で、\n"
5521 "現在のファイルオフセットがファイルの末尾を超えた位置である。"
5522
5523 #.  SVr4 documents additional error
5524 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5525 #. type: Plain text
5526 #: build/C/man2/lseek.2:202 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
5527 #: build/C/man2/symlink.2:155 build/C/man2/unlink.2:145
5528 #: build/C/man2/write.2:189
5529 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5530 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5531
5532 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5533 #. type: Plain text
5534 #: build/C/man2/lseek.2:210
5535 msgid ""
5536 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5537 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5538 "next POSIX revision (Issue 8)."
5539 msgstr ""
5540
5541 #. type: Plain text
5542 #: build/C/man2/lseek.2:214
5543 msgid ""
5544 "Some devices are incapable of seeking and POSIX does not specify which "
5545 "devices must support B<lseek>()."
5546 msgstr ""
5547 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5548 "に対応すべきかは規定していない。"
5549
5550 #.  Other systems return the number of written characters,
5551 #.  using SEEK_SET to set the counter. (Of written characters.)
5552 #. type: Plain text
5553 #: build/C/man2/lseek.2:221
5554 msgid "On Linux, using B<lseek>()  on a terminal device returns B<ESPIPE>."
5555 msgstr ""
5556 "Linux では、端末 (terminal) デバイスに B<lseek>() を使用すると B<ESPIPE> が返"
5557 "る。"
5558
5559 #. type: Plain text
5560 #: build/C/man2/lseek.2:224
5561 msgid ""
5562 "When converting old code, substitute values for I<whence> with the following "
5563 "macros:"
5564 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5565
5566 #. type: tbl table
5567 #: build/C/man2/lseek.2:227
5568 #, no-wrap
5569 msgid "old\tnew\n"
5570 msgstr "old \tnew\n"
5571
5572 #. type: tbl table
5573 #: build/C/man2/lseek.2:228
5574 #, no-wrap
5575 msgid "0\tSEEK_SET\n"
5576 msgstr "0\tSEEK_SET\n"
5577
5578 #. type: tbl table
5579 #: build/C/man2/lseek.2:229
5580 #, no-wrap
5581 msgid "1\tSEEK_CUR\n"
5582 msgstr "1\tSEEK_CUR\n"
5583
5584 #. type: tbl table
5585 #: build/C/man2/lseek.2:230
5586 #, no-wrap
5587 msgid "2\tSEEK_END\n"
5588 msgstr "2\tSEEK_END\n"
5589
5590 #. type: tbl table
5591 #: build/C/man2/lseek.2:231
5592 #, no-wrap
5593 msgid "L_SET\tSEEK_SET\n"
5594 msgstr "L_SET\tSEEK_SET\n"
5595
5596 #. type: tbl table
5597 #: build/C/man2/lseek.2:232
5598 #, no-wrap
5599 msgid "L_INCR\tSEEK_CUR\n"
5600 msgstr "L_INCR\tSEEK_CUR\n"
5601
5602 #. type: tbl table
5603 #: build/C/man2/lseek.2:233
5604 #, no-wrap
5605 msgid "L_XTND\tSEEK_END\n"
5606 msgstr "L_XTND\tSEEK_END\n"
5607
5608 #. type: Plain text
5609 #: build/C/man2/lseek.2:245
5610 msgid ""
5611 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5612 "current file position pointer, so seeking on such files may be subject to "
5613 "race conditions."
5614 msgstr ""
5615 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5616 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5617 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5618
5619 #. type: Plain text
5620 #: build/C/man2/lseek.2:252
5621 msgid ""
5622 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5623 "B<posix_fallocate>(3)"
5624 msgstr ""
5625 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5626 "B<posix_fallocate>(3)"
5627
5628 #. type: TH
5629 #: build/C/man3/lseek64.3:25
5630 #, no-wrap
5631 msgid "LSEEK64"
5632 msgstr "LSEEK64"
5633
5634 #. type: TH
5635 #: build/C/man3/lseek64.3:25
5636 #, no-wrap
5637 msgid "2004-12-11"
5638 msgstr "2004-12-11"
5639
5640 #. type: Plain text
5641 #: build/C/man3/lseek64.3:28
5642 msgid "lseek64 - reposition 64-bit read/write file offset"
5643 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5644
5645 #. type: Plain text
5646 #: build/C/man3/lseek64.3:30
5647 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5648 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5649
5650 #. type: Plain text
5651 #: build/C/man3/lseek64.3:36
5652 msgid ""
5653 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5654 msgstr ""
5655 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5656
5657 #. type: Plain text
5658 #: build/C/man3/lseek64.3:53
5659 msgid ""
5660 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5661 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5662 "start, current position, or end of the file, when I<whence> has the value "
5663 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5664 msgstr ""
5665 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5666 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5667 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5668 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5669
5670 #. type: Plain text
5671 #: build/C/man3/lseek64.3:56
5672 msgid "For more details, return value, and errors, see B<lseek>(2)."
5673 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5674
5675 #. type: Plain text
5676 #: build/C/man3/lseek64.3:63
5677 msgid ""
5678 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5679 "the raw system call B<_llseek>(2)."
5680 msgstr ""
5681 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5682 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5683
5684 #. type: SS
5685 #: build/C/man3/lseek64.3:63
5686 #, no-wrap
5687 msgid "lseek"
5688 msgstr "lseek"
5689
5690 #. type: Plain text
5691 #: build/C/man3/lseek64.3:65 build/C/man3/lseek64.3:87
5692 #: build/C/man3/lseek64.3:116
5693 msgid "Prototype:"
5694 msgstr "プロトタイプ:"
5695
5696 #. type: Plain text
5697 #: build/C/man3/lseek64.3:69
5698 #, no-wrap
5699 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5700 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5701
5702 #. type: Plain text
5703 #: build/C/man3/lseek64.3:77
5704 msgid ""
5705 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5706 "architectures, unless one compiles with"
5707 msgstr ""
5708 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5709 "ビット符号付き型である。 ただし、"
5710
5711 #. type: Plain text
5712 #: build/C/man3/lseek64.3:85
5713 msgid "in which case it is a 64-bit signed type."
5714 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5715
5716 #. type: SS
5717 #: build/C/man3/lseek64.3:85
5718 #, no-wrap
5719 msgid "lseek64"
5720 msgstr "lseek64"
5721
5722 #. type: Plain text
5723 #: build/C/man3/lseek64.3:91
5724 #, no-wrap
5725 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5726 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5727
5728 #. type: Plain text
5729 #: build/C/man3/lseek64.3:102
5730 msgid ""
5731 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5732 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5733 "when one compiles with"
5734 msgstr ""
5735 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5736 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5737 "ルした場合にのみ使用可能である。"
5738
5739 #. type: Plain text
5740 #: build/C/man3/lseek64.3:106
5741 #, no-wrap
5742 msgid "#define _LARGEFILE64_SOURCE\n"
5743 msgstr "#define _LARGEFILE64_SOURCE\n"
5744
5745 #.  in glibc 2.0.94, not in 2.0.6
5746 #. type: Plain text
5747 #: build/C/man3/lseek64.3:114
5748 msgid ""
5749 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5750 "be an alias for B<llseek>()."
5751 msgstr ""
5752 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5753 "アスとして定義されている。"
5754
5755 #. type: SS
5756 #: build/C/man3/lseek64.3:114
5757 #, no-wrap
5758 msgid "llseek"
5759 msgstr "llseek"
5760
5761 #. type: Plain text
5762 #: build/C/man3/lseek64.3:120
5763 #, no-wrap
5764 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5765 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5766
5767 #.  in libc 5.0.9, not in 4.7.6
5768 #. type: Plain text
5769 #: build/C/man3/lseek64.3:139
5770 msgid ""
5771 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5772 "()  is available in libc5 and glibc and works without special defines.  Its "
5773 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5774 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5775 "should add the above prototype, or something equivalent, to their own "
5776 "source.  When users complained about data loss caused by a miscompilation of "
5777 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5778 msgstr ""
5779 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5780 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5781 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5782 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5783 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5784 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5785 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5786
5787 #. type: Plain text
5788 #: build/C/man3/lseek64.3:142
5789 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5790 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5791
5792 #. type: Plain text
5793 #: build/C/man3/lseek64.3:146
5794 msgid ""
5795 "This makes this function unusable if one desires a warning-free compilation."
5796 msgstr ""
5797 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5798
5799 #. type: SS
5800 #: build/C/man3/lseek64.3:146
5801 #, no-wrap
5802 msgid "_llseek"
5803 msgstr "_llseek"
5804
5805 #. type: Plain text
5806 #: build/C/man3/lseek64.3:149
5807 msgid ""
5808 "All the above functions are implemented in terms of this system call.  The "
5809 "prototype is:"
5810 msgstr ""
5811 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5812 "下の通り:"
5813
5814 #. type: Plain text
5815 #: build/C/man3/lseek64.3:154
5816 #, no-wrap
5817 msgid ""
5818 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5819 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5820 msgstr ""
5821 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5822 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5823
5824 #. type: Plain text
5825 #: build/C/man3/lseek64.3:159
5826 msgid "For more details, see B<llseek>(2)."
5827 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5828
5829 #. type: Plain text
5830 #: build/C/man3/lseek64.3:162
5831 msgid "B<llseek>(2), B<lseek>(2)"
5832 msgstr "B<llseek>(2), B<lseek>(2)"
5833
5834 #. type: TH
5835 #: build/C/man2/open.2:52
5836 #, no-wrap
5837 msgid "OPEN"
5838 msgstr "OPEN"
5839
5840 #. type: TH
5841 #: build/C/man2/open.2:52
5842 #, no-wrap
5843 msgid "2013-02-18"
5844 msgstr "2013-02-18"
5845
5846 #. type: Plain text
5847 #: build/C/man2/open.2:55
5848 msgid "open, creat - open and possibly create a file or device"
5849 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
5850
5851 #. type: Plain text
5852 #: build/C/man2/open.2:60
5853 #, no-wrap
5854 msgid ""
5855 "B<#include E<lt>sys/types.hE<gt>>\n"
5856 "B<#include E<lt>sys/stat.hE<gt>>\n"
5857 "B<#include E<lt>fcntl.hE<gt>>\n"
5858 msgstr ""
5859 "B<#include E<lt>sys/types.hE<gt>>\n"
5860 "B<#include E<lt>sys/stat.hE<gt>>\n"
5861 "B<#include E<lt>fcntl.hE<gt>>\n"
5862
5863 #. type: Plain text
5864 #: build/C/man2/open.2:63
5865 #, no-wrap
5866 msgid ""
5867 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5868 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5869 msgstr ""
5870 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5871 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5872
5873 #. type: Plain text
5874 #: build/C/man2/open.2:65
5875 #, no-wrap
5876 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5877 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5878
5879 #. type: Plain text
5880 #: build/C/man2/open.2:76
5881 msgid ""
5882 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
5883 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
5884 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
5885 "by a successful call will be the lowest-numbered file descriptor not "
5886 "currently open for the process."
5887 msgstr ""
5888 "ファイルの I<pathname> を与えると、 B<open>()  はファイルディスクリプタを返"
5889 "す。 ファイルディスクリプタは、この後に続くシステムコール (B<read>(2), "
5890 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
5891 "る。 このシステムコールが成功した場合に返されるファイルディスクリプタは その"
5892 "プロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字"
5893 "のものとなる。"
5894
5895 #. type: Plain text
5896 #: build/C/man2/open.2:88
5897 msgid ""
5898 "By default, the new file descriptor is set to remain open across an B<execve>"
5899 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
5900 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
5901 "to change this default).  The file offset is set to the beginning of the "
5902 "file (see B<lseek>(2))."
5903 msgstr ""
5904 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
5905 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
5906 "ファイルディスクリプタフラグは最初は無効である; 後述の B<O_CLOEXEC> フラグ\n"
5907 "を使うとこのデフォルトを変更することができる)。 ファイルオフセット \n"
5908 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
5909
5910 #. type: Plain text
5911 #: build/C/man2/open.2:107
5912 msgid ""
5913 "A call to B<open>()  creates a new I<open file description>, an entry in the "
5914 "system-wide table of open files.  This entry records the file offset and the "
5915 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
5916 "file descriptor is a reference to one of these entries; this reference is "
5917 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
5918 "different file.  The new open file description is initially not shared with "
5919 "any other process, but sharing may arise via B<fork>(2)."
5920 msgstr ""
5921 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
5922 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
5923 "のエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ "
5924 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイルディスクリ"
5925 "プタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除され"
5926 "たり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けな"
5927 "い。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていない"
5928 "が、 B<fork>(2)  で共有が起こる場合がある。"
5929
5930 #. type: Plain text
5931 #: build/C/man2/open.2:115
5932 msgid ""
5933 "The argument I<flags> must include one of the following I<access modes>: "
5934 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
5935 "only, write-only, or read/write, respectively."
5936 msgstr ""
5937 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
5938 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
5939 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
5940
5941 #.  SUSv4 divides the flags into:
5942 #.  * Access mode
5943 #.  * File creation
5944 #.  * File status
5945 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
5946 #.  though it's not clear what the difference between "other" and
5947 #.  "File creation" flags is.  I raised an Aardvark to see if this
5948 #.  can be clarified in SUSv4; 10 Oct 2008.
5949 #.  http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67
5950 #.  TC1 (balloted in 2013), resolved this, so that those three constants
5951 #.  are also categorized" as file status flags.
5952 #. type: Plain text
5953 #: build/C/man2/open.2:153
5954 msgid ""
5955 "In addition, zero or more file creation flags and file status flags can be "
5956 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CLOEXEC>, "
5957 "B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, "
5958 "B<O_TRUNC>, and B<O_TTY_INIT>.  The I<file status flags> are all of the "
5959 "remaining flags listed below.  The distinction between these two groups of "
5960 "flags is that the file status flags can be retrieved and (in some cases)  "
5961 "modified using B<fcntl>(2).  The full list of file creation flags and file "
5962 "status flags is as follows:"
5963 msgstr ""
5964 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
5965 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
5966 "定することができる。 I<ファイル作成フラグ> は B<O_CLOEXEC>, B<O_CREAT>, "
5967 "B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, B<O_TRUNC>, "
5968 "B<O_TTY_INIT> である。 I<ファイル状態フラグ> は以下のリストのうち上記以外の残"
5969 "りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は B<fcntl>"
5970 "(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点にあ"
5971 "る。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
5972
5973 #. type: TP
5974 #: build/C/man2/open.2:153
5975 #, no-wrap
5976 msgid "B<O_APPEND>"
5977 msgstr "B<O_APPEND>"
5978
5979 #.  For more background, see
5980 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
5981 #.  http://nfs.sourceforge.net/
5982 #. type: Plain text
5983 #: build/C/man2/open.2:170
5984 msgid ""
5985 "The file is opened in append mode.  Before each B<write>(2), the file offset "
5986 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
5987 "may lead to corrupted files on NFS file systems if more than one process "
5988 "appends data to a file at once.  This is because NFS does not support "
5989 "appending to a file, so the client kernel has to simulate it, which can't be "
5990 "done without a race condition."
5991 msgstr ""
5992 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
5993 "B<lseek>(2)  を行ったかのように、ファイルポインタをファイルの最後に移動す"
5994 "る。 NFS ファイルシステムで、 B<O_APPEND> を使用すると、複数のプロセスがひと"
5995 "つのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
5996 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
5997 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
5998 "とはできないからである。"
5999
6000 #. type: TP
6001 #: build/C/man2/open.2:170
6002 #, no-wrap
6003 msgid "B<O_ASYNC>"
6004 msgstr "B<O_ASYNC>"
6005
6006 #. type: Plain text
6007 #: build/C/man2/open.2:183
6008 msgid ""
6009 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
6010 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
6011 "this file descriptor.  This feature is available only for terminals, "
6012 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
6013 "B<fcntl>(2)  for further details."
6014 msgstr ""
6015 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
6016 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
6017 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
6018 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
6019 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
6020
6021 #. type: TP
6022 #: build/C/man2/open.2:183
6023 #, no-wrap
6024 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
6025 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
6026
6027 #.  This flag fixes only one form of the race condition;
6028 #.  The race can also occur with, for example, descriptors
6029 #.  returned by accept(), pipe(), etc.
6030 #. type: Plain text
6031 #: build/C/man2/open.2:208
6032 msgid ""
6033 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
6034 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
6035 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
6036 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
6037 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
6038 "race conditions where one thread opens a file descriptor at the same time as "
6039 "another thread does a B<fork>(2)  plus B<execve>(2)."
6040 msgstr ""
6041 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
6042 "フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
6043 "B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
6044 "チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
6045 "B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
6046 "も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
6047 "が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
6048 "はないからである。"
6049
6050 #. type: TP
6051 #: build/C/man2/open.2:208
6052 #, no-wrap
6053 msgid "B<O_CREAT>"
6054 msgstr "B<O_CREAT>"
6055
6056 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
6057 #.  XFS (since 2.6.14).
6058 #. type: Plain text
6059 #: build/C/man2/open.2:224
6060 msgid ""
6061 "If the file does not exist it will be created.  The owner (user ID) of the "
6062 "file is set to the effective user ID of the process.  The group ownership "
6063 "(group ID) is set either to the effective group ID of the process or to the "
6064 "group ID of the parent directory (depending on file system type and mount "
6065 "options, and the mode of the parent directory, see the mount options "
6066 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
6067 msgstr ""
6068 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
6069 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
6070 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
6071 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
6072 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
6073 "I<bsdgroups> と I<sysvgroups> を参照)。"
6074
6075 #. type: Plain text
6076 #: build/C/man2/open.2:247
6077 msgid ""
6078 "I<mode> specifies the permissions to use in case a new file is created.  "
6079 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
6080 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
6081 "permissions are modified by the process's I<umask> in the usual way: The "
6082 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
6083 "mode applies only to future accesses of the newly created file; the B<open>"
6084 "()  call that creates a read-only file may well return a read/write file "
6085 "descriptor."
6086 msgstr ""
6087 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
6088 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
6089 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
6090 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
6091 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
6092 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
6093 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
6094 "可能なファイルディスクリプタを返すことがありうる。"
6095
6096 #. type: Plain text
6097 #: build/C/man2/open.2:250
6098 msgid "The following symbolic constants are provided for I<mode>:"
6099 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6100
6101 #. type: TP
6102 #: build/C/man2/open.2:250
6103 #, no-wrap
6104 msgid "B<S_IRWXU>"
6105 msgstr "B<S_IRWXU>"
6106
6107 #. type: Plain text
6108 #: build/C/man2/open.2:253
6109 msgid "00700 user (file owner) has read, write and execute permission"
6110 msgstr ""
6111 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6112
6113 #. type: TP
6114 #: build/C/man2/open.2:253
6115 #, no-wrap
6116 msgid "B<S_IRUSR>"
6117 msgstr "B<S_IRUSR>"
6118
6119 #. type: Plain text
6120 #: build/C/man2/open.2:256
6121 msgid "00400 user has read permission"
6122 msgstr "00400 ユーザーに読み込みの許可がある。"
6123
6124 #. type: TP
6125 #: build/C/man2/open.2:256
6126 #, no-wrap
6127 msgid "B<S_IWUSR>"
6128 msgstr "B<S_IWUSR>"
6129
6130 #. type: Plain text
6131 #: build/C/man2/open.2:259
6132 msgid "00200 user has write permission"
6133 msgstr "00200 ユーザーに書き込みの許可がある。"
6134
6135 #. type: TP
6136 #: build/C/man2/open.2:259
6137 #, no-wrap
6138 msgid "B<S_IXUSR>"
6139 msgstr "B<S_IXUSR>"
6140
6141 #. type: Plain text
6142 #: build/C/man2/open.2:262
6143 msgid "00100 user has execute permission"
6144 msgstr "00100 ユーザーに実行の許可がある。"
6145
6146 #. type: TP
6147 #: build/C/man2/open.2:262
6148 #, no-wrap
6149 msgid "B<S_IRWXG>"
6150 msgstr "B<S_IRWXG>"
6151
6152 #. type: Plain text
6153 #: build/C/man2/open.2:265
6154 msgid "00070 group has read, write and execute permission"
6155 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6156
6157 #. type: TP
6158 #: build/C/man2/open.2:265
6159 #, no-wrap
6160 msgid "B<S_IRGRP>"
6161 msgstr "B<S_IRGRP>"
6162
6163 #. type: Plain text
6164 #: build/C/man2/open.2:268
6165 msgid "00040 group has read permission"
6166 msgstr "00040 グループに読み込みの許可がある。"
6167
6168 #. type: TP
6169 #: build/C/man2/open.2:268
6170 #, no-wrap
6171 msgid "B<S_IWGRP>"
6172 msgstr "B<S_IWGRP>"
6173
6174 #. type: Plain text
6175 #: build/C/man2/open.2:271
6176 msgid "00020 group has write permission"
6177 msgstr "00020 グループに書き込みの許可がある。"
6178
6179 #. type: TP
6180 #: build/C/man2/open.2:271
6181 #, no-wrap
6182 msgid "B<S_IXGRP>"
6183 msgstr "B<S_IXGRP>"
6184
6185 #. type: Plain text
6186 #: build/C/man2/open.2:274
6187 msgid "00010 group has execute permission"
6188 msgstr "00010 グループに実行の許可がある。"
6189
6190 #. type: TP
6191 #: build/C/man2/open.2:274
6192 #, no-wrap
6193 msgid "B<S_IRWXO>"
6194 msgstr "B<S_IRWXO>"
6195
6196 #. type: Plain text
6197 #: build/C/man2/open.2:277
6198 msgid "00007 others have read, write and execute permission"
6199 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6200
6201 #. type: TP
6202 #: build/C/man2/open.2:277
6203 #, no-wrap
6204 msgid "B<S_IROTH>"
6205 msgstr "B<S_IROTH>"
6206
6207 #. type: Plain text
6208 #: build/C/man2/open.2:280
6209 msgid "00004 others have read permission"
6210 msgstr "00004 他人に読み込みの許可がある。"
6211
6212 #. type: TP
6213 #: build/C/man2/open.2:280
6214 #, no-wrap
6215 msgid "B<S_IWOTH>"
6216 msgstr "B<S_IWOTH>"
6217
6218 #. type: Plain text
6219 #: build/C/man2/open.2:283
6220 msgid "00002 others have write permission"
6221 msgstr "00002 他人に書き込みの許可がある。"
6222
6223 #. type: TP
6224 #: build/C/man2/open.2:283
6225 #, no-wrap
6226 msgid "B<S_IXOTH>"
6227 msgstr "B<S_IXOTH>"
6228
6229 #. type: Plain text
6230 #: build/C/man2/open.2:286
6231 msgid "00001 others have execute permission"
6232 msgstr "00001 他人に実行の許可がある。"
6233
6234 #. type: TP
6235 #: build/C/man2/open.2:287
6236 #, no-wrap
6237 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6238 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6239
6240 #. type: Plain text
6241 #: build/C/man2/open.2:304
6242 msgid ""
6243 "Try to minimize cache effects of the I/O to and from this file.  In general "
6244 "this will degrade performance, but it is useful in special situations, such "
6245 "as when applications do their own caching.  File I/O is done directly to/"
6246 "from user-space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6247 "transfer data synchronously, but does not give the guarantees of the "
6248 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6249 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6250 "B<O_DIRECT>.  See NOTES below for further discussion."
6251 msgstr ""
6252 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを"
6253 "使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを"
6254 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6255 "ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
6256 "はするが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証される"
6257 "わけではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を"
6258 "使用しなければならない。下記の「注意」の節の議論も参照。"
6259
6260 #. type: Plain text
6261 #: build/C/man2/open.2:308
6262 msgid ""
6263 "A semantically similar (but deprecated) interface for block devices is "
6264 "described in B<raw>(8)."
6265 msgstr ""
6266 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6267 "れている (但し、このインタフェースは非推奨である)。"
6268
6269 #. type: TP
6270 #: build/C/man2/open.2:308
6271 #, no-wrap
6272 msgid "B<O_DIRECTORY>"
6273 msgstr "B<O_DIRECTORY>"
6274
6275 #.  But see the following and its replies:
6276 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6277 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6278 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6279 #. type: Plain text
6280 #: build/C/man2/open.2:322
6281 msgid ""
6282 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6283 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6284 "service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
6285 "should not be used outside of the implementation of B<opendir>(3)."
6286 msgstr ""
6287 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6288 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6289 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6290 "加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
6291
6292 #. type: TP
6293 #: build/C/man2/open.2:322
6294 #, no-wrap
6295 msgid "B<O_EXCL>"
6296 msgstr "B<O_EXCL>"
6297
6298 #. type: Plain text
6299 #: build/C/man2/open.2:332
6300 msgid ""
6301 "Ensure that this call creates the file: if this flag is specified in "
6302 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6303 "will fail."
6304 msgstr ""
6305 "この呼び出しでファイルが作成されることを保証する。このフラグが B<O_CREAT> "
6306 "と\n"
6307 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>() は失"
6308 "敗\n"
6309 "する。"
6310
6311 #.  POSIX.1-2001 explicitly requires this behavior.
6312 #. type: Plain text
6313 #: build/C/man2/open.2:340
6314 msgid ""
6315 "When these two flags are specified, symbolic links are not followed: if "
6316 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6317 "the symbolic link points to."
6318 msgstr ""
6319 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6320 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6321 "かに関わらず B<open>()  は失敗する。"
6322
6323 #. type: Plain text
6324 #: build/C/man2/open.2:356
6325 msgid ""
6326 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6327 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6328 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6329 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6330 "the error B<EBUSY>."
6331 msgstr ""
6332 "一般的には、 B<O_CREAT> を指定せずに B<O_EXCL> を使用した場合の\n"
6333 "B<O_EXCL> の動作は規定されていない。\n"
6334 "これには一つ例外があり、Linux 2.6 以降では、\n"
6335 "I<pathname> がブロックデバイスを参照している場合、\n"
6336 "B<O_CREAT> なしで B<O_EXCL> を使用することができる。\n"
6337 "システムがそのブロックデバイスを使用中の場合 (例えば、\n"
6338 "マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
6339
6340 #. type: Plain text
6341 #: build/C/man2/open.2:378
6342 msgid ""
6343 "On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 "
6344 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6345 "programs that rely on it for performing locking tasks will contain a race "
6346 "condition.  Portable programs that want to perform atomic file locking using "
6347 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6348 "create a unique file on the same file system (e.g., incorporating hostname "
6349 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6350 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6351 "unique file to check if its link count has increased to 2, in which case the "
6352 "lock is also successful."
6353 msgstr ""
6354 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6355 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6356 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6357 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6358 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6359 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6360 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6361 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6362 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6363 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6364 "じくロックに成功しているということである。"
6365
6366 #. type: TP
6367 #: build/C/man2/open.2:378
6368 #, no-wrap
6369 msgid "B<O_LARGEFILE>"
6370 msgstr "B<O_LARGEFILE>"
6371
6372 #. type: Plain text
6373 #: build/C/man2/open.2:400
6374 msgid ""
6375 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6376 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6377 "macro must be defined (before including I<any> header files)  in order to "
6378 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6379 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6380 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6381 msgstr ""
6382 "(LFS) I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる)"
6383 "ファ\n"
6384 "イルをオープン可能にする。この定義を有効にするためには、(I<どの>ヘッダファ"
6385 "イ\n"
6386 "ルをインクルードするよりも前に) B<_LARGEFILE64_SOURCE> マクロを定義しなけれ"
6387 "ば\n"
6388 "ならない。\n"
6389 "32 ビットシステムにおいて大きなファイルにアクセスしたい場合、\n"
6390 "(B<O_LARGEFILE> を使うよりも) B<_FILE_OFFSET_BITS> 機能検査マクロを 64 に\n"
6391 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
6392
6393 #. type: TP
6394 #: build/C/man2/open.2:400
6395 #, no-wrap
6396 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6397 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6398
6399 #.  The O_NOATIME flag also affects the treatment of st_atime
6400 #.  by mmap() and readdir(2), MTK, Dec 04.
6401 #. type: Plain text
6402 #: build/C/man2/open.2:413
6403 msgid ""
6404 "Do not update the file last access time (I<st_atime> in the inode)  when the "
6405 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6406 "programs, where its use can significantly reduce the amount of disk "
6407 "activity.  This flag may not be effective on all file systems.  One example "
6408 "is NFS, where the server maintains the access time."
6409 msgstr ""
6410 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6411 "I<st_atime>) を更新しない。 このフラグはインデックス作成やバックアッププログ"
6412 "ラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らす"
6413 "ことができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6414 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6415
6416 #. type: TP
6417 #: build/C/man2/open.2:413
6418 #, no-wrap
6419 msgid "B<O_NOCTTY>"
6420 msgstr "B<O_NOCTTY>"
6421
6422 #. type: Plain text
6423 #: build/C/man2/open.2:421
6424 msgid ""
6425 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will not "
6426 "become the process's controlling terminal even if the process does not have "
6427 "one."
6428 msgstr ""
6429 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
6430 "る\n"
6431 "場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイ"
6432 "ル\n"
6433 "は制御端末にはならない。"
6434
6435 #. type: TP
6436 #: build/C/man2/open.2:421
6437 #, no-wrap
6438 msgid "B<O_NOFOLLOW>"
6439 msgstr "B<O_NOFOLLOW>"
6440
6441 #.  The headers from glibc 2.0.100 and later include a
6442 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6443 #.  used\fP.
6444 #. type: Plain text
6445 #: build/C/man2/open.2:430
6446 msgid ""
6447 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6448 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6449 "earlier components of the pathname will still be followed."
6450 msgstr ""
6451 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
6452 "FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
6453 "ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
6454 "が シンボリックリンクである場合には、それが指す先が参照される。"
6455
6456 #. type: TP
6457 #: build/C/man2/open.2:430
6458 #, no-wrap
6459 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6460 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6461
6462 #. type: Plain text
6463 #: build/C/man2/open.2:443
6464 msgid ""
6465 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6466 "()  nor any subsequent operations on the file descriptor which is returned "
6467 "will cause the calling process to wait.  For the handling of FIFOs (named "
6468 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6469 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6470 "see B<fcntl>(2)."
6471 msgstr ""
6472 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
6473 "B<open>() も、返したファイルディスクリプタに対する以後のすべての操作も呼び"
6474 "出\n"
6475 "したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
6476 "B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
6477 "イ\n"
6478 "ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
6479 "議論は、 B<fcntl>(2) を参照すること。"
6480
6481 #. type: TP
6482 #: build/C/man2/open.2:443
6483 #, no-wrap
6484 msgid "B<O_SYNC>"
6485 msgstr "B<O_SYNC>"
6486
6487 #. type: Plain text
6488 #: build/C/man2/open.2:451
6489 msgid ""
6490 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6491 "file descriptor will block the calling process until the data has been "
6492 "physically written to the underlying hardware.  I<But see NOTES below>."
6493 msgstr ""
6494 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6495 "ファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセス"
6496 "をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
6497 "「注意」の章も参照。>"
6498
6499 #. type: TP
6500 #: build/C/man2/open.2:451
6501 #, no-wrap
6502 msgid "B<O_TRUNC>"
6503 msgstr "B<O_TRUNC>"
6504
6505 #. type: Plain text
6506 #: build/C/man2/open.2:465
6507 msgid ""
6508 "If the file already exists and is a regular file and the open mode allows "
6509 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6510 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6511 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6512 msgstr ""
6513 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6514 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6515 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6516 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6517 "ある。"
6518
6519 #. type: Plain text
6520 #: build/C/man2/open.2:469
6521 msgid ""
6522 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6523 "file has been opened."
6524 msgstr ""
6525 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6526 "用して変更することができる。"
6527
6528 #. type: Plain text
6529 #: build/C/man2/open.2:477
6530 msgid ""
6531 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6532 "O_WRONLY|O_TRUNC>."
6533 msgstr ""
6534 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6535 "を行うのと等価である。"
6536
6537 #. type: Plain text
6538 #: build/C/man2/open.2:485
6539 msgid ""
6540 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6541 "occurred (in which case, I<errno> is set appropriately)."
6542 msgstr ""
6543 "B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
6544 "した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6545
6546 #. type: Plain text
6547 #: build/C/man2/open.2:495
6548 msgid ""
6549 "The requested access to the file is not allowed, or search permission is "
6550 "denied for one of the directories in the path prefix of I<pathname>, or the "
6551 "file did not exist yet and write access to the parent directory is not "
6552 "allowed.  (See also B<path_resolution>(7).)"
6553 msgstr ""
6554 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6555 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6556 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6557 "すること。)"
6558
6559 #. type: Plain text
6560 #: build/C/man2/open.2:501
6561 msgid ""
6562 "Where B<O_CREAT> is specified, the file does not exist, and the user's quota "
6563 "of disk blocks or inodes on the file system has been exhausted."
6564 msgstr ""
6565
6566 #. type: Plain text
6567 #: build/C/man2/open.2:507
6568 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6569 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6570
6571 #. type: Plain text
6572 #: build/C/man2/open.2:511 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6573 msgid "I<pathname> points outside your accessible address space."
6574 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6575
6576 #. type: TP
6577 #: build/C/man2/open.2:511 build/C/man2/write.2:145
6578 #, no-wrap
6579 msgid "B<EFBIG>"
6580 msgstr "B<EFBIG>"
6581
6582 #. type: Plain text
6583 #: build/C/man2/open.2:515
6584 msgid "See B<EOVERFLOW>."
6585 msgstr "B<EOVERFLOW> 参照。"
6586
6587 #. type: TP
6588 #: build/C/man2/open.2:515 build/C/man2/read.2:122 build/C/man3/scanf.3:562
6589 #: build/C/man3/tmpfile.3:61 build/C/man2/write.2:150
6590 #, no-wrap
6591 msgid "B<EINTR>"
6592 msgstr "B<EINTR>"
6593
6594 #. type: Plain text
6595 #: build/C/man2/open.2:522
6596 msgid ""
6597 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6598 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6599 "(7)."
6600 msgstr ""
6601 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6602 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6603 "B<signal>(7)  参照。"
6604
6605 #. type: TP
6606 #: build/C/man2/open.2:522 build/C/man2/read.2:158 build/C/man2/rename.2:143
6607 #: build/C/man2/unlink.2:87
6608 #, no-wrap
6609 msgid "B<EISDIR>"
6610 msgstr "B<EISDIR>"
6611
6612 #. type: Plain text
6613 #: build/C/man2/open.2:531
6614 msgid ""
6615 "I<pathname> refers to a directory and the access requested involved writing "
6616 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6617 msgstr ""
6618 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6619 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6620
6621 #. type: Plain text
6622 #: build/C/man2/open.2:538
6623 msgid ""
6624 "Too many symbolic links were encountered in resolving I<pathname>, or "
6625 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6626 msgstr ""
6627 "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
6628 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6629
6630 #. type: TP
6631 #: build/C/man2/open.2:538 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:64
6632 #, no-wrap
6633 msgid "B<EMFILE>"
6634 msgstr "B<EMFILE>"
6635
6636 #. type: Plain text
6637 #: build/C/man2/open.2:541
6638 msgid "The process already has the maximum number of files open."
6639 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6640
6641 #. type: Plain text
6642 #: build/C/man2/open.2:545 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6643 msgid "I<pathname> was too long."
6644 msgstr "I<pathname> が長過ぎる。"
6645
6646 #. type: TP
6647 #: build/C/man2/open.2:545 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:67
6648 #, no-wrap
6649 msgid "B<ENFILE>"
6650 msgstr "B<ENFILE>"
6651
6652 #. type: Plain text
6653 #: build/C/man2/open.2:548 build/C/man2/pipe.2:113
6654 msgid "The system limit on the total number of open files has been reached."
6655 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6656
6657 #. type: TP
6658 #: build/C/man2/open.2:548
6659 #, no-wrap
6660 msgid "B<ENODEV>"
6661 msgstr "B<ENODEV>"
6662
6663 #. type: Plain text
6664 #: build/C/man2/open.2:555
6665 msgid ""
6666 "I<pathname> refers to a device special file and no corresponding device "
6667 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6668 "returned.)"
6669 msgstr ""
6670 "I<pathname> がデバイススペシャルファイルを参照しており、対応するデバイスが存"
6671 "在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返され"
6672 "るべきである)"
6673
6674 #. type: Plain text
6675 #: build/C/man2/open.2:562
6676 msgid ""
6677 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6678 "component in I<pathname> does not exist or is a dangling symbolic link."
6679 msgstr ""
6680 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6681 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリックリ"
6682 "ンクである。"
6683
6684 #. type: Plain text
6685 #: build/C/man2/open.2:571
6686 msgid ""
6687 "I<pathname> was to be created but the device containing I<pathname> has no "
6688 "room for the new file."
6689 msgstr ""
6690 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6691 "ファイルのための空き容量がない。"
6692
6693 #. type: Plain text
6694 #: build/C/man2/open.2:578
6695 msgid ""
6696 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6697 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6698 msgstr ""
6699 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6700 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6701
6702 #. type: Plain text
6703 #: build/C/man2/open.2:584
6704 msgid ""
6705 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
6706 "has the file open for reading.  Or, the file is a device special file and no "
6707 "corresponding device exists."
6708 msgstr ""
6709 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
6710 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
6711 "イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
6712
6713 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
6714 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
6715 #.  Reported 2006-10-03
6716 #. type: Plain text
6717 #: build/C/man2/open.2:604
6718 msgid ""
6719 "I<pathname> refers to a regular file that is too large to be opened.  The "
6720 "usual scenario here is that an application compiled on a 32-bit platform "
6721 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
6722 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
6723 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
6724 "B<EFBIG> for this case."
6725 msgstr ""
6726 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
6727 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
6728 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
6729 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
6730 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
6731 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
6732 "いた。"
6733
6734 #.  Strictly speaking, it's the file system UID... (MTK)
6735 #. type: Plain text
6736 #: build/C/man2/open.2:612
6737 msgid ""
6738 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
6739 "did not match the owner of the file and the caller was not privileged "
6740 "(B<CAP_FOWNER>)."
6741 msgstr ""
6742 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
6743 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
6744
6745 #. type: Plain text
6746 #: build/C/man2/open.2:617
6747 msgid ""
6748 "I<pathname> refers to a file on a read-only file system and write access was "
6749 "requested."
6750 msgstr ""
6751 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
6752 "込みアクセスが要求された。"
6753
6754 #. type: TP
6755 #: build/C/man2/open.2:617
6756 #, no-wrap
6757 msgid "B<ETXTBSY>"
6758 msgstr "B<ETXTBSY>"
6759
6760 #. type: Plain text
6761 #: build/C/man2/open.2:622
6762 msgid ""
6763 "I<pathname> refers to an executable image which is currently being executed "
6764 "and write access was requested."
6765 msgstr ""
6766 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
6767
6768 #. type: TP
6769 #: build/C/man2/open.2:622
6770 #, no-wrap
6771 msgid "B<EWOULDBLOCK>"
6772 msgstr "B<EWOULDBLOCK>"
6773
6774 #. type: Plain text
6775 #: build/C/man2/open.2:629
6776 msgid ""
6777 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
6778 "the file (see B<fcntl>(2))."
6779 msgstr ""
6780 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
6781 "ていた (B<fcntl>(2)  参照)。"
6782
6783 #. type: Plain text
6784 #: build/C/man2/open.2:642
6785 msgid ""
6786 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
6787 "B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
6788 "B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
6789 "definitions."
6790 msgstr ""
6791 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
6792 "B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
6793 "は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
6794 "定義する必要があるかもしれない。"
6795
6796 #. type: Plain text
6797 #: build/C/man2/open.2:647
6798 msgid ""
6799 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
6800 "POSIX.1-2008."
6801 msgstr ""
6802 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
6803 "定されている。"
6804
6805 #. type: Plain text
6806 #: build/C/man2/open.2:655
6807 msgid ""
6808 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
6809 "(before including I<any> header files)  to get its definition."
6810 msgstr ""
6811 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
6812 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
6813 "なければならない。"
6814
6815 #. type: Plain text
6816 #: build/C/man2/open.2:663
6817 msgid ""
6818 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
6819 "does not necessarily have the intention to read or write.  This is typically "
6820 "used to open devices in order to get a file descriptor for use with B<ioctl>"
6821 "(2)."
6822 msgstr ""
6823 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
6824 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
6825 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
6826 "られる。"
6827
6828 #.  See for example util-linux's disk-utils/setfdprm.c
6829 #.  For some background on access mode 3, see
6830 #.  http://thread.gmane.org/gmane.linux.kernel/653123
6831 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
6832 #.  LKML, 12 Mar 2008
6833 #. type: Plain text
6834 #: build/C/man2/open.2:692
6835 msgid ""
6836 "Unlike the other values that can be specified in I<flags>, the I<access "
6837 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
6838 "individual bits.  Rather, they define the low order two bits of I<flags>, "
6839 "and are defined respectively as 0, 1, and 2.  In other words, the "
6840 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
6841 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
6842 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
6843 "and write permission on the file and return a descriptor that can't be used "
6844 "for reading or writing.  This nonstandard access mode is used by some Linux "
6845 "drivers to return a descriptor that is to be used only for device-specific "
6846 "B<ioctl>(2)  operations."
6847 msgstr "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそれぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されており I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリプタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われている。"
6848
6849 #.  Linux 2.0, 2.5: truncate
6850 #.  Solaris 5.7, 5.8: truncate
6851 #.  Irix 6.5: truncate
6852 #.  Tru64 5.1B: truncate
6853 #.  HP-UX 11.22: truncate
6854 #.  FreeBSD 4.7: truncate
6855 #. type: Plain text
6856 #: build/C/man2/open.2:703
6857 msgid ""
6858 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
6859 "implementations.  On many systems the file is actually truncated."
6860 msgstr ""
6861 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
6862 "くのシステムではファイルは実際に切り詰められる。"
6863
6864 #. type: Plain text
6865 #: build/C/man2/open.2:707
6866 msgid ""
6867 "There are many infelicities in the protocol underlying NFS, affecting "
6868 "amongst others B<O_SYNC> and B<O_NDELAY>."
6869 msgstr ""
6870 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
6871 "B<O_NDELAY> に影響する。"
6872
6873 #. type: Plain text
6874 #: build/C/man2/open.2:729
6875 msgid ""
6876 "POSIX provides for three different variants of synchronized I/O, "
6877 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
6878 "(2.6.31), Linux implements only B<O_SYNC>, but glibc maps B<O_DSYNC> and "
6879 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
6880 "systems don't actually implement the POSIX B<O_SYNC> semantics, which "
6881 "require all metadata updates of a write to be on disk on returning to user "
6882 "space, but only the B<O_DSYNC> semantics, which require only actual file "
6883 "data and metadata necessary to retrieve it to be on disk by the time the "
6884 "system call returns."
6885 msgstr ""
6886 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
6887 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
6888 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
6889 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
6890 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
6891 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
6892 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
6893 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
6894 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
6895 "ていればよい。"
6896
6897 #. type: Plain text
6898 #: build/C/man2/open.2:737
6899 msgid ""
6900 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
6901 "create them; use B<mknod>(2)  instead."
6902 msgstr ""
6903 "B<open>()  はスペシャルファイルをオープンすることができるが、 B<creat>()  で"
6904 "スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  を使"
6905 "用する。"
6906
6907 #. type: Plain text
6908 #: build/C/man2/open.2:750
6909 msgid ""
6910 "On NFS file systems with UID mapping enabled, B<open>()  may return a file "
6911 "descriptor but, for example, B<read>(2)  requests are denied with "
6912 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
6913 "permissions, but UID mapping is performed by the server upon read and write "
6914 "requests."
6915 msgstr ""
6916 "UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
6917 "ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
6918 "る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
6919 "が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
6920 "る。"
6921
6922 #. type: Plain text
6923 #: build/C/man2/open.2:769
6924 msgid ""
6925 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
6926 "fields (respectively, time of last access, time of last status change, and "
6927 "time of last modification; see B<stat>(2))  are set to the current time, and "
6928 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
6929 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
6930 "st_ctime and st_mtime fields are set to the current time."
6931 msgstr ""
6932 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
6933 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
6934 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
6935 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
6936 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
6937 "I<st_mtime> フィールドが現在時刻に設定される。"
6938
6939 #. type: SS
6940 #: build/C/man2/open.2:769
6941 #, no-wrap
6942 msgid "O_DIRECT"
6943 msgstr "O_DIRECT"
6944
6945 #. type: Plain text
6946 #: build/C/man2/open.2:786
6947 msgid ""
6948 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
6949 "address of user-space buffers and the file offset of I/Os.  In Linux "
6950 "alignment restrictions vary by file system and kernel version and might be "
6951 "absent entirely.  However there is currently no file system-independent "
6952 "interface for an application to discover these restrictions for a given file "
6953 "or file system.  Some file systems provide their own interfaces for doing "
6954 "so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
6955 msgstr ""
6956 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
6957 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
6958 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
6959 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
6960 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
6961 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
6962 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
6963 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
6964
6965 #. type: Plain text
6966 #: build/C/man2/open.2:791
6967 msgid ""
6968 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
6969 "the file offset must all be multiples of the logical block size of the file "
6970 "system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
6971 msgstr ""
6972 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
6973 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
6974 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
6975
6976 #. type: Plain text
6977 #: build/C/man2/open.2:825
6978 msgid ""
6979 "B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2)  "
6980 "system call, if the memory buffer is a private mapping (i.e., any mapping "
6981 "created with the B<mmap>(2)  B<MAP_PRIVATE> flag; this includes memory "
6982 "allocated on the heap and statically allocated buffers).  Any such I/Os, "
6983 "whether submitted via an asynchronous I/O interface or from another thread "
6984 "in the process, should be completed before B<fork>(2)  is called.  Failure "
6985 "to do so can result in data corruption and undefined behavior in parent and "
6986 "child processes.  This restriction does not apply when the memory buffer for "
6987 "the B<O_DIRECT> I/Os was created using B<shmat>(2)  or B<mmap>(2)  with the "
6988 "B<MAP_SHARED> flag.  Nor does this restriction apply when the memory buffer "
6989 "has been advised as B<MADV_DONTFORK> with B<madvise>(2), ensuring that it "
6990 "will not be available to the child after B<fork>(2)."
6991 msgstr ""
6992 "メモリバッファがプライベートマッピング (B<mmap>(2) の B<MAP_PRIVATE>\n"
6993 "フラグで作成されたマッピング) の場合には、B<O_DIRECT> I/O は\n"
6994 "B<fork>(2) システムコールと同時に決して実行すべきではない \n"
6995 "(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に\n"
6996 "割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由\n"
6997 "やプロセス内の他のスレッドから発行された、このような I/O は、\n"
6998 "B<fork>(2) が呼び出される前に完了されるべきである。\n"
6999 "そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない\n"
7000 "動作が起こる可能性がある。\n"
7001 "B<O_DIRECT> I/O 用のメモリバッファが B<shmat>(2) やB<MAP_SHARED> フラグ\n"
7002 "付きの B<mmap>(2) で作成された場合には、この制限はあてはまらない。\n"
7003 "B<madvise>(2) でメモリバッファにアドバイス B<MADV_DONTFORK> が設定され\n"
7004 "ている場合にも、この制限はあてはまらない(B<MADV_DONTFORK> はそのメモリ\n"
7005 "バッファが B<fork>(2) 後に子プロセスからは利用できないことを保証するも\n"
7006 "のである)。"
7007
7008 #. type: Plain text
7009 #: build/C/man2/open.2:835
7010 msgid ""
7011 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
7012 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
7013 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
7014 "flag of the same name, but without alignment restrictions."
7015 msgstr ""
7016 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
7017 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
7018 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
7019 "ラグを導入したが、アラインメントの制限はない。"
7020
7021 #. type: Plain text
7022 #: build/C/man2/open.2:844
7023 msgid ""
7024 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
7025 "Linux kernels simply ignore this flag.  Some file systems may not implement "
7026 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
7027 msgstr ""
7028 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
7029 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
7030 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
7031 "と B<open>()  は B<EINVAL> で失敗する。"
7032
7033 #. type: Plain text
7034 #: build/C/man2/open.2:855
7035 msgid ""
7036 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
7037 "file, and especially to overlapping byte regions in the same file.  Even "
7038 "when the file system correctly handles the coherency issues in this "
7039 "situation, overall I/O throughput is likely to be slower than using either "
7040 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
7041 "with direct I/O to the same files."
7042 msgstr ""
7043 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
7044 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
7045 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
7046 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
7047 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
7048 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
7049
7050 #. type: Plain text
7051 #: build/C/man2/open.2:877
7052 msgid ""
7053 "The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
7054 "Older kernels, or kernels configured in certain ways, may not support this "
7055 "combination.  The NFS protocol does not support passing the flag to the "
7056 "server, so B<O_DIRECT> I/O will bypass the page cache only on the client; "
7057 "the server may still cache the I/O.  The client asks the server to make the "
7058 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
7059 "servers will perform poorly under these circumstances, especially if the I/O "
7060 "size is small.  Some servers may also be configured to lie to clients about "
7061 "the I/O having reached stable storage; this will avoid the performance "
7062 "penalty at some risk to data integrity in the event of server power "
7063 "failure.  The Linux NFS client places no alignment restrictions on "
7064 "B<O_DIRECT> I/O."
7065 msgstr ""
7066 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
7067 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
7068 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
7069 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
7070 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
7071 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
7072 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
7073 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
7074 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
7075 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
7076 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
7077 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
7078
7079 #. type: Plain text
7080 #: build/C/man2/open.2:884
7081 msgid ""
7082 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
7083 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
7084 "as a performance option which is disabled by default."
7085 msgstr ""
7086 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
7087 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
7088 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
7089
7090 #. type: Plain text
7091 #: build/C/man2/open.2:889
7092 msgid ""
7093 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
7094 "interface is just stupid, and was probably designed by a deranged monkey on "
7095 "some serious mind-controlling substances.\"\\(emLinus"
7096 msgstr ""
7097 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
7098 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
7099 "な」 \\(em Linus"
7100
7101 #.  FIXME . Check bugzilla report on open(O_ASYNC)
7102 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
7103 #. type: Plain text
7104 #: build/C/man2/open.2:901
7105 msgid ""
7106 "Currently, it is not possible to enable signal-driven I/O by specifying "
7107 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7108 msgstr ""
7109 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7110 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7111 "すること。"
7112
7113 #. type: Plain text
7114 #: build/C/man2/open.2:923
7115 msgid ""
7116 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7117 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7118 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7119 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7120 msgstr ""
7121 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7122 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7123 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7124 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7125
7126 #. type: TH
7127 #: build/C/man3/perror.3:31
7128 #, no-wrap
7129 msgid "PERROR"
7130 msgstr "PERROR"
7131
7132 #. type: TH
7133 #: build/C/man3/perror.3:31
7134 #, no-wrap
7135 msgid "2012-04-17"
7136 msgstr "2012-04-17"
7137
7138 #. type: Plain text
7139 #: build/C/man3/perror.3:34
7140 msgid "perror - print a system error message"
7141 msgstr "perror - システムエラーメッセージを出力する"
7142
7143 #. type: Plain text
7144 #: build/C/man3/perror.3:38
7145 msgid "B<void perror(const char *>I<s>B<);>"
7146 msgstr "B<void perror(const char *>I<s>B<);>"
7147
7148 #. type: Plain text
7149 #: build/C/man3/perror.3:40
7150 msgid "B<#include E<lt>errno.hE<gt>>"
7151 msgstr "B<#include E<lt>errno.hE<gt>>"
7152
7153 #. type: Plain text
7154 #: build/C/man3/perror.3:42
7155 msgid "B<const char *>I<sys_errlist>B<[];>"
7156 msgstr "B<const char *>I<sys_errlist>B<[];>"
7157
7158 #. type: Plain text
7159 #: build/C/man3/perror.3:44
7160 msgid "B<int >I<sys_nerr>B<;>"
7161 msgstr "B<int >I<sys_nerr>B<;>"
7162
7163 #. type: Plain text
7164 #: build/C/man3/perror.3:46
7165 msgid "B<int >I<errno>B<;>"
7166 msgstr "B<int >I<errno>B<;>"
7167
7168 #. type: Plain text
7169 #: build/C/man3/perror.3:55
7170 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7171 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7172
7173 #. type: Plain text
7174 #: build/C/man3/perror.3:68
7175 msgid ""
7176 "The routine B<perror>()  produces a message on the standard error output, "
7177 "describing the last error encountered during a call to a system or library "
7178 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7179 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7180 "blank.  Then the message and a new-line."
7181 msgstr ""
7182 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7183 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7184 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7185 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7186 "メッセージと改行が出力される。"
7187
7188 #. type: Plain text
7189 #: build/C/man3/perror.3:76
7190 msgid ""
7191 "To be of most use, the argument string should include the name of the "
7192 "function that incurred the error.  The error number is taken from the "
7193 "external variable I<errno>, which is set when errors occur but not cleared "
7194 "when successful calls are made."
7195 msgstr ""
7196 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7197 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7198 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7199
7200 #. type: Plain text
7201 #: build/C/man3/perror.3:90
7202 msgid ""
7203 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7204 "obtain the error message without the newline.  The largest message number "
7205 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
7206 "this list because new error values may not have been added to I<sys_errlist>"
7207 "[].  The use of I<sys_errlist>[] is nowadays deprecated."
7208 msgstr ""
7209 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
7210 "の\n"
7211 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセー"
7212 "ジ\n"
7213 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意するこ"
7214 "と。\n"
7215 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7216 "る。\n"
7217 "現在では、I<sys_errlist>[] の使用は非推奨となっている。"
7218
7219 #. type: Plain text
7220 #: build/C/man3/perror.3:111
7221 msgid ""
7222 "When a system call fails, it usually returns -1 and sets the variable "
7223 "I<errno> to a value describing what went wrong.  (These values can be found "
7224 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7225 "B<perror>()  serves to translate this error code into human-readable form.  "
7226 "Note that I<errno> is undefined after a successful library call: this call "
7227 "may well change this variable, even though it succeeds, for example because "
7228 "it internally used some other library function that failed.  Thus, if a "
7229 "failing call is not immediately followed by a call to B<perror>(), the value "
7230 "of I<errno> should be saved."
7231 msgstr ""
7232 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7233 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7234 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7235 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7236 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7237 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7238 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7239 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7240 "い。"
7241
7242 #. type: Plain text
7243 #: build/C/man3/perror.3:124
7244 msgid ""
7245 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7246 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7247 "I<sys_errlist> conform to BSD."
7248 msgstr ""
7249 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7250 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7251 "に準拠している。"
7252
7253 #.  and only when _BSD_SOURCE is defined.
7254 #.  When
7255 #.  .B _GNU_SOURCE
7256 #.  is defined, the symbols
7257 #.  .I _sys_nerr
7258 #.  and
7259 #.  .I _sys_errlist
7260 #.  are provided.
7261 #. type: Plain text
7262 #: build/C/man3/perror.3:139
7263 msgid ""
7264 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7265 "I<E<lt>stdio.hE<gt>>."
7266 msgstr ""
7267 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7268 "I<E<lt>stdio.hE<gt>> に含まれている。"
7269
7270 #. type: Plain text
7271 #: build/C/man3/perror.3:144
7272 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7273 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7274
7275 #. type: TH
7276 #: build/C/man2/pipe.2:36
7277 #, no-wrap
7278 msgid "PIPE"
7279 msgstr "PIPE"
7280
7281 #. type: TH
7282 #: build/C/man2/pipe.2:36
7283 #, no-wrap
7284 msgid "2012-02-14"
7285 msgstr "2012-02-14"
7286
7287 #. type: Plain text
7288 #: build/C/man2/pipe.2:39
7289 msgid "pipe, pipe2 - create pipe"
7290 msgstr "pipe, pipe2 - パイプを生成する"
7291
7292 #. type: Plain text
7293 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7294 #, no-wrap
7295 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7296 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7297
7298 #. type: Plain text
7299 #: build/C/man2/pipe.2:44
7300 #, no-wrap
7301 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7302 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7303
7304 #. type: Plain text
7305 #: build/C/man2/pipe.2:48
7306 #, no-wrap
7307 msgid ""
7308 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7309 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7310 "B<#include E<lt>unistd.hE<gt>>\n"
7311 msgstr ""
7312 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7313 "B<#include E<lt>fcntl.hE<gt>>              /* O_* 定数の定義の取得 */\n"
7314 "B<#include E<lt>unistd.hE<gt>>\n"
7315
7316 #. type: Plain text
7317 #: build/C/man2/pipe.2:50
7318 #, no-wrap
7319 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7320 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7321
7322 #. type: Plain text
7323 #: build/C/man2/pipe.2:66
7324 msgid ""
7325 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7326 "for interprocess communication.  The array I<pipefd> is used to return two "
7327 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7328 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7329 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7330 "until it is read from the read end of the pipe.  For further details, see "
7331 "B<pipe>(7)."
7332 msgstr ""
7333 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7334 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7335 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7336 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7337 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7338 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7339
7340 #. type: Plain text
7341 #: build/C/man2/pipe.2:76
7342 msgid ""
7343 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7344 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7345 msgstr ""
7346 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7347 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7348 "きる。"
7349
7350 #. type: TP
7351 #: build/C/man2/pipe.2:76
7352 #, no-wrap
7353 msgid "B<O_NONBLOCK>"
7354 msgstr "B<O_NONBLOCK>"
7355
7356 #. type: Plain text
7357 #: build/C/man2/pipe.2:84
7358 msgid ""
7359 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7360 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7361 "the same result."
7362 msgstr ""
7363 "新しく生成される二つのオープンファイル記述 (open file description) の "
7364 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7365 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7366 "なる。"
7367
7368 #. type: TP
7369 #: build/C/man2/pipe.2:84
7370 #, no-wrap
7371 msgid "B<O_CLOEXEC>"
7372 msgstr "B<O_CLOEXEC>"
7373
7374 #. type: Plain text
7375 #: build/C/man2/pipe.2:92
7376 msgid ""
7377 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7378 "descriptors.  See the description of the same flag in B<open>(2)  for "
7379 "reasons why this may be useful."
7380 msgstr ""
7381 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7382 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7383 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7384
7385 #. type: Plain text
7386 #: build/C/man2/pipe.2:102
7387 msgid "I<pipefd> is not valid."
7388 msgstr "I<pipefd> が無効な値である。"
7389
7390 #. type: Plain text
7391 #: build/C/man2/pipe.2:107
7392 msgid "(B<pipe2>())  Invalid value in I<flags>."
7393 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7394
7395 #. type: Plain text
7396 #: build/C/man2/pipe.2:110
7397 msgid "Too many file descriptors are in use by the process."
7398 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7399
7400 #. type: Plain text
7401 #: build/C/man2/pipe.2:118
7402 msgid ""
7403 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7404 "starting with version 2.9."
7405 msgstr ""
7406 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7407 "はバージョン 2.9 以降で利用できる。"
7408
7409 #. type: Plain text
7410 #: build/C/man2/pipe.2:121
7411 msgid "B<pipe>(): POSIX.1-2001."
7412 msgstr "B<pipe>(): POSIX.1-2001."
7413
7414 #. type: Plain text
7415 #: build/C/man2/pipe.2:124
7416 msgid "B<pipe2>()  is Linux-specific."
7417 msgstr "B<pipe2>()  は Linux 固有である。"
7418
7419 #.  fork.2 refers to this example program.
7420 #. type: Plain text
7421 #: build/C/man2/pipe.2:140
7422 msgid ""
7423 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7424 "process; the child inherits a duplicate set of file descriptors that refer "
7425 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7426 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7427 "the string contained in the program's command-line argument to the pipe, and "
7428 "the child reads this string a byte at a time from the pipe and echoes it on "
7429 "standard output."
7430 msgstr ""
7431 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7432 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7433 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7434 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7435 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7436 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7437
7438 #. type: Plain text
7439 #: build/C/man2/pipe.2:147
7440 #, no-wrap
7441 msgid ""
7442 "#include E<lt>sys/wait.hE<gt>\n"
7443 "#include E<lt>stdio.hE<gt>\n"
7444 "#include E<lt>stdlib.hE<gt>\n"
7445 "#include E<lt>unistd.hE<gt>\n"
7446 "#include E<lt>string.hE<gt>\n"
7447 msgstr ""
7448 "#include E<lt>sys/wait.hE<gt>\n"
7449 "#include E<lt>stdio.hE<gt>\n"
7450 "#include E<lt>stdlib.hE<gt>\n"
7451 "#include E<lt>unistd.hE<gt>\n"
7452 "#include E<lt>string.hE<gt>\n"
7453
7454 #. type: Plain text
7455 #: build/C/man2/pipe.2:154
7456 #, no-wrap
7457 msgid ""
7458 "int\n"
7459 "main(int argc, char *argv[])\n"
7460 "{\n"
7461 "    int pipefd[2];\n"
7462 "    pid_t cpid;\n"
7463 "    char buf;\n"
7464 msgstr ""
7465 "int\n"
7466 "main(int argc, char *argv[])\n"
7467 "{\n"
7468 "    int pipefd[2];\n"
7469 "    pid_t cpid;\n"
7470 "    char buf;\n"
7471
7472 #. type: Plain text
7473 #: build/C/man2/pipe.2:159
7474 #, no-wrap
7475 msgid ""
7476 "    if (argc != 2) {\n"
7477 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7478 "\texit(EXIT_FAILURE);\n"
7479 "    }\n"
7480 msgstr ""
7481 "    if (argc != 2) {\n"
7482 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7483 "\texit(EXIT_FAILURE);\n"
7484 "    }\n"
7485
7486 #. type: Plain text
7487 #: build/C/man2/pipe.2:164
7488 #, no-wrap
7489 msgid ""
7490 "    if (pipe(pipefd) == -1) {\n"
7491 "        perror(\"pipe\");\n"
7492 "        exit(EXIT_FAILURE);\n"
7493 "    }\n"
7494 msgstr ""
7495 "    if (pipe(pipefd) == -1) {\n"
7496 "        perror(\"pipe\");\n"
7497 "        exit(EXIT_FAILURE);\n"
7498 "    }\n"
7499
7500 #. type: Plain text
7501 #: build/C/man2/pipe.2:170
7502 #, no-wrap
7503 msgid ""
7504 "    cpid = fork();\n"
7505 "    if (cpid == -1) {\n"
7506 "        perror(\"fork\");\n"
7507 "        exit(EXIT_FAILURE);\n"
7508 "    }\n"
7509 msgstr ""
7510 "    cpid = fork();\n"
7511 "    if (cpid == -1) {\n"
7512 "        perror(\"fork\");\n"
7513 "        exit(EXIT_FAILURE);\n"
7514 "    }\n"
7515
7516 #. type: Plain text
7517 #: build/C/man2/pipe.2:173
7518 #, no-wrap
7519 msgid ""
7520 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7521 "        close(pipefd[1]);          /* Close unused write end */\n"
7522 msgstr ""
7523 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7524 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7525
7526 #. type: Plain text
7527 #: build/C/man2/pipe.2:176
7528 #, no-wrap
7529 msgid ""
7530 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7531 "            write(STDOUT_FILENO, &buf, 1);\n"
7532 msgstr ""
7533 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7534 "            write(STDOUT_FILENO, &buf, 1);\n"
7535
7536 #. type: Plain text
7537 #: build/C/man2/pipe.2:180
7538 #, no-wrap
7539 msgid ""
7540 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7541 "        close(pipefd[0]);\n"
7542 "        _exit(EXIT_SUCCESS);\n"
7543 msgstr ""
7544 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7545 "        close(pipefd[0]);\n"
7546 "        _exit(EXIT_SUCCESS);\n"
7547
7548 #. type: Plain text
7549 #: build/C/man2/pipe.2:189
7550 #, no-wrap
7551 msgid ""
7552 "    } else {            /* Parent writes argv[1] to pipe */\n"
7553 "        close(pipefd[0]);          /* Close unused read end */\n"
7554 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7555 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7556 "        wait(NULL);                /* Wait for child */\n"
7557 "        exit(EXIT_SUCCESS);\n"
7558 "    }\n"
7559 "}\n"
7560 msgstr ""
7561 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7562 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7563 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7564 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7565 "        wait(NULL);                /* 子プロセスを待つ */\n"
7566 "        exit(EXIT_SUCCESS);\n"
7567 "    }\n"
7568 "}\n"
7569
7570 #. type: Plain text
7571 #: build/C/man2/pipe.2:197
7572 msgid ""
7573 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7574 "(7)"
7575 msgstr ""
7576 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7577 "(7)"
7578
7579 #. type: TH
7580 #: build/C/man3/popen.3:40
7581 #, no-wrap
7582 msgid "POPEN"
7583 msgstr "POPEN"
7584
7585 #. type: TH
7586 #: build/C/man3/popen.3:40
7587 #, no-wrap
7588 msgid "2010-02-03"
7589 msgstr "2010-02-03"
7590
7591 #. type: Plain text
7592 #: build/C/man3/popen.3:43
7593 msgid "popen, pclose - pipe stream to or from a process"
7594 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
7595
7596 #. type: Plain text
7597 #: build/C/man3/popen.3:48
7598 #, no-wrap
7599 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7600 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7601
7602 #. type: Plain text
7603 #: build/C/man3/popen.3:50
7604 #, no-wrap
7605 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7606 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7607
7608 #. type: Plain text
7609 #: build/C/man3/popen.3:60
7610 msgid "B<popen>(), B<pclose>():"
7611 msgstr "B<popen>(), B<pclose>():"
7612
7613 #. type: Plain text
7614 #: build/C/man3/popen.3:62
7615 msgid ""
7616 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7617 msgstr ""
7618 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7619
7620 #. type: Plain text
7621 #: build/C/man3/popen.3:73
7622 msgid ""
7623 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7624 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7625 "I<type> argument may specify only reading or writing, not both; the "
7626 "resulting stream is correspondingly read-only or write-only."
7627 msgstr ""
7628 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7629 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7630 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7631 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7632 "たは 書き込み専用のいずれかとなる。"
7633
7634 #. type: Plain text
7635 #: build/C/man3/popen.3:97
7636 msgid ""
7637 "The I<command> argument is a pointer to a null-terminated string containing "
7638 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
7639 "flag; interpretation, if any, is performed by the shell.  The I<type> "
7640 "argument is a pointer to a null-terminated string which must contain either "
7641 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
7642 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
7643 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
7644 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
7645 "B<open>(2)  for reasons why this may be useful."
7646 msgstr ""
7647 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
7648 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
7649 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
7650 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
7651 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
7652 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
7653 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
7654 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
7655 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7656
7657 #. type: Plain text
7658 #: build/C/man3/popen.3:113
7659 msgid ""
7660 "The return value from B<popen>()  is a normal standard I/O stream in all "
7661 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
7662 "(3).  Writing to such a stream writes to the standard input of the command; "
7663 "the command's standard output is the same as that of the process that called "
7664 "B<popen>(), unless this is altered by the command itself.  Conversely, "
7665 "reading from a \"popened\" stream reads the command's standard output, and "
7666 "the command's standard input is the same as that of the process that called "
7667 "B<popen>()."
7668 msgstr ""
7669 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
7670 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
7671 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
7672 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
7673 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
7674 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
7675 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
7676 "セスの標準入力と同一である。"
7677
7678 #. type: Plain text
7679 #: build/C/man3/popen.3:117
7680 msgid "Note that output B<popen>()  streams are fully buffered by default."
7681 msgstr ""
7682 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
7683 "に注意しよう。"
7684
7685 #. type: Plain text
7686 #: build/C/man3/popen.3:123
7687 msgid ""
7688 "The B<pclose>()  function waits for the associated process to terminate and "
7689 "returns the exit status of the command as returned by B<wait4>(2)."
7690 msgstr ""
7691 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
7692 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
7693
7694 #. type: Plain text
7695 #: build/C/man3/popen.3:131
7696 msgid ""
7697 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
7698 "calls fail, or if it cannot allocate memory."
7699 msgstr ""
7700 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
7701 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
7702
7703 #.  These conditions actually give undefined results, so I commented
7704 #.  them out.
7705 #.  .I stream
7706 #.  is not associated with a "popen()ed" command, if
7707 #. .I stream
7708 #.  already "pclose()d", or if
7709 #. type: Plain text
7710 #: build/C/man3/popen.3:143
7711 msgid ""
7712 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
7713 "some other error is detected."
7714 msgstr ""
7715 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
7716 "かった場合、 -1 を返す。"
7717
7718 #. type: Plain text
7719 #: build/C/man3/popen.3:162
7720 msgid ""
7721 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
7722 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
7723 "appropriately.  If the I<type> argument is invalid, and this condition is "
7724 "detected, I<errno> is set to B<EINVAL>."
7725 msgstr ""
7726 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
7727 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
7728 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
7729 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
7730
7731 #. type: Plain text
7732 #: build/C/man3/popen.3:169
7733 msgid ""
7734 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
7735 msgstr ""
7736 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
7737 "B<ECHILD> にセットされる。"
7738
7739 #. type: Plain text
7740 #: build/C/man3/popen.3:175
7741 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
7742 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
7743
7744 #. type: Plain text
7745 #: build/C/man3/popen.3:188
7746 msgid ""
7747 "Since the standard input of a command opened for reading shares its seek "
7748 "offset with the process that called B<popen>(), if the original process has "
7749 "done a buffered read, the command's input position may not be as expected.  "
7750 "Similarly, the output from a command opened for writing may become "
7751 "intermingled with that of the original process.  The latter can be avoided "
7752 "by calling B<fflush>(3)  before B<popen>()."
7753 msgstr ""
7754 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
7755 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
7756 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
7757 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
7758 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
7759 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
7760
7761 #.  .SH HISTORY
7762 #.  A
7763 #.  .BR popen ()
7764 #.  and a
7765 #.  .BR pclose ()
7766 #.  function appeared in Version 7 AT&T UNIX.
7767 #. type: Plain text
7768 #: build/C/man3/popen.3:198
7769 msgid ""
7770 "Failure to execute the shell is indistinguishable from the shell's failure "
7771 "to execute command, or an immediate exit of the command.  The only hint is "
7772 "an exit status of 127."
7773 msgstr ""
7774 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
7775 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
7776 "なることである。"
7777
7778 #. type: Plain text
7779 #: build/C/man3/popen.3:208
7780 msgid ""
7781 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7782 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7783 msgstr ""
7784 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7785 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7786
7787 #. type: TH
7788 #: build/C/man3/printf.3:34
7789 #, no-wrap
7790 msgid "PRINTF"
7791 msgstr "PRINTF"
7792
7793 #. type: TH
7794 #: build/C/man3/printf.3:34
7795 #, no-wrap
7796 msgid "2013-03-05"
7797 msgstr "2013-03-05"
7798
7799 #. type: Plain text
7800 #: build/C/man3/printf.3:38
7801 msgid ""
7802 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7803 "formatted output conversion"
7804 msgstr ""
7805 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7806 "指定された書式に変換して出力を行う"
7807
7808 #. type: Plain text
7809 #: build/C/man3/printf.3:42
7810 msgid "B<int printf(const char *>I<format>B<, ...);>"
7811 msgstr "B<int printf(const char *>I<format>B<, ...);>"
7812
7813 #. type: Plain text
7814 #: build/C/man3/printf.3:44
7815 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7816 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7817
7818 #. type: Plain text
7819 #: build/C/man3/printf.3:46
7820 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7821 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7822
7823 #. type: Plain text
7824 #: build/C/man3/printf.3:48
7825 msgid ""
7826 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7827 "*>I<format>B<, ...);>"
7828 msgstr ""
7829 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7830 "*>I<format>B<, ...);>"
7831
7832 #. type: Plain text
7833 #: build/C/man3/printf.3:50
7834 msgid "B<#include E<lt>stdarg.hE<gt>>"
7835 msgstr "B<#include E<lt>stdarg.hE<gt>>"
7836
7837 #. type: Plain text
7838 #: build/C/man3/printf.3:52
7839 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7840 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7841
7842 #. type: Plain text
7843 #: build/C/man3/printf.3:54
7844 msgid ""
7845 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7846 ">I<ap>B<);>"
7847 msgstr ""
7848 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7849 ">I<ap>B<);>"
7850
7851 #. type: Plain text
7852 #: build/C/man3/printf.3:56
7853 msgid ""
7854 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7855 msgstr ""
7856 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7857
7858 #. type: Plain text
7859 #: build/C/man3/printf.3:59
7860 msgid ""
7861 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7862 "*>I<format>B<, va_list >I<ap>B<);>"
7863 msgstr ""
7864 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7865 "*>I<format>B<, va_list >I<ap>B<);>"
7866
7867 #. type: Plain text
7868 #: build/C/man3/printf.3:68
7869 msgid "B<snprintf>(), B<vsnprintf>():"
7870 msgstr "B<snprintf>(), B<vsnprintf>():"
7871
7872 #. type: Plain text
7873 #: build/C/man3/printf.3:71
7874 msgid ""
7875 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7876 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7877 msgstr ""
7878 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7879 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7880
7881 #. type: Plain text
7882 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:85
7883 msgid "or I<cc -std=c99>"
7884 msgstr "or I<cc -std=c99>"
7885
7886 #. type: Plain text
7887 #: build/C/man3/printf.3:101
7888 msgid ""
7889 "The functions in the B<printf>()  family produce output according to a "
7890 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
7891 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
7892 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
7893 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
7894 "string I<str>."
7895 msgstr ""
7896 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
7897 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
7898 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
7899 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7900 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
7901
7902 #. type: Plain text
7903 #: build/C/man3/printf.3:110
7904 msgid ""
7905 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
7906 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
7907 msgstr ""
7908 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
7909 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
7910
7911 #. type: Plain text
7912 #: build/C/man3/printf.3:134
7913 msgid ""
7914 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
7915 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
7916 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
7917 "instead of a variable number of arguments.  These functions do not call the "
7918 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
7919 "I<ap> is undefined after the call.  See B<stdarg>(3)."
7920 msgstr ""
7921 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
7922 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
7923 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
7924 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
7925 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
7926 "(3)  を参照のこと。"
7927
7928 #. type: Plain text
7929 #: build/C/man3/printf.3:141
7930 msgid ""
7931 "These eight functions write the output under the control of a I<format> "
7932 "string that specifies how subsequent arguments (or arguments accessed via "
7933 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
7934 "output."
7935 msgstr ""
7936 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
7937 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
7938 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
7939
7940 #. type: Plain text
7941 #: build/C/man3/printf.3:152
7942 msgid ""
7943 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
7944 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
7945 "copying to take place between objects that overlap (e.g., if the target "
7946 "string array and one of the supplied input arguments refer to the same "
7947 "buffer).  See NOTES."
7948 msgstr ""
7949 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7950 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
7951 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
7952 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
7953 "照。"
7954
7955 #. type: SS
7956 #: build/C/man3/printf.3:152
7957 #, no-wrap
7958 msgid "Return value"
7959 msgstr "Return Values"
7960
7961 #. type: Plain text
7962 #: build/C/man3/printf.3:155
7963 msgid ""
7964 "Upon successful return, these functions return the number of characters "
7965 "printed (excluding the null byte used to end output to strings)."
7966 msgstr ""
7967 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
7968 "用する NULL バイトは数に含まれない)。"
7969
7970 #. type: Plain text
7971 #: build/C/man3/printf.3:171
7972 msgid ""
7973 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
7974 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
7975 "the output was truncated due to this limit then the return value is the "
7976 "number of characters (excluding the terminating null byte)  which would have "
7977 "been written to the final string if enough space had been available.  Thus, "
7978 "a return value of I<size> or more means that the output was truncated.  (See "
7979 "also below under NOTES.)"
7980 msgstr ""
7981 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
7982 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
7983 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
7984 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
7985 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
7986 "する (後述の注意も参照のこと)。"
7987
7988 #. type: Plain text
7989 #: build/C/man3/printf.3:173
7990 msgid "If an output error is encountered, a negative value is returned."
7991 msgstr "エラーが発生した場合は、負の数を返す。"
7992
7993 #. type: SS
7994 #: build/C/man3/printf.3:173
7995 #, no-wrap
7996 msgid "Format of the format string"
7997 msgstr "フォーマット文字列のフォーマット"
7998
7999 #. type: Plain text
8000 #: build/C/man3/printf.3:195
8001 msgid ""
8002 "The format string is a character string, beginning and ending in its initial "
8003 "shift state, if any.  The format string is composed of zero or more "
8004 "directives: ordinary characters (not B<%>), which are copied unchanged to "
8005 "the output stream; and conversion specifications, each of which results in "
8006 "fetching zero or more subsequent arguments.  Each conversion specification "
8007 "is introduced by the character B<%>, and ends with a I<conversion "
8008 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
8009 "an optional minimum I<field width>, an optional I<precision> and an optional "
8010 "I<length modifier>."
8011 msgstr ""
8012 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
8013 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
8014 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
8015 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
8016 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
8017 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
8018 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
8019 "子> を (この順序で) 置くことができる。"
8020
8021 #. type: Plain text
8022 #: build/C/man3/printf.3:208
8023 msgid ""
8024 "The arguments must correspond properly (after type promotion) with the "
8025 "conversion specifier.  By default, the arguments are used in the order "
8026 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
8027 "next argument (and it is an error if insufficiently many arguments are "
8028 "given).  One can also specify explicitly which argument is taken, at each "
8029 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
8030 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
8031 "denotes the position in the argument list of the desired argument, indexed "
8032 "starting from 1.  Thus,"
8033 msgstr ""
8034 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
8035 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
8036 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
8037 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
8038 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
8039 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
8040 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
8041
8042 #. type: Plain text
8043 #: build/C/man3/printf.3:212
8044 #, no-wrap
8045 msgid "printf(\"%*d\", width, num);\n"
8046 msgstr "printf(\"%*d\", width, num);\n"
8047
8048 #. type: Plain text
8049 #: build/C/man3/printf.3:216
8050 msgid "and"
8051 msgstr "と"
8052
8053 #. type: Plain text
8054 #: build/C/man3/printf.3:220
8055 #, no-wrap
8056 msgid "printf(\"%2$*1$d\", width, num);\n"
8057 msgstr "printf(\"%2$*1$d\", width, num);\n"
8058
8059 #. type: Plain text
8060 #: build/C/man3/printf.3:236
8061 msgid ""
8062 "are equivalent.  The second style allows repeated references to the same "
8063 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
8064 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
8065 "\\(aq is used, it must be used throughout for all conversions taking an "
8066 "argument and all width and precision arguments, but it may be mixed with \"%%"
8067 "\" formats which do not consume an argument.  There may be no gaps in the "
8068 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
8069 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
8070 "format string."
8071 msgstr ""
8072 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
8073 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
8074 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
8075 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
8076 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
8077 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
8078 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
8079
8080 #. type: Plain text
8081 #: build/C/man3/printf.3:246
8082 msgid ""
8083 "For some numeric conversions a radix character (\"decimal point\") or "
8084 "thousands' grouping character is used.  The actual character used depends on "
8085 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
8086 "radix character, and does not have a grouping character.  Thus,"
8087 msgstr ""
8088 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
8089 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
8090 "\\(aq を用い、 区切り文字は使わない。 従って、"
8091
8092 #. type: Plain text
8093 #: build/C/man3/printf.3:250
8094 #, no-wrap
8095 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
8096 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
8097
8098 #. type: Plain text
8099 #: build/C/man3/printf.3:255
8100 msgid ""
8101 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
8102 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
8103 msgstr ""
8104 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
8105 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
8106
8107 #. type: SS
8108 #: build/C/man3/printf.3:255
8109 #, no-wrap
8110 msgid "The flag characters"
8111 msgstr "フラグ文字"
8112
8113 #. type: Plain text
8114 #: build/C/man3/printf.3:257
8115 msgid "The character % is followed by zero or more of the following flags:"
8116 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8117
8118 #. type: TP
8119 #: build/C/man3/printf.3:257
8120 #, no-wrap
8121 msgid "B<#>"
8122 msgstr "B<#>"
8123
8124 #. type: Plain text
8125 #: build/C/man3/printf.3:291
8126 msgid ""
8127 "The value should be converted to an \"alternate form\".  For B<o> "
8128 "conversions, the first character of the output string is made zero (by "
8129 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8130 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8131 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8132 "conversions, the result will always contain a decimal point, even if no "
8133 "digits follow it (normally, a decimal point appears in the results of those "
8134 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8135 "trailing zeros are not removed from the result as they would otherwise be.  "
8136 "For other conversions, the result is undefined."
8137 msgstr ""
8138 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8139 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8140 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8141 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8142 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8143 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8144 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8145 "変換では、結果は未定義である。"
8146
8147 #. type: TP
8148 #: build/C/man3/printf.3:291
8149 #, no-wrap
8150 msgid "B<\\&0>"
8151 msgstr "B<\\&0>"
8152
8153 #. type: Plain text
8154 #: build/C/man3/printf.3:331
8155 msgid ""
8156 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8157 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8158 "converted value is padded on the left with zeros rather than blanks.  If the "
8159 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8160 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8161 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8162 "is undefined."
8163 msgstr ""
8164 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8165 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8166 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8167 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8168 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8169 "である。"
8170
8171 #. type: TP
8172 #: build/C/man3/printf.3:331
8173 #, no-wrap
8174 msgid "B<->"
8175 msgstr "B<->"
8176
8177 #. type: Plain text
8178 #: build/C/man3/printf.3:344
8179 msgid ""
8180 "The converted value is to be left adjusted on the field boundary.  (The "
8181 "default is right justification.)  Except for B<n> conversions, the converted "
8182 "value is padded on the right with blanks, rather than on the left with "
8183 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8184 msgstr ""
8185 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8186 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8187 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8188
8189 #. type: TP
8190 #: build/C/man3/printf.3:344
8191 #, no-wrap
8192 msgid "B<\\(aq \\(aq>"
8193 msgstr "B<' '>"
8194
8195 #. type: Plain text
8196 #: build/C/man3/printf.3:348
8197 msgid ""
8198 "(a space) A blank should be left before a positive number (or empty string) "
8199 "produced by a signed conversion."
8200 msgstr ""
8201 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8202 "列) が置かれる。"
8203
8204 #. type: TP
8205 #: build/C/man3/printf.3:348
8206 #, no-wrap
8207 msgid "B<+>"
8208 msgstr "B<+>"
8209
8210 #. type: Plain text
8211 #: build/C/man3/printf.3:356
8212 msgid ""
8213 "A sign (+ or -) should always be placed before a number produced by a signed "
8214 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8215 "overrides a space if both are used."
8216 msgstr ""
8217 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8218 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8219 "が使われている場合には、 B<+> が優先される。"
8220
8221 #. type: Plain text
8222 #: build/C/man3/printf.3:359
8223 msgid ""
8224 "The five flag characters above are defined in the C standard.  The SUSv2 "
8225 "specifies one further flag character."
8226 msgstr ""
8227 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8228 "グ文字が規定されている。"
8229
8230 #. type: TP
8231 #: build/C/man3/printf.3:359
8232 #, no-wrap
8233 msgid "B<\\(aq>"
8234 msgstr "B<\\(aq>"
8235
8236 #. type: Plain text
8237 #: build/C/man3/printf.3:376
8238 msgid ""
8239 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8240 "output is to be grouped with thousands' grouping characters if the locale "
8241 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8242 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8243 "\\(aqF>."
8244 msgstr ""
8245 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8246 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8247 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8248 "\\(aqF は SUSv2 には含まれていない。"
8249
8250 #. type: Plain text
8251 #: build/C/man3/printf.3:378
8252 msgid "glibc 2.2 adds one further flag character."
8253 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8254
8255 #. type: TP
8256 #: build/C/man3/printf.3:378
8257 #, no-wrap
8258 msgid "B<I>"
8259 msgstr "B<I>"
8260
8261 #.  outdigits keyword in locale file
8262 #. type: Plain text
8263 #: build/C/man3/printf.3:388
8264 msgid ""
8265 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8266 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8267 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8268 msgstr ""
8269 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8270 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8271 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8272
8273 #. type: SS
8274 #: build/C/man3/printf.3:388
8275 #, no-wrap
8276 msgid "The field width"
8277 msgstr "フィールド幅"
8278
8279 #. type: Plain text
8280 #: build/C/man3/printf.3:404
8281 msgid ""
8282 "An optional decimal digit string (with nonzero first digit) specifying a "
8283 "minimum field width.  If the converted value has fewer characters than the "
8284 "field width, it will be padded with spaces on the left (or right, if the "
8285 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8286 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8287 "the field width is given in the next argument, or in the I<m>-th argument, "
8288 "respectively, which must be of type I<int>.  A negative field width is taken "
8289 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8290 "nonexistent or small field width cause truncation of a field; if the result "
8291 "of a conversion is wider than the field width, the field is expanded to "
8292 "contain the conversion result."
8293 msgstr ""
8294 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8295 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8296 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8297 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8298 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8299 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8300 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8301 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8302 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8303 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8304
8305 #. type: SS
8306 #: build/C/man3/printf.3:404
8307 #, no-wrap
8308 msgid "The precision"
8309 msgstr "精度"
8310
8311 #. type: Plain text
8312 #: build/C/man3/printf.3:440
8313 msgid ""
8314 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8315 "optional decimal digit string.  Instead of a decimal digit string one may "
8316 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8317 "precision is given in the next argument, or in the m-th argument, "
8318 "respectively, which must be of type I<int>.  If the precision is given as "
8319 "just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
8320 "zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
8321 "B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
8322 "the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
8323 "the maximum number of significant digits for B<g> and B<G> conversions, or "
8324 "the maximum number of characters to be printed from a string for B<s> and "
8325 "B<S> conversions."
8326 msgstr ""
8327 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8328 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8329 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8330 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8331 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8332 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8333 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8334 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8335 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8336 "る最大文字数を指定する。"
8337
8338 #. type: SS
8339 #: build/C/man3/printf.3:440
8340 #, no-wrap
8341 msgid "The length modifier"
8342 msgstr "長さ修飾子"
8343
8344 #. type: Plain text
8345 #: build/C/man3/printf.3:450
8346 msgid ""
8347 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8348 "B<X> conversion."
8349 msgstr ""
8350 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8351
8352 #. type: TP
8353 #: build/C/man3/printf.3:450 build/C/man3/scanf.3:294
8354 #, no-wrap
8355 msgid "B<hh>"
8356 msgstr "B<hh>"
8357
8358 #. type: Plain text
8359 #: build/C/man3/printf.3:461
8360 msgid ""
8361 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8362 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8363 "I<signed char> argument."
8364 msgstr ""
8365 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8366 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8367
8368 #. type: TP
8369 #: build/C/man3/printf.3:461 build/C/man3/scanf.3:284
8370 #, no-wrap
8371 msgid "B<h>"
8372 msgstr "B<h>"
8373
8374 #. type: Plain text
8375 #: build/C/man3/printf.3:472
8376 msgid ""
8377 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8378 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8379 "to a I<short int> argument."
8380 msgstr ""
8381 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8382 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8383
8384 #. type: TP
8385 #: build/C/man3/printf.3:472 build/C/man3/scanf.3:311
8386 #, no-wrap
8387 msgid "B<l>"
8388 msgstr "B<l>"
8389
8390 #. type: Plain text
8391 #: build/C/man3/printf.3:491
8392 msgid ""
8393 "(ell) A following integer conversion corresponds to a I<long int> or "
8394 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8395 "a pointer to a I<long int> argument, or a following B<c> conversion "
8396 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8397 "corresponds to a pointer to I<wchar_t> argument."
8398 msgstr ""
8399 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8400 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8401 "変換では I<wchar_t> へのポインタであることを示す。"
8402
8403 #. type: TP
8404 #: build/C/man3/printf.3:491
8405 #, no-wrap
8406 msgid "B<ll>"
8407 msgstr "B<ll> (エルエル)"
8408
8409 #. type: Plain text
8410 #: build/C/man3/printf.3:503
8411 msgid ""
8412 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8413 "or I<unsigned long long int> argument, or a following B<n> conversion "
8414 "corresponds to a pointer to a I<long long int> argument."
8415 msgstr ""
8416 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8417 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8418
8419 #. type: TP
8420 #: build/C/man3/printf.3:503 build/C/man3/scanf.3:338
8421 #, no-wrap
8422 msgid "B<L>"
8423 msgstr "B<L>"
8424
8425 #. type: Plain text
8426 #: build/C/man3/printf.3:519
8427 msgid ""
8428 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8429 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8430 "not.)"
8431 msgstr ""
8432 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8433 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8434 "認められていない。)"
8435
8436 #. type: TP
8437 #: build/C/man3/printf.3:519 build/C/man3/scanf.3:354
8438 #, no-wrap
8439 msgid "B<q>"
8440 msgstr "B<q>"
8441
8442 #. type: Plain text
8443 #: build/C/man3/printf.3:525
8444 msgid ""
8445 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8446 "B<ll>."
8447 msgstr ""
8448 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8449 "意味である。"
8450
8451 #. type: TP
8452 #: build/C/man3/printf.3:525 build/C/man3/scanf.3:302
8453 #, no-wrap
8454 msgid "B<j>"
8455 msgstr "B<j>"
8456
8457 #. type: Plain text
8458 #: build/C/man3/printf.3:532
8459 msgid ""
8460 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8461 "argument."
8462 msgstr ""
8463 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8464
8465 #. type: TP
8466 #: build/C/man3/printf.3:532 build/C/man3/scanf.3:366
8467 #, no-wrap
8468 msgid "B<z>"
8469 msgstr "B<z>"
8470
8471 #. type: Plain text
8472 #: build/C/man3/printf.3:543
8473 msgid ""
8474 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8475 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8476 msgstr ""
8477 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8478 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8479
8480 #. type: TP
8481 #: build/C/man3/printf.3:543 build/C/man3/scanf.3:359
8482 #, no-wrap
8483 msgid "B<t>"
8484 msgstr "B<t>"
8485
8486 #. type: Plain text
8487 #: build/C/man3/printf.3:548
8488 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8489 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8490
8491 #. type: Plain text
8492 #: build/C/man3/printf.3:577
8493 msgid ""
8494 "The SUSv2 knows about only the length modifiers B<h> (in B<hd>, B<hi>, "
8495 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8496 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8497 msgstr ""
8498 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8499 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8500 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8501
8502 #. type: SS
8503 #: build/C/man3/printf.3:577
8504 #, no-wrap
8505 msgid "The conversion specifier"
8506 msgstr "変換指定子"
8507
8508 #. type: Plain text
8509 #: build/C/man3/printf.3:580
8510 msgid ""
8511 "A character that specifies the type of conversion to be applied.  The "
8512 "conversion specifiers and their meanings are:"
8513 msgstr ""
8514 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8515
8516 #. type: TP
8517 #: build/C/man3/printf.3:580
8518 #, no-wrap
8519 msgid "B<d>, B<i>"
8520 msgstr "B<d>, B<i>"
8521
8522 #. type: Plain text
8523 #: build/C/man3/printf.3:590
8524 msgid ""
8525 "The I<int> argument is converted to signed decimal notation.  The precision, "
8526 "if any, gives the minimum number of digits that must appear; if the "
8527 "converted value requires fewer digits, it is padded on the left with zeros.  "
8528 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8529 "the output is empty."
8530 msgstr ""
8531 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8532 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8533 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8534 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8535
8536 #. type: TP
8537 #: build/C/man3/printf.3:590
8538 #, no-wrap
8539 msgid "B<o>, B<u>, B<x>, B<X>"
8540 msgstr "B<o>, B<u>, B<x>, B<X>"
8541
8542 #. type: Plain text
8543 #: build/C/man3/printf.3:617
8544 msgid ""
8545 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8546 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8547 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8548 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8549 "of digits that must appear; if the converted value requires fewer digits, it "
8550 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8551 "printed with an explicit precision 0, the output is empty."
8552 msgstr ""
8553 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8554 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8555 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8556 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8557 "られる。"
8558
8559 #. type: TP
8560 #: build/C/man3/printf.3:617
8561 #, no-wrap
8562 msgid "B<e>, B<E>"
8563 msgstr "B<e>, B<E>"
8564
8565 #. type: Plain text
8566 #: build/C/man3/printf.3:636
8567 msgid ""
8568 "The I<double> argument is rounded and converted in the style [-]dB<\\&."
8569 ">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
8570 "and the number of digits after it is equal to the precision; if the "
8571 "precision is missing, it is taken as 6; if the precision is zero, no decimal-"
8572 "point character appears.  An B<E> conversion uses the letter B<E> (rather "
8573 "than B<e>)  to introduce the exponent.  The exponent always contains at "
8574 "least two digits; if the value is zero, the exponent is 00."
8575 msgstr ""
8576 "I<double> 引き数を丸めて [-]dB<\\&.>dddB<e>\\(+-dd の形に変換する。\n"
8577 "小数点の前には一桁の数字があり、小数点以下の桁数は精度で指定された桁数\n"
8578 "になる。精度は指定されなかった場合 6 とみなされる。 精度が 0 の場合には、\n"
8579 "小数点以下は表示されない。B<E> 変換では、指数を表現するときに (B<e> で\n"
8580 "はなく) B<E> が使われる。指数部分は少なくとも 2桁表示される。つまり、\n"
8581 "指数の値が 0 の場合には、00 と表示される。"
8582
8583 #. type: TP
8584 #: build/C/man3/printf.3:636
8585 #, no-wrap
8586 msgid "B<f>, B<F>"
8587 msgstr "B<f>, B<F>"
8588
8589 #. type: Plain text
8590 #: build/C/man3/printf.3:647
8591 msgid ""
8592 "The I<double> argument is rounded and converted to decimal notation in the "
8593 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8594 "character is equal to the precision specification.  If the precision is "
8595 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8596 "point character appears.  If a decimal point appears, at least one digit "
8597 "appears before it."
8598 msgstr ""
8599 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8600 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8601 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8602 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8603
8604 #. type: Plain text
8605 #: build/C/man3/printf.3:658
8606 msgid ""
8607 "(The SUSv2 does not know about B<F> and says that character string "
8608 "representations for infinity and NaN may be made available.  The C99 "
8609 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8610 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8611 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8612 msgstr ""
8613 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
8614 "行ってもよいことになっている。\n"
8615 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示"
8616 "し、\n"
8617 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
8618 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
8619
8620 #. type: TP
8621 #: build/C/man3/printf.3:658
8622 #, no-wrap
8623 msgid "B<g>, B<G>"
8624 msgstr "B<g>, B<G>"
8625
8626 #. type: Plain text
8627 #: build/C/man3/printf.3:683
8628 msgid ""
8629 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
8630 "for B<G> conversions).  The precision specifies the number of significant "
8631 "digits.  If the precision is missing, 6 digits are given; if the precision "
8632 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
8633 "conversion is less than -4 or greater than or equal to the precision.  "
8634 "Trailing zeros are removed from the fractional part of the result; a decimal "
8635 "point appears only if it is followed by at least one digit."
8636 msgstr ""
8637 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
8638 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
8639 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
8640 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
8641 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
8642 "一つある場合にだけである。"
8643
8644 #. type: TP
8645 #: build/C/man3/printf.3:683
8646 #, no-wrap
8647 msgid "B<a>, B<A>"
8648 msgstr "B<a>, B<A>"
8649
8650 #. type: Plain text
8651 #: build/C/man3/printf.3:707
8652 msgid ""
8653 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
8654 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
8655 "\\&.>hhhhB<p>\\(+-; for B<A> conversion the prefix B<0X>, the letters "
8656 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
8657 "digit before the decimal point, and the number of digits after it is equal "
8658 "to the precision.  The default precision suffices for an exact "
8659 "representation of the value if an exact representation in base 2 exists and "
8660 "otherwise is sufficiently large to distinguish values of type I<double>.  "
8661 "The digit before the decimal point is unspecified for nonnormalized numbers, "
8662 "and nonzero but otherwise unspecified for normalized numbers."
8663 msgstr ""
8664 "(C99 にはあるが SUSv2 にはない) B<a> 変換では、 I<double> 引き数を\n"
8665 "(abcdef の文字を使って) [-]B<0x>hB<\\&.>hhhhB<p>\\(+- 形式の\n"
8666 "16 進表記に変換する。\n"
8667 "B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。\n"
8668 "小数点の前には 1 桁の 16 進数が置かれ、小数点の後ろの桁数は 精度で指定\n"
8669 "された値となる。デフォルトの精度は、その値が 2 進数で正確に表現できる\n"
8670 "場合には、その値を正確に表現できる桁数となる。それ以外の場合は、\n"
8671 "I<double> 型の値を区別するのに十分な大きさとなる。 小数点の前の数字は、\n"
8672 "正規化されていない数の場合はいくつになるか分からない。 正規化された数の\n"
8673 "場合は、 0 以外の値になるが、いくつになるかは分からない。"
8674
8675 #. type: TP
8676 #: build/C/man3/printf.3:707 build/C/man3/scanf.3:459
8677 #: build/C/man3/wprintf.3:134
8678 #, no-wrap
8679 msgid "B<c>"
8680 msgstr "B<c>"
8681
8682 #. type: Plain text
8683 #: build/C/man3/printf.3:725
8684 msgid ""
8685 "If no B<l> modifier is present, the I<int> argument is converted to an "
8686 "I<unsigned char>, and the resulting character is written.  If an B<l> "
8687 "modifier is present, the I<wint_t> (wide character) argument is converted to "
8688 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
8689 "conversion state starting in the initial state, and the resulting multibyte "
8690 "string is written."
8691 msgstr ""
8692 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
8693 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
8694 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
8695 "換し、 変換されたマルチバイト文字列を出力する。"
8696
8697 #. type: TP
8698 #: build/C/man3/printf.3:725 build/C/man3/scanf.3:451
8699 #: build/C/man3/wprintf.3:148
8700 #, no-wrap
8701 msgid "B<s>"
8702 msgstr "B<s>"
8703
8704 #. type: Plain text
8705 #: build/C/man3/printf.3:740
8706 msgid ""
8707 "If no B<l> modifier is present: The I<const char *> argument is expected to "
8708 "be a pointer to an array of character type (pointer to a string).  "
8709 "Characters from the array are written up to (but not including) a "
8710 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
8711 "than the number specified are written.  If a precision is given, no null "
8712 "byte need be present; if the precision is not specified, or is greater than "
8713 "the size of the array, the array must contain a terminating null byte."
8714 msgstr ""
8715 "B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
8716 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
8717 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
8718 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
8719 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
8720 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
8721 "なければならない。"
8722
8723 #. type: Plain text
8724 #: build/C/man3/printf.3:767
8725 msgid ""
8726 "If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
8727 "to be a pointer to an array of wide characters.  Wide characters from the "
8728 "array are converted to multibyte characters (each by a call to the B<wcrtomb>"
8729 "(3)  function, with a conversion state starting in the initial state before "
8730 "the first wide character), up to and including a terminating null wide "
8731 "character.  The resulting multibyte characters are written up to (but not "
8732 "including) the terminating null byte.  If a precision is specified, no more "
8733 "bytes than the number specified are written, but no partial multibyte "
8734 "characters are written.  Note that the precision determines the number of "
8735 "I<bytes> written, not the number of I<wide characters> or I<screen "
8736 "positions>.  The array must contain a terminating null wide character, "
8737 "unless a precision is given and it is so small that the number of bytes "
8738 "written exceeds it before the end of the array is reached."
8739 msgstr ""
8740 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
8741 "の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
8742 "に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
8743 "字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
8744 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
8745 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
8746 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
8747 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
8748 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
8749 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
8750 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
8751 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
8752 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
8753 "い。"
8754
8755 #. type: TP
8756 #: build/C/man3/printf.3:767
8757 #, no-wrap
8758 msgid "B<C>"
8759 msgstr "B<C>"
8760
8761 #. type: Plain text
8762 #: build/C/man3/printf.3:773
8763 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
8764 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
8765
8766 #. type: TP
8767 #: build/C/man3/printf.3:773
8768 #, no-wrap
8769 msgid "B<S>"
8770 msgstr "B<S>"
8771
8772 #. type: Plain text
8773 #: build/C/man3/printf.3:779
8774 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
8775 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
8776
8777 #. type: TP
8778 #: build/C/man3/printf.3:779 build/C/man3/scanf.3:503
8779 #, no-wrap
8780 msgid "B<p>"
8781 msgstr "B<p>"
8782
8783 #. type: Plain text
8784 #: build/C/man3/printf.3:787
8785 msgid ""
8786 "The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
8787 "B<%#lx>)."
8788 msgstr ""
8789 "I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
8790
8791 #. type: TP
8792 #: build/C/man3/printf.3:787 build/C/man3/scanf.3:511
8793 #, no-wrap
8794 msgid "B<n>"
8795 msgstr "B<n>"
8796
8797 #. type: Plain text
8798 #: build/C/man3/printf.3:794
8799 msgid ""
8800 "The number of characters written so far is stored into the integer indicated "
8801 "by the I<int *> (or variant) pointer argument.  No argument is converted."
8802 msgstr ""
8803 "これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
8804 "整数に保存する。 引き数の変換は行われない。"
8805
8806 #. type: TP
8807 #: build/C/man3/printf.3:794
8808 #, no-wrap
8809 msgid "B<m>"
8810 msgstr "B<m>"
8811
8812 #. type: Plain text
8813 #: build/C/man3/printf.3:800
8814 msgid ""
8815 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
8816 "required."
8817 msgstr ""
8818 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
8819
8820 #. type: TP
8821 #: build/C/man3/printf.3:800 build/C/man3/scanf.3:377
8822 #, no-wrap
8823 msgid "B<%>"
8824 msgstr "B<%>"
8825
8826 #. type: Plain text
8827 #: build/C/man3/printf.3:806
8828 msgid ""
8829 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
8830 "conversion specification is \\(aq%%\\(aq."
8831 msgstr ""
8832 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
8833 "%\" となる。"
8834
8835 #. type: Plain text
8836 #: build/C/man3/printf.3:821
8837 msgid ""
8838 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8839 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
8840 "B<vsnprintf>()  functions conform to C99."
8841 msgstr ""
8842 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8843 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
8844 "B<vsnprintf>()  は C99 に準拠している。"
8845
8846 #. type: Plain text
8847 #: build/C/man3/printf.3:834
8848 msgid ""
8849 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
8850 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
8851 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
8852 "this case, and gives the return value (as always)  as the number of "
8853 "characters that would have been written in case the output string has been "
8854 "large enough."
8855 msgstr ""
8856 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
8857 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
8858 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
8859 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
8860 "出力されるであろう文字数を返す。"
8861
8862 #. type: Plain text
8863 #: build/C/man3/printf.3:848
8864 msgid ""
8865 "Linux libc4 knows about the five C standard flags.  It knows about the "
8866 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
8867 "B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, B<s>, B<u>, B<x>, and "
8868 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
8869 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
8870 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
8871 "dependent radix character, no thousands' separator, no NaN or infinity, no "
8872 "\"%m$\" and \"*m$\"."
8873 msgstr ""
8874 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
8875 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
8876 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
8877 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
8878 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
8879 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
8880 "えない。"
8881
8882 #. type: Plain text
8883 #: build/C/man3/printf.3:859
8884 msgid ""
8885 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
8886 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
8887 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
8888 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
8889 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
8890 "outputs I<strerror(errno)>."
8891 msgstr ""
8892 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
8893 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
8894 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
8895 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
8896 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
8897 "ある。"
8898
8899 #. type: Plain text
8900 #: build/C/man3/printf.3:861
8901 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
8902 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
8903
8904 #. type: Plain text
8905 #: build/C/man3/printf.3:864
8906 msgid ""
8907 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
8908 "characters B<a> and B<A>."
8909 msgstr ""
8910 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
8911 "加された。"
8912
8913 #. type: Plain text
8914 #: build/C/man3/printf.3:867
8915 msgid ""
8916 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
8917 "flag character B<I>."
8918 msgstr ""
8919 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
8920 "追加された。"
8921
8922 #. type: Plain text
8923 #: build/C/man3/printf.3:869
8924 msgid "Some programs imprudently rely on code such as the following"
8925 msgstr ""
8926 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
8927 "ラムがある。"
8928
8929 #. type: Plain text
8930 #: build/C/man3/printf.3:871
8931 #, no-wrap
8932 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
8933 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
8934
8935 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
8936 #. type: Plain text
8937 #: build/C/man3/printf.3:887
8938 msgid ""
8939 "to append text to I<buf>.  However, the standards explicitly note that the "
8940 "results are undefined if source and destination buffers overlap when calling "
8941 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
8942 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
8943 "such as the above will B<not> produce the expected results."
8944 msgstr ""
8945 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8946 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
8947 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
8948 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
8949 "結果が得られ「ない」ことがある。"
8950
8951 #.  .SH HISTORY
8952 #.  UNIX V7 defines the three routines
8953 #.  .BR printf (),
8954 #.  .BR fprintf (),
8955 #.  .BR sprintf (),
8956 #.  and has the flag \-, the width or precision *, the length modifier l,
8957 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
8958 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
8959 #.  #, + and <space> and no longer mentions D,O,U,X.
8960 #.  2.11BSD has
8961 #.  .BR vprintf (),
8962 #.  .BR vfprintf (),
8963 #.  .BR vsprintf (),
8964 #.  and warns not to use D,O,U,X.
8965 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
8966 #.  and the conversions n, p, E, G, X (with current meaning)
8967 #.  and deprecates D,O,U.
8968 #.  4.4BSD introduces the functions
8969 #.  .BR snprintf ()
8970 #.  and
8971 #.  .BR vsnprintf (),
8972 #.  and the length modifier q.
8973 #.  FreeBSD also has functions
8974 #.  .BR asprintf ()
8975 #.  and
8976 #.  .BR vasprintf (),
8977 #.  that allocate a buffer large enough for
8978 #.  .BR sprintf ().
8979 #.  In glibc there are functions
8980 #.  .BR dprintf ()
8981 #.  and
8982 #.  .BR vdprintf ()
8983 #.  that print to a file descriptor instead of a stream.
8984 #. type: Plain text
8985 #: build/C/man3/printf.3:929
8986 msgid ""
8987 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
8988 "conforms to the C99 standard, that is, behaves as described above, since "
8989 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
8990 "was truncated."
8991 msgstr ""
8992 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
8993 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
8994 "切り詰められた場合は -1 を返す。"
8995
8996 #. type: Plain text
8997 #: build/C/man3/printf.3:946
8998 msgid ""
8999 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
9000 "callers must be careful not to overflow the actual space; this is often "
9001 "impossible to assure.  Note that the length of the strings produced is "
9002 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
9003 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
9004 msgstr ""
9005 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
9006 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
9007 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
9008 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
9009 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
9010
9011 #. type: Plain text
9012 #: build/C/man3/printf.3:959
9013 msgid ""
9014 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
9015 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
9016 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
9017 "libc4 leads to serious security problems."
9018 msgstr ""
9019 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
9020 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
9021 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
9022 "深刻なセキュリティ問題を引き起こすことがある。"
9023
9024 #.  .PP
9025 #.  Some floating-point conversions under early libc4
9026 #.  caused memory leaks.
9027 #. type: Plain text
9028 #: build/C/man3/printf.3:973
9029 msgid ""
9030 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
9031 "contain a % character.  If I<foo> comes from untrusted user input, it may "
9032 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
9033 "a security hole."
9034 msgstr ""
9035 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
9036 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
9037 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
9038 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
9039 "ルを作ることになるかもしれない。"
9040
9041 #. type: Plain text
9042 #: build/C/man3/printf.3:977
9043 msgid "To print I<Pi> to five decimal places:"
9044 msgstr "I<Pi> を 5 桁で出力する。"
9045
9046 #. type: Plain text
9047 #: build/C/man3/printf.3:983
9048 #, no-wrap
9049 msgid ""
9050 "#include E<lt>math.hE<gt>\n"
9051 "#include E<lt>stdio.hE<gt>\n"
9052 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9053 msgstr ""
9054 "#include E<lt>math.hE<gt>\n"
9055 "#include E<lt>stdio.hE<gt>\n"
9056 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9057
9058 #. type: Plain text
9059 #: build/C/man3/printf.3:992
9060 msgid ""
9061 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
9062 "I<weekday> and I<month> are pointers to strings:"
9063 msgstr ""
9064 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
9065 "I<month> は文字列へのポインタである)"
9066
9067 #. type: Plain text
9068 #: build/C/man3/printf.3:998
9069 #, no-wrap
9070 msgid ""
9071 "#include E<lt>stdio.hE<gt>\n"
9072 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9073 "        weekday, month, day, hour, min);\n"
9074 msgstr ""
9075 "#include E<lt>stdio.hE<gt>\n"
9076 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9077 "\tweekday, month, day, hour, min);\n"
9078
9079 #. type: Plain text
9080 #: build/C/man3/printf.3:1004
9081 msgid ""
9082 "Many countries use the day-month-year order.  Hence, an internationalized "
9083 "version must be able to print the arguments in an order specified by the "
9084 "format:"
9085 msgstr ""
9086 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
9087 "順番で 引き数を表示できなければならない。"
9088
9089 #. type: Plain text
9090 #: build/C/man3/printf.3:1010
9091 #, no-wrap
9092 msgid ""
9093 "#include E<lt>stdio.hE<gt>\n"
9094 "fprintf(stdout, format,\n"
9095 "        weekday, month, day, hour, min);\n"
9096 msgstr ""
9097 "#include E<lt>stdio.hE<gt>\n"
9098 "fprintf(stdout, format,\n"
9099 "\tweekday, month, day, hour, min);\n"
9100
9101 #. type: Plain text
9102 #: build/C/man3/printf.3:1017
9103 msgid ""
9104 "where I<format> depends on locale, and may permute the arguments.  With the "
9105 "value:"
9106 msgstr ""
9107 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
9108 "I<format> が"
9109
9110 #. type: Plain text
9111 #: build/C/man3/printf.3:1021
9112 #, no-wrap
9113 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9114 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9115
9116 #. type: Plain text
9117 #: build/C/man3/printf.3:1025
9118 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9119 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9120
9121 #. type: Plain text
9122 #: build/C/man3/printf.3:1028
9123 msgid ""
9124 "To allocate a sufficiently large string and print into it (code correct for "
9125 "both glibc 2.0 and glibc 2.1):"
9126 msgstr ""
9127 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9128 "と glibc 2.1 の両方で正しく動作するコード):"
9129
9130 #. type: Plain text
9131 #: build/C/man3/printf.3:1031
9132 msgid ""
9133 "If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
9134 "error instead of being handled gracefully."
9135 msgstr ""
9136
9137 #. type: Plain text
9138 #: build/C/man3/printf.3:1036
9139 #, no-wrap
9140 msgid ""
9141 "#include E<lt>stdio.hE<gt>\n"
9142 "#include E<lt>stdlib.hE<gt>\n"
9143 "#include E<lt>stdarg.hE<gt>\n"
9144 msgstr ""
9145 "#include E<lt>stdio.hE<gt>\n"
9146 "#include E<lt>stdlib.hE<gt>\n"
9147 "#include E<lt>stdarg.hE<gt>\n"
9148
9149 #. type: Plain text
9150 #: build/C/man3/printf.3:1044
9151 #, no-wrap
9152 msgid ""
9153 "char *\n"
9154 "make_message(const char *fmt, ...)\n"
9155 "{\n"
9156 "    int n;\n"
9157 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
9158 "    char *p, *np;\n"
9159 "    va_list ap;\n"
9160 msgstr ""
9161 "char *\n"
9162 "make_message(const char *fmt, ...)\n"
9163 "{\n"
9164 "    int n;\n"
9165 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
9166 "    char *p, *np;\n"
9167 "    va_list ap;\n"
9168
9169 #. type: Plain text
9170 #: build/C/man3/printf.3:1047
9171 #, no-wrap
9172 msgid ""
9173 "    if ((p = malloc(size)) == NULL)\n"
9174 "        return NULL;\n"
9175 msgstr ""
9176 "    if ((p = malloc(size)) == NULL)\n"
9177 "        return NULL;\n"
9178
9179 #. type: Plain text
9180 #: build/C/man3/printf.3:1049
9181 #, no-wrap
9182 msgid "    while (1) {\n"
9183 msgstr "    while (1) {\n"
9184
9185 #. type: Plain text
9186 #: build/C/man3/printf.3:1051
9187 #, no-wrap
9188 msgid "        /* Try to print in the allocated space */\n"
9189 msgstr "        /* Try to print in the allocated space */\n"
9190
9191 #. type: Plain text
9192 #: build/C/man3/printf.3:1055
9193 #, no-wrap
9194 msgid ""
9195 "        va_start(ap, fmt);\n"
9196 "        n = vsnprintf(p, size, fmt, ap);\n"
9197 "        va_end(ap);\n"
9198 msgstr ""
9199 "        va_start(ap, fmt);\n"
9200 "        n = vsnprintf(p, size, fmt, ap);\n"
9201 "        va_end(ap);\n"
9202
9203 #. type: Plain text
9204 #: build/C/man3/printf.3:1057
9205 #, no-wrap
9206 msgid "        /* Check error code */\n"
9207 msgstr "        /* Check error code */\n"
9208
9209 #. type: Plain text
9210 #: build/C/man3/printf.3:1060
9211 #, no-wrap
9212 msgid ""
9213 "        if (n E<lt> 0)\n"
9214 "            return NULL;\n"
9215 msgstr ""
9216 "        if (n E<lt> 0)\n"
9217 "            return NULL;\n"
9218
9219 #. type: Plain text
9220 #: build/C/man3/printf.3:1062
9221 #, no-wrap
9222 msgid "        /* If that worked, return the string */\n"
9223 msgstr "        /* If that worked, return the string */\n"
9224
9225 #. type: Plain text
9226 #: build/C/man3/printf.3:1065
9227 #, no-wrap
9228 msgid ""
9229 "        if (n E<lt> size)\n"
9230 "            return p;\n"
9231 msgstr ""
9232 "        if (n E<lt> size)\n"
9233 "            return p;\n"
9234
9235 #. type: Plain text
9236 #: build/C/man3/printf.3:1067
9237 #, no-wrap
9238 msgid "        /* Else try again with more space */\n"
9239 msgstr "        /* Else try again with more space */\n"
9240
9241 #. type: Plain text
9242 #: build/C/man3/printf.3:1069
9243 #, no-wrap
9244 msgid "        size = n + 1;       /* Precisely what is needed */\n"
9245 msgstr "        size = n + 1;       /* Precisely what is needed */\n"
9246
9247 #. type: Plain text
9248 #: build/C/man3/printf.3:1079
9249 #, no-wrap
9250 msgid ""
9251 "        if ((np = realloc (p, size)) == NULL) {\n"
9252 "            free(p);\n"
9253 "            return NULL;\n"
9254 "        } else {\n"
9255 "            p = np;\n"
9256 "        }\n"
9257 "    }\n"
9258 "}\n"
9259 msgstr ""
9260 "        if ((np = realloc (p, size)) == NULL) {\n"
9261 "            free(p);\n"
9262 "            return NULL;\n"
9263 "        } else {\n"
9264 "            p = np;\n"
9265 "        }\n"
9266 "    }\n"
9267 "}\n"
9268
9269 #. type: Plain text
9270 #: build/C/man3/printf.3:1089
9271 msgid ""
9272 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9273 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9274 msgstr ""
9275 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9276 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9277
9278 #. type: TH
9279 #: build/C/man3/puts.3:26
9280 #, no-wrap
9281 msgid "PUTS"
9282 msgstr "PUTS"
9283
9284 #. type: TH
9285 #: build/C/man3/puts.3:26
9286 #, no-wrap
9287 msgid "2011-09-28"
9288 msgstr "2011-09-28"
9289
9290 #. type: Plain text
9291 #: build/C/man3/puts.3:29
9292 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9293 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9294
9295 #. type: Plain text
9296 #: build/C/man3/puts.3:34
9297 #, no-wrap
9298 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9299 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9300
9301 #. type: Plain text
9302 #: build/C/man3/puts.3:36
9303 #, no-wrap
9304 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9305 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9306
9307 #. type: Plain text
9308 #: build/C/man3/puts.3:38
9309 #, no-wrap
9310 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9311 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9312
9313 #. type: Plain text
9314 #: build/C/man3/puts.3:40
9315 #, no-wrap
9316 msgid "B<int putchar(int >I<c>B<);>\n"
9317 msgstr "B<int putchar(int >I<c>B<);>\n"
9318
9319 #. type: Plain text
9320 #: build/C/man3/puts.3:42
9321 #, no-wrap
9322 msgid "B<int puts(const char *>I<s>B<);>\n"
9323 msgstr "B<int puts(const char *>I<s>B<);>\n"
9324
9325 #. type: Plain text
9326 #: build/C/man3/puts.3:51
9327 msgid ""
9328 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9329 "I<stream>."
9330 msgstr ""
9331 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9332 "に書き込む。"
9333
9334 #. type: Plain text
9335 #: build/C/man3/puts.3:58
9336 msgid ""
9337 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9338 "null byte (\\(aq\\e0\\(aq)."
9339 msgstr ""
9340 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9341 "ト (\\(aq\\e0\\(aq) は出力しない。"
9342
9343 #. type: Plain text
9344 #: build/C/man3/puts.3:65
9345 msgid ""
9346 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9347 "a macro which evaluates I<stream> more than once."
9348 msgstr ""
9349 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9350 "れないという点を除き、 B<fputc>()  と同じである。"
9351
9352 #. type: Plain text
9353 #: build/C/man3/puts.3:69
9354 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9355 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9356
9357 #. type: Plain text
9358 #: build/C/man3/puts.3:76
9359 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9360 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9361
9362 #. type: Plain text
9363 #: build/C/man3/puts.3:81
9364 msgid ""
9365 "Calls to the functions described here can be mixed with each other and with "
9366 "calls to other output functions from the I<stdio> library for the same "
9367 "output stream."
9368 msgstr ""
9369 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9370 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9371 "る。"
9372
9373 #. type: Plain text
9374 #: build/C/man3/puts.3:96
9375 msgid ""
9376 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9377 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9378 msgstr ""
9379 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9380 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9381
9382 #. type: Plain text
9383 #: build/C/man3/puts.3:103
9384 msgid ""
9385 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9386 "on error."
9387 msgstr ""
9388 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9389 "は B<EOF> を返す。"
9390
9391 #. type: Plain text
9392 #: build/C/man3/puts.3:112
9393 msgid ""
9394 "It is not advisable to mix calls to output functions from the I<stdio> "
9395 "library with low-level calls to B<write>(2)  for the file descriptor "
9396 "associated with the same output stream; the results will be undefined and "
9397 "very probably not what you want."
9398 msgstr ""
9399 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9400 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9401 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9402 "性が高い。"
9403
9404 #. type: Plain text
9405 #: build/C/man3/puts.3:124
9406 msgid ""
9407 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9408 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9409 "(3)"
9410 msgstr ""
9411 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9412 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9413 "(3)"
9414
9415 #. type: TH
9416 #: build/C/man2/read.2:35
9417 #, no-wrap
9418 msgid "READ"
9419 msgstr "READ"
9420
9421 #. type: TH
9422 #: build/C/man2/read.2:35
9423 #, no-wrap
9424 msgid "2013-02-12"
9425 msgstr "2013-02-12"
9426
9427 #. type: Plain text
9428 #: build/C/man2/read.2:38
9429 msgid "read - read from a file descriptor"
9430 msgstr "read - ファイルディスクリプタから読み込む"
9431
9432 #. type: Plain text
9433 #: build/C/man2/read.2:43
9434 #, no-wrap
9435 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9436 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9437
9438 #. type: Plain text
9439 #: build/C/man2/read.2:52
9440 msgid ""
9441 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9442 "into the buffer starting at I<buf>."
9443 msgstr ""
9444 "B<read>()  はファイルディスクリプタ (file descriptor)  I<fd> から最大 "
9445 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9446
9447 #. type: Plain text
9448 #: build/C/man2/read.2:60
9449 msgid ""
9450 "On files that support seeking, the read operation commences at the current "
9451 "file offset, and the file offset is incremented by the number of bytes "
9452 "read.  If the current file offset is at or past the end of file, no bytes "
9453 "are read, and B<read>()  returns zero."
9454 msgstr ""
9455
9456 #. type: Plain text
9457 #: build/C/man2/read.2:75
9458 msgid ""
9459 "If I<count> is zero, B<read>()  I<may> detect the errors described below.  "
9460 "In the absence of any errors, or if B<read>()  does not check for errors, a "
9461 "B<read>()  with a I<count> of 0 returns zero and has no other effects."
9462 msgstr ""
9463
9464 #. type: Plain text
9465 #: build/C/man2/read.2:81
9466 msgid "If I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9467 msgstr "I<count> が B<SSIZE_MAX> より大きければ、結果は規定できない。"
9468
9469 #. type: Plain text
9470 #: build/C/man2/read.2:95
9471 msgid ""
9472 "On success, the number of bytes read is returned (zero indicates end of "
9473 "file), and the file position is advanced by this number.  It is not an error "
9474 "if this number is smaller than the number of bytes requested; this may "
9475 "happen for example because fewer bytes are actually available right now "
9476 "(maybe because we were close to end-of-file, or because we are reading from "
9477 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9478 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9479 "this case it is left unspecified whether the file position (if any) changes."
9480 msgstr ""
9481 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9482 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9483 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9484 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9485 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9486 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9487 "の場合はファイル位置が変更されるかどうかは 不定である。"
9488
9489 #. type: TP
9490 #: build/C/man2/read.2:96 build/C/man3/scanf.3:549 build/C/man2/write.2:108
9491 #, no-wrap
9492 msgid "B<EAGAIN>"
9493 msgstr "B<EAGAIN>"
9494
9495 #. type: Plain text
9496 #: build/C/man2/read.2:103
9497 msgid ""
9498 "The file descriptor I<fd> refers to a file other than a socket and has been "
9499 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9500 msgstr ""
9501 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
9502 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9503 "する状況にある。"
9504
9505 #. type: TP
9506 #: build/C/man2/read.2:103 build/C/man2/write.2:115
9507 #, no-wrap
9508 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9509 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9510
9511 #.  Actually EAGAIN on Linux
9512 #. type: Plain text
9513 #: build/C/man2/read.2:114
9514 msgid ""
9515 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9516 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9517 "to be returned for this case, and does not require these constants to have "
9518 "the same value, so a portable application should check for both "
9519 "possibilities."
9520 msgstr ""
9521 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
9522 "モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にあ"
9523 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
9524 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
9525 "プリケーションでは、両方の可能性を 確認すべきである。"
9526
9527 #. type: Plain text
9528 #: build/C/man2/read.2:118
9529 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9530 msgstr ""
9531 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
9532 "(open) されていない。"
9533
9534 #. type: Plain text
9535 #: build/C/man2/read.2:122 build/C/man2/write.2:145
9536 msgid "I<buf> is outside your accessible address space."
9537 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9538
9539 #. type: Plain text
9540 #: build/C/man2/read.2:126
9541 msgid ""
9542 "The call was interrupted by a signal before any data was read; see B<signal>"
9543 "(7)."
9544 msgstr ""
9545 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9546
9547 #. type: Plain text
9548 #: build/C/man2/read.2:137
9549 msgid ""
9550 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9551 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9552 "I<buf>, the value specified in I<count>, or the current file offset is not "
9553 "suitably aligned."
9554 msgstr ""
9555 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9556 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9557 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9558 "ンメントが不適切である。"
9559
9560 #. type: Plain text
9561 #: build/C/man2/read.2:147
9562 msgid ""
9563 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9564 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9565 "information."
9566 msgstr ""
9567 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9568 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9569 "こと。"
9570
9571 #. type: Plain text
9572 #: build/C/man2/read.2:158
9573 msgid ""
9574 "I/O error.  This will happen for example when the process is in a background "
9575 "process group, tries to read from its controlling terminal, and either it is "
9576 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9577 "also occur when there is a low-level I/O error while reading from a disk or "
9578 "tape."
9579 msgstr ""
9580 "I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、それを"
9581 "制御している端末から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
9582 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
9583 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
9584 "た場合にも起こる。"
9585
9586 #. type: Plain text
9587 #: build/C/man2/read.2:162
9588 msgid "I<fd> refers to a directory."
9589 msgstr "I<fd> がディレクトリを参照している。"
9590
9591 #. type: Plain text
9592 #: build/C/man2/read.2:173
9593 msgid ""
9594 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9595 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9596 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9597 "read."
9598 msgstr ""
9599 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9600 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9601 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9602 "数を返してもよい。"
9603
9604 #. type: Plain text
9605 #: build/C/man2/read.2:187
9606 msgid ""
9607 "On NFS file systems, reading small amounts of data will update the timestamp "
9608 "only the first time, subsequent calls may not do so.  This is caused by "
9609 "client side attribute caching, because most if not all NFS clients leave "
9610 "st_atime (last file access time)  updates to the server and client side "
9611 "reads satisfied from the client's cache will not cause st_atime updates on "
9612 "the server as there are no server side reads.  UNIX semantics can be "
9613 "obtained by disabling client side attribute caching, but in most situations "
9614 "this will substantially increase server load and decrease performance."
9615 msgstr ""
9616 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
9617 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
9618 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
9619 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
9620 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
9621 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
9622 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
9623 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
9624
9625 #. type: Plain text
9626 #: build/C/man2/read.2:200
9627 msgid ""
9628 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9629 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9630 "B<fread>(3)"
9631 msgstr ""
9632 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9633 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9634 "B<fread>(3)"
9635
9636 #. type: TH
9637 #: build/C/man2/readlink.2:43
9638 #, no-wrap
9639 msgid "READLINK"
9640 msgstr "READLINK"
9641
9642 #. type: TH
9643 #: build/C/man2/readlink.2:43
9644 #, no-wrap
9645 msgid "2011-09-20"
9646 msgstr "2011-09-20"
9647
9648 #. type: Plain text
9649 #: build/C/man2/readlink.2:46
9650 msgid "readlink - read value of a symbolic link"
9651 msgstr "readlink - シンボリックリンクの値を読む"
9652
9653 #. type: Plain text
9654 #: build/C/man2/readlink.2:50
9655 msgid ""
9656 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9657 ">I<bufsiz>B<);>"
9658 msgstr ""
9659 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9660 ">I<bufsiz>B<);>"
9661
9662 #. type: Plain text
9663 #: build/C/man2/readlink.2:58
9664 msgid "B<readlink>():"
9665 msgstr "B<readlink>():"
9666
9667 #. type: Plain text
9668 #: build/C/man2/readlink.2:61 build/C/man2/symlink.2:50
9669 msgid ""
9670 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9671 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9672 msgstr ""
9673 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9674 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9675
9676 #. type: Plain text
9677 #: build/C/man2/readlink.2:77
9678 msgid ""
9679 "B<readlink>()  places the contents of the symbolic link I<path> in the "
9680 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
9681 "null byte to I<buf>.  It will truncate the contents (to a length of "
9682 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
9683 "contents."
9684 msgstr ""
9685 "B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
9686 "ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
9687 "NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
9688 "さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
9689
9690 #. type: Plain text
9691 #: build/C/man2/readlink.2:85
9692 msgid ""
9693 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
9694 "error, -1 is returned and I<errno> is set to indicate the error."
9695 msgstr ""
9696 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
9697 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
9698
9699 #. type: Plain text
9700 #: build/C/man2/readlink.2:91
9701 msgid ""
9702 "Search permission is denied for a component of the path prefix.  (See also "
9703 "B<path_resolution>(7).)"
9704 msgstr ""
9705 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
9706 "参照すること)。"
9707
9708 #. type: Plain text
9709 #: build/C/man2/readlink.2:95
9710 msgid "I<buf> extends outside the process's allocated address space."
9711 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
9712
9713 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
9714 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
9715 #.  and this error can also occur if bufsiz < 0.
9716 #.  See: http://thread.gmane.org/gmane.linux.man/380
9717 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
9718 #. type: Plain text
9719 #: build/C/man2/readlink.2:104
9720 msgid "I<bufsiz> is not positive."
9721 msgstr "I<bufsiz> が正でない。"
9722
9723 #. type: Plain text
9724 #: build/C/man2/readlink.2:107
9725 msgid "The named file is not a symbolic link."
9726 msgstr "指定したファイルがシンボリックリンクでない。"
9727
9728 #. type: Plain text
9729 #: build/C/man2/readlink.2:110
9730 msgid "An I/O error occurred while reading from the file system."
9731 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
9732
9733 #. type: Plain text
9734 #: build/C/man2/readlink.2:113
9735 msgid "Too many symbolic links were encountered in translating the pathname."
9736 msgstr "パス名にシンボリックリンクが多すぎる。"
9737
9738 #. type: Plain text
9739 #: build/C/man2/readlink.2:116
9740 msgid "A pathname, or a component of a pathname, was too long."
9741 msgstr "パス名かパス名の一部分が長過ぎる。"
9742
9743 #. type: Plain text
9744 #: build/C/man2/readlink.2:119
9745 msgid "The named file does not exist."
9746 msgstr "その名前のファイルが存在しない。"
9747
9748 #. type: Plain text
9749 #: build/C/man2/readlink.2:125
9750 msgid "A component of the path prefix is not a directory."
9751 msgstr "パスのディレクトリ部分がディレクトリでない。"
9752
9753 #. type: Plain text
9754 #: build/C/man2/readlink.2:130
9755 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
9756 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
9757
9758 #. type: Plain text
9759 #: build/C/man2/readlink.2:138
9760 msgid ""
9761 "In versions of glibc up to and including glibc 2.4, the return type of "
9762 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
9763 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
9764 msgstr ""
9765 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
9766 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
9767 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
9768
9769 #. type: Plain text
9770 #: build/C/man2/readlink.2:157
9771 msgid ""
9772 "Using a statically sized buffer might not provide enough room for the "
9773 "symbolic link contents.  The required size for the buffer can be obtained "
9774 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
9775 "link.  However, the number of bytes written by B<readlink>()  should be "
9776 "checked to make sure that the size of the symbolic link did not increase "
9777 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
9778 "also addresses a common portability problem when using I<PATH_MAX> for the "
9779 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
9780 "the system does not have such limit."
9781 msgstr ""
9782 "静的な大きさのバッファを使うと、シンボリックリンクの内容を\n"
9783 "格納するのに十分な領域がない場合がある。\n"
9784 "バッファに必要なサイズは、そのシンボリックリンクに対して B<lstat>(2)\n"
9785 "の呼び出しで返される I<stat.st_size> の値から取得できる。\n"
9786 "ただし、 B<readlink>() が書き込んだバイト数をチェックして、\n"
9787 "シンボリックリンクのサイズが B<lstat>(2) と B<readlink>() の呼び出し\n"
9788 "の間で増えていないことを確認すべきである。\n"
9789 "B<readlink>() 用のバッファを動的に割り当てる方法でも、\n"
9790 "バッファサイズとして I<PATH_MAX> を使用する場合に共通する移植性の\n"
9791 "問題を解決することができる。なぜなら、POSIX では、\n"
9792 "システムがそのような上限値を定義していない場合には、\n"
9793 "I<PATH_MAX> が定義されることが保証されていないからである。"
9794
9795 #. type: Plain text
9796 #: build/C/man2/readlink.2:163
9797 msgid ""
9798 "The following program allocates the buffer needed by B<readlink>()  "
9799 "dynamically from the information provided by B<lstat>(), making sure there's "
9800 "no race condition between the calls."
9801 msgstr ""
9802 "以下のプログラムは、 B<readlink>() が必要とするバッファを、\n"
9803 "B<lstat>() が提供する情報に基づいて動的に割り当てる。\n"
9804 "また、両方の呼び出し間で競合条件がないことを保証している。"
9805
9806 #. type: Plain text
9807 #: build/C/man2/readlink.2:170
9808 #, no-wrap
9809 msgid ""
9810 "#include E<lt>sys/types.hE<gt>\n"
9811 "#include E<lt>sys/stat.hE<gt>\n"
9812 "#include E<lt>stdio.hE<gt>\n"
9813 "#include E<lt>stdlib.hE<gt>\n"
9814 "#include E<lt>unistd.hE<gt>\n"
9815 msgstr ""
9816 "#include E<lt>sys/types.hE<gt>\n"
9817 "#include E<lt>sys/stat.hE<gt>\n"
9818 "#include E<lt>stdio.hE<gt>\n"
9819 "#include E<lt>stdlib.hE<gt>\n"
9820 "#include E<lt>unistd.hE<gt>\n"
9821
9822 #. type: Plain text
9823 #: build/C/man2/readlink.2:177
9824 #, no-wrap
9825 msgid ""
9826 "int\n"
9827 "main(int argc, char *argv[])\n"
9828 "{\n"
9829 "    struct stat sb;\n"
9830 "    char *linkname;\n"
9831 "    ssize_t r;\n"
9832 msgstr ""
9833 "int\n"
9834 "main(int argc, char *argv[])\n"
9835 "{\n"
9836 "    struct stat sb;\n"
9837 "    char *linkname;\n"
9838 "    ssize_t r;\n"
9839
9840 #. type: Plain text
9841 #: build/C/man2/readlink.2:182
9842 #, no-wrap
9843 msgid ""
9844 "    if (argc != 2) {\n"
9845 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9846 "        exit(EXIT_FAILURE);\n"
9847 "    }\n"
9848 msgstr ""
9849 "    if (argc != 2) {\n"
9850 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9851 "        exit(EXIT_FAILURE);\n"
9852 "    }\n"
9853
9854 #. type: Plain text
9855 #: build/C/man2/readlink.2:187
9856 #, no-wrap
9857 msgid ""
9858 "    if (lstat(argv[1], &sb) == -1) {\n"
9859 "        perror(\"lstat\");\n"
9860 "        exit(EXIT_FAILURE);\n"
9861 "    }\n"
9862 msgstr ""
9863 "    if (lstat(argv[1], &sb) == -1) {\n"
9864 "        perror(\"lstat\");\n"
9865 "        exit(EXIT_FAILURE);\n"
9866 "    }\n"
9867
9868 #. type: Plain text
9869 #: build/C/man2/readlink.2:193
9870 #, no-wrap
9871 msgid ""
9872 "    linkname = malloc(sb.st_size + 1);\n"
9873 "    if (linkname == NULL) {\n"
9874 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9875 "        exit(EXIT_FAILURE);\n"
9876 "    }\n"
9877 msgstr ""
9878 "    linkname = malloc(sb.st_size + 1);\n"
9879 "    if (linkname == NULL) {\n"
9880 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9881 "        exit(EXIT_FAILURE);\n"
9882 "    }\n"
9883
9884 #. type: Plain text
9885 #: build/C/man2/readlink.2:195
9886 #, no-wrap
9887 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9888 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9889
9890 #. type: Plain text
9891 #: build/C/man2/readlink.2:200
9892 #, no-wrap
9893 msgid ""
9894 "    if (r E<lt> 0) {\n"
9895 "        perror(\"lstat\");\n"
9896 "        exit(EXIT_FAILURE);\n"
9897 "    }\n"
9898 msgstr ""
9899 "    if (r E<lt> 0) {\n"
9900 "        perror(\"lstat\");\n"
9901 "        exit(EXIT_FAILURE);\n"
9902 "    }\n"
9903
9904 #. type: Plain text
9905 #: build/C/man2/readlink.2:206
9906 #, no-wrap
9907 msgid ""
9908 "    if (r E<gt> sb.st_size) {\n"
9909 "        fprintf(stderr, \"symlink increased in size \"\n"
9910 "                        \"between lstat() and readlink()\\en\");\n"
9911 "        exit(EXIT_FAILURE);\n"
9912 "    }\n"
9913 msgstr ""
9914 "    if (r E<gt> sb.st_size) {\n"
9915 "        fprintf(stderr, \"symlink increased in size \"\n"
9916 "                        \"between lstat() and readlink()\\en\");\n"
9917 "        exit(EXIT_FAILURE);\n"
9918 "    }\n"
9919
9920 #. type: Plain text
9921 #: build/C/man2/readlink.2:208
9922 #, no-wrap
9923 msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9924 msgstr "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9925
9926 #. type: Plain text
9927 #: build/C/man2/readlink.2:210
9928 #, no-wrap
9929 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9930 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9931
9932 #. type: Plain text
9933 #: build/C/man2/readlink.2:222
9934 msgid ""
9935 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9936 "B<path_resolution>(7), B<symlink>(7)"
9937 msgstr ""
9938 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
9939 "B<path_resolution>(7), B<symlink>(7)"
9940
9941 #. type: TH
9942 #: build/C/man2/readv.2:32
9943 #, no-wrap
9944 msgid "READV"
9945 msgstr "READV"
9946
9947 #. type: TH
9948 #: build/C/man2/readv.2:32
9949 #, no-wrap
9950 msgid "2010-11-17"
9951 msgstr "2010-11-17"
9952
9953 #. type: Plain text
9954 #: build/C/man2/readv.2:35
9955 msgid ""
9956 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
9957 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
9958
9959 #. type: Plain text
9960 #: build/C/man2/readv.2:38
9961 #, no-wrap
9962 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
9963 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
9964
9965 #. type: Plain text
9966 #: build/C/man2/readv.2:40
9967 #, no-wrap
9968 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9969 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9970
9971 #. type: Plain text
9972 #: build/C/man2/readv.2:42
9973 #, no-wrap
9974 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9975 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9976
9977 #. type: Plain text
9978 #: build/C/man2/readv.2:45
9979 #, no-wrap
9980 msgid ""
9981 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9982 "B<               off_t >I<offset>B<);>\n"
9983 msgstr ""
9984 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9985 "B<               off_t >I<offset>B<);>\n"
9986
9987 #. type: Plain text
9988 #: build/C/man2/readv.2:48
9989 #, no-wrap
9990 msgid ""
9991 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9992 "B<                off_t >I<offset>B<);>\n"
9993 msgstr ""
9994 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9995 "B<                off_t >I<offset>B<);>\n"
9996
9997 #. type: Plain text
9998 #: build/C/man2/readv.2:58
9999 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
10000 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
10001
10002 #. type: Plain text
10003 #: build/C/man2/readv.2:68
10004 msgid ""
10005 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
10006 "with the file descriptor I<fd> into the buffers described by I<iov> "
10007 "(\"scatter input\")."
10008 msgstr ""
10009 "B<readv>() システムコールは、ファイルディスクリプタ I<fd> に関連付けられた\n"
10010 "ファイルから、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定\n"
10011 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
10012
10013 #. type: Plain text
10014 #: build/C/man2/readv.2:78
10015 msgid ""
10016 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
10017 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
10018 "\")."
10019 msgstr ""
10020 "B<writev>() システムコールは、 I<iov> で指定されたバッファから最大 "
10021 "I<iovcnt>\n"
10022 "個のバッファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付け"
10023 "ら\n"
10024 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
10025
10026 #. type: Plain text
10027 #: build/C/man2/readv.2:87
10028 msgid ""
10029 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
10030 "I<E<lt>sys/uio.hE<gt>> as:"
10031 msgstr ""
10032 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
10033 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
10034
10035 #. type: Plain text
10036 #: build/C/man2/readv.2:95
10037 #, no-wrap
10038 msgid ""
10039 "struct iovec {\n"
10040 "    void  *iov_base;    /* Starting address */\n"
10041 "    size_t iov_len;     /* Number of bytes to transfer */\n"
10042 "};\n"
10043 msgstr ""
10044 "struct iovec {\n"
10045 "    void  *iov_base;    /* Starting address */\n"
10046 "    size_t iov_len;     /* Number of bytes to transfer */\n"
10047 "};\n"
10048
10049 #. type: Plain text
10050 #: build/C/man2/readv.2:103
10051 msgid ""
10052 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
10053 "buffers are filled."
10054 msgstr ""
10055 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
10056 "B<read>(2) と全く同様の動作を行う。"
10057
10058 #. type: Plain text
10059 #: build/C/man2/readv.2:109
10060 msgid ""
10061 "The B<writev>()  system call works just like B<write>(2)  except that "
10062 "multiple buffers are written out."
10063 msgstr ""
10064 "B<writev>() システムコールは、複数のバッファのデータを書き出す点以外は\n"
10065 "B<write>(2) と全く同様の動作を行う。"
10066
10067 #. type: Plain text
10068 #: build/C/man2/readv.2:128
10069 msgid ""
10070 "Buffers are processed in array order.  This means that B<readv>()  "
10071 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
10072 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
10073 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
10074 "[0] before proceeding to I<iov>[1], and so on."
10075 msgstr ""
10076 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
10077 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
10078 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
10079 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
10080
10081 #. type: Plain text
10082 #: build/C/man2/readv.2:146
10083 msgid ""
10084 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
10085 "data written by B<writev>()  is written as a single block that is not "
10086 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
10087 "for an exception); analogously, B<readv>()  is guaranteed to read a "
10088 "contiguous block of data from the file, regardless of read operations "
10089 "performed in other threads or processes that have file descriptors referring "
10090 "to the same open file description (see B<open>(2))."
10091 msgstr ""
10092 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
10093 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
10094 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
10095 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
10096 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
10097 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
10098 "作の影響を受けることはない。"
10099
10100 #. type: SS
10101 #: build/C/man2/readv.2:146
10102 #, no-wrap
10103 msgid "preadv() and pwritev()"
10104 msgstr "preadv() と pwritev()"
10105
10106 #. type: Plain text
10107 #: build/C/man2/readv.2:159
10108 msgid ""
10109 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
10110 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
10111 "argument, I<offset>, which specifies the file offset at which the input "
10112 "operation is to be performed."
10113 msgstr ""
10114 "B<preadv>() システムコールは B<readv>() と B<preadv>(2) の機能を\n"
10115 "組み合わせたものである。\n"
10116 "B<readv>() と同じ処理を実行するが、\n"
10117 "4 番目の引き数 I<offset> が追加されており、\n"
10118 "この引き数は入力操作を行うファイルオフセットを指定する。"
10119
10120 #. type: Plain text
10121 #: build/C/man2/readv.2:172
10122 msgid ""
10123 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10124 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10125 "argument, I<offset>, which specifies the file offset at which the output "
10126 "operation is to be performed."
10127 msgstr ""
10128 "B<pwritev>() システムコールは B<writev>() と B<pwrite>(2) の機能を\n"
10129 "組み合わせたものである。\n"
10130 "B<writev>() と同じ処理を実行するが、\n"
10131 "4 番目の引き数 I<offset> が追加されており、\n"
10132 "この引き数は出力操作を行うファイルオフセットを指定する。"
10133
10134 #. type: Plain text
10135 #: build/C/man2/readv.2:177
10136 msgid ""
10137 "The file offset is not changed by these system calls.  The file referred to "
10138 "by I<fd> must be capable of seeking."
10139 msgstr ""
10140 "これらのシステムコールで、ファイルオフセットは変更されない。\n"
10141 "I<fd> が参照するファイルは seek 可能でなければならない。"
10142
10143 #. type: Plain text
10144 #: build/C/man2/readv.2:188
10145 msgid ""
10146 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10147 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10148 "error, -1 is returned, and I<errno> is set appropriately."
10149 msgstr ""
10150 "成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
10151 "B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
10152 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
10153
10154 #. type: Plain text
10155 #: build/C/man2/readv.2:200
10156 msgid ""
10157 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10158 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10159 "(2).  Additionally, the following error is defined:"
10160 msgstr ""
10161 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
10162 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
10163 "る。\n"
10164 "また、追加で以下のエラーが定義されている:"
10165
10166 #. type: Plain text
10167 #: build/C/man2/readv.2:209
10168 msgid ""
10169 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10170 "vector count I<iovcnt> is less than zero or greater than the permitted "
10171 "maximum."
10172 msgstr ""
10173 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10174 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10175
10176 #. type: Plain text
10177 #: build/C/man2/readv.2:214
10178 msgid ""
10179 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10180 "support was added in glibc 2.10."
10181 msgstr ""
10182 "B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
10183 "ライブラリによるサポートは glibc 2.10 で追加された。"
10184
10185 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10186 #.  (Says release.libc.)
10187 #. type: Plain text
10188 #: build/C/man2/readv.2:222
10189 msgid ""
10190 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10191 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10192 "I<iovcnt> argument, and I<int> as the return type."
10193 msgstr ""
10194 "B<readv>(), B<writev>(): \n"
10195 "4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1-2001。 \n"
10196 "Linux libc5 では、 I<iovcnt> 引き数の型として I<size_t> を、\n"
10197 "返り値の型として I<int> を使用していた。"
10198
10199 #. type: Plain text
10200 #: build/C/man2/readv.2:226
10201 msgid ""
10202 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10203 msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
10204
10205 #. type: SS
10206 #: build/C/man2/readv.2:227
10207 #, no-wrap
10208 msgid "Linux notes"
10209 msgstr "Linux での注意"
10210
10211 #. type: Plain text
10212 #: build/C/man2/readv.2:258
10213 msgid ""
10214 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10215 "items that can be passed in I<iov>.  An implementation can advertise its "
10216 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10217 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10218 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10219 "glibc wrapper functions do some extra work if they detect that the "
10220 "underlying kernel system call failed because this limit was exceeded.  In "
10221 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10222 "large enough for all of the items specified by I<iov>, passes that buffer in "
10223 "a call to B<read>(2), copies data from the buffer to the locations specified "
10224 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10225 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10226 "using a temporary buffer and a call to B<write>(2)."
10227 msgstr ""
10228 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10229 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10230 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10231 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10232 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10233 "呼ばれるカーネル システムコールがこの上限を超過して失敗したことを検出する"
10234 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10235 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10236 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10237 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10238 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10239 "(2)  を呼び出す。"
10240
10241 #. type: Plain text
10242 #: build/C/man2/readv.2:265
10243 msgid ""
10244 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10245 "operate on file descriptors, with the functions from the stdio library; the "
10246 "results will be undefined and probably not what you want."
10247 msgstr ""
10248 "ファイルディスクリプタに対する操作を行う B<readv>() や B<writev>() と、\n"
10249 "標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。\n"
10250 "どんな結果になるかは定義されておらず、おそらく期待する結果は\n"
10251 "得られないだろう。"
10252
10253 #. type: Plain text
10254 #: build/C/man2/readv.2:268
10255 msgid "The following code sample demonstrates the use of B<writev>():"
10256 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10257
10258 #. type: Plain text
10259 #: build/C/man2/readv.2:275
10260 #, no-wrap
10261 msgid ""
10262 "char *str0 = \"hello \";\n"
10263 "char *str1 = \"world\\en\";\n"
10264 "struct iovec iov[2];\n"
10265 "ssize_t nwritten;\n"
10266 msgstr ""
10267 "char *str0 = \"hello \";\n"
10268 "char *str1 = \"world\\en\";\n"
10269 "struct iovec iov[2];\n"
10270 "ssize_t nwritten;\n"
10271
10272 #. type: Plain text
10273 #: build/C/man2/readv.2:280
10274 #, no-wrap
10275 msgid ""
10276 "iov[0].iov_base = str0;\n"
10277 "iov[0].iov_len = strlen(str0);\n"
10278 "iov[1].iov_base = str1;\n"
10279 "iov[1].iov_len = strlen(str1);\n"
10280 msgstr ""
10281 "iov[0].iov_base = str0;\n"
10282 "iov[0].iov_len = strlen(str0);\n"
10283 "iov[1].iov_base = str1;\n"
10284 "iov[1].iov_len = strlen(str1);\n"
10285
10286 #. type: Plain text
10287 #: build/C/man2/readv.2:282
10288 #, no-wrap
10289 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10290 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10291
10292 #. type: Plain text
10293 #: build/C/man2/readv.2:288
10294 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10295 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
10296
10297 #. type: TH
10298 #: build/C/man3/remove.3:31
10299 #, no-wrap
10300 msgid "REMOVE"
10301 msgstr "REMOVE"
10302
10303 #. type: TH
10304 #: build/C/man3/remove.3:31
10305 #, no-wrap
10306 msgid "2008-12-03"
10307 msgstr "2008-12-03"
10308
10309 #. type: Plain text
10310 #: build/C/man3/remove.3:34
10311 msgid "remove - remove a file or directory"
10312 msgstr "remove - ファイルやディレクトリを削除する"
10313
10314 #. type: Plain text
10315 #: build/C/man3/remove.3:38
10316 msgid "B<int remove(const char *>I<pathname>B<);>"
10317 msgstr "B<int remove(const char *>I<pathname>B<);>"
10318
10319 #. type: Plain text
10320 #: build/C/man3/remove.3:46
10321 msgid ""
10322 "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10323 "for files, and B<rmdir>(2)  for directories."
10324 msgstr ""
10325 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10326 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10327
10328 #. type: Plain text
10329 #: build/C/man3/remove.3:50
10330 msgid ""
10331 "If the removed name was the last link to a file and no processes have the "
10332 "file open, the file is deleted and the space it was using is made available "
10333 "for reuse."
10334 msgstr ""
10335 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10336 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10337 "ことができるようになる。"
10338
10339 #. type: Plain text
10340 #: build/C/man3/remove.3:55
10341 msgid ""
10342 "If the name was the last link to a file, but any processes still have the "
10343 "file open, the file will remain in existence until the last file descriptor "
10344 "referring to it is closed."
10345 msgstr ""
10346 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10347 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10348 "でファイルは存在し続ける。"
10349
10350 #. type: Plain text
10351 #: build/C/man3/remove.3:57
10352 msgid "If the name referred to a symbolic link, the link is removed."
10353 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10354
10355 #. type: Plain text
10356 #: build/C/man3/remove.3:60
10357 msgid ""
10358 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10359 "processes which have the object open may continue to use it."
10360 msgstr ""
10361 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10362 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10363
10364 #. type: Plain text
10365 #: build/C/man3/remove.3:70
10366 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10367 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10368
10369 #. type: Plain text
10370 #: build/C/man3/remove.3:72
10371 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10372 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10373
10374 #. type: Plain text
10375 #: build/C/man3/remove.3:78
10376 msgid ""
10377 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10378 "hence would not remove directories)."
10379 msgstr ""
10380 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10381 "(従ってディレクトリを削除できなかった)。"
10382
10383 #. type: Plain text
10384 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10385 msgid ""
10386 "Infelicities in the protocol underlying NFS can cause the unexpected "
10387 "disappearance of files which are still being used."
10388 msgstr ""
10389 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10390 "うことがありえる。"
10391
10392 #. type: Plain text
10393 #: build/C/man3/remove.3:92
10394 msgid ""
10395 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10396 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10397 msgstr ""
10398 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10399 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10400
10401 #. type: TH
10402 #: build/C/man2/rename.2:32
10403 #, no-wrap
10404 msgid "RENAME"
10405 msgstr "RENAME"
10406
10407 #. type: Plain text
10408 #: build/C/man2/rename.2:35
10409 msgid "rename - change the name or location of a file"
10410 msgstr "rename - ファイルの名前や位置を変更する"
10411
10412 #. type: Plain text
10413 #: build/C/man2/rename.2:39
10414 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10415 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10416
10417 #. type: Plain text
10418 #: build/C/man2/rename.2:48
10419 msgid ""
10420 "B<rename>()  renames a file, moving it between directories if required.  Any "
10421 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10422 "Open file descriptors for I<oldpath> are also unaffected."
10423 msgstr ""
10424 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10425 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10426 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10427 "リプタにも影響はない。"
10428
10429 #. type: Plain text
10430 #: build/C/man2/rename.2:56
10431 msgid ""
10432 "If I<newpath> already exists it will be atomically replaced (subject to a "
10433 "few conditions; see ERRORS below), so that there is no point at which "
10434 "another process attempting to access I<newpath> will find it missing."
10435 msgstr ""
10436 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10437 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10438 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10439 "とはない (訳註: 常にアクセス可能である)。"
10440
10441 #. type: Plain text
10442 #: build/C/man2/rename.2:64
10443 msgid ""
10444 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10445 "file, then B<rename>()  does nothing, and returns a success status."
10446 msgstr ""
10447 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10448 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10449
10450 #. type: Plain text
10451 #: build/C/man2/rename.2:72
10452 msgid ""
10453 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10454 "guarantees to leave an instance of I<newpath> in place."
10455 msgstr ""
10456 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10457 "I<newpath> の実体を元のまま残すことを保証する。"
10458
10459 #. type: Plain text
10460 #: build/C/man2/rename.2:78
10461 msgid ""
10462 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10463 "not exist, or it must specify an empty directory."
10464 msgstr ""
10465 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10466 "存在しないか、空のディレクトリでなければならない。"
10467
10468 #. type: Plain text
10469 #: build/C/man2/rename.2:85
10470 msgid ""
10471 "However, when overwriting there will probably be a window in which both "
10472 "I<oldpath> and I<newpath> refer to the file being renamed."
10473 msgstr ""
10474 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10475 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10476
10477 #. type: Plain text
10478 #: build/C/man2/rename.2:91
10479 msgid ""
10480 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10481 "refers to a symbolic link the link will be overwritten."
10482 msgstr ""
10483 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
10484 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
10485 "は、リンクが上書きされる。"
10486
10487 #. type: Plain text
10488 #: build/C/man2/rename.2:116
10489 msgid ""
10490 "Write permission is denied for the directory containing I<oldpath> or "
10491 "I<newpath>, or, search permission is denied for one of the directories in "
10492 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10493 "and does not allow write permission (needed to update the I<..> entry).  "
10494 "(See also B<path_resolution>(7).)"
10495 msgstr ""
10496 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10497 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10498 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10499 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10500
10501 #. type: TP
10502 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10503 #, no-wrap
10504 msgid "B<EBUSY>"
10505 msgstr "B<EBUSY>"
10506
10507 #. type: Plain text
10508 #: build/C/man2/rename.2:133
10509 msgid ""
10510 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10511 "use by some process (perhaps as current working directory, or as root "
10512 "directory, or because it was open for reading) or is in use by the system "
10513 "(for example as mount point), while the system considers this an error.  "
10514 "(Note that there is no requirement to return B<EBUSY> in such cases"
10515 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10516 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10517 "situations.)"
10518 msgstr ""
10519 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10520 "分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのために"
10521 "オープンされているかでろう)  もしくは、システムが使用中 (例えばマウントポイン"
10522 "トである)  であり、システムがこれをエラーであると判断したために rename が失敗"
10523 "した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない点に注"
10524 "意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もな"
10525 "い。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10526 "B<EBUSY> を返すことが許されている。)"
10527
10528 #. type: Plain text
10529 #: build/C/man2/rename.2:143
10530 msgid ""
10531 "The new pathname contained a path prefix of the old, or, more generally, an "
10532 "attempt was made to make a directory a subdirectory of itself."
10533 msgstr ""
10534 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10535 "ディレクトリに 変更しようとした場合がほとんどである。"
10536
10537 #. type: Plain text
10538 #: build/C/man2/rename.2:149
10539 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10540 msgstr ""
10541 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10542 "い。"
10543
10544 #. type: Plain text
10545 #: build/C/man2/rename.2:160
10546 msgid ""
10547 "I<oldpath> already has the maximum number of links to it, or it was a "
10548 "directory and the directory containing I<newpath> has the maximum number of "
10549 "links."
10550 msgstr ""
10551 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10552 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10553
10554 #. type: Plain text
10555 #: build/C/man2/rename.2:176
10556 msgid ""
10557 "The link named by I<oldpath> does not exist; or, a directory component in "
10558 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10559 msgstr ""
10560 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10561 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10562
10563 #. type: Plain text
10564 #: build/C/man2/rename.2:193
10565 msgid ""
10566 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10567 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10568 "not a directory."
10569 msgstr ""
10570 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10571 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10572 "トリでない。"
10573
10574 #. type: TP
10575 #: build/C/man2/rename.2:193
10576 #, no-wrap
10577 msgid "B<ENOTEMPTY> or B<EEXIST>"
10578 msgstr "B<ENOTEMPTY  または  EEXIST>"
10579
10580 #. type: Plain text
10581 #: build/C/man2/rename.2:197
10582 msgid ""
10583 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10584 "\" and \"..\"."
10585 msgstr ""
10586 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10587 "でいる。"
10588
10589 #. type: TP
10590 #: build/C/man2/rename.2:197 build/C/man2/unlink.2:126
10591 #, no-wrap
10592 msgid "B<EPERM> or B<EACCES>"
10593 msgstr "B<EPERM> または B<EACCES>"
10594
10595 #. type: Plain text
10596 #: build/C/man2/rename.2:221
10597 msgid ""
10598 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
10599 "the process's effective user ID is neither the user ID of the file to be "
10600 "deleted nor that of the directory containing it, and the process is not "
10601 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
10602 "I<newpath> is an existing file and the directory containing it has the "
10603 "sticky bit set and the process's effective user ID is neither the user ID of "
10604 "the file to be replaced nor that of the directory containing it, and the "
10605 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
10606 "capability); or the file system containing I<pathname> does not support "
10607 "renaming of the type requested."
10608 msgstr ""
10609 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
10610 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
10611 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
10612 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
10613 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
10614 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
10615 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
10616 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
10617 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
10618 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
10619
10620 #. type: Plain text
10621 #: build/C/man2/rename.2:232
10622 msgid ""
10623 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
10624 "permits a file system to be mounted at multiple points, but B<rename>()  "
10625 "does not work across different mount points, even if the same file system is "
10626 "mounted on both.)"
10627 msgstr ""
10628 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
10629 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
10630 "している。 しかし B<rename>()  は、たとえ同じファイルシステムであっても、 "
10631 "別々のマウント位置を跨いでは動作しない。)"
10632
10633 #. type: Plain text
10634 #: build/C/man2/rename.2:234
10635 msgid "4.3BSD, C89, C99, POSIX.1-2001."
10636 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
10637
10638 #. type: Plain text
10639 #: build/C/man2/rename.2:245
10640 msgid ""
10641 "On NFS file systems, you can not assume that if the operation failed the "
10642 "file was not renamed.  If the server does the rename operation and then "
10643 "crashes, the retransmitted RPC which will be processed when the server is up "
10644 "again causes a failure.  The application is expected to deal with this.  See "
10645 "B<link>(2)  for a similar problem."
10646 msgstr ""
10647 "NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更で"
10648 "きなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
10649 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
10650 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
10651 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
10652
10653 #. type: Plain text
10654 #: build/C/man2/rename.2:254
10655 msgid ""
10656 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10657 "(2), B<path_resolution>(7), B<symlink>(7)"
10658 msgstr ""
10659 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10660 "(2), B<path_resolution>(7), B<symlink>(7)"
10661
10662 #. type: TH
10663 #: build/C/man2/rmdir.2:30
10664 #, no-wrap
10665 msgid "RMDIR"
10666 msgstr "RMDIR"
10667
10668 #. type: TH
10669 #: build/C/man2/rmdir.2:30
10670 #, no-wrap
10671 msgid "2008-05-08"
10672 msgstr "2008-05-08"
10673
10674 #. type: Plain text
10675 #: build/C/man2/rmdir.2:33
10676 msgid "rmdir - delete a directory"
10677 msgstr "rmdir - ディレクトリを削除する"
10678
10679 #. type: Plain text
10680 #: build/C/man2/rmdir.2:37
10681 msgid "B<int rmdir(const char *>I<pathname>B<);>"
10682 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
10683
10684 #. type: Plain text
10685 #: build/C/man2/rmdir.2:40
10686 msgid "B<rmdir>()  deletes a directory, which must be empty."
10687 msgstr ""
10688 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
10689 "ない。"
10690
10691 #. type: Plain text
10692 #: build/C/man2/rmdir.2:55
10693 msgid ""
10694 "Write access to the directory containing I<pathname> was not allowed, or one "
10695 "of the directories in the path prefix of I<pathname> did not allow search "
10696 "permission.  (See also B<path_resolution>(7)."
10697 msgstr ""
10698 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
10699 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
10700 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
10701 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
10702 "と)"
10703
10704 #. type: Plain text
10705 #: build/C/man2/rmdir.2:64
10706 msgid ""
10707 "I<pathname> is currently in use by the system or some process that prevents "
10708 "its removal.  On Linux this means I<pathname> is currently used as a mount "
10709 "point or is the root directory of the calling process."
10710 msgstr ""
10711 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
10712 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
10713 "たプロセスのルートディレクトリであることを意味する。"
10714
10715 #. type: Plain text
10716 #: build/C/man2/rmdir.2:73
10717 msgid "I<pathname> has I<.> as last component."
10718 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
10719
10720 #. type: Plain text
10721 #: build/C/man2/rmdir.2:77
10722 msgid "Too many symbolic links were encountered in resolving I<pathname>."
10723 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
10724
10725 #. type: Plain text
10726 #: build/C/man2/rmdir.2:85
10727 msgid ""
10728 "A directory component in I<pathname> does not exist or is a dangling "
10729 "symbolic link."
10730 msgstr ""
10731 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
10732 "リックリンク (symbolic link) である。"
10733
10734 #. type: Plain text
10735 #: build/C/man2/rmdir.2:94
10736 msgid ""
10737 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
10738 "fact, a directory."
10739 msgstr ""
10740 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
10741 "クトリでない。"
10742
10743 #. type: TP
10744 #: build/C/man2/rmdir.2:94
10745 #, no-wrap
10746 msgid "B<ENOTEMPTY>"
10747 msgstr "B<ENOTEMPTY>"
10748
10749 #. type: Plain text
10750 #: build/C/man2/rmdir.2:107
10751 msgid ""
10752 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
10753 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
10754 "condition."
10755 msgstr ""
10756 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
10757 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
10758 "で B<EEXIST> を返すことを認めている。"
10759
10760 #. type: Plain text
10761 #: build/C/man2/rmdir.2:118
10762 msgid ""
10763 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
10764 "and the process's effective user ID is neither the user ID of the file to be "
10765 "deleted nor that of the directory containing it, and the process is not "
10766 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
10767 msgstr ""
10768 "I<pathname> を含んでいるディレクトリにスティッキービット(sticky-bit)  "
10769 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
10770 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
10771 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
10772
10773 #. type: Plain text
10774 #: build/C/man2/rmdir.2:123
10775 msgid ""
10776 "The file system containing I<pathname> does not support the removal of "
10777 "directories."
10778 msgstr ""
10779 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
10780 "ない。"
10781
10782 #. type: Plain text
10783 #: build/C/man2/rmdir.2:127
10784 msgid "I<pathname> refers to a directory on a read-only file system."
10785 msgstr ""
10786 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
10787
10788 #. type: Plain text
10789 #: build/C/man2/rmdir.2:132
10790 msgid ""
10791 "Infelicities in the protocol underlying NFS can cause the unexpected "
10792 "disappearance of directories which are still being used."
10793 msgstr ""
10794 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
10795 "する現象が引き起こされることがある。"
10796
10797 #. type: Plain text
10798 #: build/C/man2/rmdir.2:141
10799 msgid ""
10800 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10801 "B<unlink>(2), B<unlinkat>(2)"
10802 msgstr ""
10803 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10804 "B<unlink>(2), B<unlinkat>(2)"
10805
10806 #. type: TH
10807 #: build/C/man3/scanf.3:52
10808 #, no-wrap
10809 msgid "SCANF"
10810 msgstr "SCANF"
10811
10812 #. type: TH
10813 #: build/C/man3/scanf.3:52
10814 #, no-wrap
10815 msgid "2013-01-30"
10816 msgstr "2013-01-30"
10817
10818 #. type: Plain text
10819 #: build/C/man3/scanf.3:55
10820 msgid ""
10821 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
10822 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
10823
10824 #. type: Plain text
10825 #: build/C/man3/scanf.3:62
10826 #, no-wrap
10827 msgid ""
10828 "B<int scanf(const char *>I<format>B<, ...);>\n"
10829 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10830 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10831 msgstr ""
10832 "B<int scanf(const char *>I<format>B<, ...);>\n"
10833 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10834 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10835
10836 #. type: Plain text
10837 #: build/C/man3/scanf.3:64
10838 #, no-wrap
10839 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
10840 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
10841
10842 #. type: Plain text
10843 #: build/C/man3/scanf.3:68
10844 #, no-wrap
10845 msgid ""
10846 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10847 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10848 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10849 msgstr ""
10850 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10851 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10852 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10853
10854 #. type: Plain text
10855 #: build/C/man3/scanf.3:79
10856 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10857 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10858
10859 #. type: Plain text
10860 #: build/C/man3/scanf.3:82
10861 msgid ""
10862 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10863 "200112L;"
10864 msgstr ""
10865 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10866 "200112L;"
10867
10868 #. type: Plain text
10869 #: build/C/man3/scanf.3:104
10870 msgid ""
10871 "The B<scanf>()  family of functions scans input according to I<format> as "
10872 "described below.  This format may contain I<conversion specifications>; the "
10873 "results from such conversions, if any, are stored in the locations pointed "
10874 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
10875 "argument must be of a type that is appropriate for the value returned by the "
10876 "corresponding conversion specification."
10877 msgstr ""
10878 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
10879 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
10880 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
10881 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
10882 "は、対応する変換指定が返す値に 適合していなければならない。"
10883
10884 #. type: Plain text
10885 #: build/C/man3/scanf.3:115
10886 msgid ""
10887 "If the number of conversion specifications in I<format> exceeds the number "
10888 "of I<pointer> arguments, the results are undefined.  If the number of "
10889 "I<pointer> arguments exceeds the number of conversion specifications, then "
10890 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
10891 msgstr ""
10892 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
10893 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
10894 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
10895
10896 #. type: Plain text
10897 #: build/C/man3/scanf.3:127
10898 msgid ""
10899 "The B<scanf>()  function reads input from the standard input stream "
10900 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
10901 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
10902 msgstr ""
10903 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
10904 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
10905 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
10906
10907 #. type: Plain text
10908 #: build/C/man3/scanf.3:145
10909 msgid ""
10910 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
10911 "from the stream pointer I<stream> using a variable argument list of pointers "
10912 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
10913 "from the standard input and the B<vsscanf>()  function scans it from a "
10914 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
10915 "functions respectively."
10916 msgstr ""
10917 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
10918 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
10919 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
10920 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
10921 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
10922
10923 #. type: Plain text
10924 #: build/C/man3/scanf.3:159
10925 msgid ""
10926 "The I<format> string consists of a sequence of I<directives> which describe "
10927 "how to process the sequence of input characters.  If processing of a "
10928 "directive fails, no further input is read, and B<scanf>()  returns.  A "
10929 "\"failure\" can be either of the following: I<input failure>, meaning that "
10930 "input characters were unavailable, or I<matching failure>, meaning that the "
10931 "input was inappropriate (see below)."
10932 msgstr ""
10933 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
10934 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
10935 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
10936 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
10937 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
10938 "であったこと (下記参照) を意味する。"
10939
10940 #. type: Plain text
10941 #: build/C/man3/scanf.3:161
10942 msgid "A directive is one of the following:"
10943 msgstr "命令は以下のいずれかである:"
10944
10945 #. type: TP
10946 #: build/C/man3/scanf.3:161 build/C/man3/scanf.3:167 build/C/man3/scanf.3:171
10947 #: build/C/man3/scanf.3:190 build/C/man3/scanf.3:201 build/C/man3/scanf.3:220
10948 #: build/C/man3/scanf.3:232 build/C/man3/scanf.3:246
10949 #, no-wrap
10950 msgid "\\(bu"
10951 msgstr "\\(bu"
10952
10953 #. type: Plain text
10954 #: build/C/man3/scanf.3:167
10955 msgid ""
10956 "A sequence of white-space characters (space, tab, newline, etc.; see "
10957 "B<isspace>(3)).  This directive matches any amount of white space, including "
10958 "none, in the input."
10959 msgstr ""
10960 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
10961 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
10962 "致する)。"
10963
10964 #. type: Plain text
10965 #: build/C/man3/scanf.3:171
10966 msgid ""
10967 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
10968 "This character must exactly match the next character of input."
10969 msgstr ""
10970 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
10971 "の次の文字に正確に一致しなければならない。"
10972
10973 #. type: Plain text
10974 #: build/C/man3/scanf.3:182
10975 msgid ""
10976 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
10977 "character.  A sequence of characters from the input is converted according "
10978 "to this specification, and the result is placed in the corresponding "
10979 "I<pointer> argument.  If the next item of input does not match the "
10980 "conversion specification, the conversion fails\\(emthis is a I<matching "
10981 "failure>."
10982 msgstr ""
10983 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
10984 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
10985 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
10986 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
10987
10988 #. type: Plain text
10989 #: build/C/man3/scanf.3:190
10990 msgid ""
10991 "Each I<conversion specification> in I<format> begins with either the "
10992 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
10993 "for the distinction) followed by:"
10994 msgstr ""
10995 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
10996 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
10997
10998 #. type: Plain text
10999 #: build/C/man3/scanf.3:201
11000 msgid ""
11001 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
11002 "input as directed by the conversion specification, but discards the input.  "
11003 "No corresponding I<pointer> argument is required, and this specification is "
11004 "not included in the count of successful assignments returned by B<scanf>()."
11005 msgstr ""
11006 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
11007 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
11008 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
11009
11010 #. type: Plain text
11011 #: build/C/man3/scanf.3:220
11012 #, fuzzy
11013 #| msgid ""
11014 #| "An optional \\(aqa\\(aq character.  This is used with string conversions, "
11015 #| "and relieves the caller of the need to allocate a corresponding buffer to "
11016 #| "hold the input: instead, B<scanf>()  allocates a buffer of sufficient "
11017 #| "size, and assigns the address of this buffer to the corresponding "
11018 #| "I<pointer> argument, which should be a pointer to a I<char *> variable "
11019 #| "(this variable does not need to be initialized before the call).  The "
11020 #| "caller should subsequently B<free>(3)  this buffer when it is no longer "
11021 #| "required.  This is a GNU extension; C99 employs the \\(aqa\\(aq character "
11022 #| "as a conversion specifier (and it can also be used as such in the GNU "
11023 #| "implementation)."
11024 msgid ""
11025 "An optional \\(aqm\\(aq character.  This is used with string conversions (I<"
11026 "%s>, I<%c>, I<%[>), and relieves the caller of the need to allocate a "
11027 "corresponding buffer to hold the input: instead, B<scanf>()  allocates a "
11028 "buffer of sufficient size, and assigns the address of this buffer to the "
11029 "corresponding I<pointer> argument, which should be a pointer to a I<char *> "
11030 "variable (this variable does not need to be initialized before the call).  "
11031 "The caller should subsequently B<free>(3)  this buffer when it is no longer "
11032 "required."
11033 msgstr ""
11034 "文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
11035 "呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
11036 "に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
11037 "応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
11038 "のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
11039 "い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
11040 "る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
11041 "使用している (こちらも GNU の実装と同じように使用することができる)。"
11042
11043 #. type: Plain text
11044 #: build/C/man3/scanf.3:232
11045 msgid ""
11046 "An optional decimal integer which specifies the I<maximum field width>.  "
11047 "Reading of characters stops either when this maximum is reached or when a "
11048 "nonmatching character is found, whichever happens first.  Most conversions "
11049 "discard initial white space characters (the exceptions are noted below), and "
11050 "these discarded characters don't count toward the maximum field width.  "
11051 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
11052 "mark the end of the input; the maximum field width does not include this "
11053 "terminator."
11054 msgstr ""
11055 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
11056 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
11057 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
11058 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
11059 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
11060 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
11061
11062 #. type: Plain text
11063 #: build/C/man3/scanf.3:246
11064 msgid ""
11065 "An optional I<type modifier character>.  For example, the B<l> type modifier "
11066 "is used with integer conversions such as B<%d> to specify that the "
11067 "corresponding I<pointer> argument refers to a I<long int> rather than a "
11068 "pointer to an I<int>."
11069 msgstr ""
11070 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
11071 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
11072 "I<int> ではなく I<long int> を参照していることを指定できる。"
11073
11074 #. type: Plain text
11075 #: build/C/man3/scanf.3:251
11076 msgid ""
11077 "A I<conversion specifier> that specifies the type of input conversion to be "
11078 "performed."
11079 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
11080
11081 #. type: Plain text
11082 #: build/C/man3/scanf.3:280
11083 msgid ""
11084 "The conversion specifications in I<format> are of two forms, either "
11085 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
11086 "forms should not be mixed in the same I<format> string, except that a string "
11087 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
11088 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
11089 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
11090 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
11091 "specifies that the converted input should be placed in the location referred "
11092 "to by the I<n>-th I<pointer> argument following I<format>."
11093 msgstr ""
11094 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
11095 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
11096 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
11097 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
11098 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
11099 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
11100 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
11101 "I<pointer> 引き数が参照する場所に格納することを指定する。"
11102
11103 #. type: SS
11104 #: build/C/man3/scanf.3:280
11105 #, no-wrap
11106 msgid "Conversions"
11107 msgstr "変換"
11108
11109 #. type: Plain text
11110 #: build/C/man3/scanf.3:284
11111 msgid ""
11112 "The following I<type modifier characters> can appear in a conversion "
11113 "specification:"
11114 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
11115
11116 #. type: Plain text
11117 #: build/C/man3/scanf.3:294
11118 msgid ""
11119 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
11120 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
11121 "I<unsigned short int> (rather than I<int>)."
11122 msgstr ""
11123 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
11124 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
11125 "あることを示す。"
11126
11127 #. type: Plain text
11128 #: build/C/man3/scanf.3:302
11129 msgid ""
11130 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
11131 "I<unsigned char>."
11132 msgstr ""
11133 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
11134 "タであることを示す。"
11135
11136 #. type: Plain text
11137 #: build/C/man3/scanf.3:311
11138 msgid ""
11139 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
11140 "I<uintmax_t>.  This modifier was introduced in C99."
11141 msgstr ""
11142 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11143 "ることを示す。 この修飾子は C99 で導入された。"
11144
11145 #.  This use of l was introduced in Amendment 1 to ISO C90.
11146 #. type: Plain text
11147 #: build/C/man3/scanf.3:338
11148 msgid ""
11149 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11150 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11151 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11152 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11153 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11154 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11155 "as a pointer to a wide character or wide-character string respectively."
11156 msgstr ""
11157 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11158 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11159 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11160 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11161 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11162 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11163 "ンタであると みなされる。"
11164
11165 #.  MTK, Jul 05: The following is no longer true for modern
11166 #.  ANSI C (i.e., C99):
11167 #.  (Note that long long is not an
11168 #.  ANSI C
11169 #.  type. Any program using this will not be portable to all
11170 #.  architectures).
11171 #. type: Plain text
11172 #: build/C/man3/scanf.3:354
11173 msgid ""
11174 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11175 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11176 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11177 msgstr ""
11178 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11179 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11180 "I<long long> へのポインタであることのいずれかであることを示す。"
11181
11182 #. type: Plain text
11183 #: build/C/man3/scanf.3:359
11184 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11185 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11186
11187 #. type: Plain text
11188 #: build/C/man3/scanf.3:366
11189 msgid ""
11190 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11191 "modifier was introduced in C99."
11192 msgstr ""
11193 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11194 "この修飾子は C99 で導入された。"
11195
11196 #. type: Plain text
11197 #: build/C/man3/scanf.3:373
11198 msgid ""
11199 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11200 "modifier was introduced in C99."
11201 msgstr ""
11202 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11203 "修飾子は C99 で導入された。"
11204
11205 #. type: Plain text
11206 #: build/C/man3/scanf.3:377
11207 msgid "The following I<conversion specifiers> are available:"
11208 msgstr "以下の I<「変換指定子」> が利用可能である。"
11209
11210 #. type: Plain text
11211 #: build/C/man3/scanf.3:386
11212 msgid ""
11213 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11214 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11215 "initial white space characters are discarded), and assignment does not occur."
11216 msgstr ""
11217 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11218 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11219 "る)、 変数への代入は生じない。"
11220
11221 #. type: TP
11222 #: build/C/man3/scanf.3:386
11223 #, no-wrap
11224 msgid "B<d>"
11225 msgstr "B<d>"
11226
11227 #. type: Plain text
11228 #: build/C/man3/scanf.3:391
11229 msgid ""
11230 "Matches an optionally signed decimal integer; the next pointer must be a "
11231 "pointer to I<int>."
11232 msgstr ""
11233 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11234 "ばならない。"
11235
11236 #. type: TP
11237 #: build/C/man3/scanf.3:391
11238 #, no-wrap
11239 msgid "B<D>"
11240 msgstr "B<D>"
11241
11242 #. type: Plain text
11243 #: build/C/man3/scanf.3:400
11244 msgid ""
11245 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11246 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11247 "causing old programs to fail mysteriously.)"
11248 msgstr ""
11249 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11250 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11251 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11252
11253 #. type: TP
11254 #: build/C/man3/scanf.3:400
11255 #, no-wrap
11256 msgid "B<i>"
11257 msgstr "B<i>"
11258
11259 #. type: Plain text
11260 #: build/C/man3/scanf.3:412
11261 msgid ""
11262 "Matches an optionally signed integer; the next pointer must be a pointer to "
11263 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11264 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11265 "that correspond to the base are used."
11266 msgstr ""
11267 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11268 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11269 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11270 "される文字は、これらの基数に対応しているものだけである。"
11271
11272 #. type: TP
11273 #: build/C/man3/scanf.3:412
11274 #, no-wrap
11275 msgid "B<o>"
11276 msgstr "B<o>"
11277
11278 #. type: Plain text
11279 #: build/C/man3/scanf.3:416
11280 msgid ""
11281 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11282 "I<unsigned int>."
11283 msgstr ""
11284 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11285 "らない。"
11286
11287 #. type: TP
11288 #: build/C/man3/scanf.3:416
11289 #, no-wrap
11290 msgid "B<u>"
11291 msgstr "B<u>"
11292
11293 #. type: Plain text
11294 #: build/C/man3/scanf.3:421
11295 msgid ""
11296 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11297 "I<unsigned int>."
11298 msgstr ""
11299 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11300 "でなければならない。"
11301
11302 #. type: Plain text
11303 #: build/C/man3/scanf.3:426
11304 msgid ""
11305 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11306 "to I<unsigned int>."
11307 msgstr ""
11308 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11309 "タでなければならない。"
11310
11311 #. type: TP
11312 #: build/C/man3/scanf.3:426
11313 #, no-wrap
11314 msgid "B<X>"
11315 msgstr "B<X>"
11316
11317 #. type: Plain text
11318 #: build/C/man3/scanf.3:430
11319 msgid "Equivalent to B<x>."
11320 msgstr "B<x> と同一である。"
11321
11322 #. type: TP
11323 #: build/C/man3/scanf.3:430
11324 #, no-wrap
11325 msgid "B<f>"
11326 msgstr "B<f>"
11327
11328 #. type: Plain text
11329 #: build/C/man3/scanf.3:435
11330 msgid ""
11331 "Matches an optionally signed floating-point number; the next pointer must be "
11332 "a pointer to I<float>."
11333 msgstr ""
11334 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11335 "ればならない。"
11336
11337 #. type: TP
11338 #: build/C/man3/scanf.3:435
11339 #, no-wrap
11340 msgid "B<e>"
11341 msgstr "B<e>"
11342
11343 #. type: Plain text
11344 #: build/C/man3/scanf.3:439 build/C/man3/scanf.3:443 build/C/man3/scanf.3:447
11345 msgid "Equivalent to B<f>."
11346 msgstr "B<f> と同一である。"
11347
11348 #. type: TP
11349 #: build/C/man3/scanf.3:439
11350 #, no-wrap
11351 msgid "B<g>"
11352 msgstr "B<g>"
11353
11354 #. type: TP
11355 #: build/C/man3/scanf.3:443
11356 #, no-wrap
11357 msgid "B<E>"
11358 msgstr "B<E>"
11359
11360 #. type: Plain text
11361 #: build/C/man3/scanf.3:451
11362 msgid "(C99) Equivalent to B<f>."
11363 msgstr "(C99)  B<f> と同一である。"
11364
11365 #. type: Plain text
11366 #: build/C/man3/scanf.3:459
11367 msgid ""
11368 "Matches a sequence of non-white-space characters; the next pointer must be a "
11369 "pointer to character array that is long enough to hold the input sequence "
11370 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11371 "automatically.  The input string stops at white space or at the maximum "
11372 "field width, whichever occurs first."
11373 msgstr ""
11374 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11375 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11376 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11377 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11378 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11379
11380 #. type: Plain text
11381 #: build/C/man3/scanf.3:470
11382 msgid ""
11383 "Matches a sequence of characters whose length is specified by the I<maximum "
11384 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11385 "there must be enough room for all the characters (no terminating null byte "
11386 "is added).  The usual skip of leading white space is suppressed.  To skip "
11387 "white space first, use an explicit space in the format."
11388 msgstr ""
11389 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11390 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11391 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11392 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11393 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11394
11395 #. type: TP
11396 #: build/C/man3/scanf.3:470
11397 #, no-wrap
11398 msgid "B<\\&[>"
11399 msgstr "B<\\&[>"
11400
11401 #. type: Plain text
11402 #: build/C/man3/scanf.3:503
11403 msgid ""
11404 "Matches a nonempty sequence of characters from the specified set of accepted "
11405 "characters; the next pointer must be a pointer to I<char>, and there must be "
11406 "enough room for all the characters in the string, plus a terminating null "
11407 "byte.  The usual skip of leading white space is suppressed.  The string is "
11408 "to be made up of characters in (or not in) a particular set; the set is "
11409 "defined by the characters between the open bracket B<[> character and a "
11410 "close bracket B<]> character.  The set I<excludes> those characters if the "
11411 "first character after the open bracket is a circumflex (B<^>).  To include a "
11412 "close bracket in the set, make it the first character after the open bracket "
11413 "or the circumflex; any other position will end the set.  The hyphen "
11414 "character B<-> is also special; when placed between two other characters, it "
11415 "adds all intervening characters to the set.  To include a hyphen, make it "
11416 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11417 "> means the set \"everything except close bracket, zero through nine, and "
11418 "hyphen\".  The string ends with the appearance of a character not in the "
11419 "(or, with a circumflex, in) set or when the field width runs out."
11420 msgstr ""
11421 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11422 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11423 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11424 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11425 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11426 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11427 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11428 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11429 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11430 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11431 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11432 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11433 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11434 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11435 "文字の 出現または確保された領域が使い切られた時に終了する。"
11436
11437 #. type: Plain text
11438 #: build/C/man3/scanf.3:511
11439 msgid ""
11440 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11441 "pointer must be a pointer to a pointer to I<void>."
11442 msgstr ""
11443 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11444 "タは I<void> へのポインタへのポインタでなければならない。"
11445
11446 #. type: Plain text
11447 #: build/C/man3/scanf.3:531
11448 msgid ""
11449 "Nothing is expected; instead, the number of characters consumed thus far "
11450 "from the input is stored through the next pointer, which must be a pointer "
11451 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11452 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11453 "of a B<%n> directive does not increment the assignment count returned at the "
11454 "completion of execution\" but the Corrigendum seems to contradict this.  "
11455 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11456 "conversions on the return value."
11457 msgstr ""
11458 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11459 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11460 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11461 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11462 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11463 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11464 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11465
11466 #. type: Plain text
11467 #: build/C/man3/scanf.3:536
11468 msgid ""
11469 "These functions return the number of input items successfully matched and "
11470 "assigned, which can be fewer than provided for, or even zero in the event of "
11471 "an early matching failure."
11472 msgstr ""
11473 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11474 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11475 "ることもある。"
11476
11477 #. type: Plain text
11478 #: build/C/man3/scanf.3:548
11479 msgid ""
11480 "The value B<EOF> is returned if the end of input is reached before either "
11481 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11482 "also returned if a read error occurs, in which case the error indicator for "
11483 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11484 "error."
11485 msgstr ""
11486 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11487 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11488 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11489 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11490
11491 #. type: Plain text
11492 #: build/C/man3/scanf.3:554
11493 msgid ""
11494 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11495 "operation would block."
11496 msgstr ""
11497 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11498 "込み操作は停止 (block) することになる。"
11499
11500 #. type: Plain text
11501 #: build/C/man3/scanf.3:559
11502 msgid ""
11503 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11504 msgstr ""
11505 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11506 "ンされていない。"
11507
11508 #. type: Plain text
11509 #: build/C/man3/scanf.3:562
11510 msgid "Input byte sequence does not form a valid character."
11511 msgstr "入力されたバイト列が有効な文字を構成していない。"
11512
11513 #. type: Plain text
11514 #: build/C/man3/scanf.3:566
11515 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11516 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11517
11518 #. type: Plain text
11519 #: build/C/man3/scanf.3:571
11520 msgid "Not enough arguments; or I<format> is NULL."
11521 msgstr "引き数が十分でない。または I<format> が NULL である。"
11522
11523 #. type: Plain text
11524 #: build/C/man3/scanf.3:574
11525 msgid "Out of memory."
11526 msgstr "メモリ不足。"
11527
11528 #. type: TP
11529 #: build/C/man3/scanf.3:574
11530 #, no-wrap
11531 msgid "B<ERANGE>"
11532 msgstr "B<ERANGE>"
11533
11534 #. type: Plain text
11535 #: build/C/man3/scanf.3:578
11536 msgid ""
11537 "The result of an integer conversion would exceed the size that can be stored "
11538 "in the corresponding integer type."
11539 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11540
11541 #. type: Plain text
11542 #: build/C/man3/scanf.3:588
11543 msgid ""
11544 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11545 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11546 msgstr ""
11547 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11548 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11549
11550 #. type: Plain text
11551 #: build/C/man3/scanf.3:598
11552 msgid ""
11553 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11554 "the usage of B<L> in integer conversions is the GNU notation."
11555 msgstr ""
11556 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11557 "B<ll> または B<L> の使用は GNU での拡張である。"
11558
11559 #. type: Plain text
11560 #: build/C/man3/scanf.3:609
11561 msgid ""
11562 "The Linux version of these functions is based on the I<GNU> I<libio> "
11563 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11564 "(glibc-1.08)> for a more concise description."
11565 msgstr ""
11566 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11567 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11568
11569 #. type: Plain text
11570 #: build/C/man3/scanf.3:615
11571 msgid ""
11572 "The GNU C library supported the dynamic allocation conversion specifier (as "
11573 "a nonstandard extension) via the B<a> character.  This feature seems to be "
11574 "present at least as far back as glibc 2.0."
11575 msgstr ""
11576
11577 #. type: Plain text
11578 #: build/C/man3/scanf.3:625
11579 msgid ""
11580 "It is not available if the program is compiled with I<gcc -std=c99> or I<gcc "
11581 "-D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also specified), in which case "
11582 "the B<a> is interpreted as a specifier for floating-point numbers (see "
11583 "above)."
11584 msgstr ""
11585 "この修飾子は I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプロ"
11586 "グラムでは (B<_GNU_SOURCE> も同時に指定していない場合) 利用できない。この場"
11587 "合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
11588
11589 #. type: Plain text
11590 #: build/C/man3/scanf.3:634
11591 msgid ""
11592 "Since version 2.7, glibc also provides the B<m> modifier for the same "
11593 "purpose as the B<a> modifier.  The B<m> modifier has the following "
11594 "advantages:"
11595 msgstr ""
11596 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
11597 "ている。 B<m> 修飾子は以下の利点がある。"
11598
11599 #. type: Plain text
11600 #: build/C/man3/scanf.3:639
11601 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
11602 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
11603
11604 #. type: Plain text
11605 #: build/C/man3/scanf.3:645
11606 msgid ""
11607 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
11608 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
11609 msgstr ""
11610 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
11611 "std=c99> などの影響も避けられる)。"
11612
11613 #. type: Plain text
11614 #: build/C/man3/scanf.3:647
11615 msgid "It is specified in the POSIX.1-2008 standard."
11616 msgstr "POSIX.1-2008 標準で規定されている。"
11617
11618 #. type: Plain text
11619 #: build/C/man3/scanf.3:660
11620 msgid ""
11621 "All functions are fully C89 conformant, but provide the additional "
11622 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
11623 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
11624 "the behavior of specifiers defined in C89."
11625 msgstr ""
11626 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
11627 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
11628 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
11629 "れない。"
11630
11631 #. type: Plain text
11632 #: build/C/man3/scanf.3:676
11633 msgid ""
11634 "Some combinations of the type modifiers and conversion specifiers defined by "
11635 "ANSI C do not make sense (e.g., B<%Ld>).  While they may have a well-defined "
11636 "behavior on Linux, this need not to be so on other architectures.  Therefore "
11637 "it usually is better to use modifiers that are not defined by ANSI C at all, "
11638 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
11639 "B<u>, B<x>, and B<X> conversions or B<ll>."
11640 msgstr ""
11641 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を\n"
11642 "なさないものがある (例えば、 B<%Ld>)。 これらが指定された場合、 \n"
11643 "Linux 上でははっきりと定義された振る舞いをするかもしれないが、\n"
11644 "他のアーキテクチャでも同様になっているとは限らない。\n"
11645 "それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した\n"
11646 "方が良い。すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や B<ll>\n"
11647 "と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
11648
11649 #. type: Plain text
11650 #: build/C/man3/scanf.3:682
11651 msgid ""
11652 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
11653 "conversions equivalently to B<L>."
11654 msgstr ""
11655 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
11656 "動小数の変換に使用される。"
11657
11658 #. type: Plain text
11659 #: build/C/man3/scanf.3:692
11660 #, fuzzy
11661 #| msgid ""
11662 #| "The GNU C library supports a nonstandard extension that causes the "
11663 #| "library to dynamically allocate a string of sufficient size for input "
11664 #| "strings for the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To "
11665 #| "make use of this feature, specify B<a> as a length modifier (thus B<%as> "
11666 #| "or B<%a[>I<range>B<]>).  The caller must B<free>(3)  the returned string, "
11667 #| "as in the following example:"
11668 msgid ""
11669 "To use the dynamic allocation conversion specifier, specify B<m> as a length "
11670 "modifier (thus B<%ms> or B<%m[>I<range>B<]>).  The caller must B<free>(3)  "
11671 "the returned string, as in the following example:"
11672 msgstr ""
11673 "GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
11674 "ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
11675 "分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
11676 "るには、長さ修飾子として B<a> を指定する (したがって、全体としては B<%as> や "
11677 "B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
11678 "を B<free>(3)  しなければならない。"
11679
11680 #. type: Plain text
11681 #: build/C/man3/scanf.3:697
11682 #, no-wrap
11683 msgid ""
11684 "char *p;\n"
11685 "int n;\n"
11686 msgstr ""
11687 "char *p;\n"
11688 "int n;\n"
11689
11690 #. type: Plain text
11691 #: build/C/man3/scanf.3:708
11692 #, no-wrap
11693 msgid ""
11694 "errno = 0;\n"
11695 "n = scanf(\"%m[a-z]\", &p);\n"
11696 "if (n == 1) {\n"
11697 "    printf(\"read: %s\\en\", p);\n"
11698 "    free(p);\n"
11699 "} else if (errno != 0) {\n"
11700 "    perror(\"scanf\");\n"
11701 "} else {\n"
11702 "    fprintf(stderr, \"No matching characters\\en\");\n"
11703 "}\n"
11704 msgstr ""
11705 "errno = 0;\n"
11706 "n = scanf(\"%m[a-z]\", &p);\n"
11707 "if (n == 1) {\n"
11708 "    printf(\"read: %s\\en\", p);\n"
11709 "    free(p);\n"
11710 "} else if (errno != 0) {\n"
11711 "    perror(\"scanf\");\n"
11712 "} else {\n"
11713 "    fprintf(stderr, \"No matching characters\\en\");\n"
11714 "}\n"
11715
11716 #. type: Plain text
11717 #: build/C/man3/scanf.3:716
11718 msgid ""
11719 "As shown in the above example, it is necessary to call B<free>(3)  only if "
11720 "the B<scanf>()  call successfully read a string."
11721 msgstr ""
11722 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
11723 "B<free>(3)  を呼び出す必要がある。"
11724
11725 #. type: Plain text
11726 #: build/C/man3/scanf.3:723
11727 msgid ""
11728 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11729 "B<strtoul>(3)"
11730 msgstr ""
11731 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11732 "B<strtoul>(3),"
11733
11734 #. type: TH
11735 #: build/C/man3/setbuf.3:48
11736 #, no-wrap
11737 msgid "SETBUF"
11738 msgstr "SETBUF"
11739
11740 #. type: TH
11741 #: build/C/man3/setbuf.3:48
11742 #, no-wrap
11743 msgid "2012-08-03"
11744 msgstr "2012-08-03"
11745
11746 #. type: Plain text
11747 #: build/C/man3/setbuf.3:51
11748 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
11749 msgstr ""
11750 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
11751
11752 #. type: Plain text
11753 #: build/C/man3/setbuf.3:56
11754 #, no-wrap
11755 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11756 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11757
11758 #. type: Plain text
11759 #: build/C/man3/setbuf.3:58
11760 #, no-wrap
11761 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11762 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11763
11764 #. type: Plain text
11765 #: build/C/man3/setbuf.3:60
11766 #, no-wrap
11767 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11768 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11769
11770 #. type: Plain text
11771 #: build/C/man3/setbuf.3:63
11772 #, no-wrap
11773 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11774 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11775
11776 #. type: Plain text
11777 #: build/C/man3/setbuf.3:73
11778 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11779 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11780
11781 #. type: Plain text
11782 #: build/C/man3/setbuf.3:96
11783 msgid ""
11784 "The three types of buffering available are unbuffered, block buffered, and "
11785 "line buffered.  When an output stream is unbuffered, information appears on "
11786 "the destination file or terminal as soon as written; when it is block "
11787 "buffered many characters are saved up and written as a block; when it is "
11788 "line buffered characters are saved up until a newline is output or input is "
11789 "read from any stream attached to a terminal device (typically I<stdin>).  "
11790 "The function B<fflush>(3)  may be used to force the block out early.  (See "
11791 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
11792 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
11793 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
11794 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
11795 "by default."
11796 msgstr ""
11797 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
11798 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
11799 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
11800 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
11801 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
11802 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
11803 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
11804 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
11805 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
11806 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
11807 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
11808 "unbuffered である。"
11809
11810 #. type: Plain text
11811 #: build/C/man3/setbuf.3:103
11812 msgid ""
11813 "The B<setvbuf>()  function may be used on any open stream to change its "
11814 "buffer.  The I<mode> argument must be one of the following three macros:"
11815 msgstr ""
11816 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
11817 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
11818
11819 #. type: TP
11820 #: build/C/man3/setbuf.3:104
11821 #, no-wrap
11822 msgid "B<_IONBF>"
11823 msgstr "B<_IONBF>"
11824
11825 #. type: Plain text
11826 #: build/C/man3/setbuf.3:107
11827 msgid "unbuffered"
11828 msgstr "unbuffered"
11829
11830 #. type: TP
11831 #: build/C/man3/setbuf.3:107
11832 #, no-wrap
11833 msgid "B<_IOLBF>"
11834 msgstr "B<_IOLBF>"
11835
11836 #. type: Plain text
11837 #: build/C/man3/setbuf.3:110
11838 msgid "line buffered"
11839 msgstr "line buffered"
11840
11841 #. type: TP
11842 #: build/C/man3/setbuf.3:110
11843 #, no-wrap
11844 msgid "B<_IOFBF>"
11845 msgstr "B<_IOFBF>"
11846
11847 #. type: Plain text
11848 #: build/C/man3/setbuf.3:113
11849 msgid "fully buffered"
11850 msgstr "fully buffered"
11851
11852 #. type: Plain text
11853 #: build/C/man3/setbuf.3:129
11854 msgid ""
11855 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
11856 "least I<size> bytes long; this buffer will be used instead of the current "
11857 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
11858 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
11859 "()  function may be used only after opening a stream and before any other "
11860 "operations have been performed on it."
11861 msgstr ""
11862 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
11863 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
11864 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
11865 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
11866 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
11867
11868 #. type: Plain text
11869 #: build/C/man3/setbuf.3:135
11870 msgid ""
11871 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
11872 "().  The B<setbuf>()  function is exactly equivalent to the call"
11873 msgstr ""
11874 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
11875 "B<setbuf>()  関数は、"
11876
11877 #. type: Plain text
11878 #: build/C/man3/setbuf.3:138
11879 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11880 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11881
11882 #. type: Plain text
11883 #: build/C/man3/setbuf.3:148
11884 msgid ""
11885 "The B<setbuffer>()  function is the same, except that the size of the buffer "
11886 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
11887 "The B<setlinebuf>()  function is exactly equivalent to the call:"
11888 msgstr ""
11889 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
11890 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
11891 "は以下と同じである。"
11892
11893 #. type: Plain text
11894 #: build/C/man3/setbuf.3:151
11895 msgid "setvbuf(stream, NULL, _IOLBF, 0);"
11896 msgstr "setvbuf(stream, NULL, _IOLBF, 0);"
11897
11898 #. type: Plain text
11899 #: build/C/man3/setbuf.3:162
11900 msgid ""
11901 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
11902 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
11903 "I<errno> on failure."
11904 msgstr ""
11905 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
11906 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
11907 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
11908
11909 #. type: Plain text
11910 #: build/C/man3/setbuf.3:164
11911 msgid "The other functions do not return a value."
11912 msgstr "その他の関数は値を返さない。"
11913
11914 #. type: Plain text
11915 #: build/C/man3/setbuf.3:170
11916 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
11917 msgstr ""
11918 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
11919
11920 #. type: Plain text
11921 #: build/C/man3/setbuf.3:180
11922 msgid ""
11923 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
11924 "versions of BSD before 4.2BSD, and are available under Linux since libc "
11925 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
11926 "buffer size and should be avoided."
11927 msgstr ""
11928 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
11929 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
11930 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
11931 "ズを使用するので、これも使うべきでない。"
11932
11933 #. type: Plain text
11934 #: build/C/man3/setbuf.3:187
11935 msgid ""
11936 "You must make sure that the space that I<buf> points to still exists by the "
11937 "time I<stream> is closed, which also happens at program termination.  For "
11938 "example, the following is invalid:"
11939 msgstr ""
11940 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
11941 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
11942 "な使い方は許されない:"
11943
11944 #. type: Plain text
11945 #: build/C/man3/setbuf.3:190
11946 #, no-wrap
11947 msgid "#include E<lt>stdio.hE<gt>\n"
11948 msgstr "#include E<lt>stdio.hE<gt>\n"
11949
11950 #. type: Plain text
11951 #: build/C/man3/setbuf.3:199
11952 #, no-wrap
11953 msgid ""
11954 "int\n"
11955 "main(void)\n"
11956 "{\n"
11957 "    char buf[BUFSIZ];\n"
11958 "    setbuf(stdin, buf);\n"
11959 "    printf(\"Hello, world!\\en\");\n"
11960 "    return 0;\n"
11961 "}\n"
11962 msgstr ""
11963 "int\n"
11964 "main(void)\n"
11965 "{\n"
11966 "    char buf[BUFSIZ];\n"
11967 "    setbuf(stdin, buf);\n"
11968 "    printf(\"Hello, world!\\en\");\n"
11969 "    return 0;\n"
11970 "}\n"
11971
11972 #. type: Plain text
11973 #: build/C/man3/setbuf.3:208
11974 msgid ""
11975 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11976 "(3), B<puts>(3)"
11977 msgstr ""
11978 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11979 "(3), B<puts>(3)"
11980
11981 #. type: TH
11982 #: build/C/man3/stdin.3:13
11983 #, no-wrap
11984 msgid "STDIN"
11985 msgstr "STDIN"
11986
11987 #. type: TH
11988 #: build/C/man3/stdin.3:13 build/C/man3/tmpfile.3:31
11989 #, no-wrap
11990 msgid "2008-07-14"
11991 msgstr "2008-07-14"
11992
11993 #. type: Plain text
11994 #: build/C/man3/stdin.3:16
11995 msgid "stdin, stdout, stderr - standard I/O streams"
11996 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
11997
11998 #. type: Plain text
11999 #: build/C/man3/stdin.3:23
12000 #, no-wrap
12001 msgid ""
12002 "B<extern FILE *>I<stdin>B<;>\n"
12003 "B<extern FILE *>I<stdout>B<;>\n"
12004 "B<extern FILE *>I<stderr>B<;>\n"
12005 msgstr ""
12006 "B<extern FILE *>I<stdin>B<;>\n"
12007 "B<extern FILE *>I<stdout>B<;>\n"
12008 "B<extern FILE *>I<stderr>B<;>\n"
12009
12010 #. type: Plain text
12011 #: build/C/man3/stdin.3:35
12012 msgid ""
12013 "Under normal circumstances every UNIX program has three streams opened for "
12014 "it when it starts up, one for input, one for output, and one for printing "
12015 "diagnostic or error messages.  These are typically attached to the user's "
12016 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
12017 "depending on what the parent process chose to set up.  (See also the "
12018 "\"Redirection\" section of B<sh>(1).)"
12019 msgstr ""
12020 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
12021 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
12022 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
12023 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
12024 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
12025
12026 #. type: Plain text
12027 #: build/C/man3/stdin.3:45
12028 msgid ""
12029 "The input stream is referred to as \"standard input\"; the output stream is "
12030 "referred to as \"standard output\"; and the error stream is referred to as "
12031 "\"standard error\".  These terms are abbreviated to form the symbols used to "
12032 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
12033 msgstr ""
12034 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
12035 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
12036 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
12037 "I<stdout>, I<stderr> である。"
12038
12039 #. type: Plain text
12040 #: build/C/man3/stdin.3:54
12041 msgid ""
12042 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
12043 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
12044 msgstr ""
12045 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
12046 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
12047
12048 #. type: Plain text
12049 #: build/C/man3/stdin.3:63
12050 msgid ""
12051 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
12052 "same underlying files may also be accessed using the raw UNIX file "
12053 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
12054 msgstr ""
12055 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
12056 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
12057 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
12058 "る。"
12059
12060 #. type: Plain text
12061 #: build/C/man3/stdin.3:82
12062 msgid ""
12063 "On program startup, the integer file descriptors associated with the streams "
12064 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
12065 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
12066 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
12067 "(3)  to one of these streams can change the file descriptor number "
12068 "associated with the stream.)"
12069 msgstr ""
12070 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
12071 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
12072 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
12073 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
12074 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
12075 "たファイルディスクリプタ の番号を変更することができる。)"
12076
12077 #. type: Plain text
12078 #: build/C/man3/stdin.3:95
12079 msgid ""
12080 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
12081 "unexpected results and should generally be avoided.  (For the masochistic "
12082 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
12083 "is supposed to work.)  A general rule is that file descriptors are handled "
12084 "in the kernel, while stdio is just a library.  This means for example, that "
12085 "after an B<exec>(3), the child inherits all open file descriptors, but all "
12086 "old streams have become inaccessible."
12087 msgstr ""
12088 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
12089 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
12090 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
12091 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
12092 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
12093 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
12094 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
12095
12096 #. type: Plain text
12097 #: build/C/man3/stdin.3:113
12098 msgid ""
12099 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
12100 "macros, assigning to them is nonportable.  The standard streams can be made "
12101 "to refer to different files with help of the library function B<freopen>(3), "
12102 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
12103 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
12104 "by normal program termination."
12105 msgstr ""
12106 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
12107 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
12108 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
12109 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
12110 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
12111 "グラムの正常終了によってクローズされる。"
12112
12113 #. type: Plain text
12114 #: build/C/man3/stdin.3:122
12115 msgid ""
12116 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
12117 "standard also stipulates that these three streams shall be open at program "
12118 "startup."
12119 msgstr ""
12120 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
12121 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
12122 "とが規定されている。"
12123
12124 #. type: Plain text
12125 #: build/C/man3/stdin.3:154
12126 msgid ""
12127 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
12128 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
12129 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
12130 "unexpected results, especially with debugging output.  The buffering mode of "
12131 "the standard streams (or any other stream)  can be changed using the "
12132 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
12133 "associated with a terminal, there may also be input buffering in the "
12134 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
12135 "terminal input is line buffered in the kernel.)  This kernel input handling "
12136 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
12137 "B<termios>(3)."
12138 msgstr ""
12139 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
12140 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
12141 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
12142 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
12143 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
12144 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
12145 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
12146 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
12147 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
12148 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
12149 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
12150 "B<termios>(3)  も参照すること。"
12151
12152 #. type: Plain text
12153 #: build/C/man3/stdin.3:160
12154 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12155 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12156
12157 #. type: TH
12158 #: build/C/man3/stdio.3:39
12159 #, no-wrap
12160 msgid "STDIO"
12161 msgstr "STDIO"
12162
12163 #. type: TH
12164 #: build/C/man3/stdio.3:39
12165 #, no-wrap
12166 msgid "2001-12-26"
12167 msgstr "2001-12-26"
12168
12169 #. type: Plain text
12170 #: build/C/man3/stdio.3:42
12171 msgid "stdio - standard input/output library functions"
12172 msgstr "stdio - 標準入出力ライブラリ関数"
12173
12174 #. type: Plain text
12175 #: build/C/man3/stdio.3:46
12176 msgid "B<FILE *>I<stdin>B<;>"
12177 msgstr "B<FILE *>I<stdin>B<;>"
12178
12179 #. type: Plain text
12180 #: build/C/man3/stdio.3:48
12181 msgid "B<FILE *>I<stdout>B<;>"
12182 msgstr "B<FILE *>I<stdout>B<;>"
12183
12184 #. type: Plain text
12185 #: build/C/man3/stdio.3:50
12186 msgid "B<FILE *>I<stderr>B<;>"
12187 msgstr "B<FILE *>I<stderr>B<;>"
12188
12189 #. type: Plain text
12190 #: build/C/man3/stdio.3:57
12191 msgid ""
12192 "The standard I/O library provides a simple and efficient buffered stream I/O "
12193 "interface.  Input and output is mapped into logical data streams and the "
12194 "physical I/O characteristics are concealed.  The functions and macros are "
12195 "listed below; more information is available from the individual man pages."
12196 msgstr ""
12197 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12198 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12199 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12200 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12201
12202 #. type: Plain text
12203 #: build/C/man3/stdio.3:80
12204 msgid ""
12205 "A stream is associated with an external file (which may be a physical "
12206 "device) by I<opening> a file, which may involve creating a new file.  "
12207 "Creating an existing file causes its former contents to be discarded.  If a "
12208 "file can support positioning requests (such as a disk file, as opposed to a "
12209 "terminal) then a I<file position indicator> associated with the stream is "
12210 "positioned at the start of the file (byte zero), unless the file is opened "
12211 "with append mode.  If append mode is used, it is unspecified whether the "
12212 "position indicator will be placed at the start or the end of the file.  The "
12213 "position indicator is maintained by subsequent reads, writes and positioning "
12214 "requests.  All input occurs as if the characters were read by successive "
12215 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12216 "characters were written by successive calls to the B<fputc>(3)  function."
12217 msgstr ""
12218 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12219 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12220 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12221 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12222 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12223 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12224 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12225 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12226 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12227 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12228 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12229 "字を書き込んだかのように行われる。"
12230
12231 #. type: Plain text
12232 #: build/C/man3/stdio.3:90
12233 msgid ""
12234 "A file is disassociated from a stream by I<closing> the file.  Output "
12235 "streams are flushed (any unwritten buffer contents are transferred to the "
12236 "host environment) before the stream is disassociated from the file.  The "
12237 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12238 "closed (garbage)."
12239 msgstr ""
12240 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12241 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12242 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12243 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12244 "確定になる (ゴミになってしまう)。"
12245
12246 #. type: Plain text
12247 #: build/C/man3/stdio.3:103
12248 msgid ""
12249 "A file may be subsequently reopened, by the same or another program "
12250 "execution, and its contents reclaimed or modified (if it can be repositioned "
12251 "at the start).  If the main function returns to its original caller, or the "
12252 "B<exit>(3)  function is called, all open files are closed (hence all output "
12253 "streams are flushed) before program termination.  Other methods of program "
12254 "termination, such as B<abort>(3)  do not bother about closing files properly."
12255 msgstr ""
12256 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12257 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12258 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12259 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12260 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12261 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12262 "保証はない。"
12263
12264 #. type: Plain text
12265 #: build/C/man3/stdio.3:119
12266 msgid ""
12267 "At program startup, three text streams are predefined and need not be opened "
12268 "explicitly: I<standard input> (for reading conventional input), I<standard "
12269 "output> (for writing conventional input), and I<standard error> (for writing "
12270 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12271 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12272 "the standard input and output streams are fully buffered if and only if the "
12273 "streams do not refer to an interactive device."
12274 msgstr ""
12275 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12276 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12277 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12278 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12279 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12280 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12281 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12282 "スを参照していなければ、 完全にバッファリングされている。"
12283
12284 #. type: Plain text
12285 #: build/C/man3/stdio.3:129
12286 msgid ""
12287 "Output streams that refer to terminal devices are always line buffered by "
12288 "default; pending output to such streams is written automatically whenever an "
12289 "input stream that refers to a terminal device is read.  In cases where a "
12290 "large amount of computation is done after printing part of a line on an "
12291 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12292 "going off and computing so that the output will appear."
12293 msgstr ""
12294 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12295 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12296 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12297 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12298 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12299 "必要がある。"
12300
12301 #. type: Plain text
12302 #: build/C/man3/stdio.3:143
12303 msgid ""
12304 "The I<stdio> library is a part of the library B<libc> and routines are "
12305 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12306 "SYNOPSIS sections of the following manual pages indicate which include files "
12307 "are to be used, what the compiler declaration for the function looks like "
12308 "and which external variables are of interest."
12309 msgstr ""
12310 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12311 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12312 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12313 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12314 "数が関係するのかが示されている。"
12315
12316 #.  Not on Linux: .BR fropen ,
12317 #.  Not on Linux: .BR fwopen ,
12318 #. type: Plain text
12319 #: build/C/man3/stdio.3:183
12320 msgid ""
12321 "The following are defined as macros; these names may not be reused without "
12322 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12323 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12324 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12325 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12326 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12327 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12328 "and B<putchar> exist and will be used if the macros definitions are "
12329 "explicitly removed."
12330 msgstr ""
12331 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12332 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12333 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12334 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12335 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12336 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12337 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12338 "示的に消去されている場合には、 これらを使用することになるだろう。"
12339
12340 #. type: SS
12341 #: build/C/man3/stdio.3:183
12342 #, no-wrap
12343 msgid "List of functions"
12344 msgstr "関数のリスト"
12345
12346 #. type: tbl table
12347 #: build/C/man3/stdio.3:188
12348 #, no-wrap
12349 msgid "Function\tDescription\n"
12350 msgstr "関数\t説明\n"
12351
12352 #. type: tbl table
12353 #: build/C/man3/stdio.3:189
12354 #, no-wrap
12355 msgid "_\n"
12356 msgstr "_\n"
12357
12358 #. type: tbl table
12359 #: build/C/man3/stdio.3:190
12360 #, no-wrap
12361 msgid "clearerr\tcheck and reset stream status\n"
12362 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12363
12364 #. type: tbl table
12365 #: build/C/man3/stdio.3:191
12366 #, no-wrap
12367 msgid "fclose\tclose a stream\n"
12368 msgstr "fclose\tストリームをクローズする\n"
12369
12370 #. type: tbl table
12371 #: build/C/man3/stdio.3:192
12372 #, no-wrap
12373 msgid "fdopen\tstream open functions\n"
12374 msgstr "fdopen\tストリームをオープンする\n"
12375
12376 #. type: tbl table
12377 #: build/C/man3/stdio.3:193
12378 #, no-wrap
12379 msgid "feof\tcheck and reset stream status\n"
12380 msgstr "feof\tストリームの状態の確認とリセット\n"
12381
12382 #. type: tbl table
12383 #: build/C/man3/stdio.3:194
12384 #, no-wrap
12385 msgid "ferror\tcheck and reset stream status\n"
12386 msgstr "ferror\tストリームの状態の確認とリセット\n"
12387
12388 #. type: tbl table
12389 #: build/C/man3/stdio.3:195
12390 #, no-wrap
12391 msgid "fflush\tflush a stream\n"
12392 msgstr "fflush\tストリームをフラッシュする\n"
12393
12394 #. type: tbl table
12395 #: build/C/man3/stdio.3:196
12396 #, no-wrap
12397 msgid "fgetc\tget next character or word from input stream\n"
12398 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12399
12400 #. type: tbl table
12401 #: build/C/man3/stdio.3:197
12402 #, no-wrap
12403 msgid "fgetpos\treposition a stream\n"
12404 msgstr "fgetpos\tストリームの位置を取得する\n"
12405
12406 #. type: tbl table
12407 #: build/C/man3/stdio.3:198
12408 #, no-wrap
12409 msgid "fgets\tget a line from a stream\n"
12410 msgstr "fgets\tストリームから行を取得する\n"
12411
12412 #. type: tbl table
12413 #: build/C/man3/stdio.3:199
12414 #, no-wrap
12415 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12416 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12417
12418 #. type: tbl table
12419 #: build/C/man3/stdio.3:200
12420 #, no-wrap
12421 msgid "fopen\tstream open functions\n"
12422 msgstr "fopen\tストリームをオープンする\n"
12423
12424 #. type: tbl table
12425 #: build/C/man3/stdio.3:201
12426 #, no-wrap
12427 msgid "fprintf\tformatted output conversion\n"
12428 msgstr "fprintf\t書式付き出力変換\n"
12429
12430 #. type: tbl table
12431 #: build/C/man3/stdio.3:202
12432 #, no-wrap
12433 msgid "fpurge\tflush a stream\n"
12434 msgstr "fpurge\tストリームをフラッシュする\n"
12435
12436 #. type: tbl table
12437 #: build/C/man3/stdio.3:203
12438 #, no-wrap
12439 msgid "fputc\toutput a character or word to a stream\n"
12440 msgstr "fputc\t文字または語をストリームに出力する\n"
12441
12442 #. type: tbl table
12443 #: build/C/man3/stdio.3:204
12444 #, no-wrap
12445 msgid "fputs\toutput a line to a stream\n"
12446 msgstr "fputs\t行をストリームに出力する\n"
12447
12448 #. type: tbl table
12449 #: build/C/man3/stdio.3:205
12450 #, no-wrap
12451 msgid "fread\tbinary stream input/output\n"
12452 msgstr "fread\tバイナリーストリーム入出力\n"
12453
12454 #. type: tbl table
12455 #: build/C/man3/stdio.3:206
12456 #, no-wrap
12457 msgid "freopen\tstream open functions\n"
12458 msgstr "freopen\tストリームをオープンする\n"
12459
12460 #. type: tbl table
12461 #: build/C/man3/stdio.3:207
12462 #, no-wrap
12463 msgid "fscanf\tinput format conversion\n"
12464 msgstr "fscanf\t書式付き入力変換\n"
12465
12466 #. type: tbl table
12467 #: build/C/man3/stdio.3:208
12468 #, no-wrap
12469 msgid "fseek\treposition a stream\n"
12470 msgstr "fseek\tストリームの位置指示子を移動する\n"
12471
12472 #. type: tbl table
12473 #: build/C/man3/stdio.3:209
12474 #, no-wrap
12475 msgid "fsetpos\treposition a stream\n"
12476 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12477
12478 #. type: tbl table
12479 #: build/C/man3/stdio.3:210
12480 #, no-wrap
12481 msgid "ftell\treposition a stream\n"
12482 msgstr "ftell\tストリームの位置を取得する\n"
12483
12484 #. type: tbl table
12485 #: build/C/man3/stdio.3:211
12486 #, no-wrap
12487 msgid "fwrite\tbinary stream input/output\n"
12488 msgstr "fwrite\tバイナリーストリーム入出力\n"
12489
12490 #. type: tbl table
12491 #: build/C/man3/stdio.3:212
12492 #, no-wrap
12493 msgid "getc\tget next character or word from input stream\n"
12494 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12495
12496 #. type: tbl table
12497 #: build/C/man3/stdio.3:213
12498 #, no-wrap
12499 msgid "getchar\tget next character or word from input stream\n"
12500 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12501
12502 #. type: tbl table
12503 #: build/C/man3/stdio.3:214
12504 #, no-wrap
12505 msgid "gets\tget a line from a stream\n"
12506 msgstr "gets\t行を入力ストリームから取得する\n"
12507
12508 #. type: tbl table
12509 #: build/C/man3/stdio.3:215
12510 #, no-wrap
12511 msgid "getw\tget next character or word from input stream\n"
12512 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12513
12514 #. type: tbl table
12515 #: build/C/man3/stdio.3:216
12516 #, no-wrap
12517 msgid "mktemp\tmake temporary filename (unique)\n"
12518 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12519
12520 #. type: tbl table
12521 #: build/C/man3/stdio.3:217
12522 #, no-wrap
12523 msgid "perror\tsystem error messages\n"
12524 msgstr "perror\tシステムエラーメッセージ\n"
12525
12526 #. type: tbl table
12527 #: build/C/man3/stdio.3:218
12528 #, no-wrap
12529 msgid "printf\tformatted output conversion\n"
12530 msgstr "printf\t書式付き出力変換\n"
12531
12532 #. type: tbl table
12533 #: build/C/man3/stdio.3:219
12534 #, no-wrap
12535 msgid "putc\toutput a character or word to a stream\n"
12536 msgstr "putc\t文字または語をストリームに出力する\n"
12537
12538 #. type: tbl table
12539 #: build/C/man3/stdio.3:220
12540 #, no-wrap
12541 msgid "putchar\toutput a character or word to a stream\n"
12542 msgstr "putchar\t文字または語をストリームに出力する\n"
12543
12544 #. type: tbl table
12545 #: build/C/man3/stdio.3:221
12546 #, no-wrap
12547 msgid "puts\toutput a line to a stream\n"
12548 msgstr "puts\t行をストリームに出力する\n"
12549
12550 #. type: tbl table
12551 #: build/C/man3/stdio.3:222
12552 #, no-wrap
12553 msgid "putw\toutput a character or word to a stream\n"
12554 msgstr "putw\t文字または語をストリームに出力する\n"
12555
12556 #. type: tbl table
12557 #: build/C/man3/stdio.3:223
12558 #, no-wrap
12559 msgid "remove\tremove directory entry\n"
12560 msgstr "remove\tディレクトリエントリを削除する\n"
12561
12562 #. type: tbl table
12563 #: build/C/man3/stdio.3:224
12564 #, no-wrap
12565 msgid "rewind\treposition a stream\n"
12566 msgstr "rewind\tストリームの位置指示子を移動する\n"
12567
12568 #. type: tbl table
12569 #: build/C/man3/stdio.3:225
12570 #, no-wrap
12571 msgid "scanf\tinput format conversion\n"
12572 msgstr "scanf\t書式付き入力変換\n"
12573
12574 #. type: tbl table
12575 #: build/C/man3/stdio.3:226
12576 #, no-wrap
12577 msgid "setbuf\tstream buffering operations\n"
12578 msgstr "setbuf\tストリームのバッファリングの操作\n"
12579
12580 #. type: tbl table
12581 #: build/C/man3/stdio.3:227
12582 #, no-wrap
12583 msgid "setbuffer\tstream buffering operations\n"
12584 msgstr "setbuffer\tストリームのバッファリングの操作\n"
12585
12586 #. type: tbl table
12587 #: build/C/man3/stdio.3:228
12588 #, no-wrap
12589 msgid "setlinebuf\tstream buffering operations\n"
12590 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
12591
12592 #. type: tbl table
12593 #: build/C/man3/stdio.3:229
12594 #, no-wrap
12595 msgid "setvbuf\tstream buffering operations\n"
12596 msgstr "setvbuf\tストリームのバッファリングの操作\n"
12597
12598 #. type: tbl table
12599 #: build/C/man3/stdio.3:230
12600 #, no-wrap
12601 msgid "sprintf\tformatted output conversion\n"
12602 msgstr "sprintf\t書式付き出力変換\n"
12603
12604 #. type: tbl table
12605 #: build/C/man3/stdio.3:231
12606 #, no-wrap
12607 msgid "sscanf\tinput format conversion\n"
12608 msgstr "sscanf\t書式付き入力変換\n"
12609
12610 #. type: tbl table
12611 #: build/C/man3/stdio.3:232
12612 #, no-wrap
12613 msgid "strerror\tsystem error messages\n"
12614 msgstr "strerror\tシステムエラーメッセージ\n"
12615
12616 #. type: tbl table
12617 #: build/C/man3/stdio.3:233
12618 #, no-wrap
12619 msgid "sys_errlist\tsystem error messages\n"
12620 msgstr "sys_errlist\tシステムエラーメッセージ\n"
12621
12622 #. type: tbl table
12623 #: build/C/man3/stdio.3:234
12624 #, no-wrap
12625 msgid "sys_nerr\tsystem error messages\n"
12626 msgstr "sys_nerr\tシステムエラーメッセージ\n"
12627
12628 #. type: tbl table
12629 #: build/C/man3/stdio.3:235
12630 #, no-wrap
12631 msgid "tempnam\ttemporary file routines\n"
12632 msgstr "tempnam\tテンポラリファイルの操作\n"
12633
12634 #. type: tbl table
12635 #: build/C/man3/stdio.3:236
12636 #, no-wrap
12637 msgid "tmpfile\ttemporary file routines\n"
12638 msgstr "tmpfile\tテンポラリファイルの操作\n"
12639
12640 #. type: tbl table
12641 #: build/C/man3/stdio.3:237
12642 #, no-wrap
12643 msgid "tmpnam\ttemporary file routines\n"
12644 msgstr "tmpnam\tテンポラリファイルの操作\n"
12645
12646 #. type: tbl table
12647 #: build/C/man3/stdio.3:238
12648 #, no-wrap
12649 msgid "ungetc\tun-get character from input stream\n"
12650 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
12651
12652 #. type: tbl table
12653 #: build/C/man3/stdio.3:239
12654 #, no-wrap
12655 msgid "vfprintf\tformatted output conversion\n"
12656 msgstr "vfprintf\t書式付き出力変換\n"
12657
12658 #. type: tbl table
12659 #: build/C/man3/stdio.3:240
12660 #, no-wrap
12661 msgid "vfscanf\tinput format conversion\n"
12662 msgstr "vfscanf\t書式付き入力変換\n"
12663
12664 #. type: tbl table
12665 #: build/C/man3/stdio.3:241
12666 #, no-wrap
12667 msgid "vprintf\tformatted output conversion\n"
12668 msgstr "vprintf\t書式付き出力変換\n"
12669
12670 #. type: tbl table
12671 #: build/C/man3/stdio.3:242
12672 #, no-wrap
12673 msgid "vscanf\tinput format conversion\n"
12674 msgstr "vscanf\t書式付き入力変換\n"
12675
12676 #. type: tbl table
12677 #: build/C/man3/stdio.3:243
12678 #, no-wrap
12679 msgid "vsprintf\tformatted output conversion\n"
12680 msgstr "vsprintf\t書式付き出力変換\n"
12681
12682 #. type: tbl table
12683 #: build/C/man3/stdio.3:244
12684 #, no-wrap
12685 msgid "vsscanf\tinput format conversion\n"
12686 msgstr "vsscanf\t書式付き入力変換\n"
12687
12688 #. type: Plain text
12689 #: build/C/man3/stdio.3:250
12690 msgid "The I<stdio> library conforms to C89."
12691 msgstr "I<stdio> ライブラリは C89 に準拠している。"
12692
12693 #. type: Plain text
12694 #: build/C/man3/stdio.3:257
12695 msgid ""
12696 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12697 "B<unlocked_stdio>(3)"
12698 msgstr ""
12699 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12700 "B<unlocked_stdio>(3)"
12701
12702 #. type: TH
12703 #: build/C/man3/stdio_ext.3:25
12704 #, no-wrap
12705 msgid "STDIO_EXT"
12706 msgstr "STDIO_EXT"
12707
12708 #. type: TH
12709 #: build/C/man3/stdio_ext.3:25
12710 #, no-wrap
12711 msgid "2001-12-16"
12712 msgstr "2001-12-16"
12713
12714 #. type: Plain text
12715 #: build/C/man3/stdio_ext.3:30
12716 msgid ""
12717 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12718 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
12719 "structure"
12720 msgstr ""
12721 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12722 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
12723 "へのインタフェース"
12724
12725 #. type: Plain text
12726 #: build/C/man3/stdio_ext.3:34
12727 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
12728 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
12729
12730 #. type: Plain text
12731 #: build/C/man3/stdio_ext.3:36
12732 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12733 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12734
12735 #. type: Plain text
12736 #: build/C/man3/stdio_ext.3:38
12737 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
12738 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
12739
12740 #. type: Plain text
12741 #: build/C/man3/stdio_ext.3:40
12742 msgid "B<int __flbf(FILE *>I<stream>B<);>"
12743 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
12744
12745 #. type: Plain text
12746 #: build/C/man3/stdio_ext.3:42
12747 msgid "B<int __freadable(FILE *>I<stream>B<);>"
12748 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
12749
12750 #. type: Plain text
12751 #: build/C/man3/stdio_ext.3:44
12752 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
12753 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
12754
12755 #. type: Plain text
12756 #: build/C/man3/stdio_ext.3:46
12757 msgid "B<int __freading(FILE *>I<stream>B<);>"
12758 msgstr "B<int __freading(FILE *>I<stream>B<);>"
12759
12760 #. type: Plain text
12761 #: build/C/man3/stdio_ext.3:48
12762 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
12763 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
12764
12765 #. type: Plain text
12766 #: build/C/man3/stdio_ext.3:50
12767 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12768 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12769
12770 #. type: Plain text
12771 #: build/C/man3/stdio_ext.3:52
12772 msgid "B<void _flushlbf(void);>"
12773 msgstr "B<void _flushlbf(void);>"
12774
12775 #. type: Plain text
12776 #: build/C/man3/stdio_ext.3:54
12777 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
12778 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
12779
12780 #. type: Plain text
12781 #: build/C/man3/stdio_ext.3:59
12782 msgid ""
12783 "Solaris introduced routines to allow portable access to the internals of the "
12784 "I<FILE> structure, and glibc also implemented these."
12785 msgstr ""
12786 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
12787 "が導入されており、これらは glibc でも実装されている。"
12788
12789 #. type: Plain text
12790 #: build/C/man3/stdio_ext.3:64
12791 msgid ""
12792 "The B<__fbufsize>()  function returns the size of the buffer currently used "
12793 "by the given stream."
12794 msgstr ""
12795 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファサイズを返"
12796 "す。"
12797
12798 #. type: Plain text
12799 #: build/C/man3/stdio_ext.3:71
12800 msgid ""
12801 "The B<__fpending>()  function returns the number of bytes in the output "
12802 "buffer.  For wide-oriented streams the unit is wide characters.  This "
12803 "function is undefined on buffers in reading mode, or opened read-only."
12804 msgstr ""
12805 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
12806 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
12807 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
12808 "は未定義である。"
12809
12810 #. type: Plain text
12811 #: build/C/man3/stdio_ext.3:76
12812 msgid ""
12813 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
12814 "buffered, and zero otherwise."
12815 msgstr ""
12816 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
12817 "場合は 0 を返す。"
12818
12819 #. type: Plain text
12820 #: build/C/man3/stdio_ext.3:81
12821 msgid ""
12822 "The B<__freadable>()  function returns a nonzero value if the stream allows "
12823 "reading, and zero otherwise."
12824 msgstr ""
12825 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
12826 "外の場合は 0 を返す。"
12827
12828 #. type: Plain text
12829 #: build/C/man3/stdio_ext.3:86
12830 msgid ""
12831 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
12832 "writing, and zero otherwise."
12833 msgstr ""
12834 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
12835 "外の場合は 0 を返す。"
12836
12837 #. type: Plain text
12838 #: build/C/man3/stdio_ext.3:92
12839 msgid ""
12840 "The B<__freading>()  function returns a nonzero value if the stream is read-"
12841 "only, or if the last operation on the stream was a read operation, and zero "
12842 "otherwise."
12843 msgstr ""
12844 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
12845 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
12846 "を返す。"
12847
12848 #. type: Plain text
12849 #: build/C/man3/stdio_ext.3:98
12850 msgid ""
12851 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
12852 "only (or append-only), or if the last operation on the stream was a write "
12853 "operation, and zero otherwise."
12854 msgstr ""
12855 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
12856 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
12857 "し、 それ以外の場合は 0 を返す。"
12858
12859 #. type: Plain text
12860 #: build/C/man3/stdio_ext.3:106
12861 msgid ""
12862 "The B<__fsetlocking>()  function can be used to select the desired type of "
12863 "locking on the stream.  It returns the current type.  The I<type> argument "
12864 "can take the following three values:"
12865 msgstr ""
12866 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
12867 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
12868 "ることができる :"
12869
12870 #. type: TP
12871 #: build/C/man3/stdio_ext.3:106
12872 #, no-wrap
12873 msgid "B<FSETLOCKING_INTERNAL>"
12874 msgstr "B<FSETLOCKING_INTERNAL>"
12875
12876 #. type: Plain text
12877 #: build/C/man3/stdio_ext.3:111
12878 msgid ""
12879 "Perform implicit locking around every operation on the given stream (except "
12880 "for the *_unlocked ones).  This is the default."
12881 msgstr ""
12882 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
12883 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
12884 "である)。 これがデフォルトのロック形式である。"
12885
12886 #. type: TP
12887 #: build/C/man3/stdio_ext.3:111
12888 #, no-wrap
12889 msgid "B<FSETLOCKING_BYCALLER>"
12890 msgstr "B<FSETLOCKING_BYCALLER>"
12891
12892 #. type: Plain text
12893 #: build/C/man3/stdio_ext.3:118
12894 msgid ""
12895 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
12896 "case there is more than one thread), and the stdio routines will not do "
12897 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
12898 msgstr ""
12899 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
12900 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
12901 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
12902 "理を行わない。"
12903
12904 #. type: TP
12905 #: build/C/man3/stdio_ext.3:118
12906 #, no-wrap
12907 msgid "B<FSETLOCKING_QUERY>"
12908 msgstr "B<FSETLOCKING_QUERY>"
12909
12910 #. type: Plain text
12911 #: build/C/man3/stdio_ext.3:122
12912 msgid "Don't change the type of locking.  (Only return it.)"
12913 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
12914
12915 #. type: Plain text
12916 #: build/C/man3/stdio_ext.3:128
12917 msgid ""
12918 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
12919 "so that output to a terminal is forced out, say before reading keyboard "
12920 "input.)"
12921 msgstr ""
12922 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
12923 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
12924 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
12925 "いだろう)"
12926
12927 #. type: Plain text
12928 #: build/C/man3/stdio_ext.3:132
12929 msgid ""
12930 "The B<__fpurge>()  function discards the contents of the stream's buffer."
12931 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
12932
12933 #. type: Plain text
12934 #: build/C/man3/stdio_ext.3:135
12935 msgid "B<flockfile>(3), B<fpurge>(3)"
12936 msgstr "B<flockfile>(3), B<fpurge>(3)"
12937
12938 #. type: TH
12939 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
12940 #, no-wrap
12941 msgid "SYMLINK"
12942 msgstr "SYMLINK"
12943
12944 #. type: Plain text
12945 #: build/C/man2/symlink.2:35
12946 msgid "symlink - make a new name for a file"
12947 msgstr "symlink - ファイルに新しい名前を付ける"
12948
12949 #. type: Plain text
12950 #: build/C/man2/symlink.2:39
12951 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12952 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12953
12954 #. type: Plain text
12955 #: build/C/man2/symlink.2:47
12956 msgid "B<symlink>():"
12957 msgstr "B<symlink>():"
12958
12959 #. type: Plain text
12960 #: build/C/man2/symlink.2:58
12961 msgid ""
12962 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
12963 "string I<oldpath>."
12964 msgstr ""
12965 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
12966 "I<newpath> というシンボリックリンク (symbolic link) を作成する。"
12967
12968 #. type: Plain text
12969 #: build/C/man2/symlink.2:62
12970 msgid ""
12971 "Symbolic links are interpreted at run time as if the contents of the link "
12972 "had been substituted into the path being followed to find a file or "
12973 "directory."
12974 msgstr ""
12975 "シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
12976 "スを辿ることで、 ファイルやディレクトリに到達する。"
12977
12978 #. type: Plain text
12979 #: build/C/man2/symlink.2:67
12980 msgid ""
12981 "Symbolic links may contain I<..> path components, which (if used at the "
12982 "start of the link) refer to the parent directories of that in which the link "
12983 "resides."
12984 msgstr ""
12985 "シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
12986 "の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
12987 "される。"
12988
12989 #. type: Plain text
12990 #: build/C/man2/symlink.2:71
12991 msgid ""
12992 "A symbolic link (also known as a soft link) may point to an existing file or "
12993 "to a nonexistent one; the latter case is known as a dangling link."
12994 msgstr ""
12995 "シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
12996 "を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
12997 "の場合は壊れたリンク (dangling link) とも呼ばれる。"
12998
12999 #. type: Plain text
13000 #: build/C/man2/symlink.2:78
13001 msgid ""
13002 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
13003 "when following the link, but is checked when removal or renaming of the link "
13004 "is requested and the link is in a directory with the sticky bit "
13005 "(B<S_ISVTX>)  set."
13006 msgstr ""
13007 "シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
13008 "は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
13009 "れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
13010 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
13011
13012 #. type: Plain text
13013 #: build/C/man2/symlink.2:99
13014 msgid ""
13015 "Write access to the directory containing I<newpath> is denied, or one of the "
13016 "directories in the path prefix of I<newpath> did not allow search "
13017 "permission.  (See also B<path_resolution>(7).)"
13018 msgstr ""
13019 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
13020 "含まれているディレクトリのどれかに検索許可が与えられていない "
13021 "(B<path_resolution>(7)  も参照すること)。"
13022
13023 #. type: Plain text
13024 #: build/C/man2/symlink.2:104
13025 msgid ""
13026 "The user's quota of resources on the file system has been exhausted.  The "
13027 "resources could be inodes or disk blocks, depending on the file system "
13028 "implementation."
13029 msgstr ""
13030
13031 #. type: Plain text
13032 #: build/C/man2/symlink.2:118
13033 msgid "Too many symbolic links were encountered in resolving I<newpath>."
13034 msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
13035
13036 #. type: Plain text
13037 #: build/C/man2/symlink.2:128
13038 msgid ""
13039 "A directory component in I<newpath> does not exist or is a dangling symbolic "
13040 "link, or I<oldpath> is the empty string."
13041 msgstr ""
13042 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
13043 "I<oldpath> が空文字列である。"
13044
13045 #. type: Plain text
13046 #: build/C/man2/symlink.2:140
13047 msgid ""
13048 "A component used as a directory in I<newpath> is not, in fact, a directory."
13049 msgstr ""
13050 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
13051
13052 #. type: Plain text
13053 #: build/C/man2/symlink.2:145
13054 msgid ""
13055 "The file system containing I<newpath> does not support the creation of "
13056 "symbolic links."
13057 msgstr ""
13058 "I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
13059 "作成をサポートしていない。"
13060
13061 #. type: Plain text
13062 #: build/C/man2/symlink.2:149
13063 msgid "I<newpath> is on a read-only file system."
13064 msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
13065
13066 #. type: Plain text
13067 #: build/C/man2/symlink.2:159
13068 msgid "No checking of I<oldpath> is done."
13069 msgstr "I<oldpath> についてのチェックは行なわれない。"
13070
13071 #. type: Plain text
13072 #: build/C/man2/symlink.2:164
13073 msgid ""
13074 "Deleting the name referred to by a symlink will actually delete the file "
13075 "(unless it also has other hard links).  If this behavior is not desired, use "
13076 "B<link>(2)."
13077 msgstr ""
13078 "symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
13079 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
13080 "場合は、 B<link>(2)  を使用すること。"
13081
13082 #. type: Plain text
13083 #: build/C/man2/symlink.2:176
13084 msgid ""
13085 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13086 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13087 "B<symlink>(7)"
13088 msgstr ""
13089 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13090 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13091 "B<symlink>(7)"
13092
13093 #. type: TH
13094 #: build/C/man7/symlink.7:36
13095 #, no-wrap
13096 msgid "2008-06-18"
13097 msgstr "2008-06-18"
13098
13099 #. type: Plain text
13100 #: build/C/man7/symlink.7:39
13101 msgid "symlink - symbolic link handling"
13102 msgstr ""
13103
13104 #. type: SH
13105 #: build/C/man7/symlink.7:39
13106 #, no-wrap
13107 msgid "SYMBOLIC LINK HANDLING"
13108 msgstr ""
13109
13110 #. type: Plain text
13111 #: build/C/man7/symlink.7:43
13112 msgid ""
13113 "Symbolic links are files that act as pointers to other files.  To understand "
13114 "their behavior, you must first understand how hard links work."
13115 msgstr ""
13116
13117 #. type: Plain text
13118 #: build/C/man7/symlink.7:59
13119 msgid ""
13120 "A hard link to a file is indistinguishable from the original file because it "
13121 "is a reference to the object underlying the original filename.  (To be "
13122 "precise: each of the hard links to a file is a reference to the same I<i-"
13123 "node number>, where an i-node number is an index into the i-node table, "
13124 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13125 "Changes to a file are independent of the name used to reference the file.  "
13126 "Hard links may not refer to directories (to prevent the possibility of loops "
13127 "within the file system tree, which would confuse many programs)  and may not "
13128 "refer to files on different file systems (because i-node numbers are not "
13129 "unique across file systems)."
13130 msgstr ""
13131
13132 #. type: Plain text
13133 #: build/C/man7/symlink.7:66
13134 msgid ""
13135 "A symbolic link is a special type of file whose contents are a string that "
13136 "is the pathname another file, the file to which the link refers.  In other "
13137 "words, a symbolic link is a pointer to another name, and not to an "
13138 "underlying object.  For this reason, symbolic links may refer to directories "
13139 "and may cross file system boundaries."
13140 msgstr ""
13141
13142 #. type: Plain text
13143 #: build/C/man7/symlink.7:72
13144 msgid ""
13145 "There is no requirement that the pathname referred to by a symbolic link "
13146 "should exist.  A symbolic link that refers to a pathname that does not exist "
13147 "is said to be a I<dangling link>."
13148 msgstr ""
13149
13150 #. type: Plain text
13151 #: build/C/man7/symlink.7:84
13152 msgid ""
13153 "Because a symbolic link and its referenced object coexist in the file system "
13154 "name space, confusion can arise in distinguishing between the link itself "
13155 "and the referenced object.  On historical systems, commands and system calls "
13156 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13157 "Rules for a more uniform approach, as they are implemented on Linux and "
13158 "other systems, are outlined here.  It is important that site-local "
13159 "applications also conform to these rules, so that the user interface can be "
13160 "as consistent as possible."
13161 msgstr ""
13162
13163 #. type: SS
13164 #: build/C/man7/symlink.7:84
13165 #, no-wrap
13166 msgid "Symbolic link ownership, permissions, and timestamps"
13167 msgstr ""
13168
13169 #. type: Plain text
13170 #: build/C/man7/symlink.7:92
13171 msgid ""
13172 "The owner and group of an existing symbolic link can be changed using "
13173 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13174 "is when the link is being removed or renamed in a directory that has the "
13175 "sticky bit set (see B<stat>(2))."
13176 msgstr ""
13177
13178 #. type: Plain text
13179 #: build/C/man7/symlink.7:98
13180 msgid ""
13181 "The last access and last modification timestamps of a symbolic link can be "
13182 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13183 msgstr ""
13184
13185 #.  Linux does not currently implement an lchmod(2).
13186 #.  The
13187 #.  4.4BSD
13188 #.  system differs from historical
13189 #.  4BSD
13190 #.  systems in that the system call
13191 #.  .BR chown (2)
13192 #.  has been changed to follow symbolic links.
13193 #.  The
13194 #.  .BR lchown (2)
13195 #.  system call was added later when the limitations of the new
13196 #.  .BR chown (2)
13197 #.  became apparent.
13198 #. type: Plain text
13199 #: build/C/man7/symlink.7:117
13200 msgid ""
13201 "On Linux, the permissions of a symbolic link are not used in any operations; "
13202 "the permissions are always 0777 (read, write, and execute for all user "
13203 "categories), and can't be changed."
13204 msgstr ""
13205
13206 #. type: SS
13207 #: build/C/man7/symlink.7:117
13208 #, no-wrap
13209 msgid "Handling of symbolic links by system calls and commands"
13210 msgstr ""
13211
13212 #. type: Plain text
13213 #: build/C/man7/symlink.7:132
13214 msgid ""
13215 "Symbolic links are handled either by operating on the link itself, or by "
13216 "operating on the object referred to by the link.  In the latter case, an "
13217 "application or system call is said to I<follow> the link.  Symbolic links "
13218 "may refer to other symbolic links, in which case the links are dereferenced "
13219 "until an object that is not a symbolic link is found, a symbolic link that "
13220 "refers to a file which does not exist is found, or a loop is detected.  "
13221 "(Loop detection is done by placing an upper limit on the number of links "
13222 "that may be followed, and an error results if this limit is exceeded.)"
13223 msgstr ""
13224
13225 #. type: Plain text
13226 #: build/C/man7/symlink.7:135
13227 msgid ""
13228 "There are three separate areas that need to be discussed.  They are as "
13229 "follows:"
13230 msgstr ""
13231
13232 #. type: IP
13233 #: build/C/man7/symlink.7:135
13234 #, no-wrap
13235 msgid "1."
13236 msgstr "1."
13237
13238 #. type: Plain text
13239 #: build/C/man7/symlink.7:137
13240 msgid "Symbolic links used as filename arguments for system calls."
13241 msgstr ""
13242
13243 #. type: IP
13244 #: build/C/man7/symlink.7:137
13245 #, no-wrap
13246 msgid "2."
13247 msgstr "2."
13248
13249 #. type: Plain text
13250 #: build/C/man7/symlink.7:140
13251 msgid ""
13252 "Symbolic links specified as command-line arguments to utilities that are not "
13253 "traversing a file tree."
13254 msgstr ""
13255
13256 #. type: IP
13257 #: build/C/man7/symlink.7:140
13258 #, no-wrap
13259 msgid "3."
13260 msgstr "3."
13261
13262 #. type: Plain text
13263 #: build/C/man7/symlink.7:144
13264 msgid ""
13265 "Symbolic links encountered by utilities that are traversing a file tree "
13266 "(either specified on the command line or encountered as part of the file "
13267 "hierarchy walk)."
13268 msgstr ""
13269
13270 #. type: SS
13271 #: build/C/man7/symlink.7:144
13272 #, no-wrap
13273 msgid "System calls"
13274 msgstr ""
13275
13276 #. type: Plain text
13277 #: build/C/man7/symlink.7:147
13278 msgid ""
13279 "The first area is symbolic links used as filename arguments for system calls."
13280 msgstr ""
13281
13282 #. type: Plain text
13283 #: build/C/man7/symlink.7:157
13284 msgid ""
13285 "Except as noted below, all system calls follow symbolic links.  For example, "
13286 "if there were a symbolic link I<slink> which pointed to a file named "
13287 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13288 "descriptor referring to the file I<afile>."
13289 msgstr ""
13290
13291 #.  Maybe one day: .BR fchownat (2)
13292 #. type: Plain text
13293 #: build/C/man7/symlink.7:207
13294 msgid ""
13295 "Various system calls do not follow links, and operate on the symbolic link "
13296 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13297 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13298 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13299 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13300 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13301 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13302 "(2), that library function also does not follow symbolic links.  When "
13303 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13304 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13305 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13306 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13307 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13308 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13309 "to allow either behavior in an implementation."
13310 msgstr ""
13311
13312 #. type: SS
13313 #: build/C/man7/symlink.7:207
13314 #, no-wrap
13315 msgid "Commands not traversing a file tree"
13316 msgstr ""
13317
13318 #. type: Plain text
13319 #: build/C/man7/symlink.7:210
13320 msgid ""
13321 "The second area is symbolic links, specified as command-line filename "
13322 "arguments, to commands which are not traversing a file tree."
13323 msgstr ""
13324
13325 #. type: Plain text
13326 #: build/C/man7/symlink.7:221
13327 msgid ""
13328 "Except as noted below, commands follow symbolic links named as command-line "
13329 "arguments.  For example, if there were a symbolic link I<slink> which "
13330 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13331 "contents of the file I<afile>."
13332 msgstr ""
13333
13334 #. type: Plain text
13335 #: build/C/man7/symlink.7:229
13336 msgid ""
13337 "It is important to realize that this rule includes commands which may "
13338 "optionally traverse file trees, e.g., the command I<chown file> is included "
13339 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13340 "traversal, is not.  (The latter is described in the third area, below.)"
13341 msgstr ""
13342
13343 #. type: Plain text
13344 #: build/C/man7/symlink.7:247
13345 msgid ""
13346 "If it is explicitly intended that the command operate on the symbolic link "
13347 "instead of following the symbolic link, e.g., it is desired that I<chown "
13348 "slink> change the ownership of the file that I<slink> is, whether it is a "
13349 "symbolic link or not, the I<-h> option should be used.  In the above "
13350 "example, I<chown root slink> would change the ownership of the file referred "
13351 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13352 "I<slink> itself."
13353 msgstr ""
13354
13355 #. type: Plain text
13356 #: build/C/man7/symlink.7:249
13357 msgid "There are some exceptions to this rule:"
13358 msgstr ""
13359
13360 #. type: Plain text
13361 #: build/C/man7/symlink.7:259
13362 msgid ""
13363 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13364 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13365 "the symbolic link references a file via a relative path, moving it to "
13366 "another directory may very well cause it to stop working, since the path may "
13367 "no longer be correct.)"
13368 msgstr ""
13369
13370 #. type: Plain text
13371 #: build/C/man7/symlink.7:289
13372 msgid ""
13373 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13374 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13375 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13376 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13377 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13378 "the only command where the I<-H> and I<-L> options affect its behavior even "
13379 "though it is not doing a walk of a file tree.)"
13380 msgstr ""
13381
13382 #. The 4.4BSD system differs from historical 4BSD systems in that the
13383 #. .BR chown (1)
13384 #. and
13385 #. .BR chgrp (1)
13386 #. commands follow symbolic links specified on the command line.
13387 #. type: Plain text
13388 #: build/C/man7/symlink.7:307
13389 msgid ""
13390 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13391 "command does not follow symbolic links named as argument by default.  The "
13392 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13393 "L> option is specified."
13394 msgstr ""
13395
13396 #. type: SS
13397 #: build/C/man7/symlink.7:307
13398 #, no-wrap
13399 msgid "Commands traversing a file tree"
13400 msgstr ""
13401
13402 #. type: Plain text
13403 #: build/C/man7/symlink.7:320
13404 msgid ""
13405 "The following commands either optionally or always traverse file trees: "
13406 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13407 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13408 msgstr ""
13409
13410 #. type: Plain text
13411 #: build/C/man7/symlink.7:324
13412 msgid ""
13413 "It is important to realize that the following rules apply equally to "
13414 "symbolic links encountered during the file tree traversal and symbolic links "
13415 "listed as command-line arguments."
13416 msgstr ""
13417
13418 #. type: Plain text
13419 #: build/C/man7/symlink.7:329
13420 msgid ""
13421 "The I<first rule> applies to symbolic links that reference files other than "
13422 "directories.  Operations that apply to symbolic links are performed on the "
13423 "links themselves, but otherwise the links are ignored."
13424 msgstr ""
13425
13426 #. type: Plain text
13427 #: build/C/man7/symlink.7:341
13428 msgid ""
13429 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13430 "symbolic links encountered in the tree traversal of I<directory>, because "
13431 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13432 "referred to by I<slink>."
13433 msgstr ""
13434
13435 #. type: Plain text
13436 #: build/C/man7/symlink.7:346
13437 msgid ""
13438 "The I<second rule> applies to symbolic links that refer to directories.  "
13439 "Symbolic links that refer to directories are never followed by default.  "
13440 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13441 "\" walk (where symbolic links the refer to directories are followed)."
13442 msgstr ""
13443
13444 #. type: Plain text
13445 #: build/C/man7/symlink.7:349
13446 msgid ""
13447 "Certain conventions are (should be) followed as consistently as possible by "
13448 "commands that perform file tree walks:"
13449 msgstr ""
13450
13451 #. type: Plain text
13452 #: build/C/man7/symlink.7:362
13453 msgid ""
13454 "A command can be made to follow any symbolic links named on the command "
13455 "line, regardless of the type of file they reference, by specifying the I<-H> "
13456 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13457 "name space look like the logical name space.  (Note, for commands that do "
13458 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13459 "R> flag is not also specified.)"
13460 msgstr ""
13461
13462 #. type: Plain text
13463 #: build/C/man7/symlink.7:378
13464 msgid ""
13465 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13466 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13467 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13468 "symbolic links specified on the command line to be dereferenced for the "
13469 "purposes of both the action to be performed and the tree walk, and it is as "
13470 "if the user had specified the name of the file to which the symbolic link "
13471 "pointed."
13472 msgstr ""
13473
13474 #. type: Plain text
13475 #: build/C/man7/symlink.7:392
13476 msgid ""
13477 "A command can be made to follow any symbolic links named on the command "
13478 "line, as well as any symbolic links encountered during the traversal, "
13479 "regardless of the type of file they reference, by specifying the I<-L> (for "
13480 "\"logical\") flag.  This flag is intended to make the entire name space look "
13481 "like the logical name space.  (Note, for commands that do not always do file "
13482 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13483 "also specified.)"
13484 msgstr ""
13485
13486 #. type: Plain text
13487 #: build/C/man7/symlink.7:407
13488 msgid ""
13489 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13490 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13491 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13492 "references.  In addition, if any symbolic links are encountered in any file "
13493 "tree that B<chown> traverses, they will be treated in the same fashion as "
13494 "I<slink>."
13495 msgstr ""
13496
13497 #. type: Plain text
13498 #: build/C/man7/symlink.7:414
13499 msgid ""
13500 "A command can be made to provide the default behavior by specifying the I<-"
13501 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13502 "space look like the physical name space."
13503 msgstr ""
13504
13505 #. type: Plain text
13506 #: build/C/man7/symlink.7:432
13507 msgid ""
13508 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13509 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13510 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13511 "once; the last one specified determines the command's behavior.  This is "
13512 "intended to permit you to alias commands to behave one way or the other, and "
13513 "then override that behavior on the command line."
13514 msgstr ""
13515
13516 #. type: Plain text
13517 #: build/C/man7/symlink.7:438
13518 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13519 msgstr ""
13520
13521 #. type: Plain text
13522 #: build/C/man7/symlink.7:451
13523 msgid ""
13524 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13525 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13526 "command does not support the I<-H>, I<-L>, or I<-P> options."
13527 msgstr ""
13528
13529 #. type: Plain text
13530 #: build/C/man7/symlink.7:471
13531 msgid ""
13532 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13533 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13534 "options, B<ls>(1)  will follow symbolic links specified on the command "
13535 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13536 "regardless of their type, whether specified on the command line or "
13537 "encountered in the tree walk."
13538 msgstr ""
13539
13540 #. type: Plain text
13541 #: build/C/man7/symlink.7:489
13542 msgid ""
13543 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13544 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13545 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13546 "B<path_resolution>(7)"
13547 msgstr ""
13548 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1),\n"
13549 "B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2),\n"
13550 "B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2),\n"
13551 "B<lutimes>(3), B<path_resolution>(7)"
13552
13553 #. type: TH
13554 #: build/C/man3/tempnam.3:25
13555 #, no-wrap
13556 msgid "TEMPNAM"
13557 msgstr "TEMPNAM"
13558
13559 #. type: TH
13560 #: build/C/man3/tempnam.3:25
13561 #, no-wrap
13562 msgid "2008-08-06"
13563 msgstr "2008-08-06"
13564
13565 #. type: Plain text
13566 #: build/C/man3/tempnam.3:28
13567 msgid "tempnam - create a name for a temporary file"
13568 msgstr "tempnam - テンポラリファイルの名前を作成する"
13569
13570 #. type: Plain text
13571 #: build/C/man3/tempnam.3:33
13572 #, no-wrap
13573 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13574 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13575
13576 #. type: Plain text
13577 #: build/C/man3/tempnam.3:42
13578 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13579 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13580
13581 #. type: Plain text
13582 #: build/C/man3/tempnam.3:56
13583 msgid ""
13584 "The B<tempnam>()  function returns a pointer to a string that is a valid "
13585 "filename, and such that a file with this name did not exist when B<tempnam>"
13586 "()  checked.  The filename suffix of the pathname generated will start with "
13587 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
13588 "directory prefix part of the pathname generated is required to be "
13589 "\"appropriate\" (often that at least implies writable)."
13590 msgstr ""
13591 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
13592 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
13593 "い (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成さ"
13594 "れるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成される"
13595 "ディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」である"
13596 "ためにはまず少なくとも 書き込み可能でなければならない)。"
13597
13598 #. type: Plain text
13599 #: build/C/man3/tempnam.3:59
13600 msgid ""
13601 "Attempts to find an appropriate directory go through the following steps:"
13602 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
13603
13604 #. type: TP
13605 #: build/C/man3/tempnam.3:59
13606 #, no-wrap
13607 msgid "a)"
13608 msgstr "a)"
13609
13610 #. type: Plain text
13611 #: build/C/man3/tempnam.3:65
13612 msgid ""
13613 "In case the environment variable B<TMPDIR> exists and contains the name of "
13614 "an appropriate directory, that is used."
13615 msgstr ""
13616 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
13617 "ら、それを用いる。"
13618
13619 #. type: TP
13620 #: build/C/man3/tempnam.3:65
13621 #, no-wrap
13622 msgid "b)"
13623 msgstr "b)"
13624
13625 #. type: Plain text
13626 #: build/C/man3/tempnam.3:70
13627 msgid ""
13628 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
13629 msgstr ""
13630 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
13631 "る。"
13632
13633 #. type: TP
13634 #: build/C/man3/tempnam.3:70
13635 #, no-wrap
13636 msgid "c)"
13637 msgstr "c)"
13638
13639 #. type: Plain text
13640 #: build/C/man3/tempnam.3:77
13641 msgid ""
13642 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
13643 "appropriate."
13644 msgstr ""
13645 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
13646 "なら、それを用いる。"
13647
13648 #. type: TP
13649 #: build/C/man3/tempnam.3:77
13650 #, no-wrap
13651 msgid "d)"
13652 msgstr "d)"
13653
13654 #. type: Plain text
13655 #: build/C/man3/tempnam.3:80
13656 msgid "Finally an implementation-defined directory may be used."
13657 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
13658
13659 #. type: Plain text
13660 #: build/C/man3/tempnam.3:87
13661 msgid ""
13662 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
13663 "hence should be freed by B<free>(3)."
13664 msgstr ""
13665 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
13666 "B<free>(3)  で解放すべきである。"
13667
13668 #. type: Plain text
13669 #: build/C/man3/tempnam.3:92
13670 msgid ""
13671 "The B<tempnam>()  function returns a pointer to a unique temporary filename, "
13672 "or NULL if a unique name cannot be generated."
13673 msgstr ""
13674 "B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
13675 "と重ならない名前が生成できなければ NULL を返す。"
13676
13677 #. type: Plain text
13678 #: build/C/man3/tempnam.3:96
13679 msgid "Allocation of storage failed."
13680 msgstr "保存領域の割り当てに失敗した。"
13681
13682 #. type: Plain text
13683 #: build/C/man3/tempnam.3:101
13684 msgid ""
13685 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
13686 msgstr ""
13687 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
13688 "る。"
13689
13690 #. type: Plain text
13691 #: build/C/man3/tempnam.3:120
13692 msgid ""
13693 "Although B<tempnam>()  generates names that are difficult to guess, it is "
13694 "nevertheless possible that between the time that B<tempnam>()  returns a "
13695 "pathname, and the time that the program opens it, another program might "
13696 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13697 "This can lead to security holes.  To avoid such possibilities, use the "
13698 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13699 "B<mkstemp>(3)  or B<tmpfile>(3)."
13700 msgstr ""
13701 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
13702 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13703 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13704 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13705 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13706 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13707 "B<tmpfile>(3)  を使うことである。"
13708
13709 #. type: Plain text
13710 #: build/C/man3/tempnam.3:128
13711 msgid ""
13712 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
13713 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
13714 "tmp> (and this is what glibc does)."
13715 msgstr ""
13716 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
13717 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
13718 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
13719
13720 #. type: Plain text
13721 #: build/C/man3/tempnam.3:133
13722 msgid ""
13723 "Because it dynamically allocates memory used to return the pathname, "
13724 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
13725 msgstr ""
13726 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
13727 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
13728
13729 #. type: Plain text
13730 #: build/C/man3/tempnam.3:146
13731 msgid ""
13732 "The B<tempnam>()  function generates a different string each time it is "
13733 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
13734 "called more than B<TMP_MAX> times, the behavior is implementation defined."
13735 msgstr ""
13736 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
13737 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
13738 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
13739
13740 #. type: Plain text
13741 #: build/C/man3/tempnam.3:150
13742 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
13743 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
13744
13745 #. type: Plain text
13746 #: build/C/man3/tempnam.3:156
13747 msgid ""
13748 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
13749 "upon failure to find a unique name."
13750 msgstr ""
13751 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
13752 "ラー B<EEXIST> で失敗する。"
13753
13754 #. type: Plain text
13755 #: build/C/man3/tempnam.3:159
13756 msgid ""
13757 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
13758 "accessibility of a directory is determined."
13759 msgstr ""
13760 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
13761 "度のアクセス権限が必要なのかは指定されていない。"
13762
13763 #. type: Plain text
13764 #: build/C/man3/tempnam.3:166 build/C/man3/tmpnam.3:153
13765 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
13766 msgstr ""
13767 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
13768 "を使うこと。"
13769
13770 #. type: Plain text
13771 #: build/C/man3/tempnam.3:171
13772 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13773 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13774
13775 #. type: TH
13776 #: build/C/man3/tmpfile.3:31
13777 #, no-wrap
13778 msgid "TMPFILE"
13779 msgstr "TMPFILE"
13780
13781 #. type: Plain text
13782 #: build/C/man3/tmpfile.3:34
13783 msgid "tmpfile - create a temporary file"
13784 msgstr "tmpfile - テンポラリファイルを作成する"
13785
13786 #. type: Plain text
13787 #: build/C/man3/tmpfile.3:39
13788 #, no-wrap
13789 msgid "B<FILE *tmpfile(void);>\n"
13790 msgstr "B<FILE *tmpfile(void);>\n"
13791
13792 #. type: Plain text
13793 #: build/C/man3/tmpfile.3:47
13794 msgid ""
13795 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
13796 "write (w+b) mode.  The file will be automatically deleted when it is closed "
13797 "or the program terminates."
13798 msgstr ""
13799 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
13800 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
13801 "自動的に削除される。"
13802
13803 #. type: Plain text
13804 #: build/C/man3/tmpfile.3:54
13805 msgid ""
13806 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
13807 "filename cannot be generated or the unique file cannot be opened.  In the "
13808 "latter case, I<errno> is set to indicate the error."
13809 msgstr ""
13810 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
13811 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
13812 "I<errno> を設定する。"
13813
13814 #. type: Plain text
13815 #: build/C/man3/tmpfile.3:58
13816 msgid "Search permission denied for directory in file's path prefix."
13817 msgstr ""
13818 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
13819
13820 #. type: Plain text
13821 #: build/C/man3/tmpfile.3:61
13822 msgid "Unable to generate a unique filename."
13823 msgstr "ユニークなファイル名が作成できなかった。"
13824
13825 #. type: Plain text
13826 #: build/C/man3/tmpfile.3:64
13827 msgid "The call was interrupted by a signal."
13828 msgstr "呼び出しがシグナルによって中断された。"
13829
13830 #. type: Plain text
13831 #: build/C/man3/tmpfile.3:67
13832 msgid "Too many file descriptors in use by the process."
13833 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
13834
13835 #. type: Plain text
13836 #: build/C/man3/tmpfile.3:70
13837 msgid "Too many files open in the system."
13838 msgstr "システム全体でオープン可能なファイル数を超過した。"
13839
13840 #. type: Plain text
13841 #: build/C/man3/tmpfile.3:73
13842 msgid "There was no room in the directory to add the new filename."
13843 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
13844
13845 #. type: Plain text
13846 #: build/C/man3/tmpfile.3:76
13847 msgid "Read-only file system."
13848 msgstr "読みだし専用ファイルシステムである。"
13849
13850 #. type: Plain text
13851 #: build/C/man3/tmpfile.3:78
13852 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13853 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13854
13855 #. type: Plain text
13856 #: build/C/man3/tmpfile.3:82
13857 msgid ""
13858 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
13859 "stream cannot be opened."
13860 msgstr ""
13861 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
13862 "メッセージが書き出される、と規定されている。"
13863
13864 #. type: Plain text
13865 #: build/C/man3/tmpfile.3:88
13866 msgid ""
13867 "The standard does not specify the directory that B<tmpfile>()  will use.  "
13868 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
13869 "and if that fails the directory I</tmp>."
13870 msgstr ""
13871 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
13872 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
13873 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
13874
13875 #. type: Plain text
13876 #: build/C/man3/tmpfile.3:94
13877 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13878 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13879
13880 #. type: TH
13881 #: build/C/man3/tmpnam.3:27
13882 #, no-wrap
13883 msgid "TMPNAM"
13884 msgstr "TMPNAM"
13885
13886 #. type: TH
13887 #: build/C/man3/tmpnam.3:27
13888 #, no-wrap
13889 msgid "2010-09-10"
13890 msgstr "2010-09-10"
13891
13892 #. type: Plain text
13893 #: build/C/man3/tmpnam.3:30
13894 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
13895 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
13896
13897 #. type: Plain text
13898 #: build/C/man3/tmpnam.3:35
13899 #, no-wrap
13900 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
13901 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
13902
13903 #. type: Plain text
13904 #: build/C/man3/tmpnam.3:58
13905 msgid ""
13906 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
13907 "filename, and such that a file with this name did not exist at some point in "
13908 "time, so that naive programmers may think it a suitable name for a temporary "
13909 "file.  If the argument I<s> is NULL this name is generated in an internal "
13910 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
13911 "I<s> is not NULL, the name is copied to the character array (of length at "
13912 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
13913 "case of success."
13914 msgstr ""
13915 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
13916 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
13917 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
13918 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
13919 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
13920 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
13921 "ピーされ、 成功した場合は I<s> が返される。"
13922
13923 #. type: Plain text
13924 #: build/C/man3/tmpnam.3:70
13925 msgid ""
13926 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
13927 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
13928 "the B<TMP_MAX> mentioned below.)"
13929 msgstr ""
13930 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
13931 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
13932 "hE<gt>> で定義されている。)"
13933
13934 #. type: Plain text
13935 #: build/C/man3/tmpnam.3:75
13936 msgid ""
13937 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
13938 "or NULL if a unique name cannot be generated."
13939 msgstr ""
13940 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
13941 "が作成できなかった場合は NULL を返す。"
13942
13943 #. type: Plain text
13944 #: build/C/man3/tmpnam.3:77
13945 msgid "No errors are defined."
13946 msgstr "エラーは定義されていない。"
13947
13948 #. type: Plain text
13949 #: build/C/man3/tmpnam.3:82
13950 msgid ""
13951 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
13952 "obsolete."
13953 msgstr ""
13954 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
13955 "定としている。"
13956
13957 #. type: Plain text
13958 #: build/C/man3/tmpnam.3:93
13959 msgid ""
13960 "The B<tmpnam>()  function generates a different string each time it is "
13961 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
13962 "the behavior is implementation defined."
13963 msgstr ""
13964 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
13965 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
13966
13967 #. type: Plain text
13968 #: build/C/man3/tmpnam.3:112
13969 msgid ""
13970 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
13971 "nevertheless possible that between the time that B<tmpnam>()  returns a "
13972 "pathname, and the time that the program opens it, another program might "
13973 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13974 "This can lead to security holes.  To avoid such possibilities, use the "
13975 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13976 "B<mkstemp>(3)  or B<tmpfile>(3)."
13977 msgstr ""
13978 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
13979 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13980 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13981 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13982 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13983 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13984 "B<tmpfile>(3)  を使うことである。"
13985
13986 #. type: Plain text
13987 #: build/C/man3/tmpnam.3:120
13988 msgid ""
13989 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
13990 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
13991 "defined."
13992 msgstr ""
13993 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
13994 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
13995 "NULL 引き数で呼び出してはならない。"
13996
13997 #. type: Plain text
13998 #: build/C/man3/tmpnam.3:124
13999 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
14000 msgstr ""
14001 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
14002 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
14003 "扱いしている。"
14004
14005 #. type: Plain text
14006 #: build/C/man3/tmpnam.3:132
14007 #, no-wrap
14008 msgid ""
14009 "char *\n"
14010 "tmpnam_r(char *s)\n"
14011 "{\n"
14012 "    return s ? tmpnam(s) : NULL;\n"
14013 "}\n"
14014 msgstr ""
14015 "char *\n"
14016 "tmpnam_r(char *s)\n"
14017 "{\n"
14018 "    return s ? tmpnam(s) : NULL;\n"
14019 "}\n"
14020
14021 #. type: Plain text
14022 #: build/C/man3/tmpnam.3:146
14023 msgid ""
14024 "apparently as a warning not to use NULL.  A few systems implement it.  To "
14025 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
14026 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
14027 msgstr ""
14028 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
14029 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
14030 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
14031 "がある。"
14032
14033 #. type: Plain text
14034 #: build/C/man3/tmpnam.3:158
14035 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14036 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14037
14038 #. type: TH
14039 #: build/C/man2/unlink.2:32
14040 #, no-wrap
14041 msgid "UNLINK"
14042 msgstr "UNLINK"
14043
14044 #. type: TH
14045 #: build/C/man2/unlink.2:32
14046 #, no-wrap
14047 msgid "2011-09-15"
14048 msgstr "2011-09-15"
14049
14050 #. type: Plain text
14051 #: build/C/man2/unlink.2:35
14052 msgid "unlink - delete a name and possibly the file it refers to"
14053 msgstr ""
14054 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
14055
14056 #. type: Plain text
14057 #: build/C/man2/unlink.2:39
14058 msgid "B<int unlink(const char *>I<pathname>B<);>"
14059 msgstr "B<int unlink(const char *>I<pathname>B<);>"
14060
14061 #. type: Plain text
14062 #: build/C/man2/unlink.2:45
14063 msgid ""
14064 "B<unlink>()  deletes a name from the file system.  If that name was the last "
14065 "link to a file and no processes have the file open the file is deleted and "
14066 "the space it was using is made available for reuse."
14067 msgstr ""
14068 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14069 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14070 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14071 "は再利用が可能になる。"
14072
14073 #. type: Plain text
14074 #: build/C/man2/unlink.2:49
14075 msgid ""
14076 "If the name was the last link to a file but any processes still have the "
14077 "file open the file will remain in existence until the last file descriptor "
14078 "referring to it is closed."
14079 msgstr ""
14080 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14081 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14082 "スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
14083 "ける。"
14084
14085 #. type: Plain text
14086 #: build/C/man2/unlink.2:51
14087 msgid "If the name referred to a symbolic link the link is removed."
14088 msgstr ""
14089 "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
14090 "削除される。"
14091
14092 #. type: Plain text
14093 #: build/C/man2/unlink.2:55
14094 msgid ""
14095 "If the name referred to a socket, fifo or device the name for it is removed "
14096 "but processes which have the object open may continue to use it."
14097 msgstr ""
14098 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14099 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14100 "とができる。"
14101
14102 #. type: Plain text
14103 #: build/C/man2/unlink.2:71
14104 msgid ""
14105 "Write access to the directory containing I<pathname> is not allowed for the "
14106 "process's effective UID, or one of the directories in I<pathname> did not "
14107 "allow search permission.  (See also B<path_resolution>(7).)"
14108 msgstr ""
14109 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14110 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14111 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14112 "と)。"
14113
14114 #. type: Plain text
14115 #: build/C/man2/unlink.2:80
14116 msgid ""
14117 "The file I<pathname> cannot be unlinked because it is being used by the "
14118 "system or another process; for example, it is a mount point or the NFS "
14119 "client software created it to represent an active but otherwise nameless "
14120 "inode (\"NFS silly renamed\")."
14121 msgstr ""
14122 "システムか別のプロセスがそのファイルを使用中のため、\n"
14123 "ファイル I<pathname> を unlink できない。\n"
14124 "例えば、そのファイルがマウントポイントの場合や、\n"
14125 "NFS クライアントソフトウェアがそのファイルがアクティブであるが\n"
14126 "名前なし inode (nameless inode) であることを示すために作成した\n"
14127 "場合 (\"NFS silly renamed\") などがある。"
14128
14129 #. type: Plain text
14130 #: build/C/man2/unlink.2:92
14131 msgid ""
14132 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14133 "Linux since 2.1.132.)"
14134 msgstr ""
14135 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14136 "で、Linux 2.1.132 以降で返される。)"
14137
14138 #. type: Plain text
14139 #: build/C/man2/unlink.2:96
14140 msgid "Too many symbolic links were encountered in translating I<pathname>."
14141 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
14142
14143 #. type: Plain text
14144 #: build/C/man2/unlink.2:106
14145 msgid ""
14146 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14147 "I<pathname> is empty."
14148 msgstr ""
14149 "I<pathname> に対応するものが存在しないか、壊れたシンボリックリンクであるか、 "
14150 "I<pathname> が空である。"
14151
14152 #. type: Plain text
14153 #: build/C/man2/unlink.2:114
14154 msgid ""
14155 "A component used as a directory in I<pathname> is not, in fact, a directory."
14156 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14157
14158 #. type: Plain text
14159 #: build/C/man2/unlink.2:123
14160 msgid ""
14161 "The system does not allow unlinking of directories, or unlinking of "
14162 "directories requires privileges that the calling process doesn't have.  "
14163 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14164 "B<EISDIR> for this case.)"
14165 msgstr ""
14166 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14167 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14168 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14169 "合には Linux は B<EISDIR> を返す。)"
14170
14171 #. type: TP
14172 #: build/C/man2/unlink.2:123
14173 #, no-wrap
14174 msgid "B<EPERM> (Linux only)"
14175 msgstr "B<EPERM> (Linux のみ)"
14176
14177 #. type: Plain text
14178 #: build/C/man2/unlink.2:126
14179 msgid "The file system does not allow unlinking of files."
14180 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14181
14182 #. type: Plain text
14183 #: build/C/man2/unlink.2:137
14184 msgid ""
14185 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14186 "and the process's effective UID is neither the UID of the file to be deleted "
14187 "nor that of the directory containing it, and the process is not privileged "
14188 "(Linux: does not have the B<CAP_FOWNER> capability)."
14189 msgstr ""
14190 "I<pathname> を含んでいるディレクトリにスティッキービット (sticky-bit)  "
14191 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14192 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14193 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14194
14195 #. type: Plain text
14196 #: build/C/man2/unlink.2:141
14197 msgid "I<pathname> refers to a file on a read-only file system."
14198 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14199
14200 #. type: Plain text
14201 #: build/C/man2/unlink.2:161
14202 msgid ""
14203 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14204 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14205 "(7), B<symlink>(7)"
14206 msgstr ""
14207 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14208 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14209 "(7), B<symlink>(7)"
14210
14211 #. type: TH
14212 #: build/C/man3/unlocked_stdio.3:25
14213 #, no-wrap
14214 msgid "UNLOCKED_STDIO"
14215 msgstr "UNLOCKED_STDIO"
14216
14217 #. type: Plain text
14218 #: build/C/man3/unlocked_stdio.3:29
14219 msgid ""
14220 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14221 "nonlocking stdio functions"
14222 msgstr ""
14223 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14224 "わずに標準入出力を行う関数群"
14225
14226 #. type: Plain text
14227 #: build/C/man3/unlocked_stdio.3:37
14228 #, no-wrap
14229 msgid ""
14230 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14231 "B<int getchar_unlocked(void);>\n"
14232 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14233 "B<int putchar_unlocked(int >I<c>B<);>\n"
14234 msgstr ""
14235 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14236 "B<int getchar_unlocked(void);>\n"
14237 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14238 "B<int putchar_unlocked(int >I<c>B<);>\n"
14239
14240 #. type: Plain text
14241 #: build/C/man3/unlocked_stdio.3:49
14242 #, no-wrap
14243 msgid ""
14244 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14245 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14246 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14247 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14248 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14249 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14250 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14251 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14252 "B<                      FILE *>I<stream>B<);>\n"
14253 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14254 "B<                      FILE *>I<stream>B<);>\n"
14255 msgstr ""
14256 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14257 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14258 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14259 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14260 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14261 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14262 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14263 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14264 "B<                      FILE *>I<stream>B<);>\n"
14265 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14266 "B<                      FILE *>I<stream>B<);>\n"
14267
14268 #. type: Plain text
14269 #: build/C/man3/unlocked_stdio.3:52
14270 #, no-wrap
14271 msgid ""
14272 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14273 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14274 msgstr ""
14275 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14276 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14277
14278 #. type: Plain text
14279 #: build/C/man3/unlocked_stdio.3:63
14280 #, no-wrap
14281 msgid ""
14282 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14283 "B<wint_t getwchar_unlocked(void);>\n"
14284 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14285 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14286 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14287 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14288 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14289 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14290 msgstr ""
14291 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14292 "B<wint_t getwchar_unlocked(void);>\n"
14293 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14294 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14295 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14296 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14297 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14298 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14299
14300 #. type: Plain text
14301 #: build/C/man3/unlocked_stdio.3:75
14302 msgid ""
14303 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14304 "B<putchar_unlocked>():"
14305 msgstr ""
14306 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14307 "B<putchar_unlocked>():"
14308
14309 #. type: Plain text
14310 #: build/C/man3/unlocked_stdio.3:78
14311 msgid ""
14312 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14313 "_BSD_SOURCE || _SVID_SOURCE"
14314 msgstr ""
14315 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14316 "_BSD_SOURCE || _SVID_SOURCE"
14317
14318 #. type: Plain text
14319 #: build/C/man3/unlocked_stdio.3:89
14320 msgid ""
14321 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14322 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14323 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14324 msgstr ""
14325 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14326 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14327 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14328
14329 #. type: Plain text
14330 #: build/C/man3/unlocked_stdio.3:91
14331 msgid "_BSD_SOURCE || _SVID_SOURCE"
14332 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14333
14334 #. type: Plain text
14335 #: build/C/man3/unlocked_stdio.3:102
14336 msgid ""
14337 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14338 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14339 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14340 msgstr ""
14341 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14342 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14343 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14344
14345 #. type: Plain text
14346 #: build/C/man3/unlocked_stdio.3:113
14347 msgid ""
14348 "Each of these functions has the same behavior as its counterpart without the "
14349 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14350 "locks themselves, and do not test for the presence of locks set by others) "
14351 "and hence are thread-unsafe.  See B<flockfile>(3)."
14352 msgstr ""
14353 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14354 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14355 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14356 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14357 "B<flockfile>(3)  を参照のこと。"
14358
14359 #. type: Plain text
14360 #: build/C/man3/unlocked_stdio.3:120
14361 msgid ""
14362 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14363 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14364 msgstr ""
14365 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14366 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14367
14368 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14369 #.  moved to a compatibility library.
14370 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14371 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14372 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14373 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14374 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14375 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14376 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14377 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14378 #.  ungetc_unlocked, ungetwc_unlocked.
14379 #. type: Plain text
14380 #: build/C/man3/unlocked_stdio.3:136
14381 msgid ""
14382 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14383 "are available in recent glibc.  They should probably not be used."
14384 msgstr ""
14385 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14386 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14387
14388 #. type: Plain text
14389 #: build/C/man3/unlocked_stdio.3:139
14390 msgid "B<flockfile>(3), B<stdio>(3)"
14391 msgstr "B<flockfile>(3), B<stdio>(3)"
14392
14393 #. type: TH
14394 #: build/C/man3/wprintf.3:16
14395 #, no-wrap
14396 msgid "WPRINTF"
14397 msgstr "WPRINTF"
14398
14399 #. type: TH
14400 #: build/C/man3/wprintf.3:16
14401 #, no-wrap
14402 msgid "2011-09-17"
14403 msgstr "2011-09-17"
14404
14405 #. type: Plain text
14406 #: build/C/man3/wprintf.3:20
14407 msgid ""
14408 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14409 "character output conversion"
14410 msgstr ""
14411 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14412 "フォーマットして出力する"
14413
14414 #. type: Plain text
14415 #: build/C/man3/wprintf.3:24
14416 #, no-wrap
14417 msgid ""
14418 "B<#include E<lt>stdio.hE<gt>>\n"
14419 "B<#include E<lt>wchar.hE<gt>>\n"
14420 msgstr ""
14421 "B<#include E<lt>stdio.hE<gt>>\n"
14422 "B<#include E<lt>wchar.hE<gt>>\n"
14423
14424 #. type: Plain text
14425 #: build/C/man3/wprintf.3:29
14426 #, no-wrap
14427 msgid ""
14428 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14429 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14430 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14431 "B<             const wchar_t *>I<format>B<, ...);>\n"
14432 msgstr ""
14433 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14434 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14435 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14436 "B<             const wchar_t *>I<format>B<, ...);>\n"
14437
14438 #. type: Plain text
14439 #: build/C/man3/wprintf.3:34
14440 #, no-wrap
14441 msgid ""
14442 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14443 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14444 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14445 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14446 msgstr ""
14447 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14448 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14449 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14450 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14451
14452 #.  .BR wprintf (),
14453 #.  .BR fwprintf (),
14454 #.  .BR swprintf (),
14455 #.  .BR vwprintf (),
14456 #.  .BR vfwprintf (),
14457 #.  .BR vswprintf ():
14458 #. type: Plain text
14459 #: build/C/man3/wprintf.3:51
14460 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14461 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14462
14463 #. type: Plain text
14464 #: build/C/man3/wprintf.3:53
14465 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14466 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14467
14468 #. type: Plain text
14469 #: build/C/man3/wprintf.3:55
14470 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14471 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14472
14473 #. type: Plain text
14474 #: build/C/man3/wprintf.3:58
14475 msgid "or I<cc\\ -std=c99>"
14476 msgstr "or I<cc\\ -std=c99>"
14477
14478 #. type: Plain text
14479 #: build/C/man3/wprintf.3:69
14480 msgid ""
14481 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14482 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14483 "characters."
14484 msgstr ""
14485 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14486 "版である。これらはワイド文字をフォーマットして出力する。"
14487
14488 #. type: Plain text
14489 #: build/C/man3/wprintf.3:79
14490 msgid ""
14491 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14492 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14493 "more information."
14494 msgstr ""
14495 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14496 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14497 "ること。"
14498
14499 #. type: Plain text
14500 #: build/C/man3/wprintf.3:89
14501 msgid ""
14502 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14503 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14504 "for more information."
14505 msgstr ""
14506 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14507 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14508 "B<fwide>(3)  を参照すること。"
14509
14510 #. type: Plain text
14511 #: build/C/man3/wprintf.3:100
14512 msgid ""
14513 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14514 "output to an array of wide characters.  The programmer must ensure that "
14515 "there is room for at least I<maxlen> wide characters at I<wcs>."
14516 msgstr ""
14517 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14518 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14519 "空きがあることを保証しなければ ならない。"
14520
14521 #. type: Plain text
14522 #: build/C/man3/wprintf.3:111
14523 msgid ""
14524 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14525 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
14526 "following differences:"
14527 msgstr ""
14528 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
14529 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
14530
14531 #. type: TP
14532 #: build/C/man3/wprintf.3:111 build/C/man3/wprintf.3:114
14533 #: build/C/man3/wprintf.3:117
14534 #, no-wrap
14535 msgid "B<\\(bu>"
14536 msgstr "B<\\(bu>"
14537
14538 #. type: Plain text
14539 #: build/C/man3/wprintf.3:114
14540 msgid "The I<format> string is a wide-character string."
14541 msgstr "I<format> がワイド文字列で与えられる。"
14542
14543 #. type: Plain text
14544 #: build/C/man3/wprintf.3:117
14545 msgid "The output consists of wide characters, not bytes."
14546 msgstr "出力がバイトではなくワイド文字で構成される。"
14547
14548 #. type: Plain text
14549 #: build/C/man3/wprintf.3:132
14550 msgid ""
14551 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
14552 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
14553 "I<maxlen> argument, but these functions do not return -1 upon buffer "
14554 "overflow on Linux.)"
14555 msgstr ""
14556 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
14557 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
14558 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
14559 "も -1 を返さない)。"
14560
14561 #. type: Plain text
14562 #: build/C/man3/wprintf.3:134
14563 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
14564 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
14565
14566 #. type: Plain text
14567 #: build/C/man3/wprintf.3:148
14568 msgid ""
14569 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
14570 "character by a call to the B<btowc>(3)  function, and the resulting wide "
14571 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
14572 "character) argument is written."
14573 msgstr ""
14574 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
14575 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
14576 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
14577
14578 #. type: Plain text
14579 #: build/C/man3/wprintf.3:187
14580 msgid ""
14581 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
14582 "to be a pointer to an array of character type (pointer to a string) "
14583 "containing a multibyte character sequence beginning in the initial shift "
14584 "state.  Characters from the array are converted to wide characters (each by "
14585 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
14586 "the initial state before the first byte).  The resulting wide characters are "
14587 "written up to (but not including) the terminating null wide character.  If a "
14588 "precision is specified, no more wide characters than the number specified "
14589 "are written.  Note that the precision determines the number of I<wide "
14590 "characters> written, not the number of I<bytes> or I<screen positions>.  The "
14591 "array must contain a terminating null byte, unless a precision is given and "
14592 "it is so small that the number of converted wide characters reaches it "
14593 "before the end of the array is reached.  If an B<l> modifier is present: The "
14594 "I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
14595 "wide characters.  Wide characters from the array are written up to (but not "
14596 "including) a terminating null wide character.  If a precision is specified, "
14597 "no more than the number specified are written.  The array must contain a "
14598 "terminating null wide character, unless a precision is given and it is "
14599 "smaller than or equal to the number of wide characters in the array."
14600 msgstr ""
14601 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
14602 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
14603 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
14604 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
14605 "字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定され"
14606 "た 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込まれ"
14607 "る I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定することに"
14608 "注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 精度"
14609 "を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそれに"
14610 "到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が存在"
14611 "する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインタとみな"
14612 "される。 配列のワイド文字列は終端のナルワイド文字の手間まで出力される。 もし"
14613 "精度が指定された場合には指定された精度以上の文字は出力されない。 精度を指定し"
14614 "ない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場合にはそれ"
14615 "はワイド文字の配列の大きさよりも小さくな ければならない。"
14616
14617 #. type: Plain text
14618 #: build/C/man3/wprintf.3:195
14619 msgid ""
14620 "The functions return the number of wide characters written, excluding the "
14621 "terminating null wide character in case of the functions B<swprintf>()  and "
14622 "B<vswprintf>().  They return -1 when an error occurs."
14623 msgstr ""
14624 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
14625 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
14626 "場合は -1 を返す。"
14627
14628 #. type: Plain text
14629 #: build/C/man3/wprintf.3:197
14630 msgid "C99."
14631 msgstr "C99."
14632
14633 #. type: Plain text
14634 #: build/C/man3/wprintf.3:205
14635 msgid ""
14636 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
14637 "the current locale."
14638 msgstr ""
14639 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
14640
14641 #. type: Plain text
14642 #: build/C/man3/wprintf.3:231
14643 msgid ""
14644 "If the I<format> string contains non-ASCII wide characters, the program will "
14645 "work correctly only if the B<LC_CTYPE> category of the current locale at run "
14646 "time is the same as the B<LC_CTYPE> category of the current locale at "
14647 "compile time.  This is because the I<wchar_t> representation is platform- "
14648 "and locale-dependent.  (The glibc represents wide characters using their "
14649 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
14650 "the use of C99 universal character names of the form \\eunnnn does not solve "
14651 "this problem.)  Therefore, in internationalized programs, the I<format> "
14652 "string should consist of ASCII wide characters only, or should be "
14653 "constructed at run time in an internationalized way (e.g., using B<gettext>"
14654 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
14655 msgstr ""
14656 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
14657 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
14658 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
14659 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
14660 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
14661 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
14662 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
14663 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
14664 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
14665
14666 #.  .BR wscanf (3)
14667 #. type: Plain text
14668 #: build/C/man3/wprintf.3:238
14669 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14670 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14671
14672 #. type: TH
14673 #: build/C/man2/write.2:39
14674 #, no-wrap
14675 msgid "WRITE"
14676 msgstr "WRITE"
14677
14678 #. type: Plain text
14679 #: build/C/man2/write.2:42
14680 msgid "write - write to a file descriptor"
14681 msgstr "write - ファイルディスクリプタ (file descriptor) に書き込む"
14682
14683 #. type: Plain text
14684 #: build/C/man2/write.2:46
14685 msgid ""
14686 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14687 msgstr ""
14688 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14689
14690 #. type: Plain text
14691 #: build/C/man2/write.2:54
14692 msgid ""
14693 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
14694 "the file referred to by the file descriptor I<fd>."
14695 msgstr ""
14696 "B<write>()  は、 I<buf> が指すバッファから、ファイルディスクリプタ I<fd> が参"
14697 "照するファイルへ、最大 I<count> バイトを書き込む。"
14698
14699 #. type: Plain text
14700 #: build/C/man2/write.2:68
14701 msgid ""
14702 "The number of bytes written may be less than I<count> if, for example, there "
14703 "is insufficient space on the underlying physical medium, or the "
14704 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
14705 "call was interrupted by a signal handler after having written less than "
14706 "I<count> bytes.  (See also B<pipe>(7).)"
14707 msgstr ""
14708 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
14709 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
14710 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
14711 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
14712 "(7)  も参照のこと。)"
14713
14714 #. type: Plain text
14715 #: build/C/man2/write.2:82
14716 msgid ""
14717 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
14718 "example, a regular file)  writing takes place at the current file offset, "
14719 "and the file offset is incremented by the number of bytes actually written.  "
14720 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
14721 "to the end of the file before writing.  The adjustment of the file offset "
14722 "and the write operation are performed as an atomic step."
14723 msgstr ""
14724 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
14725 "ファイル) では、 書き込みは現在のファイルオフセットから行われ、 ファイルオフ"
14726 "セットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
14727 "B<O_APPEND> で B<open>(2)  された場合、ファイルオフセットは書き込み前に ファ"
14728 "イルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな"
14729 "処理として 実行される。"
14730
14731 #. type: Plain text
14732 #: build/C/man2/write.2:89
14733 msgid ""
14734 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
14735 "B<write>()  has returned returns the new data.  Note that not all file "
14736 "systems are POSIX conforming."
14737 msgstr ""
14738 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
14739 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
14740 "ること。"
14741
14742 #. type: Plain text
14743 #: build/C/man2/write.2:94
14744 msgid ""
14745 "On success, the number of bytes written is returned (zero indicates nothing "
14746 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
14747 msgstr ""
14748 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
14749 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
14750
14751 #. type: Plain text
14752 #: build/C/man2/write.2:107
14753 msgid ""
14754 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
14755 "return a failure status if one of the errors below is detected.  If no "
14756 "errors are detected, 0 will be returned without causing any other effect.  "
14757 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
14758 "the results are not specified."
14759 msgstr ""
14760 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
14761 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
14762 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
14763 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
14764 "その結果は規定されていない。"
14765
14766 #. type: Plain text
14767 #: build/C/man2/write.2:115
14768 msgid ""
14769 "The file descriptor I<fd> refers to a file other than a socket and has been "
14770 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
14771 msgstr ""
14772 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
14773 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
14774 "する状況にある。"
14775
14776 #.  Actually EAGAIN on Linux
14777 #. type: Plain text
14778 #: build/C/man2/write.2:126
14779 msgid ""
14780 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
14781 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
14782 "error to be returned for this case, and does not require these constants to "
14783 "have the same value, so a portable application should check for both "
14784 "possibilities."
14785 msgstr ""
14786 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
14787 "モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にあ"
14788 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
14789 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
14790 "プリケーションでは、両方の可能性を 確認すべきである。"
14791
14792 #. type: Plain text
14793 #: build/C/man2/write.2:130
14794 msgid "I<fd> is not a valid file descriptor or is not open for writing."
14795 msgstr ""
14796 "I<fd> が有効なファイルディスクリプタでないか書き込みのためにオープン (open) "
14797 "されていない。"
14798
14799 #. type: TP
14800 #: build/C/man2/write.2:130
14801 #, no-wrap
14802 msgid "B<EDESTADDRREQ>"
14803 msgstr "B<EDESTADDRREQ>"
14804
14805 #. type: Plain text
14806 #: build/C/man2/write.2:135
14807 msgid ""
14808 "I<fd> refers to a datagram socket for which a peer address has not been set "
14809 "using B<connect>(2)."
14810 msgstr ""
14811 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
14812 "グラムソケットを 参照している。"
14813
14814 #. type: Plain text
14815 #: build/C/man2/write.2:141
14816 #, fuzzy
14817 #| msgid ""
14818 #| "The device containing the file referred to by I<fd> has no room for the "
14819 #| "data."
14820 msgid ""
14821 "The user's quota of disk blocks on the file system containing the file "
14822 "referred to by I<fd> has been exhausted."
14823 msgstr ""
14824 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14825
14826 #. type: Plain text
14827 #: build/C/man2/write.2:150
14828 msgid ""
14829 "An attempt was made to write a file that exceeds the implementation-defined "
14830 "maximum file size or the process's file size limit, or to write at a "
14831 "position past the maximum allowed offset."
14832 msgstr ""
14833 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
14834 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
14835 "書き込もうとした。"
14836
14837 #. type: Plain text
14838 #: build/C/man2/write.2:154
14839 msgid ""
14840 "The call was interrupted by a signal before any data was written; see "
14841 "B<signal>(7)."
14842 msgstr ""
14843 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
14844 "(7)  参照。"
14845
14846 #. type: Plain text
14847 #: build/C/man2/write.2:165
14848 msgid ""
14849 "I<fd> is attached to an object which is unsuitable for writing; or the file "
14850 "was opened with the B<O_DIRECT> flag, and either the address specified in "
14851 "I<buf>, the value specified in I<count>, or the current file offset is not "
14852 "suitably aligned."
14853 msgstr ""
14854 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
14855 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
14856 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
14857 "メントが不適切である。"
14858
14859 #. type: Plain text
14860 #: build/C/man2/write.2:168
14861 msgid "A low-level I/O error occurred while modifying the inode."
14862 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
14863
14864 #. type: Plain text
14865 #: build/C/man2/write.2:173
14866 msgid ""
14867 "The device containing the file referred to by I<fd> has no room for the data."
14868 msgstr ""
14869 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14870
14871 #. type: TP
14872 #: build/C/man2/write.2:173
14873 #, no-wrap
14874 msgid "B<EPIPE>"
14875 msgstr "B<EPIPE>"
14876
14877 #. type: Plain text
14878 #: build/C/man2/write.2:182
14879 msgid ""
14880 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
14881 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
14882 "(Thus, the write return value is seen only if the program catches, blocks or "
14883 "ignores this signal.)"
14884 msgstr ""
14885 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
14886 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
14887 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
14888 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
14889 "write の返り値を参照できる。)"
14890
14891 #. type: Plain text
14892 #: build/C/man2/write.2:185
14893 msgid "Other errors may occur, depending on the object connected to I<fd>."
14894 msgstr ""
14895 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
14896
14897 #. type: Plain text
14898 #: build/C/man2/write.2:194
14899 msgid ""
14900 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
14901 "just before any data is written."
14902 msgstr ""
14903 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
14904 "で B<EINTR> が返る。"
14905
14906 #. type: Plain text
14907 #: build/C/man2/write.2:203
14908 msgid ""
14909 "A successful return from B<write>()  does not make any guarantee that data "
14910 "has been committed to disk.  In fact, on some buggy implementations, it does "
14911 "not even guarantee that space has successfully been reserved for the data.  "
14912 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
14913 "all your data."
14914 msgstr ""
14915 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
14916 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
14917 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
14918 "write した後に B<fsync>(2)  を呼び出すことである。"
14919
14920 #. type: Plain text
14921 #: build/C/man2/write.2:211
14922 msgid ""
14923 "If a B<write>()  is interrupted by a signal handler before any bytes are "
14924 "written, then the call fails with the error B<EINTR>; if it is interrupted "
14925 "after at least one byte has been written, the call succeeds, and returns the "
14926 "number of bytes written."
14927 msgstr ""
14928 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
14929 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
14930 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
14931
14932 #. type: Plain text
14933 #: build/C/man2/write.2:223
14934 msgid ""
14935 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14936 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14937 msgstr ""
14938 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14939 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14940
14941 #~ msgid "2012-04-30"
14942 #~ msgstr "2012-04-30"
14943
14944 #~ msgid "2011-09-25"
14945 #~ msgstr "2011-09-25"
14946
14947 #~ msgid "2008-08-21"
14948 #~ msgstr "2008-08-21"
14949
14950 #~ msgid "2007-06-01"
14951 #~ msgstr "2007-06-01"
14952
14953 #~ msgid "2012-05-01"
14954 #~ msgstr "2012-05-01"
14955
14956 #~ msgid ""
14957 #~ "        if (n E<gt> -1)    /* glibc 2.1 */\n"
14958 #~ "            size = n+1; /* precisely what is needed */\n"
14959 #~ "        else           /* glibc 2.0 */\n"
14960 #~ "            size *= 2;  /* twice the old size */\n"
14961 #~ msgstr ""
14962 #~ "        if (n E<gt> -1)    /* glibc 2.1 */\n"
14963 #~ "            size = n+1; /* precisely what is needed */\n"
14964 #~ "        else           /* glibc 2.0 */\n"
14965 #~ "            size *= 2;  /* twice the old size */\n"
14966
14967 #~ msgid ""
14968 #~ "Many file systems and disks were considered to be fast enough that the "
14969 #~ "implementation of B<O_NONBLOCK> was deemed unnecessary.  So, "
14970 #~ "B<O_NONBLOCK> may not be available on files and/or disks."
14971 #~ msgstr ""
14972 #~ "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むく"
14973 #~ "らいに十分に高速であると考えられている。 それでそのようなファイルやディス"
14974 #~ "クには B<O_NONBLOCK> は利用できないかもしれない。"
14975
14976 #~ msgid "2009-03-30"
14977 #~ msgstr "2009-03-30"
14978
14979 #~ msgid "2008-06-26"
14980 #~ msgstr "2008-06-26"
14981
14982 #~ msgid "2010-09-20"
14983 #~ msgstr "2010-09-20"
14984
14985 #~ msgid "2010-08-29"
14986 #~ msgstr "2010-08-29"
14987
14988 #~ msgid "2008-12-05"
14989 #~ msgstr "2008-12-05"
14990
14991 #~ msgid "2012-02-27"
14992 #~ msgstr "2012-02-27"
14993
14994 #~ msgid "The I<double> argument is rounded and converted in the style"
14995 #~ msgstr "I<double> 引き数を丸めて"
14996
14997 #~ msgid "2012-04-25"
14998 #~ msgstr "2012-04-25"
14999
15000 #~ msgid ""
15001 #~ "The I<local_iov> and I<remote_iov> arguments point to an array of "
15002 #~ "I<iovec> structures, defined in I<E<lt>sys/uio.hE<gt>> as:"
15003 #~ msgstr ""
15004 #~ "引き数 I<local_iov> と I<remote_iov> は I<iovec> 構造体の配列へのポイン\n"
15005 #~ "タである。 I<iovec> 構造体は I<E<lt>sys/uio.hE<gt>> で以下のように定義\n"
15006 #~ "されている:"
15007
15008 #~ msgid ""
15009 #~ "Buffers are processed in array order.  This means that B<process_vm_readv>"
15010 #~ "()  completely fills I<local_iov[0]> before proceeding to I<local_iov[1]"
15011 #~ ">, and so on.  Likewise, I<remote_iov[0]> is completely read before "
15012 #~ "proceeding to I<remote_iov[1]>, and so on."
15013 #~ msgstr ""
15014 #~ "バッファは配列の順序で処理される。これは、 B<process_vm_readv>() が\n"
15015 #~ "I<local_iov>[0] が完全に一杯になるまでデータを詰めてから、\n"
15016 #~ "I<local_iov>[1] に進むといったことを意味する。同様に、\n"
15017 #~ "I<remote_iov>[0] を完全に読み出してから I<remote_iov>[1] に進み、\n"
15018 #~ "以降も同様である。"
15019
15020 #~ msgid "The I<flags> argument is currently unused and must be set to 0."
15021 #~ msgstr ""
15022 #~ "I<flags> 引き数は現在使用されておらず、 0 を設定しなければならない。"
15023
15024 #~ msgid "On error, -1 is returned and I<errno> is set appropriately."
15025 #~ msgstr "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
15026
15027 #~ msgid "I<flags> is not 0."
15028 #~ msgstr "I<flags> が 0 でない。"
15029
15030 #~ msgid "I<liovcnt> or I<riovcnt> is too large."
15031 #~ msgstr "I<liovcnt> か I<riovcnt> が大きすぎる。"
15032
15033 #~ msgid ""
15034 #~ "The memory described by I<local_iov> is outside the caller's accessible "
15035 #~ "address space."
15036 #~ msgstr ""
15037 #~ "I<local_iov> が示すメモリが呼び出し側がアクセス可能な\n"
15038 #~ "アドレス空間の外にある。"
15039
15040 #~ msgid ""
15041 #~ "The caller does not have permission to access the address space of the "
15042 #~ "process I<pid>."
15043 #~ msgstr ""
15044 #~ "呼び出し側がプロセス I<pid> のアドレス空間に対するアクセス許可を\n"
15045 #~ "持っていない。"
15046
15047 #~ msgid "B<ESRCH>"
15048 #~ msgstr "B<ESRCH>"
15049
15050 #~ msgid "No process with ID I<pid> exists."
15051 #~ msgstr "ID が I<pid> のプロセスが存在しない。"
15052
15053 #~ msgid ""
15054 #~ "These system calls were added in Linux 3.2.  Support is provided in glibc "
15055 #~ "since version 2.15."
15056 #~ msgstr ""
15057 #~ "これらのシステムコールは Linux 3.2 で追加された。ライブラリによる\n"
15058 #~ "サポートは glibc バージョン 2.15 以降で提供されている。"
15059
15060 #~ msgid "These system calls are nonstandard Linux extensions."
15061 #~ msgstr "これらのシステムコールは非標準で Linux による拡張である。"
15062
15063 #~ msgid "#include E<lt>sys/uio.hE<gt>\n"
15064 #~ msgstr "#include E<lt>sys/uio.hE<gt>\n"
15065
15066 #~ msgid ""
15067 #~ "int\n"
15068 #~ "main(void)\n"
15069 #~ "{\n"
15070 #~ "    struct iovec local[2];\n"
15071 #~ "    struct iovec remote[1];\n"
15072 #~ "    char buf1[10];\n"
15073 #~ "    char buf2[10];\n"
15074 #~ "    ssize_t nread;\n"
15075 #~ "    pid_t pid = 10;             /* PID of remote process */\n"
15076 #~ msgstr ""
15077 #~ "int\n"
15078 #~ "main(void)\n"
15079 #~ "{\n"
15080 #~ "    struct iovec local[2];\n"
15081 #~ "    struct iovec remote[1];\n"
15082 #~ "    char buf1[10];\n"
15083 #~ "    char buf2[10];\n"
15084 #~ "    ssize_t nread;\n"
15085 #~ "    pid_t pid = 10;             /* PID of remote process */\n"
15086
15087 #~ msgid ""
15088 #~ "    local[0].iov_base = buf1;\n"
15089 #~ "    local[0].iov_len = 10;\n"
15090 #~ "    local[1].iov_base = buf2;\n"
15091 #~ "    local[1].iov_len = 10;\n"
15092 #~ "    remote[0].iov_base = (void *) 0x10000;\n"
15093 #~ "    remote[1].iov_len = 20;\n"
15094 #~ msgstr ""
15095 #~ "    local[0].iov_base = buf1;\n"
15096 #~ "    local[0].iov_len = 10;\n"
15097 #~ "    local[1].iov_base = buf2;\n"
15098 #~ "    local[1].iov_len = 10;\n"
15099 #~ "    remote[0].iov_base = (void *) 0x10000;\n"
15100 #~ "    remote[1].iov_len = 20;\n"
15101
15102 #~ msgid ""
15103 #~ "    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
15104 #~ "    if (nread != 20)\n"
15105 #~ "        return 1;\n"
15106 #~ "    else\n"
15107 #~ "        return 0;\n"
15108 #~ "}\n"
15109 #~ msgstr ""
15110 #~ "    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
15111 #~ "    if (nread != 20)\n"
15112 #~ "        return 1;\n"
15113 #~ "    else\n"
15114 #~ "        return 0;\n"
15115 #~ "}\n"
15116
15117 #~ msgid "B<readv>(2), B<writev>(2)"
15118 #~ msgstr "B<readv>(2), B<writev>(2)"
15119
15120 #~ msgid "call."
15121 #~ msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
15122
15123 #~ msgid ""
15124 #~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
15125 #~ "B<gets>()  obsolescent."
15126 #~ msgstr ""
15127 #~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
15128 #~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
15129
15130 #~ msgid ""
15131 #~ "This document's use of I<whence> is incorrect English, but maintained for "
15132 #~ "historical reasons."
15133 #~ msgstr ""
15134 #~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
15135 #~ "のまま使われている。"
15136
15137 #~ msgid "B<EBUSY> (not on Linux)"
15138 #~ msgstr "B<EBUSY> (Linux 以外)"