OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.37.
[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: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-22 01:16+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:25
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:25
26 #, no-wrap
27 msgid "2001-12-18"
28 msgstr "2001-12-18"
29
30 #. type: TH
31 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
32 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
33 #: build/C/man3/fcloseall.3:24 build/C/man3/fflush.3:43
34 #: build/C/man3/fgetwc.3:16 build/C/man3/fmemopen.3:6 build/C/man3/fopen.3:42
35 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
36 #: build/C/man3/getline.3:24 build/C/man3/gets.3:25 build/C/man3/getw.3:23
37 #: build/C/man3/popen.3:38 build/C/man3/printf.3:34 build/C/man3/puts.3:24
38 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:50 build/C/man3/wprintf.3:14
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
44 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
45 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
46 #: build/C/man3/fcloseall.3:24 build/C/man3/ferror.3:42
47 #: build/C/man3/fflush.3:43 build/C/man3/fgetwc.3:16
48 #: build/C/man3/flockfile.3:23 build/C/man3/fmemopen.3:6
49 #: build/C/man3/fmtmsg.3:9 build/C/man3/fopen.3:42
50 #: build/C/man3/fopencookie.3:24 build/C/man3/fpurge.3:23
51 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
52 #: build/C/man3/fseeko.3:23 build/C/man3/getline.3:24 build/C/man3/gets.3:25
53 #: build/C/man3/getw.3:23 build/C/man2/link.2:31 build/C/man2/llseek.2:26
54 #: build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23 build/C/man2/open.2:52
55 #: build/C/man3/perror.3:30 build/C/man2/pipe.2:36 build/C/man3/popen.3:38
56 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man2/read.2:35
57 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man3/remove.3:31
58 #: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:50
59 #: build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9 build/C/man3/stdio.3:37
60 #: build/C/man3/stdio_ext.3:23 build/C/man2/symlink.2:32
61 #: build/C/man7/symlink.7:35 build/C/man3/tempnam.3:23
62 #: build/C/man3/tmpfile.3:29 build/C/man3/tmpnam.3:25 build/C/man2/unlink.2:32
63 #: build/C/man3/unlocked_stdio.3:23 build/C/man3/wprintf.3:14
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:26 build/C/man3/ctermid.3:25
71 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:43
72 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:43
73 #: build/C/man3/fflush.3:44 build/C/man3/fgetwc.3:17
74 #: build/C/man3/flockfile.3:24 build/C/man3/fmemopen.3:7
75 #: build/C/man3/fmtmsg.3:10 build/C/man3/fopen.3:43
76 #: build/C/man3/fopencookie.3:25 build/C/man3/fpurge.3:24
77 #: build/C/man3/fputwc.3:15 build/C/man3/fread.3:44 build/C/man3/fseek.3:41
78 #: build/C/man3/fseeko.3:24 build/C/man3/getline.3:25 build/C/man3/gets.3:26
79 #: build/C/man3/getw.3:24 build/C/man2/link.2:32 build/C/man2/llseek.2:27
80 #: build/C/man2/lseek.2:46 build/C/man3/lseek64.3:24 build/C/man2/open.2:53
81 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:37 build/C/man3/popen.3:39
82 #: build/C/man3/printf.3:35 build/C/man3/puts.3:25 build/C/man2/read.2:36
83 #: build/C/man2/readlink.2:42 build/C/man2/readv.2:31 build/C/man3/remove.3:32
84 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:51
85 #: build/C/man3/setbuf.3:47 build/C/man3/stdin.3:10 build/C/man3/stdio.3:38
86 #: build/C/man3/stdio_ext.3:24 build/C/man2/symlink.2:33
87 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:24
88 #: build/C/man3/tmpfile.3:30 build/C/man3/tmpnam.3:26 build/C/man2/unlink.2:33
89 #: build/C/man3/unlocked_stdio.3:24 build/C/man3/wprintf.3:15
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:28
97 msgid "asprintf, vasprintf - print to allocated string"
98 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
99
100 #. type: SH
101 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
102 #: build/C/man3/dprintf.3:28 build/C/man3/fclose.3:45
103 #: build/C/man3/fcloseall.3:27 build/C/man3/ferror.3:45
104 #: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
105 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:9
106 #: build/C/man3/fmtmsg.3:12 build/C/man3/fopen.3:45
107 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
108 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
109 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
110 #: build/C/man3/getw.3:26 build/C/man2/link.2:34 build/C/man2/llseek.2:29
111 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:55
112 #: build/C/man3/perror.3:33 build/C/man2/pipe.2:39 build/C/man3/popen.3:41
113 #: build/C/man3/printf.3:38 build/C/man3/puts.3:27 build/C/man2/read.2:38
114 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:34
115 #: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:53
116 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:12 build/C/man3/stdio.3:40
117 #: build/C/man3/stdio_ext.3:28 build/C/man2/symlink.2:35
118 #: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
119 #: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:35
120 #: build/C/man3/unlocked_stdio.3:27 build/C/man3/wprintf.3:18
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:30
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:32 build/C/man3/dprintf.3:30
133 #: build/C/man3/fclose.3:47 build/C/man3/ferror.3:47 build/C/man3/fflush.3:48
134 #: build/C/man3/fseek.3:45 build/C/man3/perror.3:35 build/C/man3/printf.3:40
135 #: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:42
136 #: build/C/man3/stdio_ext.3:30
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:34
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:36
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:36 build/C/man3/ctermid.3:44
154 #: build/C/man3/dprintf.3:54 build/C/man3/fclose.3:49
155 #: build/C/man3/fcloseall.3:34 build/C/man3/ferror.3:63
156 #: build/C/man3/fflush.3:50 build/C/man3/fgetwc.3:28
157 #: build/C/man3/flockfile.3:49 build/C/man3/fmemopen.3:42
158 #: build/C/man3/fmtmsg.3:22 build/C/man3/fopen.3:63
159 #: build/C/man3/fopencookie.3:35 build/C/man3/fpurge.3:40
160 #: build/C/man3/fputwc.3:26 build/C/man3/fread.3:56 build/C/man3/fseek.3:55
161 #: build/C/man3/fseeko.3:35 build/C/man3/getline.3:56 build/C/man3/gets.3:44
162 #: build/C/man3/getw.3:57 build/C/man2/link.2:38 build/C/man2/llseek.2:38
163 #: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/open.2:66
164 #: build/C/man3/perror.3:54 build/C/man2/pipe.2:51 build/C/man3/popen.3:62
165 #: build/C/man3/printf.3:76 build/C/man3/puts.3:41 build/C/man2/read.2:44
166 #: build/C/man2/readlink.2:61 build/C/man2/readv.2:56 build/C/man3/remove.3:38
167 #: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:85
168 #: build/C/man3/setbuf.3:71 build/C/man3/stdin.3:20 build/C/man3/stdio.3:48
169 #: build/C/man3/stdio_ext.3:52 build/C/man2/symlink.2:52
170 #: build/C/man3/tempnam.3:40 build/C/man3/tmpfile.3:38
171 #: build/C/man3/tmpnam.3:34 build/C/man2/unlink.2:39
172 #: build/C/man3/unlocked_stdio.3:104 build/C/man3/wprintf.3:58
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:51
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:51 build/C/man3/ctermid.3:57
195 #: build/C/man3/fclose.3:57 build/C/man3/fcloseall.3:49
196 #: build/C/man3/fflush.3:72 build/C/man3/fgetwc.3:53
197 #: build/C/man3/flockfile.3:112 build/C/man3/fmemopen.3:172
198 #: build/C/man3/fmtmsg.3:148 build/C/man3/fopen.3:189
199 #: build/C/man3/fopencookie.3:235 build/C/man3/fpurge.3:56
200 #: build/C/man3/fputwc.3:52 build/C/man3/fread.3:81 build/C/man3/fseek.3:117
201 #: build/C/man3/fseeko.3:63 build/C/man3/getline.3:108 build/C/man3/gets.3:109
202 #: build/C/man3/getw.3:71 build/C/man2/link.2:52 build/C/man2/llseek.2:57
203 #: build/C/man2/lseek.2:151 build/C/man2/open.2:466 build/C/man2/pipe.2:92
204 #: build/C/man3/popen.3:121 build/C/man3/puts.3:82 build/C/man2/read.2:63
205 #: build/C/man2/readlink.2:75 build/C/man2/readv.2:175
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:528 build/C/man3/setbuf.3:150
208 #: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:85
209 #: build/C/man3/tmpfile.3:45 build/C/man3/tmpnam.3:68 build/C/man2/unlink.2:55
210 #: build/C/man3/wprintf.3:185 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:59
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:59 build/C/man3/ctermid.3:59
229 #: build/C/man3/dprintf.3:68 build/C/man3/fclose.3:88
230 #: build/C/man3/fcloseall.3:54 build/C/man3/ferror.3:105
231 #: build/C/man3/fflush.3:91 build/C/man3/fgetwc.3:65
232 #: build/C/man3/flockfile.3:119 build/C/man3/fmemopen.3:191
233 #: build/C/man3/fmtmsg.3:221 build/C/man3/fopen.3:246
234 #: build/C/man3/fopencookie.3:242 build/C/man3/fpurge.3:68
235 #: build/C/man3/fputwc.3:63 build/C/man3/fread.3:96 build/C/man3/fseek.3:164
236 #: build/C/man3/fseeko.3:75 build/C/man3/getline.3:132 build/C/man3/gets.3:136
237 #: build/C/man3/getw.3:78 build/C/man2/link.2:128 build/C/man2/llseek.2:76
238 #: build/C/man2/lseek.2:189 build/C/man2/open.2:612 build/C/man3/perror.3:107
239 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:167 build/C/man3/printf.3:807
240 #: build/C/man3/puts.3:101 build/C/man2/read.2:155 build/C/man2/readlink.2:123
241 #: build/C/man2/readv.2:212 build/C/man3/remove.3:70 build/C/man2/rename.2:229
242 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:575 build/C/man3/setbuf.3:162
243 #: build/C/man3/stdin.3:109 build/C/man3/stdio.3:244
244 #: build/C/man2/symlink.2:144 build/C/man3/tempnam.3:94
245 #: build/C/man3/tmpfile.3:74 build/C/man3/tmpnam.3:75
246 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:111
247 #: build/C/man3/wprintf.3:193 build/C/man2/write.2:179
248 #, no-wrap
249 msgid "CONFORMING TO"
250 msgstr "準拠"
251
252 #. type: Plain text
253 #: build/C/man3/asprintf.3:65
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:65 build/C/man3/ctermid.3:69
265 #: build/C/man3/dprintf.3:94 build/C/man3/fclose.3:100
266 #: build/C/man3/fcloseall.3:56 build/C/man3/ferror.3:112
267 #: build/C/man3/fflush.3:106 build/C/man3/fgetwc.3:82
268 #: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:273
269 #: build/C/man3/fmtmsg.3:293 build/C/man3/fopen.3:301
270 #: build/C/man3/fopencookie.3:434 build/C/man3/fpurge.3:78
271 #: build/C/man3/fputwc.3:80 build/C/man3/fread.3:98 build/C/man3/fseek.3:166
272 #: build/C/man3/fseeko.3:81 build/C/man3/getline.3:166 build/C/man3/gets.3:171
273 #: build/C/man3/getw.3:84 build/C/man2/link.2:177 build/C/man2/llseek.2:82
274 #: build/C/man2/lseek.2:234 build/C/man3/lseek64.3:157 build/C/man2/open.2:851
275 #: build/C/man3/perror.3:135 build/C/man2/pipe.2:190 build/C/man3/popen.3:196
276 #: build/C/man3/printf.3:1074 build/C/man3/puts.3:110 build/C/man2/read.2:178
277 #: build/C/man2/readlink.2:212 build/C/man2/readv.2:282
278 #: build/C/man3/remove.3:81 build/C/man2/rename.2:242 build/C/man2/rmdir.2:132
279 #: build/C/man3/scanf.3:717 build/C/man3/setbuf.3:198 build/C/man3/stdin.3:150
280 #: build/C/man3/stdio.3:248 build/C/man3/stdio_ext.3:130
281 #: build/C/man2/symlink.2:159 build/C/man7/symlink.7:470
282 #: build/C/man3/tempnam.3:164 build/C/man3/tmpfile.3:86
283 #: build/C/man3/tmpnam.3:151 build/C/man2/unlink.2:148
284 #: build/C/man3/unlocked_stdio.3:134 build/C/man3/wprintf.3:229
285 #: build/C/man2/write.2:205
286 #, no-wrap
287 msgid "SEE ALSO"
288 msgstr "関連項目"
289
290 #. type: Plain text
291 #: build/C/man3/asprintf.3:69
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:69 build/C/man3/ctermid.3:71
297 #: build/C/man3/dprintf.3:96 build/C/man3/fclose.3:106
298 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:117
299 #: build/C/man3/fflush.3:114 build/C/man3/fgetwc.3:87
300 #: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:276
301 #: build/C/man3/fmtmsg.3:296 build/C/man3/fopen.3:307
302 #: build/C/man3/fopencookie.3:439 build/C/man3/fpurge.3:83
303 #: build/C/man3/fputwc.3:84 build/C/man3/fread.3:104 build/C/man3/fseek.3:169
304 #: build/C/man3/fseeko.3:83 build/C/man3/getline.3:173 build/C/man3/gets.3:187
305 #: build/C/man3/getw.3:90 build/C/man2/link.2:187 build/C/man2/llseek.2:85
306 #: build/C/man2/lseek.2:241 build/C/man3/lseek64.3:160 build/C/man2/open.2:873
307 #: build/C/man3/perror.3:140 build/C/man2/pipe.2:197 build/C/man3/popen.3:206
308 #: build/C/man3/printf.3:1083 build/C/man3/puts.3:122 build/C/man2/read.2:191
309 #: build/C/man2/readlink.2:220 build/C/man2/readv.2:286
310 #: build/C/man3/remove.3:92 build/C/man2/rename.2:251 build/C/man2/rmdir.2:141
311 #: build/C/man3/scanf.3:724 build/C/man3/setbuf.3:206 build/C/man3/stdin.3:156
312 #: build/C/man3/stdio.3:255 build/C/man3/stdio_ext.3:133
313 #: build/C/man2/symlink.2:171 build/C/man7/symlink.7:488
314 #: build/C/man3/tempnam.3:169 build/C/man3/tmpfile.3:92
315 #: build/C/man3/tmpnam.3:156 build/C/man2/unlink.2:161
316 #: build/C/man3/unlocked_stdio.3:137 build/C/man3/wprintf.3:236
317 #: build/C/man2/write.2:217
318 #, no-wrap
319 msgid "COLOPHON"
320 msgstr ""
321
322 #. type: Plain text
323 #: build/C/man3/asprintf.3:76 build/C/man3/ctermid.3:78
324 #: build/C/man3/dprintf.3:103 build/C/man3/fclose.3:113
325 #: build/C/man3/fcloseall.3:69 build/C/man3/ferror.3:124
326 #: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:94
327 #: build/C/man3/flockfile.3:136 build/C/man3/fmemopen.3:283
328 #: build/C/man3/fmtmsg.3:303 build/C/man3/fopen.3:314
329 #: build/C/man3/fopencookie.3:446 build/C/man3/fpurge.3:90
330 #: build/C/man3/fputwc.3:91 build/C/man3/fread.3:111 build/C/man3/fseek.3:176
331 #: build/C/man3/fseeko.3:90 build/C/man3/getline.3:180 build/C/man3/gets.3:194
332 #: build/C/man3/getw.3:97 build/C/man2/link.2:194 build/C/man2/llseek.2:92
333 #: build/C/man2/lseek.2:248 build/C/man3/lseek64.3:167 build/C/man2/open.2:880
334 #: build/C/man3/perror.3:147 build/C/man2/pipe.2:204 build/C/man3/popen.3:213
335 #: build/C/man3/printf.3:1090 build/C/man3/puts.3:129 build/C/man2/read.2:198
336 #: build/C/man2/readlink.2:227 build/C/man2/readv.2:293
337 #: build/C/man3/remove.3:99 build/C/man2/rename.2:258 build/C/man2/rmdir.2:148
338 #: build/C/man3/scanf.3:731 build/C/man3/setbuf.3:213 build/C/man3/stdin.3:163
339 #: build/C/man3/stdio.3:262 build/C/man3/stdio_ext.3:140
340 #: build/C/man2/symlink.2:178 build/C/man7/symlink.7:495
341 #: build/C/man3/tempnam.3:176 build/C/man3/tmpfile.3:99
342 #: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:168
343 #: build/C/man3/unlocked_stdio.3:144 build/C/man3/wprintf.3:243
344 #: build/C/man2/write.2:224
345 msgid ""
346 "This page is part of release 3.37 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
351 #. type: TH
352 #: build/C/man3/ctermid.3:24
353 #, no-wrap
354 msgid "CTERMID"
355 msgstr "CTERMID"
356
357 #. type: TH
358 #: build/C/man3/ctermid.3:24 build/C/man3/perror.3:30
359 #, no-wrap
360 msgid "2007-07-26"
361 msgstr "2007-07-26"
362
363 #. type: Plain text
364 #: build/C/man3/ctermid.3:27
365 msgid "ctermid - get controlling terminal name"
366 msgstr "ctermid - 制御端末名の取得"
367
368 #. type: Plain text
369 #: build/C/man3/ctermid.3:32 build/C/man3/fgetwc.3:22
370 #: build/C/man3/flockfile.3:29 build/C/man3/fmemopen.3:12
371 #: build/C/man3/fopen.3:48 build/C/man3/fputwc.3:20 build/C/man3/fread.3:49
372 #: build/C/man3/fseeko.3:29 build/C/man3/getline.3:30 build/C/man3/gets.3:31
373 #: build/C/man3/getw.3:29 build/C/man3/popen.3:44 build/C/man3/puts.3:30
374 #: build/C/man3/scanf.3:56 build/C/man3/setbuf.3:52 build/C/man3/stdin.3:15
375 #: build/C/man3/tempnam.3:29 build/C/man3/tmpfile.3:35
376 #: build/C/man3/tmpnam.3:31 build/C/man3/unlocked_stdio.3:30
377 #, no-wrap
378 msgid "B<#include E<lt>stdio.hE<gt>>\n"
379 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
380
381 #. type: Plain text
382 #: build/C/man3/ctermid.3:34
383 #, no-wrap
384 msgid "B<char *ctermid(char *>I<s>B<);>\n"
385 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
386
387 #. type: Plain text
388 #: build/C/man3/ctermid.3:39 build/C/man3/dprintf.3:38
389 #: build/C/man3/ferror.3:59 build/C/man3/flockfile.3:40
390 #: build/C/man3/fmemopen.3:25 build/C/man3/fopen.3:59
391 #: build/C/man3/getline.3:40 build/C/man3/getw.3:38 build/C/man3/perror.3:49
392 #: build/C/man3/popen.3:53 build/C/man3/printf.3:63 build/C/man2/readlink.2:52
393 #: build/C/man2/readv.2:51 build/C/man3/scanf.3:71 build/C/man3/setbuf.3:66
394 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:36
395 #: build/C/man3/unlocked_stdio.3:66 build/C/man3/wprintf.3:37
396 msgid ""
397 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
398 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
399
400 #.  From <unistd.h>: _XOPEN_SOURCE
401 #. type: Plain text
402 #: build/C/man3/ctermid.3:44
403 msgid ""
404 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
405 msgstr ""
406 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
407
408 #. type: Plain text
409 #: build/C/man3/ctermid.3:57
410 msgid ""
411 "B<ctermid>()  returns a string which is the pathname for the current "
412 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
413 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
414 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
415 "the returned pathname."
416 msgstr ""
417 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
418 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
419 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
420 "ス名の最大文字数である。"
421
422 #. type: Plain text
423 #: build/C/man3/ctermid.3:59
424 msgid "The pointer to the pathname."
425 msgstr "パス名へのポインタ。"
426
427 #. type: Plain text
428 #: build/C/man3/ctermid.3:61
429 msgid "Svr4, POSIX.1-2001."
430 msgstr "SVr4, POSIX.1-2001."
431
432 #. type: SH
433 #: build/C/man3/ctermid.3:61 build/C/man3/fmemopen.3:201
434 #: build/C/man3/gets.3:150 build/C/man3/getw.3:80 build/C/man2/link.2:171
435 #: build/C/man2/open.2:840 build/C/man3/popen.3:173 build/C/man3/printf.3:930
436 #: build/C/man3/puts.3:103 build/C/man2/readv.2:256 build/C/man3/remove.3:78
437 #: build/C/man2/rename.2:231 build/C/man2/rmdir.2:129 build/C/man3/scanf.3:682
438 #: build/C/man3/setbuf.3:168 build/C/man3/tempnam.3:154
439 #: build/C/man3/tmpnam.3:144 build/C/man2/unlink.2:145
440 #, no-wrap
441 msgid "BUGS"
442 msgstr "バグ"
443
444 #. type: Plain text
445 #: build/C/man3/ctermid.3:65
446 msgid ""
447 "The path returned may not uniquely identify the controlling terminal; it "
448 "may, for example, be I</dev/tty>."
449 msgstr ""
450 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
451 "ように。"
452
453 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
454 #.  if ctermid() was given an argument; fixed in 2.4.
455 #. type: Plain text
456 #: build/C/man3/ctermid.3:69
457 msgid "It is not assured that the program can open the terminal."
458 msgstr "プログラムが端末をオープンできることは保証されていない。"
459
460 #. type: Plain text
461 #: build/C/man3/ctermid.3:71
462 msgid "B<ttyname>(3)"
463 msgstr "B<ttyname>(3)"
464
465 #. type: TH
466 #: build/C/man3/dprintf.3:25
467 #, no-wrap
468 msgid "DPRINTF"
469 msgstr "DPRINTF"
470
471 #. type: TH
472 #: build/C/man3/dprintf.3:25 build/C/man3/fmemopen.3:6
473 #, no-wrap
474 msgid "2010-09-15"
475 msgstr "2010-09-15"
476
477 #. type: Plain text
478 #: build/C/man3/dprintf.3:28
479 msgid "dprintf, vdprintf - print to a file descriptor"
480 msgstr "dprintf, vdprintf - ファイルディスクリプターに文字出力する"
481
482 #. type: Plain text
483 #: build/C/man3/dprintf.3:32
484 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
485 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
486
487 #. type: Plain text
488 #: build/C/man3/dprintf.3:34
489 msgid ""
490 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
491 msgstr ""
492 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
493
494 #. type: Plain text
495 #: build/C/man3/dprintf.3:42
496 msgid "B<dprintf>(), B<vdprintf>():"
497 msgstr "B<dprintf>(), B<vdprintf>():"
498
499 #. type: TP
500 #: build/C/man3/dprintf.3:45 build/C/man3/fmemopen.3:33
501 #: build/C/man3/getline.3:47
502 #, no-wrap
503 msgid "Since glibc 2.10:"
504 msgstr "glibc 2.10 以降:"
505
506 #. type: Plain text
507 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
508 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
509 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
510
511 #. type: TP
512 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
513 #: build/C/man3/getline.3:50
514 #, no-wrap
515 msgid "Before glibc 2.10:"
516 msgstr "glibc 2.10 より前:"
517
518 #. type: Plain text
519 #: build/C/man3/dprintf.3:51 build/C/man3/fmemopen.3:39
520 #: build/C/man3/getline.3:53 build/C/man3/unlocked_stdio.3:102
521 msgid "_GNU_SOURCE"
522 msgstr "_GNU_SOURCE"
523
524 #. type: Plain text
525 #: build/C/man3/dprintf.3:68
526 msgid ""
527 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
528 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
529 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
530 msgstr ""
531 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
532 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
533 "れらは I<stdio> ストリームではなくファイルディスクリプター I<fd> に対して出力"
534 "を行う。"
535
536 #.  .SH NOTES
537 #.  These functions are GNU extensions, not in C or POSIX.
538 #.  Clearly, the names were badly chosen.
539 #.  Many systems (like MacOS) have incompatible functions called
540 #.  .BR dprintf (),
541 #.  usually some debugging version of
542 #.  .BR printf (3),
543 #.  perhaps with a prototype like
544 #.  .BI "void dprintf(int level, const char *" format ", ...);"
545 #.  where the first argument is a debugging level (and output is to
546 #.  .IR stderr ).
547 #.  Moreover,
548 #.  .BR dprintf ()
549 #.  (or
550 #.  .BR DPRINTF )
551 #.  is also a popular macro name for a debugging printf.
552 #.  So, probably, it is better to avoid this function in programs
553 #.  intended to be portable.
554 #.  A better name would have been
555 #.  .BR fdprintf ().
556 #. type: Plain text
557 #: build/C/man3/dprintf.3:94
558 msgid ""
559 "These functions are GNU extensions that are nowadays specified in "
560 "POSIX.1-2008."
561 msgstr ""
562 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
563 "る。"
564
565 #. type: Plain text
566 #: build/C/man3/dprintf.3:96
567 msgid "B<printf>(3)"
568 msgstr "B<printf>(3)"
569
570 #. type: TH
571 #: build/C/man3/fclose.3:42
572 #, no-wrap
573 msgid "FCLOSE"
574 msgstr "FCLOSE"
575
576 #. type: TH
577 #: build/C/man3/fclose.3:42 build/C/man3/fopen.3:42 build/C/man2/read.2:35
578 #, no-wrap
579 msgid "2009-02-23"
580 msgstr "2009-02-23"
581
582 #. type: Plain text
583 #: build/C/man3/fclose.3:45
584 msgid "fclose - close a stream"
585 msgstr "fclose - ストリームを閉じる"
586
587 #. type: Plain text
588 #: build/C/man3/fclose.3:49
589 msgid "B<int fclose(FILE *>I<fp>B<);>"
590 msgstr "B<int fclose(FILE *>I<fp>B<);>"
591
592 #. type: Plain text
593 #: build/C/man3/fclose.3:57
594 msgid ""
595 "The B<fclose>()  function will flushes the stream pointed to by I<fp> "
596 "(writing any buffered output data using B<fflush>(3))  and closes the "
597 "underlying file descriptor."
598 msgstr ""
599 "B<fclose>()  関数は I<fp> で指されるストリームを (バッファリングされていた全"
600 "ての出力データを B<fflush>(3)  を用いて書き込んで) フラッシュし、 その基とな"
601 "るファイルディスクリプタをクローズする。"
602
603 #. type: Plain text
604 #: build/C/man3/fclose.3:68
605 msgid ""
606 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
607 "I<errno> is set to indicate the error.  In either case any further access "
608 "(including another call to B<fclose>())  to the stream results in undefined "
609 "behavior."
610 msgstr ""
611 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
612 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
613 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
614 "は 未定義の動作を生じさせる。"
615
616 #. type: SH
617 #: build/C/man3/fclose.3:68 build/C/man3/ferror.3:95 build/C/man3/fflush.3:79
618 #: build/C/man3/fgetwc.3:59 build/C/man3/flockfile.3:117
619 #: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:63 build/C/man3/fputwc.3:58
620 #: build/C/man3/fseek.3:132 build/C/man3/fseeko.3:72
621 #: build/C/man3/getline.3:120 build/C/man2/link.2:57 build/C/man2/llseek.2:64
622 #: build/C/man2/lseek.2:159 build/C/man2/open.2:474 build/C/man2/pipe.2:97
623 #: build/C/man3/popen.3:141 build/C/man2/read.2:77 build/C/man2/readlink.2:83
624 #: build/C/man2/readv.2:186 build/C/man3/remove.3:65 build/C/man2/rename.2:96
625 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:545 build/C/man2/symlink.2:89
626 #: build/C/man3/tempnam.3:90 build/C/man3/tmpfile.3:52
627 #: build/C/man3/tmpnam.3:73 build/C/man2/unlink.2:60 build/C/man2/write.2:107
628 #, no-wrap
629 msgid "ERRORS"
630 msgstr "エラー"
631
632 #. type: TP
633 #: build/C/man3/fclose.3:69 build/C/man3/fflush.3:80 build/C/man3/fpurge.3:64
634 #: build/C/man3/fseek.3:133 build/C/man2/llseek.2:65 build/C/man2/lseek.2:160
635 #: build/C/man2/read.2:96 build/C/man3/scanf.3:551 build/C/man2/write.2:126
636 #, no-wrap
637 msgid "B<EBADF>"
638 msgstr "B<EBADF>"
639
640 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
641 #.   low-level file operations on the same stream. If you do get this error,
642 #.   you must have closed the stream's low-level file descriptor using
643 #.   something like close(fileno(fp)).
644 #. type: Plain text
645 #: build/C/man3/fclose.3:78
646 msgid "The file descriptor underlying I<fp> is not valid."
647 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
648
649 #. type: Plain text
650 #: build/C/man3/fclose.3:88
651 msgid ""
652 "The B<fclose>()  function may also fail and set I<errno> for any of the "
653 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
654 msgstr ""
655 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
656 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
657 "された値に設定される。"
658
659 #. type: Plain text
660 #: build/C/man3/fclose.3:90 build/C/man3/fseek.3:166 build/C/man3/puts.3:103
661 msgid "C89, C99."
662 msgstr "C89, C99."
663
664 #. type: SH
665 #: build/C/man3/fclose.3:90 build/C/man3/fflush.3:97 build/C/man3/fgetwc.3:67
666 #: build/C/man3/fmemopen.3:195 build/C/man3/fmtmsg.3:236
667 #: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:76 build/C/man3/fputwc.3:65
668 #: build/C/man3/fseeko.3:77 build/C/man2/link.2:133 build/C/man2/llseek.2:79
669 #: build/C/man2/lseek.2:199 build/C/man2/open.2:638 build/C/man3/perror.3:120
670 #: build/C/man3/printf.3:868 build/C/man2/read.2:157
671 #: build/C/man2/readlink.2:128 build/C/man2/readv.2:224
672 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:606 build/C/man3/stdin.3:118
673 #: build/C/man2/symlink.2:150 build/C/man3/tempnam.3:99
674 #: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:80
675 #: build/C/man3/wprintf.3:195 build/C/man2/write.2:188
676 #, no-wrap
677 msgid "NOTES"
678 msgstr "注意"
679
680 #. type: Plain text
681 #: build/C/man3/fclose.3:100
682 msgid ""
683 "Note that B<fclose>()  only flushes the user space buffers provided by the C "
684 "library.  To ensure that the data is physically stored on disk the kernel "
685 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
686 msgstr ""
687 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
688 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
689 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
690 "ればならない。"
691
692 #. type: Plain text
693 #: build/C/man3/fclose.3:106
694 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
695 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
696
697 #. type: TH
698 #: build/C/man3/fcloseall.3:24
699 #, no-wrap
700 msgid "FCLOSEALL"
701 msgstr "FCLOSEALL"
702
703 #. type: TH
704 #: build/C/man3/fcloseall.3:24
705 #, no-wrap
706 msgid "2006-12-27"
707 msgstr "2006-12-27"
708
709 #. type: Plain text
710 #: build/C/man3/fcloseall.3:27
711 msgid "fcloseall - close all open streams"
712 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
713
714 #. type: Plain text
715 #: build/C/man3/fcloseall.3:31 build/C/man3/fopencookie.3:31
716 #, no-wrap
717 msgid ""
718 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
719 "B<#include E<lt>stdio.hE<gt>>\n"
720 msgstr ""
721 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
722 "B<#include E<lt>stdio.hE<gt>>\n"
723
724 #. type: Plain text
725 #: build/C/man3/fcloseall.3:33
726 #, no-wrap
727 msgid "B<int fcloseall(void);>\n"
728 msgstr "B<int fcloseall(void);>\n"
729
730 #. type: Plain text
731 #: build/C/man3/fcloseall.3:42
732 msgid ""
733 "The B<fcloseall>()  function closes all of the calling process's open "
734 "streams.  Buffered output for each stream is written before it is closed (as "
735 "for B<fflush>(3)); buffered input is discarded."
736 msgstr ""
737 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
738 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
739 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
740 "れる。"
741
742 #. type: Plain text
743 #: build/C/man3/fcloseall.3:49
744 msgid ""
745 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
746 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
747
748 #. type: Plain text
749 #: build/C/man3/fcloseall.3:54
750 msgid ""
751 "This function returns 0 if all files were successfully closed; on error, "
752 "B<EOF> is returned."
753 msgstr ""
754 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
755 "B<EOF> を返す。"
756
757 #. type: Plain text
758 #: build/C/man3/fcloseall.3:56
759 msgid "This function is a GNU extension."
760 msgstr "この関数は GNU 拡張である。"
761
762 #. type: Plain text
763 #: build/C/man3/fcloseall.3:62
764 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
765 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
766
767 #. type: TH
768 #: build/C/man3/ferror.3:42
769 #, no-wrap
770 msgid "FERROR"
771 msgstr "FERROR"
772
773 #. type: TH
774 #: build/C/man3/ferror.3:42 build/C/man3/flockfile.3:23
775 #: build/C/man3/unlocked_stdio.3:23
776 #, no-wrap
777 msgid "2008-08-29"
778 msgstr "2008-08-29"
779
780 #. type: Plain text
781 #: build/C/man3/ferror.3:45
782 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
783 msgstr ""
784 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
785
786 #. type: Plain text
787 #: build/C/man3/ferror.3:49
788 msgid "B<void clearerr(FILE *>I<stream>B<);>"
789 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
790
791 #. type: Plain text
792 #: build/C/man3/ferror.3:51
793 msgid "B<int feof(FILE *>I<stream>B<);>"
794 msgstr "B<int feof(FILE *>I<stream>B<);>"
795
796 #. type: Plain text
797 #: build/C/man3/ferror.3:53
798 msgid "B<int ferror(FILE *>I<stream>B<);>"
799 msgstr "B<int ferror(FILE *>I<stream>B<);>"
800
801 #. type: Plain text
802 #: build/C/man3/ferror.3:55
803 msgid "B<int fileno(FILE *>I<stream>B<);>"
804 msgstr "B<int fileno(FILE *>I<stream>B<);>"
805
806 #. type: Plain text
807 #: build/C/man3/ferror.3:63
808 msgid ""
809 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
810 msgstr ""
811 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
812
813 #. type: Plain text
814 #: build/C/man3/ferror.3:68
815 msgid ""
816 "The function B<clearerr>()  clears the end-of-file and error indicators for "
817 "the stream pointed to by I<stream>."
818 msgstr ""
819 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
820 "子とエラー指示子をクリアする。"
821
822 #. type: Plain text
823 #: build/C/man3/ferror.3:77
824 msgid ""
825 "The function B<feof>()  tests the end-of-file indicator for the stream "
826 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
827 "indicator can only be cleared by the function B<clearerr>()."
828 msgstr ""
829 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
830 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
831 "よってのみクリアすることができる。"
832
833 #. type: Plain text
834 #: build/C/man3/ferror.3:86
835 msgid ""
836 "The function B<ferror>()  tests the error indicator for the stream pointed "
837 "to by I<stream>, returning nonzero if it is set.  The error indicator can "
838 "only be reset by the B<clearerr>()  function."
839 msgstr ""
840 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
841 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
842 "()  によってのみリセットすることができる。"
843
844 #. type: Plain text
845 #: build/C/man3/ferror.3:92
846 msgid ""
847 "The function B<fileno>()  examines the argument I<stream> and returns its "
848 "integer descriptor."
849 msgstr ""
850 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプターを返"
851 "す。"
852
853 #. type: Plain text
854 #: build/C/man3/ferror.3:95 build/C/man3/fgetwc.3:53 build/C/man3/fputwc.3:52
855 #: build/C/man3/fread.3:81 build/C/man3/gets.3:109 build/C/man3/puts.3:82
856 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
857 msgstr ""
858 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
859
860 #. type: Plain text
861 #: build/C/man3/ferror.3:105
862 msgid ""
863 "These functions should not fail and do not set the external variable "
864 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
865 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
866 msgstr ""
867 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
868 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
869 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
870
871 #. type: Plain text
872 #: build/C/man3/ferror.3:112
873 msgid ""
874 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
875 "C99."
876 msgstr ""
877 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
878
879 #. type: Plain text
880 #: build/C/man3/ferror.3:117
881 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
882 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
883
884 #. type: TH
885 #: build/C/man3/fflush.3:43
886 #, no-wrap
887 msgid "FFLUSH"
888 msgstr "FFLUSH"
889
890 #. type: TH
891 #: build/C/man3/fflush.3:43
892 #, no-wrap
893 msgid "2009-09-06"
894 msgstr "2009-09-06"
895
896 #. type: Plain text
897 #: build/C/man3/fflush.3:46
898 msgid "fflush - flush a stream"
899 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
900
901 #. type: Plain text
902 #: build/C/man3/fflush.3:50
903 msgid "B<int fflush(FILE *>I<stream>B<);>"
904 msgstr "B<int fflush(FILE *>I<stream>B<);>"
905
906 #. type: Plain text
907 #: build/C/man3/fflush.3:61
908 msgid ""
909 "For output streams, B<fflush>()  forces a write of all user-space buffered "
910 "data for the given output or update I<stream> via the stream's underlying "
911 "write function.  For input streams, B<fflush>()  discards any buffered data "
912 "that has been fetched from the underlying file, but has not been consumed by "
913 "the application.  The open status of the stream is unaffected."
914 msgstr ""
915 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
916 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
917 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
918 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
919 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
920 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
921 "い。"
922
923 #. type: Plain text
924 #: build/C/man3/fflush.3:69
925 msgid ""
926 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
927 "streams."
928 msgstr ""
929 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
930 "トリームをフラッシュする。"
931
932 #. type: Plain text
933 #: build/C/man3/fflush.3:72
934 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
935 msgstr ""
936 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
937 "と。"
938
939 #. type: Plain text
940 #: build/C/man3/fflush.3:79
941 msgid ""
942 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
943 "I<errno> is set to indicate the error."
944 msgstr ""
945 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
946 "ラーに対応した値に設定される。"
947
948 #. type: Plain text
949 #: build/C/man3/fflush.3:84
950 msgid "I<Stream> is not an open stream, or is not open for writing."
951 msgstr ""
952 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
953 "ない。"
954
955 #. type: Plain text
956 #: build/C/man3/fflush.3:91
957 msgid ""
958 "The function B<fflush>()  may also fail and set I<errno> for any of the "
959 "errors specified for B<write>(2)."
960 msgstr ""
961 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
962 "ある。 この場合 I<errno> もその値に設定される。"
963
964 #. type: Plain text
965 #: build/C/man3/fflush.3:93
966 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
967 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
968
969 #.  Verified on: Solaris 8.
970 #. type: Plain text
971 #: build/C/man3/fflush.3:97
972 msgid ""
973 "The standards do not specify the behavior for input streams.  Most other "
974 "implementations behave the same as Linux."
975 msgstr ""
976 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
977 "は Linux と同じ動作をする。"
978
979 #. type: Plain text
980 #: build/C/man3/fflush.3:106
981 msgid ""
982 "Note that B<fflush>()  only flushes the user space buffers provided by the C "
983 "library.  To ensure that the data is physically stored on disk the kernel "
984 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
985 msgstr ""
986 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
987 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
988 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
989 "B<fsync>(2)  を用いる。"
990
991 #. type: Plain text
992 #: build/C/man3/fflush.3:114
993 msgid ""
994 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
995 "(3), B<unlocked_stdio>(3)"
996 msgstr ""
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
1000 #. type: TH
1001 #: build/C/man3/fgetwc.3:16
1002 #, no-wrap
1003 msgid "FGETWC"
1004 msgstr "FGETWC"
1005
1006 #. type: TH
1007 #: build/C/man3/fgetwc.3:16 build/C/man3/fputwc.3:14
1008 #, no-wrap
1009 msgid "1999-07-25"
1010 msgstr "1999-07-25"
1011
1012 #. type: Plain text
1013 #: build/C/man3/fgetwc.3:19
1014 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1015 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1016
1017 #. type: Plain text
1018 #: build/C/man3/fgetwc.3:24 build/C/man3/fmemopen.3:18
1019 #: build/C/man3/fputwc.3:22 build/C/man3/unlocked_stdio.3:52
1020 #, no-wrap
1021 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1022 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1023
1024 #. type: Plain text
1025 #: build/C/man3/fgetwc.3:27
1026 #, no-wrap
1027 msgid ""
1028 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1029 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1030 msgstr ""
1031 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1032 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1033
1034 #. type: Plain text
1035 #: build/C/man3/fgetwc.3:42
1036 msgid ""
1037 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1038 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1039 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1040 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1041 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1042 msgstr ""
1043 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1044 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1045 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1046 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1047 "し、 B<WEOF> を返す。"
1048
1049 #. type: Plain text
1050 #: build/C/man3/fgetwc.3:50
1051 msgid ""
1052 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1053 "may be implemented as a macro, and may evaluate its argument more than "
1054 "once.  There is no reason ever to use it."
1055 msgstr ""
1056 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1057 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1058 "ない。この関数を使う理由はもはや存在しない。"
1059
1060 #. type: Plain text
1061 #: build/C/man3/fgetwc.3:59
1062 msgid ""
1063 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1064 "or B<WEOF>."
1065 msgstr ""
1066 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
1067
1068 #. type: Plain text
1069 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60
1070 msgid "Apart from the usual ones, there is"
1071 msgstr "通常のエラーに加えて、以下のエラーがある:"
1072
1073 #. type: TP
1074 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60 build/C/man3/scanf.3:556
1075 #, no-wrap
1076 msgid "B<EILSEQ>"
1077 msgstr "B<EILSEQ>"
1078
1079 #. type: Plain text
1080 #: build/C/man3/fgetwc.3:65
1081 msgid ""
1082 "The data obtained from the input stream does not form a valid character."
1083 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1084
1085 #. type: Plain text
1086 #: build/C/man3/fgetwc.3:67 build/C/man3/fputwc.3:65
1087 msgid "C99, POSIX.1-2001."
1088 msgstr "C99, POSIX.1-2001."
1089
1090 #. type: Plain text
1091 #: build/C/man3/fgetwc.3:74
1092 msgid ""
1093 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1094 "current locale."
1095 msgstr ""
1096 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1097
1098 #. type: Plain text
1099 #: build/C/man3/fgetwc.3:82
1100 msgid ""
1101 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1102 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1103 "sequence from the stream and then convert it to a wide character."
1104 msgstr ""
1105 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1106 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1107 "換すると期待することは適切である。"
1108
1109 #. type: Plain text
1110 #: build/C/man3/fgetwc.3:87
1111 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1112 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1113
1114 #. type: TH
1115 #: build/C/man3/flockfile.3:23
1116 #, no-wrap
1117 msgid "FLOCKFILE"
1118 msgstr "FLOCKFILE"
1119
1120 #. type: Plain text
1121 #: build/C/man3/flockfile.3:26
1122 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1123 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1124
1125 #. type: Plain text
1126 #: build/C/man3/flockfile.3:31
1127 #, no-wrap
1128 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1129 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1130
1131 #. type: Plain text
1132 #: build/C/man3/flockfile.3:33
1133 #, no-wrap
1134 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1135 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1136
1137 #. type: Plain text
1138 #: build/C/man3/flockfile.3:35
1139 #, no-wrap
1140 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1141 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1142
1143 #. type: Plain text
1144 #: build/C/man3/flockfile.3:44 build/C/man3/wprintf.3:41
1145 msgid "All functions shown above:"
1146 msgstr "上記の全ての関数:"
1147
1148 #. type: Plain text
1149 #: build/C/man3/flockfile.3:47
1150 msgid ""
1151 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1152 "|| _POSIX_SOURCE"
1153 msgstr ""
1154 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1155 "|| _POSIX_SOURCE"
1156
1157 #. type: Plain text
1158 #: build/C/man3/flockfile.3:61
1159 msgid ""
1160 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1161 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1162 "thread.  For each library call, these functions wait until the I<FILE> "
1163 "object is no longer locked by a different thread, then lock it, do the "
1164 "requested I/O, and unlock the object again."
1165 msgstr ""
1166 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1167 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1168 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1169 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1170 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1171 "オブジェクトのロックを解除する。"
1172
1173 #. type: Plain text
1174 #: build/C/man3/flockfile.3:67
1175 msgid ""
1176 "(Note: this locking has nothing to do with the file locking done by "
1177 "functions like B<flock>(2)  and B<lockf>(3).)"
1178 msgstr ""
1179 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1180 "全く無関係である。)"
1181
1182 #. type: Plain text
1183 #: build/C/man3/flockfile.3:75
1184 msgid ""
1185 "All this is invisible to the C-programmer, but there may be two reasons to "
1186 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1187 "actions by one thread belongs together, and should not be interrupted by the "
1188 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1189 "should be avoided for greater efficiency."
1190 msgstr ""
1191 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1192 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1193 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1194 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1195 "避ける必要があるということであろう。"
1196
1197 #. type: Plain text
1198 #: build/C/man3/flockfile.3:92
1199 msgid ""
1200 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1201 "series of I/O actions, then unlock.  This prevents other threads from coming "
1202 "in between.  If the reason for doing this was to achieve greater efficiency, "
1203 "one does the I/O with the nonlocking versions of the stdio functions: with "
1204 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1205 "B<putc>(3)."
1206 msgstr ""
1207 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1208 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1209 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1210 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1211 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1212 "B<putc_unlocked>(3)  を使用する。"
1213
1214 #. type: Plain text
1215 #: build/C/man3/flockfile.3:99
1216 msgid ""
1217 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1218 "by a different thread, then makes the current thread owner of "
1219 "I<*filehandle>, and increments the lockcount."
1220 msgstr ""
1221 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1222 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1223 "ロック数を加算する。"
1224
1225 #. type: Plain text
1226 #: build/C/man3/flockfile.3:103
1227 msgid "The B<funlockfile>()  function decrements the lock count."
1228 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1229
1230 #. type: Plain text
1231 #: build/C/man3/flockfile.3:112
1232 msgid ""
1233 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1234 "It does nothing in case some other thread owns I<*filehandle>, and it "
1235 "obtains ownership and increments the lockcount otherwise."
1236 msgstr ""
1237 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1238 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1239 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1240
1241 #. type: Plain text
1242 #: build/C/man3/flockfile.3:117
1243 msgid ""
1244 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1245 "obtained), and nonzero for failure."
1246 msgstr ""
1247 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1248 "の値を返す。"
1249
1250 #. type: Plain text
1251 #: build/C/man3/flockfile.3:119
1252 msgid "None."
1253 msgstr "なし。"
1254
1255 #. type: Plain text
1256 #: build/C/man3/flockfile.3:121 build/C/man3/popen.3:169
1257 msgid "POSIX.1-2001."
1258 msgstr "POSIX.1-2001."
1259
1260 #. type: SH
1261 #: build/C/man3/flockfile.3:121
1262 #, no-wrap
1263 msgid "AVAILABILITY"
1264 msgstr "可用性"
1265
1266 #. type: Plain text
1267 #: build/C/man3/flockfile.3:127
1268 msgid ""
1269 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1270 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1271 msgstr ""
1272 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1273 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1274
1275 #. type: Plain text
1276 #: build/C/man3/flockfile.3:129
1277 msgid "B<unlocked_stdio>(3)"
1278 msgstr "B<unlocked_stdio>(3)"
1279
1280 #. type: TH
1281 #: build/C/man3/fmemopen.3:6
1282 #, no-wrap
1283 msgid "FMEMOPEN"
1284 msgstr "FMEMOPEN"
1285
1286 #. type: Plain text
1287 #: build/C/man3/fmemopen.3:9
1288 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1289 msgstr ""
1290 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1291 "する"
1292
1293 #. type: Plain text
1294 #: build/C/man3/fmemopen.3:14
1295 #, no-wrap
1296 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1297 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1298
1299 #. type: Plain text
1300 #: build/C/man3/fmemopen.3:16
1301 #, no-wrap
1302 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1303 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1304
1305 #. type: Plain text
1306 #: build/C/man3/fmemopen.3:20
1307 #, no-wrap
1308 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1309 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1310
1311 #. type: Plain text
1312 #: build/C/man3/fmemopen.3:30
1313 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1314 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1315
1316 #. type: Plain text
1317 #: build/C/man3/fmemopen.3:53
1318 msgid ""
1319 "The B<fmemopen>()  function opens a stream that permits the access specified "
1320 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1321 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1322 "long."
1323 msgstr ""
1324 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1325 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1326 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1327 "I<size> バイトの長さでなければならない。"
1328
1329 #. type: Plain text
1330 #: build/C/man3/fmemopen.3:73
1331 msgid ""
1332 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1333 "an append mode, then the initial file position is set to the location of the "
1334 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1335 "position is set to the start of the buffer.  Since glibc 2.9, the letter 'b' "
1336 "may be specified as the second character in I<mode>.  This provides \"binary"
1337 "\" mode: writes don't implicitly add a terminating null byte, and B<fseek>"
1338 "(3)  B<SEEK_END> is relative to the end of the buffer (i.e., the value "
1339 "specified by the I<size> argument), rather than the current string length."
1340 msgstr ""
1341 "引き数 I<mode> は B<fopen>(3)  の場合と同じである。 I<mode> で追記モード "
1342 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の最初の "
1343 "NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。 それ以外の場合は、ファイル"
1344 "位置の初期値はバッファの先頭になる。 glibc 2.9 以降では、文字 'b' を I<mode> "
1345 "の二番目の文字として指定することができる。 この文字は「バイナリ」モードを指定"
1346 "するものである。 このモードでは、書き込み時に文字列終端のヌルバイトが黙って追"
1347 "加 されることはない。また、 B<fseek>(3)  B<SEEK_END> は、文字列の長さからの相"
1348 "対値ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1349
1350 #. type: Plain text
1351 #: build/C/man3/fmemopen.3:85
1352 msgid ""
1353 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1354 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1355 "there is space.  The caller should ensure that an extra byte is available in "
1356 "the buffer (and that I<size> counts that byte)  to allow for this."
1357 msgstr ""
1358 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1359 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1360 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1361 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1362
1363 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1364 #.  and
1365 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1366 #. type: Plain text
1367 #: build/C/man3/fmemopen.3:103
1368 msgid ""
1369 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1370 "(By default, such errors will only be visible when the I<stdio> buffer is "
1371 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1372 "detect errors at the time of an output operation.  Alternatively, the caller "
1373 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1374 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1375 msgstr ""
1376 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1377 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1378 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1379 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1380 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1381 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1382 "stdio に教える方法がある。)"
1383
1384 #. type: Plain text
1385 #: build/C/man3/fmemopen.3:111
1386 msgid ""
1387 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1388 "not cause read operations to return an end-of-file indication.  A read from "
1389 "the buffer will only indicate end-of-file when the file pointer advances "
1390 "I<size> bytes past the start of the buffer."
1391 msgstr ""
1392 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1393 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1394 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1395 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1396
1397 #. type: Plain text
1398 #: build/C/man3/fmemopen.3:126
1399 msgid ""
1400 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1401 "buffer I<size> bytes long.  This is useful for an application that wants to "
1402 "write data to a temporary buffer and then read it back again.  The buffer is "
1403 "automatically freed when the stream is closed.  Note that the caller has no "
1404 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1405 "see B<open_memstream>()  below)."
1406 msgstr ""
1407 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1408 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1409 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1410 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1411 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1412 "の B<open_memstream>()  も参照)。"
1413
1414 #. type: Plain text
1415 #: build/C/man3/fmemopen.3:137
1416 msgid ""
1417 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1418 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1419 "automatically grows as required.  After closing the stream, the caller "
1420 "should B<free>(3)  this buffer."
1421 msgstr ""
1422 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1423 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1424 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1425 "B<free>(3)  すべきである。"
1426
1427 #. type: Plain text
1428 #: build/C/man3/fmemopen.3:152
1429 msgid ""
1430 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1431 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1432 "respectively, a pointer to the buffer and the current size of the buffer.  "
1433 "These values remain valid only as long as the caller performs no further "
1434 "output on the stream.  If further output is performed, then the stream must "
1435 "again be flushed before trying to access these variables."
1436 msgstr ""
1437 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1438 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1439 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1440 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1441 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1442
1443 #. type: Plain text
1444 #: build/C/man3/fmemopen.3:158
1445 msgid ""
1446 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1447 "included in the size value stored at I<sizeloc>."
1448 msgstr ""
1449 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1450 "されるサイズには「含まれない」。"
1451
1452 #. type: Plain text
1453 #: build/C/man3/fmemopen.3:166
1454 msgid ""
1455 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1456 "(3).  Moving the file position past the end of the data already written "
1457 "fills the intervening space with zeros."
1458 msgstr ""
1459 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1460 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1461 "は 0 で埋められる。"
1462
1463 #. type: Plain text
1464 #: build/C/man3/fmemopen.3:172
1465 msgid ""
1466 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1467 "wide characters instead of bytes."
1468 msgstr ""
1469 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1470 "ド文字に対して操作を行う点が異なる。"
1471
1472 #. type: Plain text
1473 #: build/C/man3/fmemopen.3:184
1474 msgid ""
1475 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1476 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1477 "and I<errno> is set to indicate the error."
1478 msgstr ""
1479 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1480 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1481 "し、 I<errno> にエラーを示す値をセットする。"
1482
1483 #. type: SH
1484 #: build/C/man3/fmemopen.3:184 build/C/man3/fmtmsg.3:218
1485 #: build/C/man3/getline.3:130 build/C/man2/pipe.2:113 build/C/man2/readv.2:207
1486 #, no-wrap
1487 msgid "VERSIONS"
1488 msgstr "バージョン"
1489
1490 #. type: Plain text
1491 #: build/C/man3/fmemopen.3:191
1492 msgid ""
1493 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1494 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1495 msgstr ""
1496 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1497 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1498
1499 #. type: Plain text
1500 #: build/C/man3/fmemopen.3:195
1501 msgid ""
1502 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1503 "not widely available on other systems."
1504 msgstr ""
1505 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1506 "のシステムで広く利用可能である。"
1507
1508 #. type: Plain text
1509 #: build/C/man3/fmemopen.3:201
1510 msgid ""
1511 "There is no file descriptor associated with the file stream returned by "
1512 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1513 "returned stream)."
1514 msgstr ""
1515 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1516 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1517 "とになる)。"
1518
1519 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1520 #. type: Plain text
1521 #: build/C/man3/fmemopen.3:208
1522 msgid ""
1523 "In glibc before version 2.7, seeking past the end of a stream created by "
1524 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1525 "call fails, returning -1."
1526 msgstr ""
1527 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1528 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1529 "B<fseek>(3)  が失敗し -1 が返る。"
1530
1531 #. type: SH
1532 #: build/C/man3/fmemopen.3:208 build/C/man3/fmtmsg.3:240
1533 #: build/C/man3/fopencookie.3:244 build/C/man3/getline.3:139
1534 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:974
1535 #: build/C/man2/readlink.2:155 build/C/man2/readv.2:263
1536 #, no-wrap
1537 msgid "EXAMPLE"
1538 msgstr "例"
1539
1540 #. type: Plain text
1541 #: build/C/man3/fmemopen.3:218
1542 msgid ""
1543 "The program below uses B<fmemopen>()  to open an input buffer, and "
1544 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1545 "scans its input string (taken from the program's first command-line "
1546 "argument) reading integers, and writes the squares of these integers to the "
1547 "output buffer.  An example of the output produced by this program is the "
1548 "following:"
1549 msgstr ""
1550 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1551 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1552 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1553 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1554 "ムの実行例は以下のようになる。"
1555
1556 #. type: Plain text
1557 #: build/C/man3/fmemopen.3:223
1558 #, no-wrap
1559 msgid ""
1560 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1561 "size=11; ptr=1 529 1849\n"
1562 msgstr ""
1563 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1564 "size=11; ptr=1 529 1849\n"
1565
1566 #. type: SS
1567 #: build/C/man3/fmemopen.3:225 build/C/man3/fopencookie.3:268
1568 #, no-wrap
1569 msgid "Program source"
1570 msgstr "プログラムのソース"
1571
1572 #. type: Plain text
1573 #: build/C/man3/fmemopen.3:232
1574 #, no-wrap
1575 msgid ""
1576 "#define _GNU_SOURCE\n"
1577 "#include E<lt>string.hE<gt>\n"
1578 "#include E<lt>stdio.hE<gt>\n"
1579 "#include E<lt>stdlib.hE<gt>\n"
1580 msgstr ""
1581 "#define _GNU_SOURCE\n"
1582 "#include E<lt>string.hE<gt>\n"
1583 "#include E<lt>stdio.hE<gt>\n"
1584 "#include E<lt>stdlib.hE<gt>\n"
1585
1586 #. type: Plain text
1587 #: build/C/man3/fmemopen.3:235
1588 #, no-wrap
1589 msgid ""
1590 "#define handle_error(msg) \\e\n"
1591 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1592 msgstr ""
1593 "#define handle_error(msg) \\e\n"
1594 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1595
1596 #. type: Plain text
1597 #: build/C/man3/fmemopen.3:243
1598 #, no-wrap
1599 msgid ""
1600 "int\n"
1601 "main(int argc, char *argv[])\n"
1602 "{\n"
1603 "    FILE *out, *in;\n"
1604 "    int v, s;\n"
1605 "    size_t size;\n"
1606 "    char *ptr;\n"
1607 msgstr ""
1608 "int\n"
1609 "main(int argc, char *argv[])\n"
1610 "{\n"
1611 "    FILE *out, *in;\n"
1612 "    int v, s;\n"
1613 "    size_t size;\n"
1614 "    char *ptr;\n"
1615
1616 #. type: Plain text
1617 #: build/C/man3/fmemopen.3:248
1618 #, no-wrap
1619 msgid ""
1620 "    if (argc != 2) {\n"
1621 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1622 "\texit(EXIT_FAILURE);\n"
1623 "    }\n"
1624 msgstr ""
1625 "    if (argc != 2) {\n"
1626 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1627 "\texit(EXIT_FAILURE);\n"
1628 "    }\n"
1629
1630 #. type: Plain text
1631 #: build/C/man3/fmemopen.3:252
1632 #, no-wrap
1633 msgid ""
1634 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1635 "    if (in == NULL)\n"
1636 "        handle_error(\"fmemopen\");\n"
1637 msgstr ""
1638 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1639 "    if (in == NULL)\n"
1640 "        handle_error(\"fmemopen\");\n"
1641
1642 #. type: Plain text
1643 #: build/C/man3/fmemopen.3:256
1644 #, no-wrap
1645 msgid ""
1646 "    out = open_memstream(&ptr, &size);\n"
1647 "    if (out == NULL)\n"
1648 "        handle_error(\"open_memstream\");\n"
1649 msgstr ""
1650 "    out = open_memstream(&ptr, &size);\n"
1651 "    if (out == NULL)\n"
1652 "        handle_error(\"open_memstream\");\n"
1653
1654 #. type: Plain text
1655 #: build/C/man3/fmemopen.3:261
1656 #, no-wrap
1657 msgid ""
1658 "    for (;;) {\n"
1659 "        s = fscanf(in, \"%d\", &v);\n"
1660 "        if (s E<lt>= 0)\n"
1661 "            break;\n"
1662 msgstr ""
1663 "    for (;;) {\n"
1664 "        s = fscanf(in, \"%d\", &v);\n"
1665 "        if (s E<lt>= 0)\n"
1666 "            break;\n"
1667
1668 #. type: Plain text
1669 #: build/C/man3/fmemopen.3:272
1670 #, no-wrap
1671 msgid ""
1672 "        s = fprintf(out, \"%d \", v * v);\n"
1673 "        if (s == -1)\n"
1674 "            handle_error(\"fprintf\");\n"
1675 "    }\n"
1676 "    fclose(in);\n"
1677 "    fclose(out);\n"
1678 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1679 "    free(ptr);\n"
1680 "    exit(EXIT_SUCCESS);\n"
1681 "}\n"
1682 msgstr ""
1683 "        s = fprintf(out, \"%d \", v * v);\n"
1684 "        if (s == -1)\n"
1685 "            handle_error(\"fprintf\");\n"
1686 "    }\n"
1687 "    fclose(in);\n"
1688 "    fclose(out);\n"
1689 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1690 "    free(ptr);\n"
1691 "    exit(EXIT_SUCCESS);\n"
1692 "}\n"
1693
1694 #. type: Plain text
1695 #: build/C/man3/fmemopen.3:276
1696 msgid "B<fopen>(3), B<fopencookie>(3)"
1697 msgstr "B<fopen>(3), B<fopencookie>(3)"
1698
1699 #. type: TH
1700 #: build/C/man3/fmtmsg.3:9
1701 #, no-wrap
1702 msgid "FMTMSG"
1703 msgstr "FMTMSG"
1704
1705 #. type: TH
1706 #: build/C/man3/fmtmsg.3:9
1707 #, no-wrap
1708 msgid "2008-06-14"
1709 msgstr "2008-06-14"
1710
1711 #. type: Plain text
1712 #: build/C/man3/fmtmsg.3:12
1713 msgid "fmtmsg - print formatted error messages"
1714 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1715
1716 #. type: Plain text
1717 #: build/C/man3/fmtmsg.3:15
1718 #, no-wrap
1719 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1720 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1721
1722 #. type: Plain text
1723 #: build/C/man3/fmtmsg.3:17
1724 #, no-wrap
1725 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1726 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1727
1728 #. type: Plain text
1729 #: build/C/man3/fmtmsg.3:19
1730 #, no-wrap
1731 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1732 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1733
1734 #. type: Plain text
1735 #: build/C/man3/fmtmsg.3:21
1736 #, no-wrap
1737 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1738 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1739
1740 #. type: Plain text
1741 #: build/C/man3/fmtmsg.3:32
1742 msgid ""
1743 "This function displays a message described by its arguments on the device"
1744 "(s)  specified in the I<classification> argument.  For messages written to "
1745 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1746 msgstr ""
1747 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1748 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1749 "は、 B<MSGVERB> 環境変数に依存する。"
1750
1751 #. type: Plain text
1752 #: build/C/man3/fmtmsg.3:39
1753 msgid ""
1754 "The I<label> argument identifies the source of the message.  The string must "
1755 "consist of two colon separated parts where the first part has not more than "
1756 "10 and the second part not more than 14 characters."
1757 msgstr ""
1758 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1759 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1760 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1761
1762 #. type: Plain text
1763 #: build/C/man3/fmtmsg.3:43
1764 msgid "The I<text> argument describes the condition of the error."
1765 msgstr "I<text> 引き数にはエラー条件を記述する。"
1766
1767 #. type: Plain text
1768 #: build/C/man3/fmtmsg.3:48
1769 msgid ""
1770 "The I<action> argument describes possible steps to recover from the error.  "
1771 "If it is printed, it is prefixed by \"TO FIX: \"."
1772 msgstr ""
1773 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1774 "れが表示される場合、\"TO FIX: \" が前に付く。"
1775
1776 #. type: Plain text
1777 #: build/C/man3/fmtmsg.3:56
1778 msgid ""
1779 "The I<tag> argument is a reference to the online documentation where more "
1780 "information can be found.  It should contain the I<label> value and a unique "
1781 "identification number."
1782 msgstr ""
1783 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1784 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1785
1786 #. type: SS
1787 #: build/C/man3/fmtmsg.3:56
1788 #, no-wrap
1789 msgid "Dummy arguments"
1790 msgstr "ダミー引き数"
1791
1792 #. type: Plain text
1793 #: build/C/man3/fmtmsg.3:75
1794 msgid ""
1795 "Each of the arguments can have a dummy value.  The dummy classification "
1796 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1797 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1798 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1799 "synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
1800 "synonym for B<NO_SEV>."
1801 msgstr ""
1802 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1803 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1804 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1805 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1806 "((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
1807 "る。"
1808
1809 #. type: SS
1810 #: build/C/man3/fmtmsg.3:75
1811 #, no-wrap
1812 msgid "The classification argument"
1813 msgstr "classification 引き数"
1814
1815 #. type: Plain text
1816 #: build/C/man3/fmtmsg.3:79
1817 msgid ""
1818 "The I<classification> argument is the sum of values describing 4 types of "
1819 "information."
1820 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1821
1822 #. type: Plain text
1823 #: build/C/man3/fmtmsg.3:82
1824 msgid "The first value defines the output channel."
1825 msgstr "最初の値は出力チャンネルを定義する。"
1826
1827 #. type: TP
1828 #: build/C/man3/fmtmsg.3:82
1829 #, no-wrap
1830 msgid "B<MM_PRINT>"
1831 msgstr "B<MM_PRINT>"
1832
1833 #. type: Plain text
1834 #: build/C/man3/fmtmsg.3:86
1835 msgid "Output to I<stderr>."
1836 msgstr "I<stderr> に出力する。"
1837
1838 #. type: TP
1839 #: build/C/man3/fmtmsg.3:86
1840 #, no-wrap
1841 msgid "B<MM_CONSOLE>"
1842 msgstr "B<MM_CONSOLE>"
1843
1844 #. type: Plain text
1845 #: build/C/man3/fmtmsg.3:89
1846 msgid "Output to the system console."
1847 msgstr "システムコンソールに出力する。"
1848
1849 #. type: TP
1850 #: build/C/man3/fmtmsg.3:89
1851 #, no-wrap
1852 msgid "B<MM_PRINT | MM_CONSOLE>"
1853 msgstr "B<MM_PRINT | MM_CONSOLE>"
1854
1855 #. type: Plain text
1856 #: build/C/man3/fmtmsg.3:92
1857 msgid "Output to both."
1858 msgstr "両方に出力する。"
1859
1860 #. type: Plain text
1861 #: build/C/man3/fmtmsg.3:94
1862 msgid "The second value is the source of the error:"
1863 msgstr "2 番目の値はエラーの発生源である:"
1864
1865 #. type: TP
1866 #: build/C/man3/fmtmsg.3:94
1867 #, no-wrap
1868 msgid "B<MM_HARD>"
1869 msgstr "B<MM_HARD>"
1870
1871 #. type: Plain text
1872 #: build/C/man3/fmtmsg.3:97
1873 msgid "A hardware error occurred."
1874 msgstr "ハードウェアエラーが起こった。"
1875
1876 #. type: TP
1877 #: build/C/man3/fmtmsg.3:97
1878 #, no-wrap
1879 msgid "B<MM_FIRM>"
1880 msgstr "B<MM_FIRM>"
1881
1882 #. type: Plain text
1883 #: build/C/man3/fmtmsg.3:100
1884 msgid "A firmware error occurred."
1885 msgstr "ファームウェアエラーが起こった。"
1886
1887 #. type: TP
1888 #: build/C/man3/fmtmsg.3:100
1889 #, no-wrap
1890 msgid "B<MM_SOFT>"
1891 msgstr "B<MM_SOFT>"
1892
1893 #. type: Plain text
1894 #: build/C/man3/fmtmsg.3:103
1895 msgid "A software error occurred."
1896 msgstr "ソフトウェアエラーが起こった。"
1897
1898 #. type: Plain text
1899 #: build/C/man3/fmtmsg.3:105
1900 msgid "The third value encodes the detector of the problem:"
1901 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
1902
1903 #. type: TP
1904 #: build/C/man3/fmtmsg.3:105
1905 #, no-wrap
1906 msgid "B<MM_APPL>"
1907 msgstr "B<MM_APPL>"
1908
1909 #. type: Plain text
1910 #: build/C/man3/fmtmsg.3:108
1911 msgid "It is detected by an application."
1912 msgstr "アプリケーションによって検知された。"
1913
1914 #. type: TP
1915 #: build/C/man3/fmtmsg.3:108
1916 #, no-wrap
1917 msgid "B<MM_UTIL>"
1918 msgstr "B<MM_UTIL>"
1919
1920 #. type: Plain text
1921 #: build/C/man3/fmtmsg.3:111
1922 msgid "It is detected by a utility."
1923 msgstr "ユーティリティによって検知された。"
1924
1925 #. type: TP
1926 #: build/C/man3/fmtmsg.3:111
1927 #, no-wrap
1928 msgid "B<MM_OPSYS>"
1929 msgstr "B<MM_OPSYS>"
1930
1931 #. type: Plain text
1932 #: build/C/man3/fmtmsg.3:114
1933 msgid "It is detected by the operating system."
1934 msgstr "オペレーティングシステムによって検知された。"
1935
1936 #. type: Plain text
1937 #: build/C/man3/fmtmsg.3:116
1938 msgid "The fourth value shows the severity of the incident:"
1939 msgstr "4 番目の値は問題の重大度を表す:"
1940
1941 #. type: TP
1942 #: build/C/man3/fmtmsg.3:116
1943 #, no-wrap
1944 msgid "B<MM_RECOVER>"
1945 msgstr "B<MM_RECOVER>"
1946
1947 #. type: Plain text
1948 #: build/C/man3/fmtmsg.3:119
1949 msgid "It is a recoverable error."
1950 msgstr "回復可能なエラーである。"
1951
1952 #. type: TP
1953 #: build/C/man3/fmtmsg.3:119
1954 #, no-wrap
1955 msgid "B<MM_NRECOV>"
1956 msgstr "B<MM_NRECOV>"
1957
1958 #. type: Plain text
1959 #: build/C/man3/fmtmsg.3:122
1960 msgid "It is a nonrecoverable error."
1961 msgstr "回復不可能なエラーである。"
1962
1963 #. type: SS
1964 #: build/C/man3/fmtmsg.3:122
1965 #, no-wrap
1966 msgid "The severity argument"
1967 msgstr "severity 引き数"
1968
1969 #. type: Plain text
1970 #: build/C/man3/fmtmsg.3:126
1971 msgid "The I<severity> argument can take one of the following values:"
1972 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
1973
1974 #. type: TP
1975 #: build/C/man3/fmtmsg.3:126
1976 #, no-wrap
1977 msgid "B<MM_NOSEV>"
1978 msgstr "B<MM_NOSEV>"
1979
1980 #. type: Plain text
1981 #: build/C/man3/fmtmsg.3:129
1982 msgid "No severity is printed."
1983 msgstr "重大度は表示されない。"
1984
1985 #. type: TP
1986 #: build/C/man3/fmtmsg.3:129
1987 #, no-wrap
1988 msgid "B<MM_HALT>"
1989 msgstr "B<MM_HALT>"
1990
1991 #. type: Plain text
1992 #: build/C/man3/fmtmsg.3:132
1993 msgid "This value is printed as HALT."
1994 msgstr "この値は HALT として表示される。"
1995
1996 #. type: TP
1997 #: build/C/man3/fmtmsg.3:132
1998 #, no-wrap
1999 msgid "B<MM_ERROR>"
2000 msgstr "B<MM_ERROR>"
2001
2002 #. type: Plain text
2003 #: build/C/man3/fmtmsg.3:135
2004 msgid "This value is printed as ERROR."
2005 msgstr "この値は ERROR として表示される。"
2006
2007 #. type: TP
2008 #: build/C/man3/fmtmsg.3:135
2009 #, no-wrap
2010 msgid "B<MM_WARNING>"
2011 msgstr "B<MM_WARNING>"
2012
2013 #. type: Plain text
2014 #: build/C/man3/fmtmsg.3:138
2015 msgid "This value is printed as WARNING."
2016 msgstr "この値は WARNING として表示される。"
2017
2018 #. type: TP
2019 #: build/C/man3/fmtmsg.3:138
2020 #, no-wrap
2021 msgid "B<MM_INFO>"
2022 msgstr "B<MM_INFO>"
2023
2024 #. type: Plain text
2025 #: build/C/man3/fmtmsg.3:141
2026 msgid "This value is printed as INFO."
2027 msgstr "この値は INFO として表示される。"
2028
2029 #. type: Plain text
2030 #: build/C/man3/fmtmsg.3:148
2031 msgid ""
2032 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2033 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2034 "print."
2035 msgstr ""
2036 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2037 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2038
2039 #. type: Plain text
2040 #: build/C/man3/fmtmsg.3:150
2041 msgid "The function can return 4 values:"
2042 msgstr "関数は 4 つの値を返す:"
2043
2044 #. type: TP
2045 #: build/C/man3/fmtmsg.3:150
2046 #, no-wrap
2047 msgid "B<MM_OK>"
2048 msgstr "B<MM_OK>"
2049
2050 #. type: Plain text
2051 #: build/C/man3/fmtmsg.3:153
2052 msgid "Everything went smooth."
2053 msgstr "全てがうまくいった。"
2054
2055 #. type: TP
2056 #: build/C/man3/fmtmsg.3:153
2057 #, no-wrap
2058 msgid "B<MM_NOTOK>"
2059 msgstr "B<MM_NOTOK>"
2060
2061 #. type: Plain text
2062 #: build/C/man3/fmtmsg.3:156
2063 msgid "Complete failure."
2064 msgstr "完全に失敗した。"
2065
2066 #. type: TP
2067 #: build/C/man3/fmtmsg.3:156
2068 #, no-wrap
2069 msgid "B<MM_NOMSG>"
2070 msgstr "B<MM_NOMSG>"
2071
2072 #. type: Plain text
2073 #: build/C/man3/fmtmsg.3:160
2074 msgid "Error writing to I<stderr>."
2075 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2076
2077 #. type: TP
2078 #: build/C/man3/fmtmsg.3:160
2079 #, no-wrap
2080 msgid "B<MM_NOCON>"
2081 msgstr "B<MM_NOCON>"
2082
2083 #. type: Plain text
2084 #: build/C/man3/fmtmsg.3:163
2085 msgid "Error writing to the console."
2086 msgstr "コンソールに書き込むときにエラーが起こった。"
2087
2088 #. type: SH
2089 #: build/C/man3/fmtmsg.3:163
2090 #, no-wrap
2091 msgid "ENVIRONMENT"
2092 msgstr "環境変数"
2093
2094 #. type: Plain text
2095 #: build/C/man3/fmtmsg.3:174
2096 msgid ""
2097 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2098 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2099 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2100 "separated list of valid keywords, then only the parts of the message "
2101 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2102 "\"severity\", \"text\", \"action\" and \"tag\"."
2103 msgstr ""
2104 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2105 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2106 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2107 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2108 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2109
2110 #. type: Plain text
2111 #: build/C/man3/fmtmsg.3:186
2112 msgid ""
2113 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2114 "levels.  By default, only the five severity levels described above are "
2115 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2116 "If the user puts B<SEV_LEVEL> with a format like"
2117 msgstr ""
2118 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2119 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2120 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2121 "B<SEV_LEVEL> を"
2122
2123 #. type: Plain text
2124 #: build/C/man3/fmtmsg.3:189
2125 msgid "SEV_LEVEL=[description[:description[:...]]]"
2126 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2127
2128 #. type: Plain text
2129 #: build/C/man3/fmtmsg.3:194
2130 msgid ""
2131 "in the environment of the process before the first call to B<fmtmsg>(), "
2132 "where each description is of the form"
2133 msgstr ""
2134 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2135 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2136 "指定された printstring を表示する。 各 description は"
2137
2138 #. type: Plain text
2139 #: build/C/man3/fmtmsg.3:197
2140 msgid "severity-keyword,level,printstring"
2141 msgstr "severity-keyword,level,printstring"
2142
2143 #. type: Plain text
2144 #: build/C/man3/fmtmsg.3:204
2145 msgid ""
2146 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2147 "addition to the standard levels 0-4), and use the indicated printstring when "
2148 "such a level occurs."
2149 msgstr "という形式である。"
2150
2151 #. type: Plain text
2152 #: build/C/man3/fmtmsg.3:218
2153 msgid ""
2154 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2155 "present.  The level part is a string representation of a number.  The "
2156 "numeric value must be a number greater than 4.  This value must be used in "
2157 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2158 "possible to overwrite any of the predefined classes.  The printstring is the "
2159 "string printed when a message of this class is processed by B<fmtmsg>()."
2160 msgstr ""
2161 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2162 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2163 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2164 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2165 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2166 "た場合に表示される文字列である。"
2167
2168 #. type: Plain text
2169 #: build/C/man3/fmtmsg.3:221
2170 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2171 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2172
2173 #. type: Plain text
2174 #: build/C/man3/fmtmsg.3:236
2175 msgid ""
2176 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2177 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2178 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2179 msgstr ""
2180 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2181 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2182 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2183
2184 #. type: Plain text
2185 #: build/C/man3/fmtmsg.3:240
2186 msgid ""
2187 "System V and UnixWare man pages tell us that these functions have been "
2188 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2189 "vlfmt()\", and will be removed later."
2190 msgstr ""
2191 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2192 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2193 "は削除される予定である」と書かれている。"
2194
2195 #. type: Plain text
2196 #: build/C/man3/fmtmsg.3:245
2197 #, no-wrap
2198 msgid ""
2199 "#include E<lt>stdio.hE<gt>\n"
2200 "#include E<lt>stdlib.hE<gt>\n"
2201 "#include E<lt>fmtmsg.hE<gt>\n"
2202 msgstr ""
2203 "#include E<lt>stdio.hE<gt>\n"
2204 "#include E<lt>stdlib.hE<gt>\n"
2205 "#include E<lt>fmtmsg.hE<gt>\n"
2206
2207 #. type: Plain text
2208 #: build/C/man3/fmtmsg.3:251
2209 #, no-wrap
2210 msgid ""
2211 "int\n"
2212 "main(void)\n"
2213 "{\n"
2214 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2215 "    int err;\n"
2216 msgstr ""
2217 "int\n"
2218 "main(void)\n"
2219 "{\n"
2220 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2221 "    int err;\n"
2222
2223 #. type: Plain text
2224 #: build/C/man3/fmtmsg.3:272
2225 #, no-wrap
2226 msgid ""
2227 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2228 "                \"unknown mount option\", \"See mount(8).\",\n"
2229 "                \"util-linux:mount:017\");\n"
2230 "    switch (err) {\n"
2231 "    case MM_OK:\n"
2232 "        break;\n"
2233 "    case MM_NOTOK:\n"
2234 "        printf(\"Nothing printed\\en\");\n"
2235 "        break;\n"
2236 "    case MM_NOMSG:\n"
2237 "        printf(\"Nothing printed to stderr\\en\");\n"
2238 "        break;\n"
2239 "    case MM_NOCON:\n"
2240 "        printf(\"No console output\\en\");\n"
2241 "        break;\n"
2242 "    default:\n"
2243 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2244 "    }\n"
2245 "    exit(EXIT_SUCCESS);\n"
2246 "}\n"
2247 msgstr ""
2248 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2249 "                \"unknown mount option\", \"See mount(8).\",\n"
2250 "                \"util-linux:mount:017\");\n"
2251 "    switch (err) {\n"
2252 "    case MM_OK:\n"
2253 "      break;\n"
2254 "    case MM_NOTOK:\n"
2255 "        printf(\"Nothing printed\\en\");\n"
2256 "        break;\n"
2257 "    case MM_NOMSG:\n"
2258 "        printf(\"Nothing printed to stderr\\en\");\n"
2259 "        break;\n"
2260 "    case MM_NOCON:\n"
2261 "        printf(\"No console output\\en\");\n"
2262 "        break;\n"
2263 "    default:\n"
2264 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2265 "    }\n"
2266 "    exit(EXIT_SUCCESS);\n"
2267 "}\n"
2268
2269 #. type: Plain text
2270 #: build/C/man3/fmtmsg.3:275
2271 msgid "The output should be:"
2272 msgstr "出力は"
2273
2274 #. type: Plain text
2275 #: build/C/man3/fmtmsg.3:279
2276 #, no-wrap
2277 msgid ""
2278 "    util-linux:mount: ERROR: unknown mount option\n"
2279 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2280 msgstr ""
2281 "    util-linux:mount: ERROR: unknown mount option\n"
2282 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2283
2284 #. type: Plain text
2285 #: build/C/man3/fmtmsg.3:282
2286 msgid "and after"
2287 msgstr "のようになり、"
2288
2289 #. type: Plain text
2290 #: build/C/man3/fmtmsg.3:285
2291 #, no-wrap
2292 msgid "    MSGVERB=text:action; export MSGVERB\n"
2293 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2294
2295 #. type: Plain text
2296 #: build/C/man3/fmtmsg.3:288
2297 msgid "the output becomes:"
2298 msgstr "を実行すると、次のようになる。"
2299
2300 #. type: Plain text
2301 #: build/C/man3/fmtmsg.3:292
2302 #, no-wrap
2303 msgid ""
2304 "    unknown mount option\n"
2305 "    TO FIX: See mount(8).\n"
2306 msgstr ""
2307 "    unknown mount option\n"
2308 "    TO FIX: See mount(8).\n"
2309
2310 #. type: Plain text
2311 #: build/C/man3/fmtmsg.3:296
2312 msgid "B<addseverity>(3), B<perror>(3)"
2313 msgstr "B<addseverity>(3), B<perror>(3)"
2314
2315 #. type: TH
2316 #: build/C/man3/fopen.3:42
2317 #, no-wrap
2318 msgid "FOPEN"
2319 msgstr "FOPEN"
2320
2321 #. type: Plain text
2322 #: build/C/man3/fopen.3:45
2323 msgid "fopen, fdopen, freopen - stream open functions"
2324 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2325
2326 #. type: Plain text
2327 #: build/C/man3/fopen.3:50
2328 #, no-wrap
2329 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2330 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2331
2332 #. type: Plain text
2333 #: build/C/man3/fopen.3:52
2334 #, no-wrap
2335 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2336 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2337
2338 #. type: Plain text
2339 #: build/C/man3/fopen.3:54
2340 #, no-wrap
2341 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2342 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2343
2344 #. type: Plain text
2345 #: build/C/man3/fopen.3:63
2346 msgid ""
2347 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2348 msgstr ""
2349 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2350
2351 #. type: Plain text
2352 #: build/C/man3/fopen.3:69
2353 msgid ""
2354 "The B<fopen>()  function opens the file whose name is the string pointed to "
2355 "by I<path> and associates a stream with it."
2356 msgstr ""
2357 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2358 "びつける。"
2359
2360 #. type: Plain text
2361 #: build/C/man3/fopen.3:74
2362 msgid ""
2363 "The argument I<mode> points to a string beginning with one of the following "
2364 "sequences (Additional characters may follow these sequences.):"
2365 msgstr ""
2366 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタである (追"
2367 "加の文字がこの文字の後に続くこともある):"
2368
2369 #. type: TP
2370 #: build/C/man3/fopen.3:74
2371 #, no-wrap
2372 msgid "B<r>"
2373 msgstr "B<r>"
2374
2375 #. type: Plain text
2376 #: build/C/man3/fopen.3:78
2377 msgid ""
2378 "Open text file for reading.  The stream is positioned at the beginning of "
2379 "the file."
2380 msgstr ""
2381 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2382 "る。"
2383
2384 #. type: TP
2385 #: build/C/man3/fopen.3:78
2386 #, no-wrap
2387 msgid "B<r+>"
2388 msgstr "B<r+>"
2389
2390 #. type: Plain text
2391 #: build/C/man3/fopen.3:82
2392 msgid ""
2393 "Open for reading and writing.  The stream is positioned at the beginning of "
2394 "the file."
2395 msgstr ""
2396 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2397 "る。"
2398
2399 #. type: TP
2400 #: build/C/man3/fopen.3:82
2401 #, no-wrap
2402 msgid "B<w>"
2403 msgstr "B<w>"
2404
2405 #. type: Plain text
2406 #: build/C/man3/fopen.3:86
2407 msgid ""
2408 "Truncate file to zero length or create text file for writing.  The stream is "
2409 "positioned at the beginning of the file."
2410 msgstr ""
2411 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2412 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2413 "頭に位置される。"
2414
2415 #. type: TP
2416 #: build/C/man3/fopen.3:86
2417 #, no-wrap
2418 msgid "B<w+>"
2419 msgstr "B<w+>"
2420
2421 #. type: Plain text
2422 #: build/C/man3/fopen.3:92
2423 msgid ""
2424 "Open for reading and writing.  The file is created if it does not exist, "
2425 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2426 "file."
2427 msgstr ""
2428 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2429 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2430 "の先頭に位置される。"
2431
2432 #. type: TP
2433 #: build/C/man3/fopen.3:92 build/C/man3/scanf.3:444
2434 #, no-wrap
2435 msgid "B<a>"
2436 msgstr "B<a>"
2437
2438 #. type: Plain text
2439 #: build/C/man3/fopen.3:97
2440 msgid ""
2441 "Open for appending (writing at end of file).  The file is created if it does "
2442 "not exist.  The stream is positioned at the end of the file."
2443 msgstr ""
2444 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2445 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2446
2447 #. type: TP
2448 #: build/C/man3/fopen.3:97
2449 #, no-wrap
2450 msgid "B<a+>"
2451 msgstr "B<a+>"
2452
2453 #. type: Plain text
2454 #: build/C/man3/fopen.3:103
2455 msgid ""
2456 "Open for reading and appending (writing at end of file).  The file is "
2457 "created if it does not exist.  The initial file position for reading is at "
2458 "the beginning of the file, but output is always appended to the end of the "
2459 "file."
2460 msgstr ""
2461 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2462 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2463 "あるが、 書き込みは常にファイルの最後に追加される。"
2464
2465 #. type: Plain text
2466 #: build/C/man3/fopen.3:116
2467 msgid ""
2468 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2469 "character or as a character between the characters in any of the two-"
2470 "character strings described above.  This is strictly for compatibility with "
2471 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2472 "systems, including Linux.  (Other systems may treat text files and binary "
2473 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2474 "O to a binary file and expect that your program may be ported to non-UNIX "
2475 "environments.)"
2476 msgstr ""
2477 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2478 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2479 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2480 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2481 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2482 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2483 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2484 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2485
2486 #. type: Plain text
2487 #: build/C/man3/fopen.3:119
2488 msgid "See NOTES below for details of glibc extensions for I<mode>."
2489 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2490
2491 #. type: Plain text
2492 #: build/C/man3/fopen.3:124
2493 msgid ""
2494 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2495 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2496 "umask value (see B<umask>(2))."
2497 msgstr ""
2498 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2499 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2500 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2501
2502 #. type: Plain text
2503 #: build/C/man3/fopen.3:139
2504 msgid ""
2505 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2506 "that ANSI C requires that a file positioning function intervene between "
2507 "output and input, unless an input operation encounters end-of-file.  (If "
2508 "this condition is not met, then a read is allowed to return the result of "
2509 "writes other than the most recent.)  Therefore it is good practice (and "
2510 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2511 "(3)  operation between write and read operations on such a stream.  This "
2512 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2513 "for its synchronizing side effect."
2514 msgstr ""
2515 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2516 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2517 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2518 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2519 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2520 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2521 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2522 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2523 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2524 "い)。"
2525
2526 #. type: Plain text
2527 #: build/C/man3/fopen.3:144
2528 msgid ""
2529 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2530 "causes all subsequent write operations to this stream to occur at end-of-"
2531 "file, as if preceded by an"
2532 msgstr ""
2533 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、 このスト"
2534 "リームに対する書き込み操作は (先に"
2535
2536 #. type: Plain text
2537 #: build/C/man3/fopen.3:147
2538 #, no-wrap
2539 msgid "    fseek(stream,0,SEEK_END);\n"
2540 msgstr "    fseek(stream,0,SEEK_END);\n"
2541
2542 #. type: Plain text
2543 #: build/C/man3/fopen.3:150
2544 msgid "call."
2545 msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
2546
2547 #. type: Plain text
2548 #: build/C/man3/fopen.3:171
2549 msgid ""
2550 "The B<fdopen>()  function associates a stream with the existing file "
2551 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2552 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2553 "file descriptor.  The file position indicator of the new stream is set to "
2554 "that belonging to I<fd>, and the error and end-of-file indicators are "
2555 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2556 "file descriptor is not dup'ed, and will be closed when the stream created by "
2557 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2558 "memory object is undefined."
2559 msgstr ""
2560 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2561 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2562 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2563 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2564 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2565 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2566 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2567 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2568
2569 #. type: Plain text
2570 #: build/C/man3/fopen.3:189
2571 msgid ""
2572 "The B<freopen>()  function opens the file whose name is the string pointed "
2573 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2574 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2575 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2576 "function is to change the file associated with a standard text stream "
2577 "(I<stderr>, I<stdin>, or I<stdout>)."
2578 msgstr ""
2579 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2580 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2581 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2582 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2583 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2584
2585 #. type: Plain text
2586 #: build/C/man3/fopen.3:201
2587 msgid ""
2588 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2589 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2590 "indicate the error."
2591 msgstr ""
2592 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2593 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2594
2595 #. type: TP
2596 #: build/C/man3/fopen.3:202 build/C/man3/fseek.3:138
2597 #: build/C/man3/getline.3:121 build/C/man2/llseek.2:72
2598 #: build/C/man2/lseek.2:164 build/C/man2/pipe.2:102 build/C/man2/read.2:108
2599 #: build/C/man2/read.2:119 build/C/man2/readlink.2:93
2600 #: build/C/man2/readlink.2:102 build/C/man2/readv.2:198
2601 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:563
2602 #: build/C/man2/write.2:148
2603 #, no-wrap
2604 msgid "B<EINVAL>"
2605 msgstr "B<EINVAL>"
2606
2607 #. type: Plain text
2608 #: build/C/man3/fopen.3:212
2609 msgid ""
2610 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2611 "invalid."
2612 msgstr ""
2613 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2614
2615 #. type: Plain text
2616 #: build/C/man3/fopen.3:222
2617 msgid ""
2618 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2619 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2620 msgstr ""
2621 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2622 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2623 "する。"
2624
2625 #. type: Plain text
2626 #: build/C/man3/fopen.3:229
2627 msgid ""
2628 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2629 "errors specified for the routine B<open>(2)."
2630 msgstr ""
2631 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2632 "があり、 その時は対応する値に I<errno> をセットする。"
2633
2634 #. type: Plain text
2635 #: build/C/man3/fopen.3:236
2636 msgid ""
2637 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2638 "errors specified for the routine B<fcntl>(2)."
2639 msgstr ""
2640 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2641 "とがあり、 その時は対応する値に I<errno> をセットする。"
2642
2643 #. type: Plain text
2644 #: build/C/man3/fopen.3:246
2645 msgid ""
2646 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2647 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2648 msgstr ""
2649 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2650 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2651 "トする。"
2652
2653 #. type: Plain text
2654 #: build/C/man3/fopen.3:255
2655 msgid ""
2656 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2657 "()  function conforms to POSIX.1-1990."
2658 msgstr ""
2659 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2660 "は POSIX.1-1990 に準拠している。"
2661
2662 #. type: SS
2663 #: build/C/man3/fopen.3:256
2664 #, no-wrap
2665 msgid "Glibc Notes"
2666 msgstr "glibc での注意"
2667
2668 #. type: Plain text
2669 #: build/C/man3/fopen.3:259
2670 msgid ""
2671 "The GNU C library allows the following extensions for the string specified "
2672 "in I<mode>:"
2673 msgstr ""
2674 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2675 "いる:"
2676
2677 #. type: TP
2678 #: build/C/man3/fopen.3:259
2679 #, no-wrap
2680 msgid "B<c> (since glibc 2.3.3)"
2681 msgstr "B<c> (glibc 2.3.3 以降)"
2682
2683 #. type: Plain text
2684 #: build/C/man3/fopen.3:264
2685 msgid ""
2686 "Do not make the open operation, or subsequent read and write operations, "
2687 "thread cancellation points."
2688 msgstr ""
2689 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント "
2690 "(cancellation points)  を作成しない。"
2691
2692 #. type: TP
2693 #: build/C/man3/fopen.3:264
2694 #, no-wrap
2695 msgid "B<e> (since glibc 2.7)"
2696 msgstr "B<e> (glibc 2.7 以降)"
2697
2698 #. type: Plain text
2699 #: build/C/man3/fopen.3:272
2700 msgid ""
2701 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2702 "information."
2703 msgstr ""
2704 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。 詳細は B<open>(2)  を"
2705 "参照。"
2706
2707 #. type: TP
2708 #: build/C/man3/fopen.3:272
2709 #, no-wrap
2710 msgid "B<m> (since glibc 2.3)"
2711 msgstr "B<m> (glibc 2.3 以降)"
2712
2713 #.  As at glibc 2.4:
2714 #. type: Plain text
2715 #: build/C/man3/fopen.3:284
2716 msgid ""
2717 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2718 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is only attempted "
2719 "for a file opened for reading."
2720 msgstr ""
2721 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2722 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2723 "オープンするファイルについてだけである。"
2724
2725 #. type: TP
2726 #: build/C/man3/fopen.3:284 build/C/man3/scanf.3:418
2727 #, no-wrap
2728 msgid "B<x>"
2729 msgstr "B<x>"
2730
2731 #.  Since glibc 2.0?
2732 #.  FIXME document /,ccs= charset/
2733 #. type: Plain text
2734 #: build/C/man3/fopen.3:301
2735 msgid ""
2736 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2737 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2738 "This flag is ignored for B<fdopen>()."
2739 msgstr ""
2740 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2741 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2742 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2743
2744 #. type: Plain text
2745 #: build/C/man3/fopen.3:307
2746 msgid ""
2747 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2748 msgstr ""
2749 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2750
2751 #. type: TH
2752 #: build/C/man3/fopencookie.3:24
2753 #, no-wrap
2754 msgid "FOPENCOOKIE"
2755 msgstr "FOPENCOOKIE"
2756
2757 #. type: TH
2758 #: build/C/man3/fopencookie.3:24
2759 #, no-wrap
2760 msgid "2008-12-05"
2761 msgstr "2008-12-05"
2762
2763 #. type: TH
2764 #: build/C/man3/fopencookie.3:24 build/C/man2/link.2:31
2765 #: build/C/man2/llseek.2:26 build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23
2766 #: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2767 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man2/rename.2:32
2768 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9
2769 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
2770 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
2771 #, no-wrap
2772 msgid "Linux"
2773 msgstr "Linux"
2774
2775 #. type: Plain text
2776 #: build/C/man3/fopencookie.3:27
2777 msgid "fopencookie - opening a custom stream"
2778 msgstr "fopencookie - opening a custom stream"
2779
2780 #. type: Plain text
2781 #: build/C/man3/fopencookie.3:34
2782 #, no-wrap
2783 msgid ""
2784 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2785 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2786 msgstr ""
2787 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2788 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2789
2790 #. type: Plain text
2791 #: build/C/man3/fopencookie.3:47
2792 msgid ""
2793 "The B<fopencookie>()  function allows the programmer to create a custom "
2794 "implementation for a standard I/O stream.  This implementation can store the "
2795 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2796 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2797 "to data that is stored in a buffer in memory."
2798 msgstr ""
2799 "The B<fopencookie>()  function allows the programmer to create a custom "
2800 "implementation for a standard I/O stream.  This implementation can store the "
2801 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2802 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2803 "to data that is stored in a buffer in memory."
2804
2805 #. type: Plain text
2806 #: build/C/man3/fopencookie.3:49
2807 msgid "In order to create a custom stream the programmer must:"
2808 msgstr "In order to create a custom stream the programmer must:"
2809
2810 #. type: IP
2811 #: build/C/man3/fopencookie.3:49 build/C/man3/fopencookie.3:52
2812 #: build/C/man3/fopencookie.3:63 build/C/man3/scanf.3:669
2813 #: build/C/man3/scanf.3:674 build/C/man3/scanf.3:680
2814 #: build/C/man7/symlink.7:248 build/C/man7/symlink.7:258
2815 #: build/C/man7/symlink.7:288 build/C/man7/symlink.7:348
2816 #: build/C/man7/symlink.7:377 build/C/man7/symlink.7:406
2817 #: build/C/man7/symlink.7:437 build/C/man7/symlink.7:450
2818 #, no-wrap
2819 msgid "*"
2820 msgstr "*"
2821
2822 #. type: Plain text
2823 #: build/C/man3/fopencookie.3:52
2824 msgid ""
2825 "Implement four \"hook\" functions that are used internally by the standard I/"
2826 "O library when performing I/O on the stream."
2827 msgstr ""
2828 "Implement four \"hook\" functions that are used internally by the standard I/"
2829 "O library when performing I/O on the stream."
2830
2831 #. type: Plain text
2832 #: build/C/man3/fopencookie.3:63
2833 msgid ""
2834 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2835 "information (e.g., where to store data) used by the aforementioned hook "
2836 "functions.  The standard I/O package knows nothing about the contents of "
2837 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2838 "()), but automatically supplies the cookie as the first argument when "
2839 "calling the hook functions."
2840 msgstr ""
2841 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2842 "information (e.g., where to store data) used by the aforementioned hook "
2843 "functions.  The standard I/O package knows nothing about the contents of "
2844 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2845 "()), but automatically supplies the cookie as the first argument when "
2846 "calling the hook functions."
2847
2848 #. type: Plain text
2849 #: build/C/man3/fopencookie.3:68
2850 msgid ""
2851 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2852 "hook functions with that stream."
2853 msgstr ""
2854 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2855 "hook functions with that stream."
2856
2857 #. type: Plain text
2858 #: build/C/man3/fopencookie.3:76
2859 msgid ""
2860 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2861 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2862 "operate on that stream."
2863 msgstr ""
2864 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2865 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2866 "operate on that stream."
2867
2868 #. type: Plain text
2869 #: build/C/man3/fopencookie.3:83
2870 msgid ""
2871 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2872 "to be associated with the new stream.  This pointer is supplied as the first "
2873 "argument when the standard I/O library invokes any of the hook functions "
2874 "described below."
2875 msgstr ""
2876 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2877 "to be associated with the new stream.  This pointer is supplied as the first "
2878 "argument when the standard I/O library invokes any of the hook functions "
2879 "described below."
2880
2881 #. type: Plain text
2882 #: build/C/man3/fopencookie.3:99
2883 msgid ""
2884 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2885 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2886 "See B<fopen>(3)  for details."
2887 msgstr ""
2888 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2889 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2890 "See B<fopen>(3)  for details."
2891
2892 #. type: Plain text
2893 #: build/C/man3/fopencookie.3:105
2894 msgid ""
2895 "The I<io_funcs> argument is a structure that contains four fields pointing "
2896 "to the programmer-defined hook functions that are used to implement this "
2897 "stream.  The structure is defined as follows"
2898 msgstr ""
2899 "The I<io_funcs> argument is a structure that contains four fields pointing "
2900 "to the programmer-defined hook functions that are used to implement this "
2901 "stream.  The structure is defined as follows"
2902
2903 #. type: Plain text
2904 #: build/C/man3/fopencookie.3:114
2905 #, no-wrap
2906 msgid ""
2907 "struct cookie_io_functions_t {\n"
2908 "    cookie_read_function_t  *read;\n"
2909 "    cookie_write_function_t *write;\n"
2910 "    cookie_seek_function_t  *seek;\n"
2911 "    cookie_close_function_t *close;\n"
2912 "};\n"
2913 msgstr ""
2914 "struct cookie_io_functions_t {\n"
2915 "    cookie_read_function_t  *read;\n"
2916 "    cookie_write_function_t *write;\n"
2917 "    cookie_seek_function_t  *seek;\n"
2918 "    cookie_close_function_t *close;\n"
2919 "};\n"
2920
2921 #. type: Plain text
2922 #: build/C/man3/fopencookie.3:118
2923 msgid "The four fields are as follows:"
2924 msgstr "The four fields are as follows:"
2925
2926 #. type: TP
2927 #: build/C/man3/fopencookie.3:118
2928 #, no-wrap
2929 msgid "I<cookie_read_function_t *read>"
2930 msgstr "I<cookie_read_function_t *read>"
2931
2932 #. type: Plain text
2933 #: build/C/man3/fopencookie.3:122
2934 msgid ""
2935 "This function implements read operations for the stream.  When called, it "
2936 "receives three arguments:"
2937 msgstr ""
2938 "This function implements read operations for the stream.  When called, it "
2939 "receives three arguments:"
2940
2941 #. type: Plain text
2942 #: build/C/man3/fopencookie.3:124
2943 #, no-wrap
2944 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
2945 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
2946
2947 #. type: Plain text
2948 #: build/C/man3/fopencookie.3:139
2949 msgid ""
2950 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
2951 "input data can be placed and the size of that buffer.  As its function "
2952 "result, the I<read> function should return the number of bytes copied into "
2953 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
2954 "update the stream offset appropriately."
2955 msgstr ""
2956 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
2957 "input data can be placed and the size of that buffer.  As its function "
2958 "result, the I<read> function should return the number of bytes copied into "
2959 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
2960 "update the stream offset appropriately."
2961
2962 #. type: Plain text
2963 #: build/C/man3/fopencookie.3:144
2964 msgid ""
2965 "If I<*read> is a NULL pointer, then reads from the custom stream always "
2966 "return end of file."
2967 msgstr ""
2968 "If I<*read> is a NULL pointer, then reads from the custom stream always "
2969 "return end of file."
2970
2971 #. type: TP
2972 #: build/C/man3/fopencookie.3:144
2973 #, no-wrap
2974 msgid "I<cookie_write_function_t *write>"
2975 msgstr "I<cookie_write_function_t *write>"
2976
2977 #. type: Plain text
2978 #: build/C/man3/fopencookie.3:148
2979 msgid ""
2980 "This function implements write operations for the stream.  When called, it "
2981 "receives three arguments:"
2982 msgstr ""
2983 "This function implements write operations for the stream.  When called, it "
2984 "receives three arguments:"
2985
2986 #. type: Plain text
2987 #: build/C/man3/fopencookie.3:150
2988 #, no-wrap
2989 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
2990 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
2991
2992 #. type: Plain text
2993 #: build/C/man3/fopencookie.3:165
2994 msgid ""
2995 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
2996 "output to the stream and the size of that buffer.  As its function result, "
2997 "the I<write> function should return the number of bytes copied from I<buf>, "
2998 "or -1 on error.  The I<write> function should update the stream offset "
2999 "appropriately."
3000 msgstr ""
3001 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3002 "output to the stream and the size of that buffer.  As its function result, "
3003 "the I<write> function should return the number of bytes copied from I<buf>, "
3004 "or -1 on error.  The I<write> function should update the stream offset "
3005 "appropriately."
3006
3007 #. type: Plain text
3008 #: build/C/man3/fopencookie.3:170
3009 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3010 msgstr ""
3011 "If I<*write> is a NULL pointer, then output to the stream is discarded."
3012
3013 #. type: TP
3014 #: build/C/man3/fopencookie.3:170
3015 #, no-wrap
3016 msgid "I<cookie_seek_function_t *seek>"
3017 msgstr "I<cookie_seek_function_t *seek>"
3018
3019 #. type: Plain text
3020 #: build/C/man3/fopencookie.3:174
3021 msgid ""
3022 "This function implements seek operations on the stream.  When called, it "
3023 "receives three arguments:"
3024 msgstr ""
3025 "This function implements seek operations on the stream.  When called, it "
3026 "receives three arguments:"
3027
3028 #. type: Plain text
3029 #: build/C/man3/fopencookie.3:176
3030 #, no-wrap
3031 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3032 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3033
3034 #. type: Plain text
3035 #: build/C/man3/fopencookie.3:182
3036 msgid ""
3037 "The I<*offset> argument specifies the new file offset depending on which of "
3038 "the following three values is supplied in I<whence>:"
3039 msgstr ""
3040 "The I<*offset> argument specifies the new file offset depending on which of "
3041 "the following three values is supplied in I<whence>:"
3042
3043 #. type: TP
3044 #: build/C/man3/fopencookie.3:183 build/C/man2/lseek.2:65
3045 #, no-wrap
3046 msgid "B<SEEK_SET>"
3047 msgstr "B<SEEK_SET>"
3048
3049 #. type: Plain text
3050 #: build/C/man3/fopencookie.3:188
3051 msgid ""
3052 "The stream offset should be set I<*offset> bytes from the start of the "
3053 "stream."
3054 msgstr ""
3055 "The stream offset should be set I<*offset> bytes from the start of the "
3056 "stream."
3057
3058 #. type: TP
3059 #: build/C/man3/fopencookie.3:188 build/C/man2/lseek.2:70
3060 #, no-wrap
3061 msgid "B<SEEK_CUR>"
3062 msgstr "B<SEEK_CUR>"
3063
3064 #. type: Plain text
3065 #: build/C/man3/fopencookie.3:192
3066 msgid "I<*offset> should be added to the current stream offset."
3067 msgstr "I<*offset> should be added to the current stream offset."
3068
3069 #. type: TP
3070 #: build/C/man3/fopencookie.3:192 build/C/man2/lseek.2:75
3071 #, no-wrap
3072 msgid "B<SEEK_END>"
3073 msgstr "B<SEEK_END>"
3074
3075 #. type: Plain text
3076 #: build/C/man3/fopencookie.3:196
3077 msgid ""
3078 "The stream offset should be set to the size of the stream plus I<*offset>."
3079 msgstr ""
3080 "The stream offset should be set to the size of the stream plus I<*offset>."
3081
3082 #. type: Plain text
3083 #: build/C/man3/fopencookie.3:203
3084 msgid ""
3085 "Before returning, the I<seek> function should update I<*offset> to indicate "
3086 "the new stream offset."
3087 msgstr ""
3088 "Before returning, the I<seek> function should update I<*offset> to indicate "
3089 "the new stream offset."
3090
3091 #. type: Plain text
3092 #: build/C/man3/fopencookie.3:207
3093 msgid ""
3094 "As its function result, the I<seek> function should return 0 on success, and "
3095 "-1 on error."
3096 msgstr ""
3097 "As its function result, the I<seek> function should return 0 on success, and "
3098 "-1 on error."
3099
3100 #. type: Plain text
3101 #: build/C/man3/fopencookie.3:212
3102 msgid ""
3103 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3104 "operations on the stream."
3105 msgstr ""
3106 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3107 "operations on the stream."
3108
3109 #. type: TP
3110 #: build/C/man3/fopencookie.3:212
3111 #, no-wrap
3112 msgid "I<cookie_close_function_t *close>"
3113 msgstr "I<cookie_close_function_t *close>"
3114
3115 #. type: Plain text
3116 #: build/C/man3/fopencookie.3:218
3117 msgid ""
3118 "This function closes the stream.  The hook function can do things such as "
3119 "freeing buffers allocated for the stream.  When called, it receives one "
3120 "argument:"
3121 msgstr ""
3122 "This function closes the stream.  The hook function can do things such as "
3123 "freeing buffers allocated for the stream.  When called, it receives one "
3124 "argument:"
3125
3126 #. type: Plain text
3127 #: build/C/man3/fopencookie.3:220
3128 #, no-wrap
3129 msgid "    int close(void *cookie);\n"
3130 msgstr "    int close(void *cookie);\n"
3131
3132 #. type: Plain text
3133 #: build/C/man3/fopencookie.3:225
3134 msgid ""
3135 "The I<cookie> argument is the cookie that the programmer supplied when "
3136 "calling B<fopencookie>()."
3137 msgstr ""
3138 "The I<cookie> argument is the cookie that the programmer supplied when "
3139 "calling B<fopencookie>()."
3140
3141 #. type: Plain text
3142 #: build/C/man3/fopencookie.3:231
3143 msgid ""
3144 "As its function result, the I<close> function should return 0 on success, "
3145 "and B<EOF> on error."
3146 msgstr ""
3147 "As its function result, the I<close> function should return 0 on success, "
3148 "and B<EOF> on error."
3149
3150 #. type: Plain text
3151 #: build/C/man3/fopencookie.3:235
3152 msgid ""
3153 "If I<*close> is NULL, then no special action is performed when the stream is "
3154 "closed."
3155 msgstr ""
3156 "If I<*close> is NULL, then no special action is performed when the stream is "
3157 "closed."
3158
3159 #.  .SH ERRORS
3160 #.  It's not clear if errno ever gets set...
3161 #. type: Plain text
3162 #: build/C/man3/fopencookie.3:242
3163 msgid ""
3164 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3165 "NULL is returned."
3166 msgstr ""
3167 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3168 "NULL is returned."
3169
3170 #. type: Plain text
3171 #: build/C/man3/fopencookie.3:244
3172 msgid "This function is a nonstandard GNU extension."
3173 msgstr "This function is a nonstandard GNU extension."
3174
3175 #. type: Plain text
3176 #: build/C/man3/fopencookie.3:253
3177 msgid ""
3178 "The program below implements a custom stream whose functionality is similar "
3179 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3180 "stream whose data is stored in a memory buffer.  The program writes its "
3181 "command-line arguments to the stream, and then seeks through the stream "
3182 "reading two out of every five characters and writing them to standard "
3183 "output.  The following shell session demonstrates the use of the program:"
3184 msgstr ""
3185 "The program below implements a custom stream whose functionality is similar "
3186 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3187 "stream whose data is stored in a memory buffer.  The program writes its "
3188 "command-line arguments to the stream, and then seeks through the stream "
3189 "reading two out of every five characters and writing them to standard "
3190 "output.  The following shell session demonstrates the use of the program:"
3191
3192 #. type: Plain text
3193 #: build/C/man3/fopencookie.3:261
3194 #, no-wrap
3195 msgid ""
3196 "$B< ./a.out \\(aqhello world\\(aq>\n"
3197 "/he/\n"
3198 "/ w/\n"
3199 "/d/\n"
3200 "Reached end of file\n"
3201 msgstr ""
3202 "$B< ./a.out \\(aqhello world\\(aq>\n"
3203 "/he/\n"
3204 "/ w/\n"
3205 "/d/\n"
3206 "Reached end of file\n"
3207
3208 #. type: Plain text
3209 #: build/C/man3/fopencookie.3:268
3210 msgid ""
3211 "Note that a more general version of the program below could be improved to "
3212 "more robustly handle various error situations (e.g., opening a stream with a "
3213 "cookie that already has an open stream; closing a stream that has already "
3214 "been closed)."
3215 msgstr ""
3216 "Note that a more general version of the program below could be improved to "
3217 "more robustly handle various error situations (e.g., opening a stream with a "
3218 "cookie that already has an open stream; closing a stream that has already "
3219 "been closed)."
3220
3221 #. type: Plain text
3222 #: build/C/man3/fopencookie.3:277
3223 #, no-wrap
3224 msgid ""
3225 "#define _GNU_SOURCE\n"
3226 "#include E<lt>sys/types.hE<gt>\n"
3227 "#include E<lt>stdio.hE<gt>\n"
3228 "#include E<lt>stdlib.hE<gt>\n"
3229 "#include E<lt>unistd.hE<gt>\n"
3230 "#include E<lt>string.hE<gt>\n"
3231 msgstr ""
3232 "#define _GNU_SOURCE\n"
3233 "#include E<lt>sys/types.hE<gt>\n"
3234 "#include E<lt>stdio.hE<gt>\n"
3235 "#include E<lt>stdlib.hE<gt>\n"
3236 "#include E<lt>unistd.hE<gt>\n"
3237 "#include E<lt>string.hE<gt>\n"
3238
3239 #. type: Plain text
3240 #: build/C/man3/fopencookie.3:279
3241 #, no-wrap
3242 msgid "#define INIT_BUF_SIZE 4\n"
3243 msgstr "#define INIT_BUF_SIZE 4\n"
3244
3245 #. type: Plain text
3246 #: build/C/man3/fopencookie.3:286
3247 #, no-wrap
3248 msgid ""
3249 "struct memfile_cookie {\n"
3250 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3251 "    size_t  allocated;  /* Size of buf */\n"
3252 "    size_t  endpos;     /* Number of characters in buf */\n"
3253 "    off_t   offset;     /* Current file offset in buf */\n"
3254 "};\n"
3255 msgstr ""
3256 "struct memfile_cookie {\n"
3257 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3258 "    size_t  allocated;  /* Size of buf */\n"
3259 "    size_t  endpos;     /* Number of characters in buf */\n"
3260 "    off_t   offset;     /* Current file offset in buf */\n"
3261 "};\n"
3262
3263 #. type: Plain text
3264 #: build/C/man3/fopencookie.3:292
3265 #, no-wrap
3266 msgid ""
3267 "ssize_t\n"
3268 "memfile_write(void *c, const char *buf, size_t size)\n"
3269 "{\n"
3270 "    char *new_buff;\n"
3271 "    struct memfile_cookie *cookie = c;\n"
3272 msgstr ""
3273 "ssize_t\n"
3274 "memfile_write(void *c, const char *buf, size_t size)\n"
3275 "{\n"
3276 "    char *new_buff;\n"
3277 "    struct memfile_cookie *cookie = c;\n"
3278
3279 #. type: Plain text
3280 #: build/C/man3/fopencookie.3:294
3281 #, no-wrap
3282 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3283 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3284
3285 #. type: Plain text
3286 #: build/C/man3/fopencookie.3:304
3287 #, no-wrap
3288 msgid ""
3289 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3290 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3291 "        if (new_buff == NULL) {\n"
3292 "            return -1;\n"
3293 "        } else {\n"
3294 "            cookie-E<gt>allocated *= 2;\n"
3295 "            cookie-E<gt>buf = new_buff;\n"
3296 "        }\n"
3297 "    }\n"
3298 msgstr ""
3299 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3300 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3301 "        if (new_buff == NULL) {\n"
3302 "            return -1;\n"
3303 "        } else {\n"
3304 "            cookie-E<gt>allocated *= 2;\n"
3305 "            cookie-E<gt>buf = new_buff;\n"
3306 "        }\n"
3307 "    }\n"
3308
3309 #. type: Plain text
3310 #: build/C/man3/fopencookie.3:306
3311 #, no-wrap
3312 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3313 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3314
3315 #. type: Plain text
3316 #: build/C/man3/fopencookie.3:310
3317 #, no-wrap
3318 msgid ""
3319 "    cookie-E<gt>offset += size;\n"
3320 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3321 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3322 msgstr ""
3323 "    cookie-E<gt>offset += size;\n"
3324 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3325 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3326
3327 #. type: Plain text
3328 #: build/C/man3/fopencookie.3:313
3329 #, no-wrap
3330 msgid ""
3331 "    return size;\n"
3332 "}\n"
3333 msgstr ""
3334 "    return size;\n"
3335 "}\n"
3336
3337 #. type: Plain text
3338 #: build/C/man3/fopencookie.3:319
3339 #, no-wrap
3340 msgid ""
3341 "ssize_t\n"
3342 "memfile_read(void *c, char *buf, size_t size)\n"
3343 "{\n"
3344 "    ssize_t xbytes;\n"
3345 "    struct memfile_cookie *cookie = c;\n"
3346 msgstr ""
3347 "ssize_t\n"
3348 "memfile_read(void *c, char *buf, size_t size)\n"
3349 "{\n"
3350 "    ssize_t xbytes;\n"
3351 "    struct memfile_cookie *cookie = c;\n"
3352
3353 #. type: Plain text
3354 #: build/C/man3/fopencookie.3:321
3355 #, no-wrap
3356 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3357 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3358
3359 #. type: Plain text
3360 #: build/C/man3/fopencookie.3:327
3361 #, no-wrap
3362 msgid ""
3363 "    xbytes = size;\n"
3364 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3365 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3366 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3367 "       xbytes = 0;\n"
3368 msgstr ""
3369 "    xbytes = size;\n"
3370 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3371 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3372 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3373 "       xbytes = 0;\n"
3374
3375 #. type: Plain text
3376 #: build/C/man3/fopencookie.3:329
3377 #, no-wrap
3378 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3379 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3380
3381 #. type: Plain text
3382 #: build/C/man3/fopencookie.3:333
3383 #, no-wrap
3384 msgid ""
3385 "    cookie-E<gt>offset += xbytes;\n"
3386 "    return xbytes;\n"
3387 "}\n"
3388 msgstr ""
3389 "    cookie-E<gt>offset += xbytes;\n"
3390 "    return xbytes;\n"
3391 "}\n"
3392
3393 #. type: Plain text
3394 #: build/C/man3/fopencookie.3:339
3395 #, no-wrap
3396 msgid ""
3397 "int\n"
3398 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3399 "{\n"
3400 "    off64_t new_offset;\n"
3401 "    struct memfile_cookie *cookie = c;\n"
3402 msgstr ""
3403 "int\n"
3404 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3405 "{\n"
3406 "    off64_t new_offset;\n"
3407 "    struct memfile_cookie *cookie = c;\n"
3408
3409 #. type: Plain text
3410 #: build/C/man3/fopencookie.3:348
3411 #, no-wrap
3412 msgid ""
3413 "    if (whence == SEEK_SET)\n"
3414 "        new_offset = *offset;\n"
3415 "    else if (whence == SEEK_END)\n"
3416 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3417 "    else if (whence == SEEK_CUR)\n"
3418 "        new_offset = cookie-E<gt>offset + *offset;\n"
3419 "    else\n"
3420 "        return -1;\n"
3421 msgstr ""
3422 "    if (whence == SEEK_SET)\n"
3423 "        new_offset = *offset;\n"
3424 "    else if (whence == SEEK_END)\n"
3425 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3426 "    else if (whence == SEEK_CUR)\n"
3427 "        new_offset = cookie-E<gt>offset + *offset;\n"
3428 "    else\n"
3429 "        return -1;\n"
3430
3431 #. type: Plain text
3432 #: build/C/man3/fopencookie.3:351
3433 #, no-wrap
3434 msgid ""
3435 "    if (new_offset E<lt> 0)\n"
3436 "        return -1;\n"
3437 msgstr ""
3438 "    if (new_offset E<lt> 0)\n"
3439 "        return -1;\n"
3440
3441 #. type: Plain text
3442 #: build/C/man3/fopencookie.3:356
3443 #, no-wrap
3444 msgid ""
3445 "    cookie-E<gt>offset = new_offset;\n"
3446 "    *offset = new_offset;\n"
3447 "    return 0;\n"
3448 "}\n"
3449 msgstr ""
3450 "    cookie-E<gt>offset = new_offset;\n"
3451 "    *offset = new_offset;\n"
3452 "    return 0;\n"
3453 "}\n"
3454
3455 #. type: Plain text
3456 #: build/C/man3/fopencookie.3:361
3457 #, no-wrap
3458 msgid ""
3459 "int\n"
3460 "memfile_close(void *c)\n"
3461 "{\n"
3462 "    struct memfile_cookie *cookie = c;\n"
3463 msgstr ""
3464 "int\n"
3465 "memfile_close(void *c)\n"
3466 "{\n"
3467 "    struct memfile_cookie *cookie = c;\n"
3468
3469 #. type: Plain text
3470 #: build/C/man3/fopencookie.3:365
3471 #, no-wrap
3472 msgid ""
3473 "    free(cookie-E<gt>buf);\n"
3474 "    cookie-E<gt>allocated = 0;\n"
3475 "    cookie-E<gt>buf = NULL;\n"
3476 msgstr ""
3477 "    free(cookie-E<gt>buf);\n"
3478 "    cookie-E<gt>allocated = 0;\n"
3479 "    cookie-E<gt>buf = NULL;\n"
3480
3481 #. type: Plain text
3482 #: build/C/man3/fopencookie.3:368
3483 #, no-wrap
3484 msgid ""
3485 "    return 0;\n"
3486 "}\n"
3487 msgstr ""
3488 "    return 0;\n"
3489 "}\n"
3490
3491 #. type: Plain text
3492 #: build/C/man3/fopencookie.3:384
3493 #, no-wrap
3494 msgid ""
3495 "int\n"
3496 "main(int argc, char *argv[])\n"
3497 "{\n"
3498 "    cookie_io_functions_t  memfile_func = {\n"
3499 "        .read  = memfile_read,\n"
3500 "        .write = memfile_write,\n"
3501 "        .seek  = memfile_seek,\n"
3502 "        .close = memfile_close\n"
3503 "    };\n"
3504 "    FILE *fp;\n"
3505 "    struct memfile_cookie mycookie;\n"
3506 "    ssize_t nread;\n"
3507 "    long p;\n"
3508 "    int j;\n"
3509 "    char buf[1000];\n"
3510 msgstr ""
3511 "int\n"
3512 "main(int argc, char *argv[])\n"
3513 "{\n"
3514 "    cookie_io_functions_t  memfile_func = {\n"
3515 "        .read  = memfile_read,\n"
3516 "        .write = memfile_write,\n"
3517 "        .seek  = memfile_seek,\n"
3518 "        .close = memfile_close\n"
3519 "    };\n"
3520 "    FILE *fp;\n"
3521 "    struct memfile_cookie mycookie;\n"
3522 "    ssize_t nread;\n"
3523 "    long p;\n"
3524 "    int j;\n"
3525 "    char buf[1000];\n"
3526
3527 #. type: Plain text
3528 #: build/C/man3/fopencookie.3:386
3529 #, no-wrap
3530 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3531 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3532
3533 #. type: Plain text
3534 #: build/C/man3/fopencookie.3:392
3535 #, no-wrap
3536 msgid ""
3537 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3538 "    if (mycookie.buf == NULL) {\n"
3539 "        perror(\"malloc\");\n"
3540 "        exit(EXIT_FAILURE);\n"
3541 "    }\n"
3542 msgstr ""
3543 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3544 "    if (mycookie.buf == NULL) {\n"
3545 "        perror(\"malloc\");\n"
3546 "        exit(EXIT_FAILURE);\n"
3547 "    }\n"
3548
3549 #. type: Plain text
3550 #: build/C/man3/fopencookie.3:396
3551 #, no-wrap
3552 msgid ""
3553 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3554 "    mycookie.offset = 0;\n"
3555 "    mycookie.endpos = 0;\n"
3556 msgstr ""
3557 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3558 "    mycookie.offset = 0;\n"
3559 "    mycookie.endpos = 0;\n"
3560
3561 #. type: Plain text
3562 #: build/C/man3/fopencookie.3:402
3563 #, no-wrap
3564 msgid ""
3565 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3566 "    if (fp == NULL) {\n"
3567 "        perror(\"fopencookie\");\n"
3568 "        exit(EXIT_FAILURE);\n"
3569 "    }\n"
3570 msgstr ""
3571 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3572 "    if (fp == NULL) {\n"
3573 "        perror(\"fopencookie\");\n"
3574 "        exit(EXIT_FAILURE);\n"
3575 "    }\n"
3576
3577 #. type: Plain text
3578 #: build/C/man3/fopencookie.3:404
3579 #, no-wrap
3580 msgid "    /* Write command-line arguments to our file */\n"
3581 msgstr "    /* Write command-line arguments to our file */\n"
3582
3583 #. type: Plain text
3584 #: build/C/man3/fopencookie.3:410
3585 #, no-wrap
3586 msgid ""
3587 "    for (j = 1; j E<lt> argc; j++)\n"
3588 "        if (fputs(argv[j], fp) == EOF) {\n"
3589 "            perror(\"fputs\");\n"
3590 "            exit(EXIT_FAILURE);\n"
3591 "        }\n"
3592 msgstr ""
3593 "    for (j = 1; j E<lt> argc; j++)\n"
3594 "        if (fputs(argv[j], fp) == EOF) {\n"
3595 "            perror(\"fputs\");\n"
3596 "            exit(EXIT_FAILURE);\n"
3597 "        }\n"
3598
3599 #. type: Plain text
3600 #: build/C/man3/fopencookie.3:412
3601 #, no-wrap
3602 msgid "    /* Read two bytes out of every five, until EOF */\n"
3603 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3604
3605 #. type: Plain text
3606 #: build/C/man3/fopencookie.3:427
3607 #, no-wrap
3608 msgid ""
3609 "    for (p = 0; ; p += 5) {\n"
3610 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3611 "            perror(\"fseek\");\n"
3612 "            exit(EXIT_FAILURE);\n"
3613 "        }\n"
3614 "        nread = fread(buf, 1, 2, fp);\n"
3615 "        if (nread == -1) {\n"
3616 "            perror(\"fread\");\n"
3617 "            exit(EXIT_FAILURE);\n"
3618 "        }\n"
3619 "        if (nread == 0) {\n"
3620 "            printf(\"Reached end of file\\en\");\n"
3621 "            break;\n"
3622 "        }\n"
3623 msgstr ""
3624 "    for (p = 0; ; p += 5) {\n"
3625 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3626 "            perror(\"fseek\");\n"
3627 "            exit(EXIT_FAILURE);\n"
3628 "        }\n"
3629 "        nread = fread(buf, 1, 2, fp);\n"
3630 "        if (nread == -1) {\n"
3631 "            perror(\"fread\");\n"
3632 "            exit(EXIT_FAILURE);\n"
3633 "        }\n"
3634 "        if (nread == 0) {\n"
3635 "            printf(\"Reached end of file\\en\");\n"
3636 "            break;\n"
3637 "        }\n"
3638
3639 #. type: Plain text
3640 #: build/C/man3/fopencookie.3:430
3641 #, no-wrap
3642 msgid ""
3643 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3644 "    }\n"
3645 msgstr ""
3646 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3647 "    }\n"
3648
3649 #. type: Plain text
3650 #: build/C/man3/fopencookie.3:433 build/C/man2/readlink.2:211
3651 #, no-wrap
3652 msgid ""
3653 "    exit(EXIT_SUCCESS);\n"
3654 "}\n"
3655 msgstr ""
3656 "    exit(EXIT_SUCCESS);\n"
3657 "}\n"
3658
3659 #. type: Plain text
3660 #: build/C/man3/fopencookie.3:439
3661 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3662 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3663
3664 #. type: TH
3665 #: build/C/man3/fpurge.3:23
3666 #, no-wrap
3667 msgid "FPURGE"
3668 msgstr "FPURGE"
3669
3670 #. type: TH
3671 #: build/C/man3/fpurge.3:23
3672 #, no-wrap
3673 msgid "2001-12-15"
3674 msgstr "2001-12-15"
3675
3676 #. type: Plain text
3677 #: build/C/man3/fpurge.3:26
3678 msgid "fpurge, __fpurge - purge a stream"
3679 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3680
3681 #. type: Plain text
3682 #: build/C/man3/fpurge.3:30
3683 #, no-wrap
3684 msgid ""
3685 "/* unsupported */\n"
3686 "B<#include E<lt>stdio.hE<gt>>\n"
3687 msgstr ""
3688 "/* unsupported */\n"
3689 "B<#include E<lt>stdio.hE<gt>>\n"
3690
3691 #. type: Plain text
3692 #: build/C/man3/fpurge.3:32
3693 #, no-wrap
3694 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3695 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3696
3697 #. type: Plain text
3698 #: build/C/man3/fpurge.3:35
3699 #, no-wrap
3700 msgid ""
3701 "/* supported */\n"
3702 "B<#include E<lt>stdio.hE<gt>>\n"
3703 msgstr ""
3704 "/* supported */\n"
3705 "B<#include E<lt>stdio.hE<gt>>\n"
3706
3707 #. type: Plain text
3708 #: build/C/man3/fpurge.3:37
3709 #, no-wrap
3710 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3711 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3712
3713 #. type: Plain text
3714 #: build/C/man3/fpurge.3:39
3715 #, no-wrap
3716 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3717 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3718
3719 #. type: Plain text
3720 #: build/C/man3/fpurge.3:52
3721 msgid ""
3722 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3723 "output streams this discards any unwritten output.  For input streams this "
3724 "discards any input read from the underlying object but not yet obtained via "
3725 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3726 "B<fflush>(3)."
3727 msgstr ""
3728 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3729 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3730 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3731 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3732 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3733
3734 #. type: Plain text
3735 #: build/C/man3/fpurge.3:56
3736 msgid ""
3737 "The function B<__fpurge>()  does precisely the same, but without returning a "
3738 "value."
3739 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3740
3741 #. type: Plain text
3742 #: build/C/man3/fpurge.3:63
3743 msgid ""
3744 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3745 "and sets I<errno> appropriately."
3746 msgstr ""
3747 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3748 "を適切な値に設定する。"
3749
3750 #. type: Plain text
3751 #: build/C/man3/fpurge.3:68
3752 msgid "I<stream> is not an open stream."
3753 msgstr "I<stream> がオープンされていない。"
3754
3755 #. type: Plain text
3756 #: build/C/man3/fpurge.3:76
3757 msgid ""
3758 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3759 "was introduced in 4.4BSD and is not available under Linux.  The function "
3760 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3761 "later."
3762 msgstr ""
3763 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3764 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3765 "され、glibc 2.1.95 以降には存在している。"
3766
3767 #. type: Plain text
3768 #: build/C/man3/fpurge.3:78
3769 msgid "Usually it is a mistake to want to discard input buffers."
3770 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3771
3772 #.  .BR fclean (3),
3773 #. type: Plain text
3774 #: build/C/man3/fpurge.3:83
3775 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3776 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3777
3778 #. type: TH
3779 #: build/C/man3/fputwc.3:14
3780 #, no-wrap
3781 msgid "FPUTWC"
3782 msgstr "FPUTWC"
3783
3784 #. type: Plain text
3785 #: build/C/man3/fputwc.3:17
3786 msgid "fputwc, putwc - write a wide character to a FILE stream"
3787 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3788
3789 #. type: Plain text
3790 #: build/C/man3/fputwc.3:25
3791 #, no-wrap
3792 msgid ""
3793 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3794 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3795 msgstr ""
3796 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3797 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3798
3799 #. type: Plain text
3800 #: build/C/man3/fputwc.3:41
3801 msgid ""
3802 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3803 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3804 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3805 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3806 "it returns I<wc>."
3807 msgstr ""
3808 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3809 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3810 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3811 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3812 "関数は I<wc> を返す。"
3813
3814 #. type: Plain text
3815 #: build/C/man3/fputwc.3:49
3816 msgid ""
3817 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3818 "may be implemented as a macro, and may evaluate its argument more than "
3819 "once.  There is no reason ever to use it."
3820 msgstr ""
3821 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3822 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3823 "ない。この関数を使う理由はもはや存在しない。"
3824
3825 #. type: Plain text
3826 #: build/C/man3/fputwc.3:58
3827 msgid ""
3828 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3829 "indicate an error."
3830 msgstr ""
3831 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3832 "B<WEOF> を返す。"
3833
3834 #. type: Plain text
3835 #: build/C/man3/fputwc.3:63
3836 msgid "Conversion of I<wc> to the stream's encoding fails."
3837 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3838
3839 #. type: Plain text
3840 #: build/C/man3/fputwc.3:72
3841 msgid ""
3842 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3843 "current locale."
3844 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3845
3846 #. type: Plain text
3847 #: build/C/man3/fputwc.3:80
3848 msgid ""
3849 "In the absence of additional information passed to the B<fopen>(3)  call, it "
3850 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
3851 "sequence corresponding to the wide character I<wc>."
3852 msgstr ""
3853 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
3854 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
3855 "よい。"
3856
3857 #. type: Plain text
3858 #: build/C/man3/fputwc.3:84
3859 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3860 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3861
3862 #. type: TH
3863 #: build/C/man3/fread.3:43
3864 #, no-wrap
3865 msgid "FREAD"
3866 msgstr "FREAD"
3867
3868 #. type: TH
3869 #: build/C/man3/fread.3:43
3870 #, no-wrap
3871 msgid "1996-05-17"
3872 msgstr "1996-05-17"
3873
3874 #. type: Plain text
3875 #: build/C/man3/fread.3:46
3876 msgid "fread, fwrite - binary stream input/output"
3877 msgstr "fread, fwrite - バイナリストリームの入出力"
3878
3879 #. type: Plain text
3880 #: build/C/man3/fread.3:52
3881 #, no-wrap
3882 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3883 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3884
3885 #. type: Plain text
3886 #: build/C/man3/fread.3:55
3887 #, no-wrap
3888 msgid ""
3889 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3890 "B<              FILE *>I<stream>B<);>\n"
3891 msgstr ""
3892 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3893 "B<              FILE *>I<stream>B<);>\n"
3894
3895 #. type: Plain text
3896 #: build/C/man3/fread.3:67
3897 msgid ""
3898 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
3899 "long, from the stream pointed to by I<stream>, storing them at the location "
3900 "given by I<ptr>."
3901 msgstr ""
3902 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
3903 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
3904 "I<size> バイトの長さを持つ。"
3905
3906 #. type: Plain text
3907 #: build/C/man3/fread.3:78
3908 msgid ""
3909 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
3910 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
3911 "location given by I<ptr>."
3912 msgstr ""
3913 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
3914 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
3915 "バイトの長さを持つ。"
3916
3917 #. type: Plain text
3918 #: build/C/man3/fread.3:89
3919 msgid ""
3920 "B<fread>()  and B<fwrite>()  return the number of items successfully read or "
3921 "written (i.e., not the number of characters).  If an error occurs, or the "
3922 "end-of-file is reached, the return value is a short item count (or zero)."
3923 msgstr ""
3924 "B<fread>()  と B<fwrite>()  は読み書きに成功した要素の個数を返す。 エラーが生"
3925 "じた場合や、end-of-file(ファイルの最後)に達した場合、 返り値は指定した個数よ"
3926 "りも小さい値(またはゼロ)となる。"
3927
3928 #. type: Plain text
3929 #: build/C/man3/fread.3:96
3930 msgid ""
3931 "B<fread>()  does not distinguish between end-of-file and error, and callers "
3932 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
3933 msgstr ""
3934 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
3935 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
3936 "らない。"
3937
3938 #. type: Plain text
3939 #: build/C/man3/fread.3:98
3940 msgid "C89, POSIX.1-2001."
3941 msgstr "C89, POSIX.1-2001."
3942
3943 #. type: Plain text
3944 #: build/C/man3/fread.3:104
3945 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
3946 msgstr ""
3947 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
3948
3949 #. type: TH
3950 #: build/C/man3/fseek.3:40
3951 #, no-wrap
3952 msgid "FSEEK"
3953 msgstr "FSEEK"
3954
3955 #. type: TH
3956 #: build/C/man3/fseek.3:40
3957 #, no-wrap
3958 msgid "1993-11-29"
3959 msgstr "1993-11-29"
3960
3961 #. type: Plain text
3962 #: build/C/man3/fseek.3:43
3963 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
3964 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
3965
3966 #. type: Plain text
3967 #: build/C/man3/fseek.3:47
3968 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
3969 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
3970
3971 #. type: Plain text
3972 #: build/C/man3/fseek.3:49
3973 msgid "B<long ftell(FILE *>I<stream>B<);>"
3974 msgstr "B<long ftell(FILE *>I<stream>B<);>"
3975
3976 #. type: Plain text
3977 #: build/C/man3/fseek.3:51
3978 msgid "B<void rewind(FILE *>I<stream>B<);>"
3979 msgstr "B<void rewind(FILE *>I<stream>B<);>"
3980
3981 #. type: Plain text
3982 #: build/C/man3/fseek.3:53
3983 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3984 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3985
3986 #. type: Plain text
3987 #: build/C/man3/fseek.3:55
3988 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3989 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3990
3991 #. type: Plain text
3992 #: build/C/man3/fseek.3:79
3993 msgid ""
3994 "The B<fseek>()  function sets the file position indicator for the stream "
3995 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
3996 "by adding I<offset> bytes to the position specified by I<whence>.  If "
3997 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
3998 "relative to the start of the file, the current position indicator, or end-of-"
3999 "file, respectively.  A successful call to the B<fseek>()  function clears "
4000 "the end-of-file indicator for the stream and undoes any effects of the "
4001 "B<ungetc>(3)  function on the same stream."
4002 msgstr ""
4003 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4004 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4005 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4006 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4007 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4008 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4009 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4010 "かったことになる。"
4011
4012 #. type: Plain text
4013 #: build/C/man3/fseek.3:85
4014 msgid ""
4015 "The B<ftell>()  function obtains the current value of the file position "
4016 "indicator for the stream pointed to by I<stream>."
4017 msgstr ""
4018 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4019 "置表示子 の現時点での値を与える。"
4020
4021 #. type: Plain text
4022 #: build/C/man3/fseek.3:92
4023 msgid ""
4024 "The B<rewind>()  function sets the file position indicator for the stream "
4025 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4026 msgstr ""
4027 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4028 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4029
4030 #. type: Plain text
4031 #: build/C/man3/fseek.3:95
4032 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4033 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4034
4035 #. type: Plain text
4036 #: build/C/man3/fseek.3:99
4037 msgid ""
4038 "except that the error indicator for the stream is also cleared (see "
4039 "B<clearerr>(3))."
4040 msgstr ""
4041 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4042 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4043
4044 #. type: Plain text
4045 #: build/C/man3/fseek.3:117
4046 msgid ""
4047 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4048 "equivalent to B<ftell>()  and B<fseek>()  (with whence set to B<SEEK_SET>), "
4049 "setting and storing the current value of the file offset into or from the "
4050 "object referenced by I<pos>.  On some non-UNIX systems an I<fpos_t> object "
4051 "may be a complex object and these routines may be the only way to portably "
4052 "reposition a text stream."
4053 msgstr ""
4054 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4055 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4056 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4057 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4058 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4059 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4060 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4061
4062 #. type: Plain text
4063 #: build/C/man3/fseek.3:132
4064 msgid ""
4065 "The B<rewind>()  function returns no value.  Upon successful completion, "
4066 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4067 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4068 "indicate the error."
4069 msgstr ""
4070 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4071 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4072 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4073
4074 #. type: Plain text
4075 #: build/C/man3/fseek.3:138
4076 msgid "The I<stream> specified is not a seekable stream."
4077 msgstr "指定した I<stream> がシークできない。"
4078
4079 #. type: Plain text
4080 #: build/C/man3/fseek.3:149
4081 msgid ""
4082 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4083 "B<SEEK_CUR>."
4084 msgstr ""
4085 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4086 "B<SEEK_CUR> 以外の値であった。"
4087
4088 #. type: Plain text
4089 #: build/C/man3/fseek.3:164
4090 msgid ""
4091 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4092 "also fail and set I<errno> for any of the errors specified for the routines "
4093 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4094 msgstr ""
4095 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4096 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4097 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4098
4099 #. type: Plain text
4100 #: build/C/man3/fseek.3:169
4101 msgid "B<lseek>(2), B<fseeko>(3)"
4102 msgstr "B<lseek>(2), B<fseeko>(3)"
4103
4104 #. type: TH
4105 #: build/C/man3/fseeko.3:23
4106 #, no-wrap
4107 msgid "FSEEKO"
4108 msgstr "FSEEKO"
4109
4110 #. type: TH
4111 #: build/C/man3/fseeko.3:23
4112 #, no-wrap
4113 msgid "2001-11-05"
4114 msgstr "2001-11-05"
4115
4116 #. type: Plain text
4117 #: build/C/man3/fseeko.3:26
4118 msgid "fseeko, ftello - seek to or report file position"
4119 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4120
4121 #. type: Plain text
4122 #: build/C/man3/fseeko.3:31
4123 #, no-wrap
4124 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4125 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4126
4127 #. type: Plain text
4128 #: build/C/man3/fseeko.3:34
4129 #, no-wrap
4130 msgid ""
4131 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4132 "\n"
4133 msgstr ""
4134 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4135 "\n"
4136
4137 #. type: Plain text
4138 #: build/C/man3/fseeko.3:52
4139 msgid ""
4140 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4141 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4142 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4143 "I<off_t> instead of I<long>."
4144 msgstr ""
4145 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4146 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4147 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4148 "I<off_t> になっている。"
4149
4150 #. type: Plain text
4151 #: build/C/man3/fseeko.3:55
4152 msgid ""
4153 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4154 "compilation with"
4155 msgstr ""
4156 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4157
4158 #. type: Plain text
4159 #: build/C/man3/fseeko.3:59 build/C/man3/lseek64.3:79
4160 #, no-wrap
4161 msgid "#define _FILE_OFFSET_BITS 64\n"
4162 msgstr "#define _FILE_OFFSET_BITS 64\n"
4163
4164 #. type: Plain text
4165 #: build/C/man3/fseeko.3:63
4166 msgid "will turn I<off_t> into a 64-bit type."
4167 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4168
4169 #. type: Plain text
4170 #: build/C/man3/fseeko.3:72
4171 msgid ""
4172 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4173 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4174 "indicate the error."
4175 msgstr ""
4176 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4177 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4178
4179 #. type: Plain text
4180 #: build/C/man3/fseeko.3:75
4181 msgid "See the ERRORS in B<fseek>(3)."
4182 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4183
4184 #. type: Plain text
4185 #: build/C/man3/fseeko.3:77
4186 msgid "SUSv2, POSIX.1-2001."
4187 msgstr "SUSv2, POSIX.1-2001."
4188
4189 #. type: Plain text
4190 #: build/C/man3/fseeko.3:81
4191 msgid ""
4192 "These functions are found on System V-like systems.  They are not present in "
4193 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4194 msgstr ""
4195 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4196 "かったが、 glibc 2.1 から使えるようになった。"
4197
4198 #. type: Plain text
4199 #: build/C/man3/fseeko.3:83
4200 msgid "B<fseek>(3)"
4201 msgstr "B<fseek>(3)"
4202
4203 #. type: TH
4204 #: build/C/man3/getline.3:24
4205 #, no-wrap
4206 msgid "GETLINE"
4207 msgstr "GETLINE"
4208
4209 #. type: TH
4210 #: build/C/man3/getline.3:24
4211 #, no-wrap
4212 msgid "2010-06-12"
4213 msgstr "2010-06-12"
4214
4215 #. type: Plain text
4216 #: build/C/man3/getline.3:27
4217 msgid "getline, getdelim - delimited string input"
4218 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4219
4220 #. type: Plain text
4221 #: build/C/man3/getline.3:32
4222 #, no-wrap
4223 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4224 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4225
4226 #. type: Plain text
4227 #: build/C/man3/getline.3:35
4228 #, no-wrap
4229 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4230 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4231
4232 #. type: Plain text
4233 #: build/C/man3/getline.3:45
4234 msgid "B<getline>(), B<getdelim>():"
4235 msgstr "B<getline>(), B<getdelim>():"
4236
4237 #. type: Plain text
4238 #: build/C/man3/getline.3:50
4239 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4240 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4241
4242 #. type: Plain text
4243 #: build/C/man3/getline.3:63
4244 msgid ""
4245 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4246 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4247 "terminated and includes the newline character, if one was found."
4248 msgstr ""
4249 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4250 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4251 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4252
4253 #. type: Plain text
4254 #: build/C/man3/getline.3:73
4255 msgid ""
4256 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4257 "storing the line, which should be freed by the user program.  (In this case, "
4258 "the value in I<*n> is ignored.)"
4259 msgstr ""
4260 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4261 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4262 "合、 I<*n> の値は無視される)。"
4263
4264 #. type: Plain text
4265 #: build/C/man3/getline.3:91
4266 msgid ""
4267 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4268 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4269 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4270 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4271 msgstr ""
4272 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4273 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4274 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4275 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4276 "I<*n> を更新する。"
4277
4278 #. type: Plain text
4279 #: build/C/man3/getline.3:97
4280 msgid ""
4281 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4282 "to reflect the buffer address and allocated size respectively."
4283 msgstr ""
4284 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4285 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4286
4287 #. type: Plain text
4288 #: build/C/man3/getline.3:108
4289 msgid ""
4290 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4291 "than newline can be specified as the I<delimiter> argument.  As with "
4292 "B<getline>(), a delimiter character is not added if one was not present in "
4293 "the input before end of file was reached."
4294 msgstr ""
4295 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4296 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4297 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4298 "ファに追加しない。"
4299
4300 #. type: Plain text
4301 #: build/C/man3/getline.3:117
4302 msgid ""
4303 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4304 "read, including the delimiter character, but not including the terminating "
4305 "null byte.  This value can be used to handle embedded null bytes in the line "
4306 "read."
4307 msgstr ""
4308 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4309 "字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
4310 "よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
4311
4312 #. type: Plain text
4313 #: build/C/man3/getline.3:120
4314 msgid ""
4315 "Both functions return -1 on failure to read a line (including end-of-file "
4316 "condition)."
4317 msgstr ""
4318 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4319 "した場合にも -1 を返す)。"
4320
4321 #. type: Plain text
4322 #: build/C/man3/getline.3:130
4323 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4324 msgstr ""
4325 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4326 "I<stream> が有効でない)。"
4327
4328 #. type: Plain text
4329 #: build/C/man3/getline.3:132
4330 msgid "These functions are available since libc 4.6.27."
4331 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4332
4333 #. type: Plain text
4334 #: build/C/man3/getline.3:139
4335 msgid ""
4336 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4337 "were standardized in POSIX.1-2008."
4338 msgstr ""
4339 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4340 "POSIX.1-2008 で標準化された。"
4341
4342 #. type: Plain text
4343 #: build/C/man3/getline.3:144
4344 #, no-wrap
4345 msgid ""
4346 "#define _GNU_SOURCE\n"
4347 "#include E<lt>stdio.hE<gt>\n"
4348 "#include E<lt>stdlib.hE<gt>\n"
4349 msgstr ""
4350 "#define _GNU_SOURCE\n"
4351 "#include E<lt>stdio.hE<gt>\n"
4352 "#include E<lt>stdlib.hE<gt>\n"
4353
4354 #. type: Plain text
4355 #: build/C/man3/getline.3:152
4356 #, no-wrap
4357 msgid ""
4358 "int\n"
4359 "main(void)\n"
4360 "{\n"
4361 "    FILE *fp;\n"
4362 "    char *line = NULL;\n"
4363 "    size_t len = 0;\n"
4364 "    ssize_t read;\n"
4365 msgstr ""
4366 "int\n"
4367 "main(void)\n"
4368 "{\n"
4369 "    FILE *fp;\n"
4370 "    char *line = NULL;\n"
4371 "    size_t len = 0;\n"
4372 "    ssize_t read;\n"
4373
4374 #. type: Plain text
4375 #: build/C/man3/getline.3:156
4376 #, no-wrap
4377 msgid ""
4378 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4379 "    if (fp == NULL)\n"
4380 "        exit(EXIT_FAILURE);\n"
4381 msgstr ""
4382 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4383 "    if (fp == NULL)\n"
4384 "        exit(EXIT_FAILURE);\n"
4385
4386 #. type: Plain text
4387 #: build/C/man3/getline.3:161
4388 #, no-wrap
4389 msgid ""
4390 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4391 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4392 "        printf(\"%s\", line);\n"
4393 "    }\n"
4394 msgstr ""
4395 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4396 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4397 "        printf(\"%s\", line);\n"
4398 "    }\n"
4399
4400 #. type: Plain text
4401 #: build/C/man3/getline.3:165
4402 #, no-wrap
4403 msgid ""
4404 "    free(line);\n"
4405 "    exit(EXIT_SUCCESS);\n"
4406 "}\n"
4407 msgstr ""
4408 "    free(line);\n"
4409 "    exit(EXIT_SUCCESS);\n"
4410 "}\n"
4411
4412 #. type: Plain text
4413 #: build/C/man3/getline.3:173
4414 msgid ""
4415 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4416 msgstr ""
4417 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4418
4419 #. type: TH
4420 #: build/C/man3/gets.3:25
4421 #, no-wrap
4422 msgid "GETS"
4423 msgstr "GETS"
4424
4425 #. type: TH
4426 #: build/C/man3/gets.3:25
4427 #, fuzzy, no-wrap
4428 #| msgid "2001-12-18"
4429 msgid "2012-01-18"
4430 msgstr "2001-12-18"
4431
4432 #. type: Plain text
4433 #: build/C/man3/gets.3:28
4434 msgid ""
4435 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4436 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4437
4438 #. type: Plain text
4439 #: build/C/man3/gets.3:33
4440 #, no-wrap
4441 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4442 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4443
4444 #. type: Plain text
4445 #: build/C/man3/gets.3:35
4446 #, no-wrap
4447 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4448 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4449
4450 #. type: Plain text
4451 #: build/C/man3/gets.3:37
4452 #, no-wrap
4453 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4454 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4455
4456 #. type: Plain text
4457 #: build/C/man3/gets.3:39
4458 #, no-wrap
4459 msgid "B<int getchar(void);>\n"
4460 msgstr "B<int getchar(void);>\n"
4461
4462 #. type: Plain text
4463 #: build/C/man3/gets.3:41
4464 #, no-wrap
4465 msgid "B<char *gets(char *>I<s>B<);>\n"
4466 msgstr "B<char *gets(char *>I<s>B<);>\n"
4467
4468 #. type: Plain text
4469 #: build/C/man3/gets.3:43
4470 #, no-wrap
4471 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4472 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4473
4474 #. type: Plain text
4475 #: build/C/man3/gets.3:55
4476 msgid ""
4477 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4478 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4479 msgstr ""
4480 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4481 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4482 "す。"
4483
4484 #. type: Plain text
4485 #: build/C/man3/gets.3:62
4486 msgid ""
4487 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4488 "a macro which evaluates I<stream> more than once."
4489 msgstr ""
4490 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4491 "実装されているかもしれない。"
4492
4493 #. type: Plain text
4494 #: build/C/man3/gets.3:66
4495 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4496 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4497
4498 #. type: Plain text
4499 #: build/C/man3/gets.3:76
4500 msgid ""
4501 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4502 "until either a terminating newline or B<EOF>, which it replaces with a null "
4503 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4504 "below)."
4505 msgstr ""
4506 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4507 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4508 "\\e0\\(aq) に置き換えられる)。 バッファ・オーバーランのチェックは行われない "
4509 "(下記の「バグ」を参照)。"
4510
4511 #. type: Plain text
4512 #: build/C/man3/gets.3:90
4513 msgid ""
4514 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4515 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4516 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4517 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4518 "in the buffer."
4519 msgstr ""
4520 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4521 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4522 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4523 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4524
4525 #. type: Plain text
4526 #: build/C/man3/gets.3:101
4527 msgid ""
4528 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4529 "it is available for subsequent read operations.  Pushed-back characters will "
4530 "be returned in reverse order; only one pushback is guaranteed."
4531 msgstr ""
4532 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4533 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4534 "しとして保証されているのは、一文字だけである。"
4535
4536 #. type: Plain text
4537 #: build/C/man3/gets.3:106
4538 msgid ""
4539 "Calls to the functions described here can be mixed with each other and with "
4540 "calls to other input functions from the I<stdio> library for the same input "
4541 "stream."
4542 msgstr ""
4543 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4544 "互いに混ぜて使うことができる。"
4545
4546 #. type: Plain text
4547 #: build/C/man3/gets.3:121
4548 msgid ""
4549 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4550 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4551 msgstr ""
4552 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4553 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4554 "す。"
4555
4556 #. type: Plain text
4557 #: build/C/man3/gets.3:129
4558 msgid ""
4559 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4560 "end of file occurs while no characters have been read."
4561 msgstr ""
4562 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4563 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4564
4565 #. type: Plain text
4566 #: build/C/man3/gets.3:136
4567 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4568 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4569
4570 #. type: Plain text
4571 #: build/C/man3/gets.3:138
4572 #, fuzzy
4573 #| msgid "C99, POSIX.1-2001."
4574 msgid "C89, C99, POSIX.1-2001."
4575 msgstr "C99, POSIX.1-2001."
4576
4577 #. type: Plain text
4578 #: build/C/man3/gets.3:150
4579 msgid ""
4580 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4581 "C11 removes the specification of B<gets>()  from the C language, and since "
4582 "version 2.16, glibc header files don't expose the function declaration if "
4583 "the B<_ISOC11_SOURCE> feature test macro is defined."
4584 msgstr ""
4585
4586 #. type: Plain text
4587 #: build/C/man3/gets.3:164
4588 msgid ""
4589 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4590 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4591 "()  will continue to store characters past the end of the buffer, it is "
4592 "extremely dangerous to use.  It has been used to break computer security.  "
4593 "Use B<fgets>()  instead."
4594 msgstr ""
4595 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4596 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4597 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4598 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4599 "と。"
4600
4601 #. type: Plain text
4602 #: build/C/man3/gets.3:171
4603 msgid ""
4604 "It is not advisable to mix calls to input functions from the I<stdio> "
4605 "library with low-level calls to B<read>(2)  for the file descriptor "
4606 "associated with the input stream; the results will be undefined and very "
4607 "probably not what you want."
4608 msgstr ""
4609 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4610 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4611 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4612
4613 #. type: Plain text
4614 #: build/C/man3/gets.3:187
4615 #, fuzzy
4616 #| msgid ""
4617 #| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
4618 #| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
4619 #| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
4620 msgid ""
4621 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4622 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4623 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4624 msgstr ""
4625 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4626 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4627 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
4628
4629 #. type: TH
4630 #: build/C/man3/getw.3:23
4631 #, no-wrap
4632 msgid "GETW"
4633 msgstr "GETW"
4634
4635 #. type: TH
4636 #: build/C/man3/getw.3:23
4637 #, no-wrap
4638 msgid "2010-09-26"
4639 msgstr "2010-09-26"
4640
4641 #. type: Plain text
4642 #: build/C/man3/getw.3:26
4643 msgid "getw, putw - input and output of words (ints)"
4644 msgstr "getw, putw - ワード(int)の入出力"
4645
4646 #. type: Plain text
4647 #: build/C/man3/getw.3:31
4648 #, no-wrap
4649 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4650 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4651
4652 #. type: Plain text
4653 #: build/C/man3/getw.3:33
4654 #, no-wrap
4655 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4656 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4657
4658 #. type: Plain text
4659 #: build/C/man3/getw.3:42
4660 msgid "B<getw>(), B<putw>():"
4661 msgstr "B<getw>(), B<putw>():"
4662
4663 #. type: TP
4664 #: build/C/man3/getw.3:45
4665 #, no-wrap
4666 msgid "Since glibc 2.3.3:"
4667 msgstr "glibc 2.3.3 以降:"
4668
4669 #. type: Plain text
4670 #: build/C/man3/getw.3:48
4671 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4672 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4673
4674 #. type: Plain text
4675 #: build/C/man3/getw.3:51
4676 #, no-wrap
4677 msgid ""
4678 "(_XOPEN_SOURCE &&\n"
4679 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4680 msgstr ""
4681 "(_XOPEN_SOURCE &&\n"
4682 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4683
4684 #. type: TP
4685 #: build/C/man3/getw.3:51
4686 #, no-wrap
4687 msgid "Before glibc 2.3.3:"
4688 msgstr "glibc 2.3.3 より前:"
4689
4690 #. type: Plain text
4691 #: build/C/man3/getw.3:54
4692 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4693 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4694
4695 #. type: Plain text
4696 #: build/C/man3/getw.3:64
4697 msgid ""
4698 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4699 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4700 msgstr ""
4701 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4702 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4703 "ことを勧める。"
4704
4705 #. type: Plain text
4706 #: build/C/man3/getw.3:71
4707 msgid ""
4708 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4709 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4710 "instead."
4711 msgstr ""
4712 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4713 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4714 "使用することを勧める。"
4715
4716 #. type: Plain text
4717 #: build/C/man3/getw.3:78
4718 msgid ""
4719 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4720 "error, they return B<EOF>."
4721 msgstr ""
4722 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4723 "が発生した場合、これらの関数は B<EOF> を返す。"
4724
4725 #. type: Plain text
4726 #: build/C/man3/getw.3:80
4727 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4728 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4729
4730 #. type: Plain text
4731 #: build/C/man3/getw.3:84
4732 msgid ""
4733 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4734 "can be used to distinguish between the two cases."
4735 msgstr ""
4736 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4737 "(3)  を用いると、この二つの場合を区別することが出来る。"
4738
4739 #. type: Plain text
4740 #: build/C/man3/getw.3:90
4741 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4742 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4743
4744 #. type: TH
4745 #: build/C/man2/link.2:31
4746 #, no-wrap
4747 msgid "LINK"
4748 msgstr "LINK"
4749
4750 #. type: TH
4751 #: build/C/man2/link.2:31
4752 #, no-wrap
4753 msgid "2008-08-21"
4754 msgstr "2008-08-21"
4755
4756 #. type: Plain text
4757 #: build/C/man2/link.2:34
4758 msgid "link - make a new name for a file"
4759 msgstr "link - ファイルの新しい名前を作成する"
4760
4761 #. type: Plain text
4762 #: build/C/man2/link.2:36 build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
4763 #: build/C/man2/readlink.2:46 build/C/man2/rmdir.2:35
4764 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4765 msgid "B<#include E<lt>unistd.hE<gt>>"
4766 msgstr "B<#include E<lt>unistd.hE<gt>>"
4767
4768 #. type: Plain text
4769 #: build/C/man2/link.2:38
4770 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4771 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4772
4773 #. type: Plain text
4774 #: build/C/man2/link.2:41
4775 msgid ""
4776 "B<link>()  creates a new link (also known as a hard link) to an existing "
4777 "file."
4778 msgstr ""
4779 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハード・リンク (hard "
4780 "link) ともいう) を作成する。"
4781
4782 #. type: Plain text
4783 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4784 msgid "If I<newpath> exists it will I<not> be overwritten."
4785 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4786
4787 #. type: Plain text
4788 #: build/C/man2/link.2:52
4789 msgid ""
4790 "This new name may be used exactly as the old one for any operation; both "
4791 "names refer to the same file (and so have the same permissions and "
4792 "ownership) and it is impossible to tell which name was the \"original\"."
4793 msgstr ""
4794 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4795 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4796 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4797
4798 #. type: Plain text
4799 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4800 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4801 #: build/C/man2/unlink.2:60
4802 msgid ""
4803 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4804 "appropriately."
4805 msgstr ""
4806 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4807 "定される。"
4808
4809 #. type: TP
4810 #: build/C/man2/link.2:58 build/C/man2/open.2:475 build/C/man2/readlink.2:84
4811 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4812 #: build/C/man3/tmpfile.3:53 build/C/man2/unlink.2:61
4813 #, no-wrap
4814 msgid "B<EACCES>"
4815 msgstr "B<EACCES>"
4816
4817 #. type: Plain text
4818 #: build/C/man2/link.2:69
4819 msgid ""
4820 "Write access to the directory containing I<newpath> is denied, or search "
4821 "permission is denied for one of the directories in the path prefix of "
4822 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4823 msgstr ""
4824 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4825 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4826 "(B<path_resolution>(7)  を参照)。"
4827
4828 #. type: TP
4829 #: build/C/man2/link.2:69 build/C/man2/open.2:484 build/C/man2/symlink.2:99
4830 #: build/C/man3/tmpfile.3:56
4831 #, no-wrap
4832 msgid "B<EEXIST>"
4833 msgstr "B<EEXIST>"
4834
4835 #. type: Plain text
4836 #: build/C/man2/link.2:73 build/C/man2/symlink.2:103
4837 msgid "I<newpath> already exists."
4838 msgstr "I<newpath> が既に存在する。"
4839
4840 #. type: TP
4841 #: build/C/man2/link.2:73 build/C/man2/llseek.2:69 build/C/man2/open.2:490
4842 #: build/C/man2/pipe.2:98 build/C/man2/read.2:100 build/C/man2/readlink.2:89
4843 #: build/C/man2/rename.2:133 build/C/man2/rmdir.2:64
4844 #: build/C/man2/symlink.2:103 build/C/man2/unlink.2:80
4845 #: build/C/man2/write.2:135
4846 #, no-wrap
4847 msgid "B<EFAULT>"
4848 msgstr "B<EFAULT>"
4849
4850 #. type: Plain text
4851 #: build/C/man2/link.2:76 build/C/man2/rename.2:136 build/C/man2/symlink.2:106
4852 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
4853 msgstr ""
4854 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
4855
4856 #. type: TP
4857 #: build/C/man2/link.2:76 build/C/man2/read.2:129 build/C/man2/readlink.2:105
4858 #: build/C/man2/symlink.2:106 build/C/man2/unlink.2:84
4859 #: build/C/man2/write.2:159
4860 #, no-wrap
4861 msgid "B<EIO>"
4862 msgstr "B<EIO>"
4863
4864 #. type: Plain text
4865 #: build/C/man2/link.2:79 build/C/man2/symlink.2:109 build/C/man2/unlink.2:87
4866 msgid "An I/O error occurred."
4867 msgstr "I/O エラーが発生した。"
4868
4869 #. type: TP
4870 #: build/C/man2/link.2:79 build/C/man2/open.2:514 build/C/man2/readlink.2:108
4871 #: build/C/man2/rename.2:146 build/C/man2/rmdir.2:73
4872 #: build/C/man2/symlink.2:109 build/C/man2/unlink.2:92
4873 #, no-wrap
4874 msgid "B<ELOOP>"
4875 msgstr "B<ELOOP>"
4876
4877 #. type: Plain text
4878 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4879 msgid ""
4880 "Too many symbolic links were encountered in resolving I<oldpath> or "
4881 "I<newpath>."
4882 msgstr ""
4883 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリック・リンクが多過"
4884 "ぎる。"
4885
4886 #. type: TP
4887 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4888 #, no-wrap
4889 msgid "B<EMLINK>"
4890 msgstr "B<EMLINK>"
4891
4892 #. type: Plain text
4893 #: build/C/man2/link.2:88
4894 msgid ""
4895 "The file referred to by I<oldpath> already has the maximum number of links "
4896 "to it."
4897 msgstr ""
4898 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
4899
4900 #. type: TP
4901 #: build/C/man2/link.2:88 build/C/man2/open.2:524 build/C/man2/readlink.2:111
4902 #: build/C/man2/rename.2:157 build/C/man2/rmdir.2:77
4903 #: build/C/man2/symlink.2:113 build/C/man2/unlink.2:96
4904 #, no-wrap
4905 msgid "B<ENAMETOOLONG>"
4906 msgstr "B<ENAMETOOLONG>"
4907
4908 #. type: Plain text
4909 #: build/C/man2/link.2:91 build/C/man2/rename.2:160 build/C/man2/symlink.2:116
4910 msgid "I<oldpath> or I<newpath> was too long."
4911 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
4912
4913 #. type: TP
4914 #: build/C/man2/link.2:91 build/C/man2/open.2:538 build/C/man2/readlink.2:114
4915 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:80
4916 #: build/C/man2/symlink.2:116 build/C/man2/unlink.2:99
4917 #, no-wrap
4918 msgid "B<ENOENT>"
4919 msgstr "B<ENOENT>"
4920
4921 #. type: Plain text
4922 #: build/C/man2/link.2:96
4923 msgid ""
4924 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
4925 "dangling symbolic link."
4926 msgstr ""
4927 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
4928 "(dangling)シンボリック・リンクである。"
4929
4930 #. type: TP
4931 #: build/C/man2/link.2:96 build/C/man2/open.2:545 build/C/man2/readlink.2:117
4932 #: build/C/man2/rename.2:173 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:568
4933 #: build/C/man2/symlink.2:123 build/C/man3/tempnam.3:91
4934 #: build/C/man2/unlink.2:106
4935 #, no-wrap
4936 msgid "B<ENOMEM>"
4937 msgstr "B<ENOMEM>"
4938
4939 #. type: Plain text
4940 #: build/C/man2/link.2:99 build/C/man2/open.2:548 build/C/man2/readlink.2:120
4941 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:88
4942 #: build/C/man2/symlink.2:126 build/C/man2/unlink.2:109
4943 msgid "Insufficient kernel memory was available."
4944 msgstr "十分なカーネルメモリーがない。"
4945
4946 #. type: TP
4947 #: build/C/man2/link.2:99 build/C/man2/open.2:548 build/C/man2/rename.2:176
4948 #: build/C/man2/symlink.2:126 build/C/man3/tmpfile.3:68
4949 #: build/C/man2/write.2:162
4950 #, no-wrap
4951 msgid "B<ENOSPC>"
4952 msgstr "B<ENOSPC>"
4953
4954 #. type: Plain text
4955 #: build/C/man2/link.2:103 build/C/man2/rename.2:180
4956 #: build/C/man2/symlink.2:130
4957 msgid "The device containing the file has no room for the new directory entry."
4958 msgstr ""
4959 "そのファイルを含んでいるデバイスに新しいディレクトリ・エントリを 作成するため"
4960 "の空きがない。"
4961
4962 #. type: TP
4963 #: build/C/man2/link.2:103 build/C/man2/open.2:554 build/C/man2/readlink.2:120
4964 #: build/C/man2/rename.2:180 build/C/man2/rmdir.2:88
4965 #: build/C/man2/symlink.2:130 build/C/man2/unlink.2:109
4966 #, no-wrap
4967 msgid "B<ENOTDIR>"
4968 msgstr "B<ENOTDIR>"
4969
4970 #. type: Plain text
4971 #: build/C/man2/link.2:108
4972 msgid ""
4973 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
4974 "a directory."
4975 msgstr ""
4976 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
4977 "い。"
4978
4979 #. type: TP
4980 #: build/C/man2/link.2:108 build/C/man2/link.2:112 build/C/man2/open.2:587
4981 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
4982 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:114
4983 #, no-wrap
4984 msgid "B<EPERM>"
4985 msgstr "B<EPERM>"
4986
4987 #. type: Plain text
4988 #: build/C/man2/link.2:112
4989 msgid "I<oldpath> is a directory."
4990 msgstr "I<oldpath> がディレクトリである。"
4991
4992 #. type: Plain text
4993 #: build/C/man2/link.2:117
4994 msgid ""
4995 "The file system containing I<oldpath> and I<newpath> does not support the "
4996 "creation of hard links."
4997 msgstr ""
4998 "I<oldpath> と I<newpath> を含んでいるファイル・システムがハード・リンクをサ"
4999 "ポートしていない。"
5000
5001 #. type: TP
5002 #: build/C/man2/link.2:117 build/C/man2/open.2:595 build/C/man2/rename.2:218
5003 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:140
5004 #: build/C/man3/tmpfile.3:71 build/C/man2/unlink.2:137
5005 #, no-wrap
5006 msgid "B<EROFS>"
5007 msgstr "B<EROFS>"
5008
5009 #. type: Plain text
5010 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5011 msgid "The file is on a read-only file system."
5012 msgstr "ファイルが読み込み専用のファイル・システムに存在する。"
5013
5014 #. type: TP
5015 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5016 #, no-wrap
5017 msgid "B<EXDEV>"
5018 msgstr "B<EXDEV>"
5019
5020 #. type: Plain text
5021 #: build/C/man2/link.2:128
5022 msgid ""
5023 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
5024 "permits a file system to be mounted at multiple points, but B<link>()  does "
5025 "not work across different mount points, even if the same file system is "
5026 "mounted on both.)"
5027 msgstr ""
5028 "I<oldpath> と I<newpath> が同じマウントされたファイル・システムに存在しな"
5029 "い。 (Linux は 1 つのファイル・システムを複数のマウント位置に マウントするこ"
5030 "とを許可している。 しかし B<link>()  は、たとえ同じファイル・システムであって"
5031 "も、 別々のマウント位置を跨いでは動作しない。)"
5032
5033 #.  SVr4 documents additional ENOLINK and
5034 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5035 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5036 #. type: Plain text
5037 #: build/C/man2/link.2:133
5038 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5039 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5040
5041 #. type: Plain text
5042 #: build/C/man2/link.2:140
5043 msgid ""
5044 "Hard links, as created by B<link>(), cannot span file systems.  Use "
5045 "B<symlink>(2)  if this is required."
5046 msgstr ""
5047 "B<link>()  でファイル・システムを超えてハード・リンクを作成することはできな"
5048 "い。 このような場合は B<symlink>(2)  を使用すること。"
5049
5050 #.  more precisely: since kernel 1.3.56
5051 #.  For example, the default Solaris compilation environment
5052 #.  behaves like Linux, and contributors to a March 2005
5053 #.  thread in the Austin mailing list reported that some
5054 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5055 #. type: Plain text
5056 #: build/C/man2/link.2:171
5057 msgid ""
5058 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5059 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5060 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5061 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5062 "the same file that I<oldpath> refers to).  Some other implementations behave "
5063 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5064 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5065 "dereferenced if it is a symbolic link.  For precise control over the "
5066 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5067 msgstr ""
5068 "POSIX.1-2001 では、 I<oldpath> がシンボリック・リンクである場合、 B<link>()  "
5069 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5070 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリック・リン"
5071 "クである場合、 I<newpath> は同じシンボリック・リンクファイルへの (ハード) リ"
5072 "ンクとして作成される (つまり I<newpath> は I<oldpath> が参照していた同じファ"
5073 "イルへのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように"
5074 "動作する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシン"
5075 "ボリック・リンクの場合にシンボリック・リンクの参照を 解決するかどうかは実装依"
5076 "存となった。 リンク作成時のシンボリック・リンクの扱いについての詳細な制御に "
5077 "関しては B<linkat>(2)  を参照のこと。"
5078
5079 #. type: Plain text
5080 #: build/C/man2/link.2:177
5081 msgid ""
5082 "On NFS file systems, the return code may be wrong in case the NFS server "
5083 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5084 "to find out if the link got created."
5085 msgstr ""
5086 "NFS ファイル・システムでは、NFS サーバーがリンクを作成した後に、 それを伝える"
5087 "前に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つけ"
5088 "るためには B<stat>(2)  を使用すること。"
5089
5090 #. type: Plain text
5091 #: build/C/man2/link.2:187
5092 msgid ""
5093 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5094 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5095 msgstr ""
5096 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5097 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5098
5099 #. type: TH
5100 #: build/C/man2/llseek.2:26
5101 #, no-wrap
5102 msgid "LLSEEK"
5103 msgstr "LLSEEK"
5104
5105 #. type: TH
5106 #: build/C/man2/llseek.2:26
5107 #, no-wrap
5108 msgid "2007-06-01"
5109 msgstr "2007-06-01"
5110
5111 #. type: Plain text
5112 #: build/C/man2/llseek.2:29
5113 msgid "_llseek - reposition read/write file offset"
5114 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5115
5116 #. type: Plain text
5117 #: build/C/man2/llseek.2:33
5118 #, no-wrap
5119 msgid ""
5120 "B<#include E<lt>sys/types.hE<gt>>\n"
5121 "B<#include E<lt>unistd.hE<gt>>\n"
5122 msgstr ""
5123 "B<#include E<lt>sys/types.hE<gt>>\n"
5124 "B<#include E<lt>unistd.hE<gt>>\n"
5125
5126 #. type: Plain text
5127 #: build/C/man2/llseek.2:37
5128 #, no-wrap
5129 msgid ""
5130 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5131 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5132 "B<            unsigned int >I<whence>B<);>\n"
5133 msgstr ""
5134 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5135 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5136 "B<            unsigned int >I<whence>B<);>\n"
5137
5138 #. type: Plain text
5139 #: build/C/man2/llseek.2:57
5140 msgid ""
5141 "The B<_llseek>()  function repositions the offset of the open file "
5142 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5143 "offset_low> bytes relative to the beginning of the file, the current "
5144 "position in the file, or the end of the file, depending on whether I<whence> "
5145 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5146 "resulting file position in the argument I<result>."
5147 msgstr ""
5148 "B<_llseek>()  関数は、ファイル・ディスクリプター (descriptor)  I<fd> に関連づ"
5149 "けられたオープンされたファイルのオフセットの位置を、相対的に I<"
5150 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5151 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5152 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5153 "のファイル位置を I<result> 引き数に返す。"
5154
5155 #. type: Plain text
5156 #: build/C/man2/llseek.2:64
5157 msgid ""
5158 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5159 "-1 is returned and I<errno> is set to indicate the error."
5160 msgstr ""
5161 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5162 "エラーを示す I<errno> が設定される。"
5163
5164 #. type: Plain text
5165 #: build/C/man2/llseek.2:69 build/C/man2/lseek.2:164
5166 msgid "I<fd> is not an open file descriptor."
5167 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5168
5169 #. type: Plain text
5170 #: build/C/man2/llseek.2:72
5171 msgid "Problem with copying results to user space."
5172 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5173
5174 #. type: Plain text
5175 #: build/C/man2/llseek.2:76
5176 msgid "I<whence> is invalid."
5177 msgstr "I<whence> が不正である。"
5178
5179 #. type: Plain text
5180 #: build/C/man2/llseek.2:79
5181 msgid ""
5182 "This function is Linux-specific, and should not be used in programs intended "
5183 "to be portable."
5184 msgstr ""
5185 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5186
5187 #. type: Plain text
5188 #: build/C/man2/llseek.2:82
5189 msgid ""
5190 "Glibc does not provide a wrapper for this system call; call it using "
5191 "B<syscall>(2)."
5192 msgstr ""
5193 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5194 "(2)  を使って呼び出すこと。"
5195
5196 #. type: Plain text
5197 #: build/C/man2/llseek.2:85
5198 msgid "B<lseek>(2), B<lseek64>(3)"
5199 msgstr "B<lseek>(2), B<lseek64>(3)"
5200
5201 #. type: TH
5202 #: build/C/man2/lseek.2:45
5203 #, no-wrap
5204 msgid "LSEEK"
5205 msgstr "LSEEK"
5206
5207 #. type: TH
5208 #: build/C/man2/lseek.2:45
5209 #, fuzzy, no-wrap
5210 #| msgid "2011-09-28"
5211 msgid "2011-09-25"
5212 msgstr "2011-09-28"
5213
5214 #. type: Plain text
5215 #: build/C/man2/lseek.2:48
5216 msgid "lseek - reposition read/write file offset"
5217 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5218
5219 #. type: Plain text
5220 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:30
5221 msgid "B<#include E<lt>sys/types.hE<gt>>"
5222 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5223
5224 #. type: Plain text
5225 #: build/C/man2/lseek.2:54
5226 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5227 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5228
5229 #. type: Plain text
5230 #: build/C/man2/lseek.2:65
5231 msgid ""
5232 "The B<lseek>()  function repositions the offset of the open file associated "
5233 "with the file descriptor I<fd> to the argument I<offset> according to the "
5234 "directive I<whence> as follows:"
5235 msgstr ""
5236 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5237 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5238 "へ以下のように変更する:"
5239
5240 #. type: Plain text
5241 #: build/C/man2/lseek.2:70
5242 msgid "The offset is set to I<offset> bytes."
5243 msgstr "オフセットは I<offset> バイトに設定される。"
5244
5245 #. type: Plain text
5246 #: build/C/man2/lseek.2:75
5247 msgid "The offset is set to its current location plus I<offset> bytes."
5248 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5249
5250 #. type: Plain text
5251 #: build/C/man2/lseek.2:80
5252 msgid "The offset is set to the size of the file plus I<offset> bytes."
5253 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5254
5255 #. type: Plain text
5256 #: build/C/man2/lseek.2:88
5257 msgid ""
5258 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5259 "the file (but this does not change the size of the file).  If data is later "
5260 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5261 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5262 "gap."
5263 msgstr ""
5264 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5265 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5266 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5267 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5268 "される。"
5269
5270 #. type: SS
5271 #: build/C/man2/lseek.2:88
5272 #, no-wrap
5273 msgid "Seeking file data and holes"
5274 msgstr ""
5275
5276 #. type: Plain text
5277 #: build/C/man2/lseek.2:91
5278 msgid ""
5279 "Since version 3.1, Linux supports the following additional values for "
5280 "I<whence>:"
5281 msgstr ""
5282
5283 #. type: TP
5284 #: build/C/man2/lseek.2:91
5285 #, fuzzy, no-wrap
5286 #| msgid "B<SEEK_SET>"
5287 msgid "B<SEEK_DATA>"
5288 msgstr "B<SEEK_SET>"
5289
5290 #. type: Plain text
5291 #: build/C/man2/lseek.2:102
5292 msgid ""
5293 "Adjust the file offset to the next location in the file greater than or "
5294 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5295 "file offset is set to I<offset>."
5296 msgstr ""
5297
5298 #. type: TP
5299 #: build/C/man2/lseek.2:102
5300 #, fuzzy, no-wrap
5301 #| msgid "B<SEEK_SET>"
5302 msgid "B<SEEK_HOLE>"
5303 msgstr "B<SEEK_SET>"
5304
5305 #. type: Plain text
5306 #: build/C/man2/lseek.2:116
5307 msgid ""
5308 "Adjust the file offset to the next hole in the file greater than or equal to "
5309 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5310 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5311 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5312 "hole at the end of any file)."
5313 msgstr ""
5314
5315 #. type: Plain text
5316 #: build/C/man2/lseek.2:122
5317 msgid ""
5318 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5319 "end of the file."
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: build/C/man2/lseek.2:128
5324 msgid ""
5325 "These operations allow applications to map holes in a sparsely allocated "
5326 "file.  This can be useful for applications such as file backup tools, which "
5327 "can save space when creating backups and preserve holes, if they have a "
5328 "mechanism for discovering holes."
5329 msgstr ""
5330
5331 #.  https://lkml.org/lkml/2011/4/22/79
5332 #.  http://lwn.net/Articles/440255/
5333 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5334 #. type: Plain text
5335 #: build/C/man2/lseek.2:151
5336 msgid ""
5337 "For the purposes of these operations, a hole is a sequence of zeros that "
5338 "(normally) has not been allocated in the underlying file storage.  However, "
5339 "a file system is not obliged to report holes, so these operations are not a "
5340 "guaranteed mechanism for mapping the storage space actually allocated to a "
5341 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5342 "the underlying storage may not be reported as a hole.)  In the simplest "
5343 "implementation, a file system can support the operations by making "
5344 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5345 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5346 "by I<offset> is a hole, it can be considered to consist of data that is a "
5347 "sequence of zeros)."
5348 msgstr ""
5349
5350 #. type: Plain text
5351 #: build/C/man2/lseek.2:159
5352 msgid ""
5353 "Upon successful completion, B<lseek>()  returns the resulting offset "
5354 "location as measured in bytes from the beginning of the file.  On error, the "
5355 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5356 msgstr ""
5357 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5358 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5359 "される。"
5360
5361 #.  Some systems may allow negative offsets for character devices
5362 #.  and/or for remote file systems.
5363 #. type: Plain text
5364 #: build/C/man2/lseek.2:172
5365 #, fuzzy
5366 #| msgid ""
5367 #| "I<whence> is not one of B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END>; or the "
5368 #| "resulting file offset would be negative, or beyond the end of a seekable "
5369 #| "device."
5370 msgid ""
5371 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5372 "beyond the end of a seekable device."
5373 msgstr ""
5374 "I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれでもない。 または、"
5375 "seek の結果、ファイル・オフセットが負になってしまうか、 seek 可能なデバイスの"
5376 "末尾を越えてしまう。"
5377
5378 #. type: TP
5379 #: build/C/man2/lseek.2:172 build/C/man2/open.2:567
5380 #, no-wrap
5381 msgid "B<EOVERFLOW>"
5382 msgstr "B<EOVERFLOW>"
5383
5384 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5385 #. type: Plain text
5386 #: build/C/man2/lseek.2:177
5387 msgid "The resulting file offset cannot be represented in an I<off_t>."
5388 msgstr "結果のファイル・オフセットを I<off_t> 型で表現することができない。"
5389
5390 #. type: TP
5391 #: build/C/man2/lseek.2:177
5392 #, no-wrap
5393 msgid "B<ESPIPE>"
5394 msgstr "B<ESPIPE>"
5395
5396 #. type: Plain text
5397 #: build/C/man2/lseek.2:181
5398 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5399 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5400
5401 #. type: TP
5402 #: build/C/man2/lseek.2:181 build/C/man2/open.2:561
5403 #, no-wrap
5404 msgid "B<ENXIO>"
5405 msgstr "B<ENXIO>"
5406
5407 #. type: Plain text
5408 #: build/C/man2/lseek.2:189
5409 #, fuzzy
5410 #| msgid ""
5411 #| "I<whence> is not one of B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END>; or the "
5412 #| "resulting file offset would be negative, or beyond the end of a seekable "
5413 #| "device."
5414 msgid ""
5415 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5416 "beyond the end of the file."
5417 msgstr ""
5418 "I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれでもない。 または、"
5419 "seek の結果、ファイル・オフセットが負になってしまうか、 seek 可能なデバイスの"
5420 "末尾を越えてしまう。"
5421
5422 #.  SVr4 documents additional error
5423 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5424 #. type: Plain text
5425 #: build/C/man2/lseek.2:191 build/C/man2/read.2:157 build/C/man2/rmdir.2:129
5426 #: build/C/man2/symlink.2:150 build/C/man2/unlink.2:145
5427 #: build/C/man2/write.2:183
5428 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5429 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5430
5431 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5432 #. type: Plain text
5433 #: build/C/man2/lseek.2:199
5434 msgid ""
5435 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5436 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5437 "next POSIX revision (Issue 8)."
5438 msgstr ""
5439
5440 #. type: Plain text
5441 #: build/C/man2/lseek.2:203
5442 msgid ""
5443 "Some devices are incapable of seeking and POSIX does not specify which "
5444 "devices must support B<lseek>()."
5445 msgstr ""
5446 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5447 "に対応すべきかは規定していない。"
5448
5449 #.  Other systems return the number of written characters,
5450 #.  using SEEK_SET to set the counter. (Of written characters.)
5451 #. type: Plain text
5452 #: build/C/man2/lseek.2:210
5453 msgid "On Linux, using B<lseek>()  on a tty device returns B<ESPIPE>."
5454 msgstr ""
5455 "Linux では、 tty デバイスに B<lseek>()  を使用すると B<ESPIPE> を返す。"
5456
5457 #. type: Plain text
5458 #: build/C/man2/lseek.2:213
5459 msgid ""
5460 "When converting old code, substitute values for I<whence> with the following "
5461 "macros:"
5462 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5463
5464 #. type: tbl table
5465 #: build/C/man2/lseek.2:216
5466 #, no-wrap
5467 msgid "old\tnew\n"
5468 msgstr "old \tnew\n"
5469
5470 #. type: tbl table
5471 #: build/C/man2/lseek.2:217
5472 #, no-wrap
5473 msgid "0\tSEEK_SET\n"
5474 msgstr "0\tSEEK_SET\n"
5475
5476 #. type: tbl table
5477 #: build/C/man2/lseek.2:218
5478 #, no-wrap
5479 msgid "1\tSEEK_CUR\n"
5480 msgstr "1\tSEEK_CUR\n"
5481
5482 #. type: tbl table
5483 #: build/C/man2/lseek.2:219
5484 #, no-wrap
5485 msgid "2\tSEEK_END\n"
5486 msgstr "2\tSEEK_END\n"
5487
5488 #. type: tbl table
5489 #: build/C/man2/lseek.2:220
5490 #, no-wrap
5491 msgid "L_SET\tSEEK_SET\n"
5492 msgstr "L_SET\tSEEK_SET\n"
5493
5494 #. type: tbl table
5495 #: build/C/man2/lseek.2:221
5496 #, no-wrap
5497 msgid "L_INCR\tSEEK_CUR\n"
5498 msgstr "L_INCR\tSEEK_CUR\n"
5499
5500 #. type: tbl table
5501 #: build/C/man2/lseek.2:222
5502 #, no-wrap
5503 msgid "L_XTND\tSEEK_END\n"
5504 msgstr "L_XTND\tSEEK_END\n"
5505
5506 #. type: Plain text
5507 #: build/C/man2/lseek.2:234
5508 msgid ""
5509 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5510 "current file position pointer, so seeking on such files may be subject to "
5511 "race conditions."
5512 msgstr ""
5513 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5514 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5515 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5516
5517 #. type: Plain text
5518 #: build/C/man2/lseek.2:241
5519 msgid ""
5520 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5521 "B<posix_fallocate>(3)"
5522 msgstr ""
5523 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5524 "B<posix_fallocate>(3)"
5525
5526 #. type: TH
5527 #: build/C/man3/lseek64.3:23
5528 #, no-wrap
5529 msgid "LSEEK64"
5530 msgstr "LSEEK64"
5531
5532 #. type: TH
5533 #: build/C/man3/lseek64.3:23
5534 #, no-wrap
5535 msgid "2004-12-11"
5536 msgstr "2004-12-11"
5537
5538 #. type: Plain text
5539 #: build/C/man3/lseek64.3:26
5540 msgid "lseek64 - reposition 64-bit read/write file offset"
5541 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5542
5543 #. type: Plain text
5544 #: build/C/man3/lseek64.3:28
5545 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5546 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5547
5548 #. type: Plain text
5549 #: build/C/man3/lseek64.3:34
5550 msgid ""
5551 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5552 msgstr ""
5553 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5554
5555 #. type: Plain text
5556 #: build/C/man3/lseek64.3:51
5557 msgid ""
5558 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5559 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5560 "start, current position, or end of the file, when I<whence> has the value "
5561 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5562 msgstr ""
5563 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5564 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5565 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5566 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5567
5568 #. type: Plain text
5569 #: build/C/man3/lseek64.3:54
5570 msgid "For more details, return value, and errors, see B<lseek>(2)."
5571 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5572
5573 #. type: Plain text
5574 #: build/C/man3/lseek64.3:61
5575 msgid ""
5576 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5577 "the raw system call B<_llseek>(2)."
5578 msgstr ""
5579 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5580 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5581
5582 #. type: SS
5583 #: build/C/man3/lseek64.3:61
5584 #, no-wrap
5585 msgid "lseek"
5586 msgstr "lseek"
5587
5588 #. type: Plain text
5589 #: build/C/man3/lseek64.3:63 build/C/man3/lseek64.3:85
5590 #: build/C/man3/lseek64.3:114
5591 msgid "Prototype:"
5592 msgstr "プロトタイプ:"
5593
5594 #. type: Plain text
5595 #: build/C/man3/lseek64.3:67
5596 #, no-wrap
5597 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5598 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5599
5600 #. type: Plain text
5601 #: build/C/man3/lseek64.3:75
5602 msgid ""
5603 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5604 "architectures, unless one compiles with"
5605 msgstr ""
5606 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5607 "ビット符号付き型である。 ただし、"
5608
5609 #. type: Plain text
5610 #: build/C/man3/lseek64.3:83
5611 msgid "in which case it is a 64-bit signed type."
5612 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5613
5614 #. type: SS
5615 #: build/C/man3/lseek64.3:83
5616 #, no-wrap
5617 msgid "lseek64"
5618 msgstr "lseek64"
5619
5620 #. type: Plain text
5621 #: build/C/man3/lseek64.3:89
5622 #, no-wrap
5623 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5624 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5625
5626 #. type: Plain text
5627 #: build/C/man3/lseek64.3:100
5628 msgid ""
5629 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5630 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5631 "when one compiles with"
5632 msgstr ""
5633 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5634 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5635 "ルした場合にのみ使用可能である。"
5636
5637 #. type: Plain text
5638 #: build/C/man3/lseek64.3:104
5639 #, no-wrap
5640 msgid "#define _LARGEFILE64_SOURCE\n"
5641 msgstr "#define _LARGEFILE64_SOURCE\n"
5642
5643 #.  in glibc 2.0.94, not in 2.0.6
5644 #. type: Plain text
5645 #: build/C/man3/lseek64.3:112
5646 msgid ""
5647 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5648 "be an alias for B<llseek>()."
5649 msgstr ""
5650 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5651 "アスとして定義されている。"
5652
5653 #. type: SS
5654 #: build/C/man3/lseek64.3:112
5655 #, no-wrap
5656 msgid "llseek"
5657 msgstr "llseek"
5658
5659 #. type: Plain text
5660 #: build/C/man3/lseek64.3:118
5661 #, no-wrap
5662 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5663 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5664
5665 #.  in libc 5.0.9, not in 4.7.6
5666 #. type: Plain text
5667 #: build/C/man3/lseek64.3:137
5668 msgid ""
5669 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5670 "()  is available in libc5 and glibc and works without special defines.  Its "
5671 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5672 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5673 "should add the above prototype, or something equivalent, to their own "
5674 "source.  When users complained about data loss caused by a miscompilation of "
5675 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5676 msgstr ""
5677 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5678 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5679 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5680 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5681 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5682 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5683 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5684
5685 #. type: Plain text
5686 #: build/C/man3/lseek64.3:140
5687 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5688 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5689
5690 #. type: Plain text
5691 #: build/C/man3/lseek64.3:144
5692 msgid ""
5693 "This makes this function unusable if one desires a warning-free compilation."
5694 msgstr ""
5695 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5696
5697 #. type: SS
5698 #: build/C/man3/lseek64.3:144
5699 #, no-wrap
5700 msgid "_llseek"
5701 msgstr "_llseek"
5702
5703 #. type: Plain text
5704 #: build/C/man3/lseek64.3:147
5705 msgid ""
5706 "All the above functions are implemented in terms of this system call.  The "
5707 "prototype is:"
5708 msgstr ""
5709 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5710 "下の通り:"
5711
5712 #. type: Plain text
5713 #: build/C/man3/lseek64.3:152
5714 #, no-wrap
5715 msgid ""
5716 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5717 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5718 msgstr ""
5719 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5720 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5721
5722 #. type: Plain text
5723 #: build/C/man3/lseek64.3:157
5724 msgid "For more details, see B<llseek>(2)."
5725 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5726
5727 #. type: Plain text
5728 #: build/C/man3/lseek64.3:160
5729 msgid "B<llseek>(2), B<lseek>(2)"
5730 msgstr "B<llseek>(2), B<lseek>(2)"
5731
5732 #. type: TH
5733 #: build/C/man2/open.2:52
5734 #, no-wrap
5735 msgid "OPEN"
5736 msgstr "OPEN"
5737
5738 #. type: TH
5739 #: build/C/man2/open.2:52
5740 #, fuzzy, no-wrap
5741 #| msgid "2009-02-23"
5742 msgid "2012-02-27"
5743 msgstr "2009-02-23"
5744
5745 #. type: Plain text
5746 #: build/C/man2/open.2:55
5747 msgid "open, creat - open and possibly create a file or device"
5748 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
5749
5750 #. type: Plain text
5751 #: build/C/man2/open.2:60
5752 #, no-wrap
5753 msgid ""
5754 "B<#include E<lt>sys/types.hE<gt>>\n"
5755 "B<#include E<lt>sys/stat.hE<gt>>\n"
5756 "B<#include E<lt>fcntl.hE<gt>>\n"
5757 msgstr ""
5758 "B<#include E<lt>sys/types.hE<gt>>\n"
5759 "B<#include E<lt>sys/stat.hE<gt>>\n"
5760 "B<#include E<lt>fcntl.hE<gt>>\n"
5761
5762 #. type: Plain text
5763 #: build/C/man2/open.2:63
5764 #, no-wrap
5765 msgid ""
5766 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5767 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5768 msgstr ""
5769 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5770 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5771
5772 #. type: Plain text
5773 #: build/C/man2/open.2:65
5774 #, no-wrap
5775 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5776 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5777
5778 #. type: Plain text
5779 #: build/C/man2/open.2:76
5780 msgid ""
5781 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
5782 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
5783 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
5784 "by a successful call will be the lowest-numbered file descriptor not "
5785 "currently open for the process."
5786 msgstr ""
5787 "ファイルの I<pathname> を与えると、 B<open>()  はファイル・ディスクリプタを返"
5788 "す。 ファイル・ディスクリプタは、この後に続くシステムコール (B<read>(2), "
5789 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
5790 "る。 このシステムコールが成功した場合に返されるファイル・ディスクリプタは そ"
5791 "のプロセスがその時点でオープンしていないファイル・ディスクリプタの うち最小の"
5792 "数字のものとなる。"
5793
5794 #. type: Plain text
5795 #: build/C/man2/open.2:88
5796 #, fuzzy
5797 #| msgid ""
5798 #| "By default, the new file descriptor is set to remain open across an "
5799 #| "B<execve>(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in "
5800 #| "B<fcntl>(2)  is initially disabled; the Linux-specific B<O_CLOEXEC> flag, "
5801 #| "described below, can be used to change this default).  The file offset is "
5802 #| "set to the beginning of the file (see B<lseek>(2))."
5803 msgid ""
5804 "By default, the new file descriptor is set to remain open across an B<execve>"
5805 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
5806 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
5807 "to change this default).  The file offset is set to the beginning of the "
5808 "file (see B<lseek>(2))."
5809 msgstr ""
5810 "デフォルトでは、新しいファイル・ディスクリプタは B<execve>(2)  を実行した後も"
5811 "オープンされたままとなる (つまり、 B<fcntl>(2)  に説明がある B<FD_CLOEXEC> "
5812 "ファイル・ディスクリプタ・フラグは最初は無効である; 後述の Linux 固有のフラ"
5813 "グ B<O_CLOEXEC> を使うとこのデフォルトを変更することができる)。 ファイル・オ"
5814 "フセット (file offset) はファイルの先頭に設定される (B<lseek>(2)  参照)。"
5815
5816 #. type: Plain text
5817 #: build/C/man2/open.2:107
5818 msgid ""
5819 "A call to B<open>()  creates a new I<open file description>, an entry in the "
5820 "system-wide table of open files.  This entry records the file offset and the "
5821 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
5822 "file descriptor is a reference to one of these entries; this reference is "
5823 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
5824 "different file.  The new open file description is initially not shared with "
5825 "any other process, but sharing may arise via B<fork>(2)."
5826 msgstr ""
5827 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
5828 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
5829 "のエントリである。 このエントリは、ファイル・オフセットとファイル状態フラグ "
5830 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイル・ディスク"
5831 "リプタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除さ"
5832 "れたり、他のファイルを参照するように変更されたりしても、 この参照は影響を受け"
5833 "ない。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていな"
5834 "いが、 B<fork>(2)  で共有が起こる場合がある。"
5835
5836 #. type: Plain text
5837 #: build/C/man2/open.2:115
5838 msgid ""
5839 "The argument I<flags> must include one of the following I<access modes>: "
5840 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
5841 "only, write-only, or read/write, respectively."
5842 msgstr ""
5843 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
5844 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
5845 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
5846
5847 #.  FIXME . Actually is it true that the "file status flags" are all of the
5848 #.  remaining flags listed below?  SUSv4 divides the flags into:
5849 #.  * Access mode
5850 #.  * File creation
5851 #.  * File status
5852 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
5853 #.  though it's not clear what the difference between "other" and
5854 #.  "File creation" flags is.  (I've raised an Aardvark to see if this
5855 #.  can be clarified in SUSv4; 10 Oct 2008.)
5856 #. type: Plain text
5857 #: build/C/man2/open.2:142
5858 msgid ""
5859 "In addition, zero or more file creation flags and file status flags can be "
5860 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CREAT>, "
5861 "B<O_EXCL>, B<O_NOCTTY>, and B<O_TRUNC>.  The I<file status flags> are all of "
5862 "the remaining flags listed below.  The distinction between these two groups "
5863 "of flags is that the file status flags can be retrieved and (in some cases)  "
5864 "modified using B<fcntl>(2).  The full list of file creation flags and file "
5865 "status flags is as follows:"
5866 msgstr ""
5867 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
5868 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
5869 "定することができる。 I<ファイル作成フラグ> は B<O_CREAT>, B<O_EXCL>, "
5870 "B<O_NOCTTY>, B<O_TRUNC> である。 I<ファイル状態フラグ> は以下のリストのうち上"
5871 "記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は "
5872 "B<fcntl>(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点"
5873 "にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
5874
5875 #. type: TP
5876 #: build/C/man2/open.2:142
5877 #, no-wrap
5878 msgid "B<O_APPEND>"
5879 msgstr "B<O_APPEND>"
5880
5881 #.  For more background, see
5882 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
5883 #.  http://nfs.sourceforge.net/
5884 #. type: Plain text
5885 #: build/C/man2/open.2:159
5886 msgid ""
5887 "The file is opened in append mode.  Before each B<write>(2), the file offset "
5888 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
5889 "may lead to corrupted files on NFS file systems if more than one process "
5890 "appends data to a file at once.  This is because NFS does not support "
5891 "appending to a file, so the client kernel has to simulate it, which can't be "
5892 "done without a race condition."
5893 msgstr ""
5894 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
5895 "B<lseek>(2)  を行ったかのように、ファイル・ポインターをファイルの最後に移動す"
5896 "る。 NFS ファイル・システムで、 B<O_APPEND> を使用すると、複数のプロセスがひ"
5897 "とつのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
5898 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
5899 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
5900 "とはできないからである。"
5901
5902 #. type: TP
5903 #: build/C/man2/open.2:159
5904 #, no-wrap
5905 msgid "B<O_ASYNC>"
5906 msgstr "B<O_ASYNC>"
5907
5908 #. type: Plain text
5909 #: build/C/man2/open.2:172
5910 msgid ""
5911 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
5912 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
5913 "this file descriptor.  This feature is only available for terminals, "
5914 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
5915 "B<fcntl>(2)  for further details."
5916 msgstr ""
5917 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイル・ディスクリプ"
5918 "タへの 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
5919 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
5920 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
5921 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
5922
5923 #. type: TP
5924 #: build/C/man2/open.2:172
5925 #, no-wrap
5926 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
5927 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
5928
5929 #.  This flag fixes only one form of the race condition;
5930 #.  The race can also occur with, for example, descriptors
5931 #.  returned by accept(), pipe(), etc.
5932 #. type: Plain text
5933 #: build/C/man2/open.2:197
5934 msgid ""
5935 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
5936 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
5937 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
5938 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
5939 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
5940 "race conditions where one thread opens a file descriptor at the same time as "
5941 "another thread does a B<fork>(2)  plus B<execve>(2)."
5942 msgstr ""
5943 "新しいファイル・ディスクリプタに対して close-on-exec フラグを有効にする。 こ"
5944 "のフラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするため"
5945 "の B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種の"
5946 "マルチスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別"
5947 "に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したと"
5948 "しても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のス"
5949 "レッドが B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには"
5950 "十分ではないからである。"
5951
5952 #. type: TP
5953 #: build/C/man2/open.2:197
5954 #, no-wrap
5955 msgid "B<O_CREAT>"
5956 msgstr "B<O_CREAT>"
5957
5958 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
5959 #.  XFS (since 2.6.14).
5960 #. type: Plain text
5961 #: build/C/man2/open.2:213
5962 msgid ""
5963 "If the file does not exist it will be created.  The owner (user ID) of the "
5964 "file is set to the effective user ID of the process.  The group ownership "
5965 "(group ID) is set either to the effective group ID of the process or to the "
5966 "group ID of the parent directory (depending on file system type and mount "
5967 "options, and the mode of the parent directory, see the mount options "
5968 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
5969 msgstr ""
5970 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
5971 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
5972 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
5973 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
5974 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
5975 "I<bsdgroups> と I<sysvgroups> を参照)。"
5976
5977 #. type: Plain text
5978 #: build/C/man2/open.2:236
5979 msgid ""
5980 "I<mode> specifies the permissions to use in case a new file is created.  "
5981 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
5982 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
5983 "permissions are modified by the process's I<umask> in the usual way: The "
5984 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
5985 "mode only applies to future accesses of the newly created file; the B<open>"
5986 "()  call that creates a read-only file may well return a read/write file "
5987 "descriptor."
5988 msgstr ""
5989 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
5990 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
5991 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
5992 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
5993 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
5994 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
5995 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
5996 "可能なファイル・ディスクリプタを返すことがありうる。"
5997
5998 #. type: Plain text
5999 #: build/C/man2/open.2:239
6000 msgid "The following symbolic constants are provided for I<mode>:"
6001 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6002
6003 #. type: TP
6004 #: build/C/man2/open.2:239
6005 #, no-wrap
6006 msgid "B<S_IRWXU>"
6007 msgstr "B<S_IRWXU>"
6008
6009 #. type: Plain text
6010 #: build/C/man2/open.2:242
6011 msgid "00700 user (file owner) has read, write and execute permission"
6012 msgstr ""
6013 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6014
6015 #. type: TP
6016 #: build/C/man2/open.2:242
6017 #, no-wrap
6018 msgid "B<S_IRUSR>"
6019 msgstr "B<S_IRUSR>"
6020
6021 #. type: Plain text
6022 #: build/C/man2/open.2:245
6023 msgid "00400 user has read permission"
6024 msgstr "00400 ユーザーに読み込みの許可がある。"
6025
6026 #. type: TP
6027 #: build/C/man2/open.2:245
6028 #, no-wrap
6029 msgid "B<S_IWUSR>"
6030 msgstr "B<S_IWUSR>"
6031
6032 #. type: Plain text
6033 #: build/C/man2/open.2:248
6034 msgid "00200 user has write permission"
6035 msgstr "00200 ユーザーに書き込みの許可がある。"
6036
6037 #. type: TP
6038 #: build/C/man2/open.2:248
6039 #, no-wrap
6040 msgid "B<S_IXUSR>"
6041 msgstr "B<S_IXUSR>"
6042
6043 #. type: Plain text
6044 #: build/C/man2/open.2:251
6045 msgid "00100 user has execute permission"
6046 msgstr "00100 ユーザーに実行の許可がある。"
6047
6048 #. type: TP
6049 #: build/C/man2/open.2:251
6050 #, no-wrap
6051 msgid "B<S_IRWXG>"
6052 msgstr "B<S_IRWXG>"
6053
6054 #. type: Plain text
6055 #: build/C/man2/open.2:254
6056 msgid "00070 group has read, write and execute permission"
6057 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6058
6059 #. type: TP
6060 #: build/C/man2/open.2:254
6061 #, no-wrap
6062 msgid "B<S_IRGRP>"
6063 msgstr "B<S_IRGRP>"
6064
6065 #. type: Plain text
6066 #: build/C/man2/open.2:257
6067 msgid "00040 group has read permission"
6068 msgstr "00040 グループに読み込みの許可がある。"
6069
6070 #. type: TP
6071 #: build/C/man2/open.2:257
6072 #, no-wrap
6073 msgid "B<S_IWGRP>"
6074 msgstr "B<S_IWGRP>"
6075
6076 #. type: Plain text
6077 #: build/C/man2/open.2:260
6078 msgid "00020 group has write permission"
6079 msgstr "00020 グループに書き込みの許可がある。"
6080
6081 #. type: TP
6082 #: build/C/man2/open.2:260
6083 #, no-wrap
6084 msgid "B<S_IXGRP>"
6085 msgstr "B<S_IXGRP>"
6086
6087 #. type: Plain text
6088 #: build/C/man2/open.2:263
6089 msgid "00010 group has execute permission"
6090 msgstr "00010 グループに実行の許可がある。"
6091
6092 #. type: TP
6093 #: build/C/man2/open.2:263
6094 #, no-wrap
6095 msgid "B<S_IRWXO>"
6096 msgstr "B<S_IRWXO>"
6097
6098 #. type: Plain text
6099 #: build/C/man2/open.2:266
6100 msgid "00007 others have read, write and execute permission"
6101 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6102
6103 #. type: TP
6104 #: build/C/man2/open.2:266
6105 #, no-wrap
6106 msgid "B<S_IROTH>"
6107 msgstr "B<S_IROTH>"
6108
6109 #. type: Plain text
6110 #: build/C/man2/open.2:269
6111 msgid "00004 others have read permission"
6112 msgstr "00004 他人に読み込みの許可がある。"
6113
6114 #. type: TP
6115 #: build/C/man2/open.2:269
6116 #, no-wrap
6117 msgid "B<S_IWOTH>"
6118 msgstr "B<S_IWOTH>"
6119
6120 #. type: Plain text
6121 #: build/C/man2/open.2:272
6122 msgid "00002 others have write permission"
6123 msgstr "00002 他人に書き込みの許可がある。"
6124
6125 #. type: TP
6126 #: build/C/man2/open.2:272
6127 #, no-wrap
6128 msgid "B<S_IXOTH>"
6129 msgstr "B<S_IXOTH>"
6130
6131 #. type: Plain text
6132 #: build/C/man2/open.2:275
6133 msgid "00001 others have execute permission"
6134 msgstr "00001 他人に実行の許可がある。"
6135
6136 #. type: TP
6137 #: build/C/man2/open.2:276
6138 #, no-wrap
6139 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6140 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6141
6142 #. type: Plain text
6143 #: build/C/man2/open.2:295
6144 #, fuzzy
6145 #| msgid ""
6146 #| "Try to minimize cache effects of the I/O to and from this file.  In "
6147 #| "general this will degrade performance, but it is useful in special "
6148 #| "situations, such as when applications do their own caching.  File I/O is "
6149 #| "done directly to/from user space buffers.  The B<O_DIRECT> flag on its "
6150 #| "own makes at an effort to transfer data synchronously, but does not give "
6151 #| "the guarantees of the B<O_SYNC> that data and necessary metadata are "
6152 #| "transferred.  To guarantee synchronous I/O the B<O_SYNC> must be used in "
6153 #| "addition to B<O_DIRECT>.  See B<NOTES> below for further discussion."
6154 msgid ""
6155 "Try to minimize cache effects of the I/O to and from this file.  In general "
6156 "this will degrade performance, but it is useful in special situations, such "
6157 "as when applications do their own caching.  File I/O is done directly to/"
6158 "from user space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6159 "transfer data synchronously, but does not give the guarantees of the "
6160 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6161 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6162 "B<O_DIRECT>.  See B<NOTES> below for further discussion."
6163 msgstr ""
6164 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。 このフラグ"
6165 "を使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシング"
6166 "を行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6167 "ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
6168 "はするが、 B<O_SYNC> のようにデータと必要なメタデータの転送が保証されるわけで"
6169 "はない。 同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を使用"
6170 "しなければならない。 「注意」の節 (下記) の議論も参照。"
6171
6172 #. type: Plain text
6173 #: build/C/man2/open.2:299
6174 msgid ""
6175 "A semantically similar (but deprecated) interface for block devices is "
6176 "described in B<raw>(8)."
6177 msgstr ""
6178 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6179 "れている (但し、このインタフェースは非推奨である)。"
6180
6181 #. type: TP
6182 #: build/C/man2/open.2:299
6183 #, no-wrap
6184 msgid "B<O_DIRECTORY>"
6185 msgstr "B<O_DIRECTORY>"
6186
6187 #.  But see the following and its replies:
6188 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6189 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6190 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6191 #. type: Plain text
6192 #: build/C/man2/open.2:313
6193 msgid ""
6194 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6195 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6196 "service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
6197 "should not be used outside of the implementation of B<opendir>(3)."
6198 msgstr ""
6199 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6200 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6201 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6202 "加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
6203
6204 #. type: TP
6205 #: build/C/man2/open.2:313
6206 #, no-wrap
6207 msgid "B<O_EXCL>"
6208 msgstr "B<O_EXCL>"
6209
6210 #. type: Plain text
6211 #: build/C/man2/open.2:323
6212 #, fuzzy
6213 #| msgid ""
6214 #| "Ensure that this call creates the file: if this flag is specified in "
6215 #| "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>"
6216 #| "()  will fail.  The behavior of B<O_EXCL> is undefined if B<O_CREAT> is "
6217 #| "not specified."
6218 msgid ""
6219 "Ensure that this call creates the file: if this flag is specified in "
6220 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6221 "will fail."
6222 msgstr ""
6223 "この呼び出しでファイルが作成されることを保証する。 このフラグが B<O_CREAT> と"
6224 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>()  は失敗"
6225 "する。 B<O_CREAT> が指定されなかった場合の B<O_EXCL> の動作は未定義である。"
6226
6227 #.  POSIX.1-2001 explicitly requires this behavior.
6228 #. type: Plain text
6229 #: build/C/man2/open.2:331
6230 msgid ""
6231 "When these two flags are specified, symbolic links are not followed: if "
6232 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6233 "the symbolic link points to."
6234 msgstr ""
6235 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6236 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6237 "かに関わらず B<open>()  は失敗する。"
6238
6239 #. type: Plain text
6240 #: build/C/man2/open.2:347
6241 msgid ""
6242 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6243 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6244 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6245 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6246 "the error B<EBUSY>."
6247 msgstr ""
6248
6249 #. type: Plain text
6250 #: build/C/man2/open.2:369
6251 msgid ""
6252 "On NFS, B<O_EXCL> is only supported when using NFSv3 or later on kernel 2.6 "
6253 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6254 "programs that rely on it for performing locking tasks will contain a race "
6255 "condition.  Portable programs that want to perform atomic file locking using "
6256 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6257 "create a unique file on the same file system (e.g., incorporating hostname "
6258 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6259 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6260 "unique file to check if its link count has increased to 2, in which case the "
6261 "lock is also successful."
6262 msgstr ""
6263 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6264 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6265 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6266 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6267 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6268 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6269 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6270 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6271 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6272 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6273 "じくロックに成功しているということである。"
6274
6275 #. type: TP
6276 #: build/C/man2/open.2:369
6277 #, no-wrap
6278 msgid "B<O_LARGEFILE>"
6279 msgstr "B<O_LARGEFILE>"
6280
6281 #. type: Plain text
6282 #: build/C/man2/open.2:391
6283 #, fuzzy
6284 #| msgid ""
6285 #| "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but "
6286 #| "can be represented in an I<off64_t>)  to be opened.  The "
6287 #| "B<_LARGEFILE64_SOURCE> macro must be defined (before including I<any> "
6288 #| "header files)  in order to obtain this definition.  Setting the "
6289 #| "B<_FILE_OFFSET_BITS> feature test macro to 64 (rather than using "
6290 #| "B<O_LARGEFILE>)  is the preferred method of obtaining method of accessing "
6291 #| "large files on 32-bit systems (see B<feature_test_macros>(7))."
6292 msgid ""
6293 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6294 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6295 "macro must be defined (before including I<any> header files)  in order to "
6296 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6297 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6298 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6299 msgstr ""
6300 "(LFS)  I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる) "
6301 "ファイルをオープン可能にする。 この定義を有効にするためには、 (「どの」ヘッダ"
6302 "ファイルをインクルードするよりも前に)  B<_LARGEFILE64_SOURCE> マクロを定義し"
6303 "なければならない。 32ビットシステムにおいて大きなファイルにアクセスする方法を"
6304 "得たい場合、 (B<O_LARGEFILE> を使うよりも)  B<_FILE_OFFSET_BITS> 機能検査マク"
6305 "ロをセットする方が望ましい方法である (B<feature_test_macros>(7)  を参照)。"
6306
6307 #. type: TP
6308 #: build/C/man2/open.2:391
6309 #, no-wrap
6310 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6311 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6312
6313 #.  The O_NOATIME flag also affects the treatment of st_atime
6314 #.  by mmap() and readdir(2), MTK, Dec 04.
6315 #. type: Plain text
6316 #: build/C/man2/open.2:402
6317 msgid ""
6318 "Do not update the file last access time (st_atime in the inode)  when the "
6319 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6320 "programs, where its use can significantly reduce the amount of disk "
6321 "activity.  This flag may not be effective on all file systems.  One example "
6322 "is NFS, where the server maintains the access time."
6323 msgstr ""
6324 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6325 "st_atime) を更新しない。 このフラグはインデックス作成やバックアッププログラム"
6326 "で使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすこと"
6327 "ができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6328 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6329
6330 #. type: TP
6331 #: build/C/man2/open.2:402
6332 #, no-wrap
6333 msgid "B<O_NOCTTY>"
6334 msgstr "B<O_NOCTTY>"
6335
6336 #. type: Plain text
6337 #: build/C/man2/open.2:410
6338 #, fuzzy
6339 #| msgid ""
6340 #| "If I<pathname> refers to a terminal device \\(em see B<tty>(4)  \\(em it "
6341 #| "will not become the process's controlling terminal even if the process "
6342 #| "does not have one."
6343 msgid ""
6344 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(em it will "
6345 "not become the process's controlling terminal even if the process does not "
6346 "have one."
6347 msgstr ""
6348 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4)  参照 \\(em を指してい"
6349 "る場合に、たとえそのプロセスが制御端末を持っていなくても、 オープンしたファイ"
6350 "ルは制御端末にはならない。"
6351
6352 #. type: TP
6353 #: build/C/man2/open.2:410
6354 #, no-wrap
6355 msgid "B<O_NOFOLLOW>"
6356 msgstr "B<O_NOFOLLOW>"
6357
6358 #.  The headers from glibc 2.0.100 and later include a
6359 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6360 #.  used\fP.
6361 #. type: Plain text
6362 #: build/C/man2/open.2:419
6363 msgid ""
6364 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6365 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6366 "earlier components of the pathname will still be followed."
6367 msgstr ""
6368 "I<pathname> がシンボリック・リンクだった場合、オープンは失敗する。 これは "
6369 "FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
6370 "ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
6371 "が シンボリック・リンクである場合には、それが指す先が参照される。"
6372
6373 #. type: TP
6374 #: build/C/man2/open.2:419
6375 #, no-wrap
6376 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6377 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6378
6379 #. type: Plain text
6380 #: build/C/man2/open.2:432
6381 msgid ""
6382 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6383 "()  nor any subsequent operations on the file descriptor which is returned "
6384 "will cause the calling process to wait.  For the handling of FIFOs (named "
6385 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6386 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6387 "see B<fcntl>(2)."
6388 msgstr ""
6389 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。 B<open>"
6390 "()  も、返したファイル・ディスクリプタに対する以後のすべての操作も 呼び出した"
6391 "プロセスを待たせることはない。 FIFO (ネームド・パイプ) を扱う場合には B<fifo>"
6392 "(7)  も参照すること。 強制ファイルロック (mandatory file lock) やファイルリー"
6393 "ス (file lease)  と組み合わせた場合の、 B<O_NONBLOCK> の効果についての議論"
6394 "は、 B<fcntl>(2)  を参照すること。"
6395
6396 #. type: TP
6397 #: build/C/man2/open.2:432
6398 #, no-wrap
6399 msgid "B<O_SYNC>"
6400 msgstr "B<O_SYNC>"
6401
6402 #. type: Plain text
6403 #: build/C/man2/open.2:440
6404 msgid ""
6405 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6406 "file descriptor will block the calling process until the data has been "
6407 "physically written to the underlying hardware.  I<But see NOTES below>."
6408 msgstr ""
6409 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6410 "ファイル・ディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセ"
6411 "スをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下"
6412 "の「注意」の章も参照。>"
6413
6414 #. type: TP
6415 #: build/C/man2/open.2:440
6416 #, no-wrap
6417 msgid "B<O_TRUNC>"
6418 msgstr "B<O_TRUNC>"
6419
6420 #. type: Plain text
6421 #: build/C/man2/open.2:454
6422 msgid ""
6423 "If the file already exists and is a regular file and the open mode allows "
6424 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6425 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6426 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6427 msgstr ""
6428 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6429 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6430 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6431 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6432 "ある。"
6433
6434 #. type: Plain text
6435 #: build/C/man2/open.2:458
6436 msgid ""
6437 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6438 "file has been opened."
6439 msgstr ""
6440 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6441 "用して変更することができる。"
6442
6443 #. type: Plain text
6444 #: build/C/man2/open.2:466
6445 msgid ""
6446 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6447 "O_WRONLY|O_TRUNC>."
6448 msgstr ""
6449 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6450 "を行うのと等価である。"
6451
6452 #. type: Plain text
6453 #: build/C/man2/open.2:474
6454 msgid ""
6455 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6456 "occurred (in which case, I<errno> is set appropriately)."
6457 msgstr ""
6458 "B<open>()  と B<creat>()  は新しいファイル・ディスクリプタを返す。 エラーが発"
6459 "生した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6460
6461 #. type: Plain text
6462 #: build/C/man2/open.2:484
6463 msgid ""
6464 "The requested access to the file is not allowed, or search permission is "
6465 "denied for one of the directories in the path prefix of I<pathname>, or the "
6466 "file did not exist yet and write access to the parent directory is not "
6467 "allowed.  (See also B<path_resolution>(7).)"
6468 msgstr ""
6469 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6470 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6471 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6472 "すること。)"
6473
6474 #. type: Plain text
6475 #: build/C/man2/open.2:490
6476 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6477 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6478
6479 #. type: Plain text
6480 #: build/C/man2/open.2:494 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6481 msgid "I<pathname> points outside your accessible address space."
6482 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6483
6484 #. type: TP
6485 #: build/C/man2/open.2:494 build/C/man2/write.2:139
6486 #, no-wrap
6487 msgid "B<EFBIG>"
6488 msgstr "B<EFBIG>"
6489
6490 #. type: Plain text
6491 #: build/C/man2/open.2:498
6492 msgid "See B<EOVERFLOW>."
6493 msgstr "B<EOVERFLOW> 参照。"
6494
6495 #. type: TP
6496 #: build/C/man2/open.2:498 build/C/man2/read.2:104 build/C/man3/scanf.3:559
6497 #: build/C/man3/tmpfile.3:59 build/C/man2/write.2:144
6498 #, no-wrap
6499 msgid "B<EINTR>"
6500 msgstr "B<EINTR>"
6501
6502 #. type: Plain text
6503 #: build/C/man2/open.2:505
6504 msgid ""
6505 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6506 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6507 "(7)."
6508 msgstr ""
6509 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6510 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6511 "B<signal>(7)  参照。"
6512
6513 #. type: TP
6514 #: build/C/man2/open.2:505 build/C/man2/read.2:140 build/C/man2/rename.2:140
6515 #: build/C/man2/unlink.2:87
6516 #, no-wrap
6517 msgid "B<EISDIR>"
6518 msgstr "B<EISDIR>"
6519
6520 #. type: Plain text
6521 #: build/C/man2/open.2:514
6522 msgid ""
6523 "I<pathname> refers to a directory and the access requested involved writing "
6524 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6525 msgstr ""
6526 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6527 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6528
6529 #. type: Plain text
6530 #: build/C/man2/open.2:521
6531 msgid ""
6532 "Too many symbolic links were encountered in resolving I<pathname>, or "
6533 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6534 msgstr ""
6535 "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。 または "
6536 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6537
6538 #. type: TP
6539 #: build/C/man2/open.2:521 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:62
6540 #, no-wrap
6541 msgid "B<EMFILE>"
6542 msgstr "B<EMFILE>"
6543
6544 #. type: Plain text
6545 #: build/C/man2/open.2:524
6546 msgid "The process already has the maximum number of files open."
6547 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6548
6549 #. type: Plain text
6550 #: build/C/man2/open.2:528 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6551 msgid "I<pathname> was too long."
6552 msgstr "I<pathname> が長過ぎる。"
6553
6554 #. type: TP
6555 #: build/C/man2/open.2:528 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:65
6556 #, no-wrap
6557 msgid "B<ENFILE>"
6558 msgstr "B<ENFILE>"
6559
6560 #. type: Plain text
6561 #: build/C/man2/open.2:531 build/C/man2/pipe.2:113
6562 msgid "The system limit on the total number of open files has been reached."
6563 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6564
6565 #. type: TP
6566 #: build/C/man2/open.2:531
6567 #, no-wrap
6568 msgid "B<ENODEV>"
6569 msgstr "B<ENODEV>"
6570
6571 #. type: Plain text
6572 #: build/C/man2/open.2:538
6573 msgid ""
6574 "I<pathname> refers to a device special file and no corresponding device "
6575 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6576 "returned.)"
6577 msgstr ""
6578 "I<pathname> がデバイス・スペシャル・ファイルを参照しており、対応するデバイス"
6579 "が存在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返"
6580 "されるべきである)"
6581
6582 #. type: Plain text
6583 #: build/C/man2/open.2:545
6584 msgid ""
6585 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6586 "component in I<pathname> does not exist or is a dangling symbolic link."
6587 msgstr ""
6588 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6589 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリック・"
6590 "リンクである。"
6591
6592 #. type: Plain text
6593 #: build/C/man2/open.2:554
6594 msgid ""
6595 "I<pathname> was to be created but the device containing I<pathname> has no "
6596 "room for the new file."
6597 msgstr ""
6598 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6599 "ファイルのための空き容量がない。"
6600
6601 #. type: Plain text
6602 #: build/C/man2/open.2:561
6603 msgid ""
6604 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6605 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6606 msgstr ""
6607 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6608 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6609
6610 #. type: Plain text
6611 #: build/C/man2/open.2:567
6612 msgid ""
6613 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
6614 "has the file open for reading.  Or, the file is a device special file and no "
6615 "corresponding device exists."
6616 msgstr ""
6617 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
6618 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
6619 "イルがデバイス・スペシャル・ファイルで 対応するデバイスが存在しない。"
6620
6621 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
6622 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
6623 #.  Reported 2006-10-03
6624 #. type: Plain text
6625 #: build/C/man2/open.2:587
6626 msgid ""
6627 "I<pathname> refers to a regular file that is too large to be opened.  The "
6628 "usual scenario here is that an application compiled on a 32-bit platform "
6629 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
6630 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
6631 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
6632 "B<EFBIG> for this case."
6633 msgstr ""
6634 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
6635 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
6636 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
6637 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
6638 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
6639 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
6640 "いた。"
6641
6642 #.  Strictly speaking, it's the file system UID... (MTK)
6643 #. type: Plain text
6644 #: build/C/man2/open.2:595
6645 msgid ""
6646 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
6647 "did not match the owner of the file and the caller was not privileged "
6648 "(B<CAP_FOWNER>)."
6649 msgstr ""
6650 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
6651 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
6652
6653 #. type: Plain text
6654 #: build/C/man2/open.2:600
6655 msgid ""
6656 "I<pathname> refers to a file on a read-only file system and write access was "
6657 "requested."
6658 msgstr ""
6659 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
6660 "込みアクセスが要求された。"
6661
6662 #. type: TP
6663 #: build/C/man2/open.2:600
6664 #, no-wrap
6665 msgid "B<ETXTBSY>"
6666 msgstr "B<ETXTBSY>"
6667
6668 #. type: Plain text
6669 #: build/C/man2/open.2:605
6670 msgid ""
6671 "I<pathname> refers to an executable image which is currently being executed "
6672 "and write access was requested."
6673 msgstr ""
6674 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
6675
6676 #. type: TP
6677 #: build/C/man2/open.2:605
6678 #, no-wrap
6679 msgid "B<EWOULDBLOCK>"
6680 msgstr "B<EWOULDBLOCK>"
6681
6682 #. type: Plain text
6683 #: build/C/man2/open.2:612
6684 msgid ""
6685 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
6686 "the file (see B<fcntl>(2))."
6687 msgstr ""
6688 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
6689 "ていた (B<fcntl>(2)  参照)。"
6690
6691 #. type: Plain text
6692 #: build/C/man2/open.2:625
6693 msgid ""
6694 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
6695 "B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
6696 "B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
6697 "definitions."
6698 msgstr ""
6699 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
6700 "B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
6701 "は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
6702 "定義する必要があるかもしれない。"
6703
6704 #. type: Plain text
6705 #: build/C/man2/open.2:630
6706 msgid ""
6707 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
6708 "POSIX.1-2008."
6709 msgstr ""
6710 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
6711 "定されている。"
6712
6713 #. type: Plain text
6714 #: build/C/man2/open.2:638
6715 msgid ""
6716 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
6717 "(before including I<any> header files)  to get its definition."
6718 msgstr ""
6719 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
6720 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
6721 "なければならない。"
6722
6723 #. type: Plain text
6724 #: build/C/man2/open.2:646
6725 msgid ""
6726 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
6727 "does not necessarily have the intention to read or write.  This is typically "
6728 "used to open devices in order to get a file descriptor for use with B<ioctl>"
6729 "(2)."
6730 msgstr ""
6731 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
6732 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
6733 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
6734 "られる。"
6735
6736 #.  See for example util-linux's disk-utils/setfdprm.c
6737 #.  For some background on access mode 3, see
6738 #.  http://thread.gmane.org/gmane.linux.kernel/653123
6739 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
6740 #.  LKML, 12 Mar 2008
6741 #. type: Plain text
6742 #: build/C/man2/open.2:675
6743 msgid ""
6744 "Unlike the other values that can be specified in I<flags>, the I<access "
6745 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
6746 "individual bits.  Rather, they define the low order two bits of I<flags>, "
6747 "and are defined respectively as 0, 1, and 2.  In other words, the "
6748 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
6749 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
6750 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
6751 "and write permission on the file and return a descriptor that can't be used "
6752 "for reading or writing.  This nonstandard access mode is used by some Linux "
6753 "drivers to return a descriptor that is only to be used for device-specific "
6754 "B<ioctl>(2)  operations."
6755 msgstr ""
6756 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
6757 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
6758 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
6759 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
6760 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
6761 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
6762 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
6763 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
6764 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで使用され"
6765 "ており、 デバイス固有の B<ioctl>(2)  操作にのみ使用されるディスクリプタを返す"
6766 "ために使われている。"
6767
6768 #.  Linux 2.0, 2.5: truncate
6769 #.  Solaris 5.7, 5.8: truncate
6770 #.  Irix 6.5: truncate
6771 #.  Tru64 5.1B: truncate
6772 #.  HP-UX 11.22: truncate
6773 #.  FreeBSD 4.7: truncate
6774 #. type: Plain text
6775 #: build/C/man2/open.2:686
6776 msgid ""
6777 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
6778 "implementations.  On many systems the file is actually truncated."
6779 msgstr ""
6780 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
6781 "くのシステムではファイルは実際に切り詰められる。"
6782
6783 #. type: Plain text
6784 #: build/C/man2/open.2:690
6785 msgid ""
6786 "There are many infelicities in the protocol underlying NFS, affecting "
6787 "amongst others B<O_SYNC> and B<O_NDELAY>."
6788 msgstr ""
6789 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
6790 "B<O_NDELAY> に影響する。"
6791
6792 #. type: Plain text
6793 #: build/C/man2/open.2:712
6794 msgid ""
6795 "POSIX provides for three different variants of synchronized I/O, "
6796 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
6797 "(2.6.31), Linux only implements B<O_SYNC>, but glibc maps B<O_DSYNC> and "
6798 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
6799 "systems don't actually implement the POSIX B<O_SYNC> semantics, which "
6800 "require all metadata updates of a write to be on disk on returning to "
6801 "userspace, but only the B<O_DSYNC> semantics, which require only actual file "
6802 "data and metadata necessary to retrieve it to be on disk by the time the "
6803 "system call returns."
6804 msgstr ""
6805 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
6806 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
6807 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
6808 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
6809 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
6810 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
6811 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
6812 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
6813 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
6814 "ていればよい。"
6815
6816 #. type: Plain text
6817 #: build/C/man2/open.2:720
6818 msgid ""
6819 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
6820 "create them; use B<mknod>(2)  instead."
6821 msgstr ""
6822 "B<open>()  はスペシャル・ファイルをオープンすることができるが、 B<creat>()  "
6823 "でスペシャル・ファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  "
6824 "を使用する。"
6825
6826 #. type: Plain text
6827 #: build/C/man2/open.2:733
6828 msgid ""
6829 "On NFS file systems with UID mapping enabled, B<open>()  may return a file "
6830 "descriptor but, for example, B<read>(2)  requests are denied with "
6831 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
6832 "permissions, but UID mapping is performed by the server upon read and write "
6833 "requests."
6834 msgstr ""
6835 "UID マッピングを使用している NFS ファイル・システムでは、 B<open>()  がファイ"
6836 "ル・ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合"
6837 "がある。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行"
6838 "するが、読み込みや書き込みの際には サーバーで UID マッピングが行われるためで"
6839 "ある。"
6840
6841 #. type: Plain text
6842 #: build/C/man2/open.2:752
6843 msgid ""
6844 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
6845 "fields (respectively, time of last access, time of last status change, and "
6846 "time of last modification; see B<stat>(2))  are set to the current time, and "
6847 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
6848 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
6849 "st_ctime and st_mtime fields are set to the current time."
6850 msgstr ""
6851 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
6852 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
6853 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
6854 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
6855 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
6856 "I<st_mtime> フィールドが現在時刻に設定される。"
6857
6858 #. type: SS
6859 #: build/C/man2/open.2:752
6860 #, no-wrap
6861 msgid "O_DIRECT"
6862 msgstr "O_DIRECT"
6863
6864 #. type: Plain text
6865 #: build/C/man2/open.2:769
6866 msgid ""
6867 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
6868 "address of userspace buffers and the file offset of I/Os.  In Linux "
6869 "alignment restrictions vary by file system and kernel version and might be "
6870 "absent entirely.  However there is currently no file system-independent "
6871 "interface for an application to discover these restrictions for a given file "
6872 "or file system.  Some file systems provide their own interfaces for doing "
6873 "so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
6874 msgstr ""
6875 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
6876 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
6877 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
6878 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
6879 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
6880 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
6881 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
6882 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
6883
6884 #. type: Plain text
6885 #: build/C/man2/open.2:775
6886 msgid ""
6887 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
6888 "the file offset must all be multiples of the logical block size of the file "
6889 "system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
6890 msgstr ""
6891 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
6892 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
6893 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
6894
6895 #. type: Plain text
6896 #: build/C/man2/open.2:785
6897 msgid ""
6898 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
6899 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
6900 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
6901 "flag of the same name, but without alignment restrictions."
6902 msgstr ""
6903 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
6904 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
6905 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
6906 "ラグを導入したが、アラインメントの制限はない。"
6907
6908 #. type: Plain text
6909 #: build/C/man2/open.2:794
6910 msgid ""
6911 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
6912 "Linux kernels simply ignore this flag.  Some file systems may not implement "
6913 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
6914 msgstr ""
6915 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
6916 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
6917 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
6918 "と B<open>()  は B<EINVAL> で失敗する。"
6919
6920 #. type: Plain text
6921 #: build/C/man2/open.2:805
6922 msgid ""
6923 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
6924 "file, and especially to overlapping byte regions in the same file.  Even "
6925 "when the file system correctly handles the coherency issues in this "
6926 "situation, overall I/O throughput is likely to be slower than using either "
6927 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
6928 "with direct I/O to the same files."
6929 msgstr ""
6930 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
6931 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
6932 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
6933 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
6934 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
6935 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
6936
6937 #. type: Plain text
6938 #: build/C/man2/open.2:827
6939 msgid ""
6940 "The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
6941 "Older kernels, or kernels configured in certain ways, may not support this "
6942 "combination.  The NFS protocol does not support passing the flag to the "
6943 "server, so B<O_DIRECT> I/O will only bypass the page cache on the client; "
6944 "the server may still cache the I/O.  The client asks the server to make the "
6945 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
6946 "servers will perform poorly under these circumstances, especially if the I/O "
6947 "size is small.  Some servers may also be configured to lie to clients about "
6948 "the I/O having reached stable storage; this will avoid the performance "
6949 "penalty at some risk to data integrity in the event of server power "
6950 "failure.  The Linux NFS client places no alignment restrictions on "
6951 "B<O_DIRECT> I/O."
6952 msgstr ""
6953 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
6954 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
6955 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
6956 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
6957 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
6958 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
6959 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
6960 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
6961 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
6962 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
6963 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
6964 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
6965
6966 #. type: Plain text
6967 #: build/C/man2/open.2:834
6968 msgid ""
6969 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
6970 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
6971 "as a performance option which is disabled by default."
6972 msgstr ""
6973 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
6974 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
6975 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
6976
6977 #. type: Plain text
6978 #: build/C/man2/open.2:839
6979 #, fuzzy
6980 #| msgid ""
6981 #| "\"The thing that has always disturbed me about O_DIRECT is that the whole "
6982 #| "interface is just stupid, and was probably designed by a deranged monkey "
6983 #| "on some serious mind-controlling substances.\" \\(em Linus"
6984 msgid ""
6985 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
6986 "interface is just stupid, and was probably designed by a deranged monkey on "
6987 "some serious mind-controlling substances.\"\\(emLinus"
6988 msgstr ""
6989 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
6990 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
6991 "な」 \\(em Linus"
6992
6993 #.  FIXME . Check bugzilla report on open(O_ASYNC)
6994 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
6995 #. type: Plain text
6996 #: build/C/man2/open.2:851
6997 msgid ""
6998 "Currently, it is not possible to enable signal-driven I/O by specifying "
6999 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7000 msgstr ""
7001 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7002 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7003 "すること。"
7004
7005 #. type: Plain text
7006 #: build/C/man2/open.2:873
7007 msgid ""
7008 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7009 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7010 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7011 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7012 msgstr ""
7013 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7014 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7015 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7016 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7017
7018 #. type: TH
7019 #: build/C/man3/perror.3:30
7020 #, no-wrap
7021 msgid "PERROR"
7022 msgstr "PERROR"
7023
7024 #. type: Plain text
7025 #: build/C/man3/perror.3:33
7026 msgid "perror - print a system error message"
7027 msgstr "perror - システムエラーメッセージを出力する"
7028
7029 #. type: Plain text
7030 #: build/C/man3/perror.3:37
7031 msgid "B<void perror(const char *>I<s>B<);>"
7032 msgstr "B<void perror(const char *>I<s>B<);>"
7033
7034 #. type: Plain text
7035 #: build/C/man3/perror.3:39
7036 msgid "B<#include E<lt>errno.hE<gt>>"
7037 msgstr "B<#include E<lt>errno.hE<gt>>"
7038
7039 #. type: Plain text
7040 #: build/C/man3/perror.3:41
7041 msgid "B<const char *>I<sys_errlist>B<[];>"
7042 msgstr "B<const char *>I<sys_errlist>B<[];>"
7043
7044 #. type: Plain text
7045 #: build/C/man3/perror.3:43
7046 msgid "B<int >I<sys_nerr>B<;>"
7047 msgstr "B<int >I<sys_nerr>B<;>"
7048
7049 #. type: Plain text
7050 #: build/C/man3/perror.3:45
7051 msgid "B<int >I<errno>B<;>"
7052 msgstr "B<int >I<errno>B<;>"
7053
7054 #. type: Plain text
7055 #: build/C/man3/perror.3:54
7056 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7057 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7058
7059 #. type: Plain text
7060 #: build/C/man3/perror.3:67
7061 msgid ""
7062 "The routine B<perror>()  produces a message on the standard error output, "
7063 "describing the last error encountered during a call to a system or library "
7064 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7065 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7066 "blank.  Then the message and a new-line."
7067 msgstr ""
7068 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7069 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7070 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7071 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7072 "メッセージと改行が出力される。"
7073
7074 #. type: Plain text
7075 #: build/C/man3/perror.3:75
7076 msgid ""
7077 "To be of most use, the argument string should include the name of the "
7078 "function that incurred the error.  The error number is taken from the "
7079 "external variable I<errno>, which is set when errors occur but not cleared "
7080 "when successful calls are made."
7081 msgstr ""
7082 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7083 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7084 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7085
7086 #. type: Plain text
7087 #: build/C/man3/perror.3:86
7088 msgid ""
7089 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7090 "obtain the error message without the newline.  The largest message number "
7091 "provided in the table is I<sys_nerr> -1.  Be careful when directly accessing "
7092 "this list because new error values may not have been added to I<sys_errlist>"
7093 "[]."
7094 msgstr ""
7095 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、この"
7096 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセージ"
7097 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意すること。"
7098 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7099 "る。"
7100
7101 #. type: Plain text
7102 #: build/C/man3/perror.3:107
7103 msgid ""
7104 "When a system call fails, it usually returns -1 and sets the variable "
7105 "I<errno> to a value describing what went wrong.  (These values can be found "
7106 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7107 "B<perror>()  serves to translate this error code into human-readable form.  "
7108 "Note that I<errno> is undefined after a successful library call: this call "
7109 "may well change this variable, even though it succeeds, for example because "
7110 "it internally used some other library function that failed.  Thus, if a "
7111 "failing call is not immediately followed by a call to B<perror>(), the value "
7112 "of I<errno> should be saved."
7113 msgstr ""
7114 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7115 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7116 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7117 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7118 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7119 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7120 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7121 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7122 "い。"
7123
7124 #. type: Plain text
7125 #: build/C/man3/perror.3:120
7126 msgid ""
7127 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7128 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7129 "I<sys_errlist> conform to BSD."
7130 msgstr ""
7131 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7132 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7133 "に準拠している。"
7134
7135 #.  and only when _BSD_SOURCE is defined.
7136 #.  When
7137 #.  .B _GNU_SOURCE
7138 #.  is defined, the symbols
7139 #.  .I _sys_nerr
7140 #.  and
7141 #.  .I _sys_errlist
7142 #.  are provided.
7143 #. type: Plain text
7144 #: build/C/man3/perror.3:135
7145 msgid ""
7146 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7147 "I<E<lt>stdio.hE<gt>>."
7148 msgstr ""
7149 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7150 "I<E<lt>stdio.hE<gt>> に含まれている。"
7151
7152 #. type: Plain text
7153 #: build/C/man3/perror.3:140
7154 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7155 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7156
7157 #. type: TH
7158 #: build/C/man2/pipe.2:36
7159 #, no-wrap
7160 msgid "PIPE"
7161 msgstr "PIPE"
7162
7163 #. type: TH
7164 #: build/C/man2/pipe.2:36
7165 #, fuzzy, no-wrap
7166 #| msgid "2010-02-03"
7167 msgid "2012-02-14"
7168 msgstr "2010-02-03"
7169
7170 #. type: Plain text
7171 #: build/C/man2/pipe.2:39
7172 msgid "pipe, pipe2 - create pipe"
7173 msgstr "pipe, pipe2 - パイプを生成する"
7174
7175 #. type: Plain text
7176 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7177 #, no-wrap
7178 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7179 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7180
7181 #. type: Plain text
7182 #: build/C/man2/pipe.2:44
7183 #, no-wrap
7184 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7185 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7186
7187 #. type: Plain text
7188 #: build/C/man2/pipe.2:48
7189 #, fuzzy, no-wrap
7190 #| msgid ""
7191 #| "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7192 #| "B<#include E<lt>unistd.hE<gt>>\n"
7193 msgid ""
7194 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7195 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7196 "B<#include E<lt>unistd.hE<gt>>\n"
7197 msgstr ""
7198 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7199 "B<#include E<lt>unistd.hE<gt>>\n"
7200
7201 #. type: Plain text
7202 #: build/C/man2/pipe.2:50
7203 #, no-wrap
7204 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7205 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7206
7207 #. type: Plain text
7208 #: build/C/man2/pipe.2:66
7209 msgid ""
7210 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7211 "for interprocess communication.  The array I<pipefd> is used to return two "
7212 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7213 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7214 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7215 "until it is read from the read end of the pipe.  For further details, see "
7216 "B<pipe>(7)."
7217 msgstr ""
7218 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7219 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7220 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7221 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7222 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7223 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7224
7225 #. type: Plain text
7226 #: build/C/man2/pipe.2:76
7227 msgid ""
7228 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7229 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7230 msgstr ""
7231 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7232 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7233 "きる。"
7234
7235 #. type: TP
7236 #: build/C/man2/pipe.2:76
7237 #, no-wrap
7238 msgid "B<O_NONBLOCK>"
7239 msgstr "B<O_NONBLOCK>"
7240
7241 #. type: Plain text
7242 #: build/C/man2/pipe.2:84
7243 msgid ""
7244 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7245 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7246 "the same result."
7247 msgstr ""
7248 "新しく生成される二つのオープンファイル記述 (open file description) の "
7249 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7250 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7251 "なる。"
7252
7253 #. type: TP
7254 #: build/C/man2/pipe.2:84
7255 #, no-wrap
7256 msgid "B<O_CLOEXEC>"
7257 msgstr "B<O_CLOEXEC>"
7258
7259 #. type: Plain text
7260 #: build/C/man2/pipe.2:92
7261 msgid ""
7262 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7263 "descriptors.  See the description of the same flag in B<open>(2)  for "
7264 "reasons why this may be useful."
7265 msgstr ""
7266 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7267 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7268 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7269
7270 #. type: Plain text
7271 #: build/C/man2/pipe.2:102
7272 msgid "I<pipefd> is not valid."
7273 msgstr "I<pipefd> が無効な値である。"
7274
7275 #. type: Plain text
7276 #: build/C/man2/pipe.2:107
7277 msgid "(B<pipe2>())  Invalid value in I<flags>."
7278 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7279
7280 #. type: Plain text
7281 #: build/C/man2/pipe.2:110
7282 msgid "Too many file descriptors are in use by the process."
7283 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7284
7285 #. type: Plain text
7286 #: build/C/man2/pipe.2:118
7287 msgid ""
7288 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7289 "starting with version 2.9."
7290 msgstr ""
7291 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7292 "はバージョン 2.9 以降で利用できる。"
7293
7294 #. type: Plain text
7295 #: build/C/man2/pipe.2:121
7296 msgid "B<pipe>(): POSIX.1-2001."
7297 msgstr "B<pipe>(): POSIX.1-2001."
7298
7299 #. type: Plain text
7300 #: build/C/man2/pipe.2:124
7301 msgid "B<pipe2>()  is Linux-specific."
7302 msgstr "B<pipe2>()  は Linux 固有である。"
7303
7304 #.  fork.2 refers to this example program.
7305 #. type: Plain text
7306 #: build/C/man2/pipe.2:140
7307 msgid ""
7308 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7309 "process; the child inherits a duplicate set of file descriptors that refer "
7310 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7311 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7312 "the string contained in the program's command-line argument to the pipe, and "
7313 "the child reads this string a byte at a time from the pipe and echoes it on "
7314 "standard output."
7315 msgstr ""
7316 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7317 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7318 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7319 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7320 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7321 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7322
7323 #. type: Plain text
7324 #: build/C/man2/pipe.2:147
7325 #, no-wrap
7326 msgid ""
7327 "#include E<lt>sys/wait.hE<gt>\n"
7328 "#include E<lt>stdio.hE<gt>\n"
7329 "#include E<lt>stdlib.hE<gt>\n"
7330 "#include E<lt>unistd.hE<gt>\n"
7331 "#include E<lt>string.hE<gt>\n"
7332 msgstr ""
7333 "#include E<lt>sys/wait.hE<gt>\n"
7334 "#include E<lt>stdio.hE<gt>\n"
7335 "#include E<lt>stdlib.hE<gt>\n"
7336 "#include E<lt>unistd.hE<gt>\n"
7337 "#include E<lt>string.hE<gt>\n"
7338
7339 #. type: Plain text
7340 #: build/C/man2/pipe.2:154
7341 #, no-wrap
7342 msgid ""
7343 "int\n"
7344 "main(int argc, char *argv[])\n"
7345 "{\n"
7346 "    int pipefd[2];\n"
7347 "    pid_t cpid;\n"
7348 "    char buf;\n"
7349 msgstr ""
7350 "int\n"
7351 "main(int argc, char *argv[])\n"
7352 "{\n"
7353 "    int pipefd[2];\n"
7354 "    pid_t cpid;\n"
7355 "    char buf;\n"
7356
7357 #. type: Plain text
7358 #: build/C/man2/pipe.2:159
7359 #, no-wrap
7360 msgid ""
7361 "    if (argc != 2) {\n"
7362 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7363 "\texit(EXIT_FAILURE);\n"
7364 "    }\n"
7365 msgstr ""
7366 "    if (argc != 2) {\n"
7367 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7368 "\texit(EXIT_FAILURE);\n"
7369 "    }\n"
7370
7371 #. type: Plain text
7372 #: build/C/man2/pipe.2:164
7373 #, no-wrap
7374 msgid ""
7375 "    if (pipe(pipefd) == -1) {\n"
7376 "        perror(\"pipe\");\n"
7377 "        exit(EXIT_FAILURE);\n"
7378 "    }\n"
7379 msgstr ""
7380 "    if (pipe(pipefd) == -1) {\n"
7381 "        perror(\"pipe\");\n"
7382 "        exit(EXIT_FAILURE);\n"
7383 "    }\n"
7384
7385 #. type: Plain text
7386 #: build/C/man2/pipe.2:170
7387 #, no-wrap
7388 msgid ""
7389 "    cpid = fork();\n"
7390 "    if (cpid == -1) {\n"
7391 "        perror(\"fork\");\n"
7392 "        exit(EXIT_FAILURE);\n"
7393 "    }\n"
7394 msgstr ""
7395 "    cpid = fork();\n"
7396 "    if (cpid == -1) {\n"
7397 "        perror(\"fork\");\n"
7398 "        exit(EXIT_FAILURE);\n"
7399 "    }\n"
7400
7401 #. type: Plain text
7402 #: build/C/man2/pipe.2:173
7403 #, no-wrap
7404 msgid ""
7405 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7406 "        close(pipefd[1]);          /* Close unused write end */\n"
7407 msgstr ""
7408 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7409 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7410
7411 #. type: Plain text
7412 #: build/C/man2/pipe.2:176
7413 #, no-wrap
7414 msgid ""
7415 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7416 "            write(STDOUT_FILENO, &buf, 1);\n"
7417 msgstr ""
7418 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7419 "            write(STDOUT_FILENO, &buf, 1);\n"
7420
7421 #. type: Plain text
7422 #: build/C/man2/pipe.2:180
7423 #, no-wrap
7424 msgid ""
7425 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7426 "        close(pipefd[0]);\n"
7427 "        _exit(EXIT_SUCCESS);\n"
7428 msgstr ""
7429 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7430 "        close(pipefd[0]);\n"
7431 "        _exit(EXIT_SUCCESS);\n"
7432
7433 #. type: Plain text
7434 #: build/C/man2/pipe.2:189
7435 #, no-wrap
7436 msgid ""
7437 "    } else {            /* Parent writes argv[1] to pipe */\n"
7438 "        close(pipefd[0]);          /* Close unused read end */\n"
7439 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7440 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7441 "        wait(NULL);                /* Wait for child */\n"
7442 "        exit(EXIT_SUCCESS);\n"
7443 "    }\n"
7444 "}\n"
7445 msgstr ""
7446 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7447 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7448 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7449 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7450 "        wait(NULL);                /* 子プロセスを待つ */\n"
7451 "        exit(EXIT_SUCCESS);\n"
7452 "    }\n"
7453 "}\n"
7454
7455 #. type: Plain text
7456 #: build/C/man2/pipe.2:197
7457 msgid ""
7458 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7459 "(7)"
7460 msgstr ""
7461 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7462 "(7)"
7463
7464 #. type: TH
7465 #: build/C/man3/popen.3:38
7466 #, no-wrap
7467 msgid "POPEN"
7468 msgstr "POPEN"
7469
7470 #. type: TH
7471 #: build/C/man3/popen.3:38
7472 #, no-wrap
7473 msgid "2010-02-03"
7474 msgstr "2010-02-03"
7475
7476 #. type: Plain text
7477 #: build/C/man3/popen.3:41
7478 msgid "popen, pclose - pipe stream to or from a process"
7479 msgstr "popen, pclose - プロセスとの入力/出力用のパイプ・ストリーム"
7480
7481 #. type: Plain text
7482 #: build/C/man3/popen.3:46
7483 #, no-wrap
7484 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7485 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7486
7487 #. type: Plain text
7488 #: build/C/man3/popen.3:48
7489 #, no-wrap
7490 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7491 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7492
7493 #. type: Plain text
7494 #: build/C/man3/popen.3:58
7495 msgid "B<popen>(), B<pclose>():"
7496 msgstr "B<popen>(), B<pclose>():"
7497
7498 #. type: Plain text
7499 #: build/C/man3/popen.3:60
7500 msgid ""
7501 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7502 msgstr ""
7503 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7504
7505 #. type: Plain text
7506 #: build/C/man3/popen.3:71
7507 msgid ""
7508 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7509 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7510 "I<type> argument may specify only reading or writing, not both; the "
7511 "resulting stream is correspondingly read-only or write-only."
7512 msgstr ""
7513 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7514 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7515 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7516 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7517 "たは 書き込み専用のいずれかとなる。"
7518
7519 #. type: Plain text
7520 #: build/C/man3/popen.3:95
7521 msgid ""
7522 "The I<command> argument is a pointer to a null-terminated string containing "
7523 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
7524 "flag; interpretation, if any, is performed by the shell.  The I<type> "
7525 "argument is a pointer to a null-terminated string which must contain either "
7526 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
7527 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
7528 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
7529 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
7530 "B<open>(2)  for reasons why this may be useful."
7531 msgstr ""
7532 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
7533 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
7534 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
7535 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
7536 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
7537 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
7538 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
7539 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
7540 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7541
7542 #. type: Plain text
7543 #: build/C/man3/popen.3:111
7544 msgid ""
7545 "The return value from B<popen>()  is a normal standard I/O stream in all "
7546 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
7547 "(3).  Writing to such a stream writes to the standard input of the command; "
7548 "the command's standard output is the same as that of the process that called "
7549 "B<popen>(), unless this is altered by the command itself.  Conversely, "
7550 "reading from a \"popened\" stream reads the command's standard output, and "
7551 "the command's standard input is the same as that of the process that called "
7552 "B<popen>()."
7553 msgstr ""
7554 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
7555 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
7556 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
7557 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
7558 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
7559 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
7560 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
7561 "セスの標準入力と同一である。"
7562
7563 #. type: Plain text
7564 #: build/C/man3/popen.3:115
7565 msgid "Note that output B<popen>()  streams are fully buffered by default."
7566 msgstr ""
7567 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
7568 "に注意しよう。"
7569
7570 #. type: Plain text
7571 #: build/C/man3/popen.3:121
7572 msgid ""
7573 "The B<pclose>()  function waits for the associated process to terminate and "
7574 "returns the exit status of the command as returned by B<wait4>(2)."
7575 msgstr ""
7576 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
7577 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
7578
7579 #. type: Plain text
7580 #: build/C/man3/popen.3:129
7581 msgid ""
7582 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
7583 "calls fail, or if it cannot allocate memory."
7584 msgstr ""
7585 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
7586 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
7587
7588 #.  These conditions actually give undefined results, so I commented
7589 #.  them out.
7590 #.  .I stream
7591 #.  is not associated with a "popen()ed" command, if
7592 #. .I stream
7593 #.  already "pclose()d", or if
7594 #. type: Plain text
7595 #: build/C/man3/popen.3:141
7596 msgid ""
7597 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
7598 "some other error is detected."
7599 msgstr ""
7600 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
7601 "かった場合、 -1 を返す。"
7602
7603 #. type: Plain text
7604 #: build/C/man3/popen.3:160
7605 msgid ""
7606 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
7607 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
7608 "appropriately.  If the I<type> argument is invalid, and this condition is "
7609 "detected, I<errno> is set to B<EINVAL>."
7610 msgstr ""
7611 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
7612 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
7613 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
7614 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
7615
7616 #. type: Plain text
7617 #: build/C/man3/popen.3:167
7618 msgid ""
7619 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
7620 msgstr ""
7621 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
7622 "B<ECHILD> にセットされる。"
7623
7624 #. type: Plain text
7625 #: build/C/man3/popen.3:173
7626 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
7627 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
7628
7629 #. type: Plain text
7630 #: build/C/man3/popen.3:186
7631 msgid ""
7632 "Since the standard input of a command opened for reading shares its seek "
7633 "offset with the process that called B<popen>(), if the original process has "
7634 "done a buffered read, the command's input position may not be as expected.  "
7635 "Similarly, the output from a command opened for writing may become "
7636 "intermingled with that of the original process.  The latter can be avoided "
7637 "by calling B<fflush>(3)  before B<popen>()."
7638 msgstr ""
7639 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
7640 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
7641 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
7642 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
7643 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
7644 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
7645
7646 #.  .SH HISTORY
7647 #.  A
7648 #.  .BR popen ()
7649 #.  and a
7650 #.  .BR pclose ()
7651 #.  function appeared in Version 7 AT&T UNIX.
7652 #. type: Plain text
7653 #: build/C/man3/popen.3:196
7654 msgid ""
7655 "Failure to execute the shell is indistinguishable from the shell's failure "
7656 "to execute command, or an immediate exit of the command.  The only hint is "
7657 "an exit status of 127."
7658 msgstr ""
7659 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
7660 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
7661 "なることである。"
7662
7663 #. type: Plain text
7664 #: build/C/man3/popen.3:206
7665 msgid ""
7666 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7667 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7668 msgstr ""
7669 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7670 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7671
7672 #. type: TH
7673 #: build/C/man3/printf.3:34
7674 #, no-wrap
7675 msgid "PRINTF"
7676 msgstr "PRINTF"
7677
7678 #. type: TH
7679 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man3/scanf.3:50
7680 #, no-wrap
7681 msgid "2011-09-28"
7682 msgstr "2011-09-28"
7683
7684 #. type: Plain text
7685 #: build/C/man3/printf.3:38
7686 msgid ""
7687 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7688 "formatted output conversion"
7689 msgstr ""
7690 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7691 "指定された書式に変換して出力を行う"
7692
7693 #. type: Plain text
7694 #: build/C/man3/printf.3:42
7695 msgid "B<int printf(const char *>I<format>B<, ...);>"
7696 msgstr "B<int printf(const char *>I<format>B<, ...);>"
7697
7698 #. type: Plain text
7699 #: build/C/man3/printf.3:44
7700 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7701 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7702
7703 #. type: Plain text
7704 #: build/C/man3/printf.3:46
7705 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7706 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7707
7708 #. type: Plain text
7709 #: build/C/man3/printf.3:48
7710 msgid ""
7711 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7712 "*>I<format>B<, ...);>"
7713 msgstr ""
7714 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7715 "*>I<format>B<, ...);>"
7716
7717 #. type: Plain text
7718 #: build/C/man3/printf.3:50
7719 msgid "B<#include E<lt>stdarg.hE<gt>>"
7720 msgstr "B<#include E<lt>stdarg.hE<gt>>"
7721
7722 #. type: Plain text
7723 #: build/C/man3/printf.3:52
7724 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7725 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7726
7727 #. type: Plain text
7728 #: build/C/man3/printf.3:54
7729 msgid ""
7730 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7731 ">I<ap>B<);>"
7732 msgstr ""
7733 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7734 ">I<ap>B<);>"
7735
7736 #. type: Plain text
7737 #: build/C/man3/printf.3:56
7738 msgid ""
7739 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7740 msgstr ""
7741 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7742
7743 #. type: Plain text
7744 #: build/C/man3/printf.3:59
7745 msgid ""
7746 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7747 "*>I<format>B<, va_list >I<ap>B<);>"
7748 msgstr ""
7749 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7750 "*>I<format>B<, va_list >I<ap>B<);>"
7751
7752 #. type: Plain text
7753 #: build/C/man3/printf.3:68
7754 msgid "B<snprintf>(), B<vsnprintf>():"
7755 msgstr "B<snprintf>(), B<vsnprintf>():"
7756
7757 #. type: Plain text
7758 #: build/C/man3/printf.3:71
7759 msgid ""
7760 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7761 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7762 msgstr ""
7763 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7764 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7765
7766 #. type: Plain text
7767 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:83
7768 msgid "or I<cc -std=c99>"
7769 msgstr "or I<cc -std=c99>"
7770
7771 #. type: Plain text
7772 #: build/C/man3/printf.3:101
7773 msgid ""
7774 "The functions in the B<printf>()  family produce output according to a "
7775 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
7776 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
7777 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
7778 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
7779 "string I<str>."
7780 msgstr ""
7781 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
7782 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
7783 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
7784 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7785 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
7786
7787 #. type: Plain text
7788 #: build/C/man3/printf.3:110
7789 msgid ""
7790 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
7791 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
7792 msgstr ""
7793 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
7794 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
7795
7796 #. type: Plain text
7797 #: build/C/man3/printf.3:134
7798 msgid ""
7799 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
7800 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
7801 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
7802 "instead of a variable number of arguments.  These functions do not call the "
7803 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
7804 "I<ap> is undefined after the call.  See B<stdarg>(3)."
7805 msgstr ""
7806 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
7807 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
7808 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
7809 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
7810 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
7811 "(3)  を参照のこと。"
7812
7813 #. type: Plain text
7814 #: build/C/man3/printf.3:141
7815 msgid ""
7816 "These eight functions write the output under the control of a I<format> "
7817 "string that specifies how subsequent arguments (or arguments accessed via "
7818 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
7819 "output."
7820 msgstr ""
7821 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
7822 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
7823 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
7824
7825 #. type: Plain text
7826 #: build/C/man3/printf.3:152
7827 msgid ""
7828 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
7829 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
7830 "copying to take place between objects that overlap (e.g., if the target "
7831 "string array and one of the supplied input arguments refer to the same "
7832 "buffer).  See NOTES."
7833 msgstr ""
7834 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7835 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
7836 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
7837 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
7838 "照。"
7839
7840 #. type: SS
7841 #: build/C/man3/printf.3:152
7842 #, no-wrap
7843 msgid "Return value"
7844 msgstr "Return Values"
7845
7846 #. type: Plain text
7847 #: build/C/man3/printf.3:155
7848 msgid ""
7849 "Upon successful return, these functions return the number of characters "
7850 "printed (excluding the null byte used to end output to strings)."
7851 msgstr ""
7852 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
7853 "用する NULL バイトは数に含まれない)。"
7854
7855 #. type: Plain text
7856 #: build/C/man3/printf.3:171
7857 msgid ""
7858 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
7859 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
7860 "the output was truncated due to this limit then the return value is the "
7861 "number of characters (excluding the terminating null byte)  which would have "
7862 "been written to the final string if enough space had been available.  Thus, "
7863 "a return value of I<size> or more means that the output was truncated.  (See "
7864 "also below under NOTES.)"
7865 msgstr ""
7866 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
7867 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
7868 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
7869 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
7870 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
7871 "する (後述の注意も参照のこと)。"
7872
7873 #. type: Plain text
7874 #: build/C/man3/printf.3:173
7875 msgid "If an output error is encountered, a negative value is returned."
7876 msgstr "エラーが発生した場合は、負の数を返す。"
7877
7878 #. type: SS
7879 #: build/C/man3/printf.3:173
7880 #, no-wrap
7881 msgid "Format of the format string"
7882 msgstr "フォーマット文字列のフォーマット"
7883
7884 #. type: Plain text
7885 #: build/C/man3/printf.3:195
7886 msgid ""
7887 "The format string is a character string, beginning and ending in its initial "
7888 "shift state, if any.  The format string is composed of zero or more "
7889 "directives: ordinary characters (not B<%>), which are copied unchanged to "
7890 "the output stream; and conversion specifications, each of which results in "
7891 "fetching zero or more subsequent arguments.  Each conversion specification "
7892 "is introduced by the character B<%>, and ends with a I<conversion "
7893 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
7894 "an optional minimum I<field width>, an optional I<precision> and an optional "
7895 "I<length modifier>."
7896 msgstr ""
7897 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
7898 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
7899 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
7900 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
7901 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
7902 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
7903 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
7904 "子> を (この順序で) 置くことができる。"
7905
7906 #. type: Plain text
7907 #: build/C/man3/printf.3:208
7908 msgid ""
7909 "The arguments must correspond properly (after type promotion) with the "
7910 "conversion specifier.  By default, the arguments are used in the order "
7911 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
7912 "next argument (and it is an error if insufficiently many arguments are "
7913 "given).  One can also specify explicitly which argument is taken, at each "
7914 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
7915 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
7916 "denotes the position in the argument list of the desired argument, indexed "
7917 "starting from 1.  Thus,"
7918 msgstr ""
7919 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
7920 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
7921 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
7922 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
7923 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
7924 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
7925 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
7926
7927 #. type: Plain text
7928 #: build/C/man3/printf.3:212
7929 #, no-wrap
7930 msgid "printf(\"%*d\", width, num);\n"
7931 msgstr "printf(\"%*d\", width, num);\n"
7932
7933 #. type: Plain text
7934 #: build/C/man3/printf.3:216
7935 msgid "and"
7936 msgstr "と"
7937
7938 #. type: Plain text
7939 #: build/C/man3/printf.3:220
7940 #, no-wrap
7941 msgid "printf(\"%2$*1$d\", width, num);\n"
7942 msgstr "printf(\"%2$*1$d\", width, num);\n"
7943
7944 #. type: Plain text
7945 #: build/C/man3/printf.3:236
7946 msgid ""
7947 "are equivalent.  The second style allows repeated references to the same "
7948 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
7949 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
7950 "\\(aq is used, it must be used throughout for all conversions taking an "
7951 "argument and all width and precision arguments, but it may be mixed with \"%%"
7952 "\" formats which do not consume an argument.  There may be no gaps in the "
7953 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
7954 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
7955 "format string."
7956 msgstr ""
7957 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
7958 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
7959 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
7960 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
7961 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
7962 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
7963 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
7964
7965 #. type: Plain text
7966 #: build/C/man3/printf.3:246
7967 msgid ""
7968 "For some numeric conversions a radix character (\"decimal point\") or "
7969 "thousands' grouping character is used.  The actual character used depends on "
7970 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
7971 "radix character, and does not have a grouping character.  Thus,"
7972 msgstr ""
7973 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
7974 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
7975 "\\(aq を用い、 区切り文字は使わない。 従って、"
7976
7977 #. type: Plain text
7978 #: build/C/man3/printf.3:250
7979 #, no-wrap
7980 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
7981 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
7982
7983 #. type: Plain text
7984 #: build/C/man3/printf.3:255
7985 msgid ""
7986 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
7987 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
7988 msgstr ""
7989 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
7990 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
7991
7992 #. type: SS
7993 #: build/C/man3/printf.3:255
7994 #, no-wrap
7995 msgid "The flag characters"
7996 msgstr "フラグ文字"
7997
7998 #. type: Plain text
7999 #: build/C/man3/printf.3:257
8000 msgid "The character % is followed by zero or more of the following flags:"
8001 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8002
8003 #. type: TP
8004 #: build/C/man3/printf.3:257
8005 #, no-wrap
8006 msgid "B<#>"
8007 msgstr "B<#>"
8008
8009 #. type: Plain text
8010 #: build/C/man3/printf.3:291
8011 msgid ""
8012 "The value should be converted to an \"alternate form\".  For B<o> "
8013 "conversions, the first character of the output string is made zero (by "
8014 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8015 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8016 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8017 "conversions, the result will always contain a decimal point, even if no "
8018 "digits follow it (normally, a decimal point appears in the results of those "
8019 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8020 "trailing zeros are not removed from the result as they would otherwise be.  "
8021 "For other conversions, the result is undefined."
8022 msgstr ""
8023 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8024 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8025 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8026 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8027 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8028 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8029 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8030 "変換では、結果は未定義である。"
8031
8032 #. type: TP
8033 #: build/C/man3/printf.3:291
8034 #, no-wrap
8035 msgid "B<\\&0>"
8036 msgstr "B<\\&0>"
8037
8038 #. type: Plain text
8039 #: build/C/man3/printf.3:331
8040 msgid ""
8041 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8042 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8043 "converted value is padded on the left with zeros rather than blanks.  If the "
8044 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8045 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8046 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8047 "is undefined."
8048 msgstr ""
8049 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8050 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8051 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8052 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8053 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8054 "である。"
8055
8056 #. type: TP
8057 #: build/C/man3/printf.3:331
8058 #, no-wrap
8059 msgid "B<->"
8060 msgstr "B<->"
8061
8062 #. type: Plain text
8063 #: build/C/man3/printf.3:344
8064 msgid ""
8065 "The converted value is to be left adjusted on the field boundary.  (The "
8066 "default is right justification.)  Except for B<n> conversions, the converted "
8067 "value is padded on the right with blanks, rather than on the left with "
8068 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8069 msgstr ""
8070 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8071 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8072 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8073
8074 #. type: TP
8075 #: build/C/man3/printf.3:344
8076 #, no-wrap
8077 msgid "B<\\(aq \\(aq>"
8078 msgstr "B<' '>"
8079
8080 #. type: Plain text
8081 #: build/C/man3/printf.3:348
8082 msgid ""
8083 "(a space) A blank should be left before a positive number (or empty string) "
8084 "produced by a signed conversion."
8085 msgstr ""
8086 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8087 "列) が置かれる。"
8088
8089 #. type: TP
8090 #: build/C/man3/printf.3:348
8091 #, no-wrap
8092 msgid "B<+>"
8093 msgstr "B<+>"
8094
8095 #. type: Plain text
8096 #: build/C/man3/printf.3:356
8097 msgid ""
8098 "A sign (+ or -) should always be placed before a number produced by a signed "
8099 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8100 "overrides a space if both are used."
8101 msgstr ""
8102 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8103 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8104 "が使われている場合には、 B<+> が優先される。"
8105
8106 #. type: Plain text
8107 #: build/C/man3/printf.3:359
8108 msgid ""
8109 "The five flag characters above are defined in the C standard.  The SUSv2 "
8110 "specifies one further flag character."
8111 msgstr ""
8112 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8113 "グ文字が規定されている。"
8114
8115 #. type: TP
8116 #: build/C/man3/printf.3:359
8117 #, no-wrap
8118 msgid "B<\\(aq>"
8119 msgstr "B<\\(aq>"
8120
8121 #. type: Plain text
8122 #: build/C/man3/printf.3:376
8123 msgid ""
8124 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8125 "output is to be grouped with thousands' grouping characters if the locale "
8126 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8127 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8128 "\\(aqF>."
8129 msgstr ""
8130 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8131 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8132 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8133 "\\(aqF は SUSv2 には含まれていない。"
8134
8135 #. type: Plain text
8136 #: build/C/man3/printf.3:378
8137 msgid "glibc 2.2 adds one further flag character."
8138 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8139
8140 #. type: TP
8141 #: build/C/man3/printf.3:378
8142 #, no-wrap
8143 msgid "B<I>"
8144 msgstr "B<I>"
8145
8146 #.  outdigits keyword in locale file
8147 #. type: Plain text
8148 #: build/C/man3/printf.3:388
8149 msgid ""
8150 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8151 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8152 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8153 msgstr ""
8154 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8155 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8156 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8157
8158 #. type: SS
8159 #: build/C/man3/printf.3:388
8160 #, no-wrap
8161 msgid "The field width"
8162 msgstr "フィールド幅"
8163
8164 #. type: Plain text
8165 #: build/C/man3/printf.3:404
8166 msgid ""
8167 "An optional decimal digit string (with nonzero first digit) specifying a "
8168 "minimum field width.  If the converted value has fewer characters than the "
8169 "field width, it will be padded with spaces on the left (or right, if the "
8170 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8171 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8172 "the field width is given in the next argument, or in the I<m>-th argument, "
8173 "respectively, which must be of type I<int>.  A negative field width is taken "
8174 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8175 "nonexistent or small field width cause truncation of a field; if the result "
8176 "of a conversion is wider than the field width, the field is expanded to "
8177 "contain the conversion result."
8178 msgstr ""
8179 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8180 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8181 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8182 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8183 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8184 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8185 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8186 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8187 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8188 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8189
8190 #. type: SS
8191 #: build/C/man3/printf.3:404
8192 #, no-wrap
8193 msgid "The precision"
8194 msgstr "精度"
8195
8196 #. type: Plain text
8197 #: build/C/man3/printf.3:440
8198 msgid ""
8199 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8200 "optional decimal digit string.  Instead of a decimal digit string one may "
8201 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8202 "precision is given in the next argument, or in the m-th argument, "
8203 "respectively, which must be of type I<int>.  If the precision is given as "
8204 "just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
8205 "zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
8206 "B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
8207 "the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
8208 "the maximum number of significant digits for B<g> and B<G> conversions, or "
8209 "the maximum number of characters to be printed from a string for B<s> and "
8210 "B<S> conversions."
8211 msgstr ""
8212 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8213 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8214 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8215 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8216 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8217 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8218 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8219 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8220 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8221 "る最大文字数を指定する。"
8222
8223 #. type: SS
8224 #: build/C/man3/printf.3:440
8225 #, no-wrap
8226 msgid "The length modifier"
8227 msgstr "長さ修飾子"
8228
8229 #. type: Plain text
8230 #: build/C/man3/printf.3:450
8231 msgid ""
8232 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8233 "B<X> conversion."
8234 msgstr ""
8235 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8236
8237 #. type: TP
8238 #: build/C/man3/printf.3:450 build/C/man3/scanf.3:291
8239 #, no-wrap
8240 msgid "B<hh>"
8241 msgstr "B<hh>"
8242
8243 #. type: Plain text
8244 #: build/C/man3/printf.3:461
8245 msgid ""
8246 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8247 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8248 "I<signed char> argument."
8249 msgstr ""
8250 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8251 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8252
8253 #. type: TP
8254 #: build/C/man3/printf.3:461 build/C/man3/scanf.3:281
8255 #, no-wrap
8256 msgid "B<h>"
8257 msgstr "B<h>"
8258
8259 #. type: Plain text
8260 #: build/C/man3/printf.3:472
8261 msgid ""
8262 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8263 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8264 "to a I<short int> argument."
8265 msgstr ""
8266 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8267 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8268
8269 #. type: TP
8270 #: build/C/man3/printf.3:472 build/C/man3/scanf.3:308
8271 #, no-wrap
8272 msgid "B<l>"
8273 msgstr "B<l>"
8274
8275 #. type: Plain text
8276 #: build/C/man3/printf.3:491
8277 msgid ""
8278 "(ell) A following integer conversion corresponds to a I<long int> or "
8279 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8280 "a pointer to a I<long int> argument, or a following B<c> conversion "
8281 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8282 "corresponds to a pointer to I<wchar_t> argument."
8283 msgstr ""
8284 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8285 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8286 "変換では I<wchar_t> へのポインタであることを示す。"
8287
8288 #. type: TP
8289 #: build/C/man3/printf.3:491
8290 #, no-wrap
8291 msgid "B<ll>"
8292 msgstr "B<ll> (エルエル)"
8293
8294 #. type: Plain text
8295 #: build/C/man3/printf.3:503
8296 msgid ""
8297 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8298 "or I<unsigned long long int> argument, or a following B<n> conversion "
8299 "corresponds to a pointer to a I<long long int> argument."
8300 msgstr ""
8301 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8302 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8303
8304 #. type: TP
8305 #: build/C/man3/printf.3:503 build/C/man3/scanf.3:335
8306 #, no-wrap
8307 msgid "B<L>"
8308 msgstr "B<L>"
8309
8310 #. type: Plain text
8311 #: build/C/man3/printf.3:519
8312 msgid ""
8313 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8314 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8315 "not.)"
8316 msgstr ""
8317 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8318 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8319 "認められていない。)"
8320
8321 #. type: TP
8322 #: build/C/man3/printf.3:519 build/C/man3/scanf.3:351
8323 #, no-wrap
8324 msgid "B<q>"
8325 msgstr "B<q>"
8326
8327 #. type: Plain text
8328 #: build/C/man3/printf.3:525
8329 msgid ""
8330 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8331 "B<ll>."
8332 msgstr ""
8333 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8334 "意味である。"
8335
8336 #. type: TP
8337 #: build/C/man3/printf.3:525 build/C/man3/scanf.3:299
8338 #, no-wrap
8339 msgid "B<j>"
8340 msgstr "B<j>"
8341
8342 #. type: Plain text
8343 #: build/C/man3/printf.3:532
8344 msgid ""
8345 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8346 "argument."
8347 msgstr ""
8348 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8349
8350 #. type: TP
8351 #: build/C/man3/printf.3:532 build/C/man3/scanf.3:363
8352 #, no-wrap
8353 msgid "B<z>"
8354 msgstr "B<z>"
8355
8356 #. type: Plain text
8357 #: build/C/man3/printf.3:543
8358 msgid ""
8359 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8360 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8361 msgstr ""
8362 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8363 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8364
8365 #. type: TP
8366 #: build/C/man3/printf.3:543 build/C/man3/scanf.3:356
8367 #, no-wrap
8368 msgid "B<t>"
8369 msgstr "B<t>"
8370
8371 #. type: Plain text
8372 #: build/C/man3/printf.3:548
8373 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8374 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8375
8376 #. type: Plain text
8377 #: build/C/man3/printf.3:577
8378 msgid ""
8379 "The SUSv2 only knows about the length modifiers B<h> (in B<hd>, B<hi>, "
8380 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8381 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8382 msgstr ""
8383 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8384 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8385 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8386
8387 #. type: SS
8388 #: build/C/man3/printf.3:577
8389 #, no-wrap
8390 msgid "The conversion specifier"
8391 msgstr "変換指定子"
8392
8393 #. type: Plain text
8394 #: build/C/man3/printf.3:580
8395 msgid ""
8396 "A character that specifies the type of conversion to be applied.  The "
8397 "conversion specifiers and their meanings are:"
8398 msgstr ""
8399 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8400
8401 #. type: TP
8402 #: build/C/man3/printf.3:580
8403 #, no-wrap
8404 msgid "B<d>, B<i>"
8405 msgstr "B<d>, B<i>"
8406
8407 #. type: Plain text
8408 #: build/C/man3/printf.3:590
8409 msgid ""
8410 "The I<int> argument is converted to signed decimal notation.  The precision, "
8411 "if any, gives the minimum number of digits that must appear; if the "
8412 "converted value requires fewer digits, it is padded on the left with zeros.  "
8413 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8414 "the output is empty."
8415 msgstr ""
8416 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8417 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8418 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8419 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8420
8421 #. type: TP
8422 #: build/C/man3/printf.3:590
8423 #, no-wrap
8424 msgid "B<o>, B<u>, B<x>, B<X>"
8425 msgstr "B<o>, B<u>, B<x>, B<X>"
8426
8427 #. type: Plain text
8428 #: build/C/man3/printf.3:617
8429 msgid ""
8430 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8431 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8432 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8433 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8434 "of digits that must appear; if the converted value requires fewer digits, it "
8435 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8436 "printed with an explicit precision 0, the output is empty."
8437 msgstr ""
8438 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8439 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8440 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8441 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8442 "られる。"
8443
8444 #. type: TP
8445 #: build/C/man3/printf.3:617
8446 #, no-wrap
8447 msgid "B<e>, B<E>"
8448 msgstr "B<e>, B<E>"
8449
8450 #. type: Plain text
8451 #: build/C/man3/printf.3:622
8452 msgid "The I<double> argument is rounded and converted in the style"
8453 msgstr "I<double> 引き数を丸めて"
8454
8455 #. type: Plain text
8456 #: build/C/man3/printf.3:637
8457 msgid ""
8458 "[-]dB<\\&.>dddB<e>\\*(Pmdd where there is one digit before the decimal-point "
8459 "character and the number of digits after it is equal to the precision; if "
8460 "the precision is missing, it is taken as 6; if the precision is zero, no "
8461 "decimal-point character appears.  An B<E> conversion uses the letter B<E> "
8462 "(rather than B<e>)  to introduce the exponent.  The exponent always contains "
8463 "at least two digits; if the value is zero, the exponent is 00."
8464 msgstr ""
8465 "[-]dB<\\&.>dddB<e>\\*(Pmdd の形に変換する。 小数点の前には一桁の数字があり、"
8466 "小数点以下の桁数は精度で指定された 桁数になる。精度は指定されなかった場合 6 "
8467 "とみなされる。 精度が 0 の場合には、小数点以下は表示されない。 B<E> 変換で"
8468 "は、指数を表現するときに (B<e> ではなく)  B<E> が使われる。 指数部分は少なく"
8469 "とも 2桁表示される。 つまり、指数の値が 0 の場合には、00 と表示される。"
8470
8471 #. type: TP
8472 #: build/C/man3/printf.3:637
8473 #, no-wrap
8474 msgid "B<f>, B<F>"
8475 msgstr "B<f>, B<F>"
8476
8477 #. type: Plain text
8478 #: build/C/man3/printf.3:648
8479 msgid ""
8480 "The I<double> argument is rounded and converted to decimal notation in the "
8481 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8482 "character is equal to the precision specification.  If the precision is "
8483 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8484 "point character appears.  If a decimal point appears, at least one digit "
8485 "appears before it."
8486 msgstr ""
8487 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8488 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8489 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8490 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8491
8492 #. type: Plain text
8493 #: build/C/man3/printf.3:659
8494 msgid ""
8495 "(The SUSv2 does not know about B<F> and says that character string "
8496 "representations for infinity and NaN may be made available.  The C99 "
8497 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8498 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8499 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8500 msgstr ""
8501 "(SUSv2 では、\n"
8502 "B<F>\n"
8503 "は規定されておらず、無限や NaN に関する文字列表現を\n"
8504 "行ってもよいことになっている。\n"
8505 " C99 標準では、\n"
8506 "B<f>\n"
8507 "変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示し、\n"
8508 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
8509 "B<F>\n"
8510 "変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)\n"
8511
8512 #. type: TP
8513 #: build/C/man3/printf.3:659
8514 #, no-wrap
8515 msgid "B<g>, B<G>"
8516 msgstr "B<g>, B<G>"
8517
8518 #. type: Plain text
8519 #: build/C/man3/printf.3:684
8520 msgid ""
8521 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
8522 "for B<G> conversions).  The precision specifies the number of significant "
8523 "digits.  If the precision is missing, 6 digits are given; if the precision "
8524 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
8525 "conversion is less than -4 or greater than or equal to the precision.  "
8526 "Trailing zeros are removed from the fractional part of the result; a decimal "
8527 "point appears only if it is followed by at least one digit."
8528 msgstr ""
8529 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
8530 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
8531 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
8532 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
8533 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
8534 "一つある場合にだけである。"
8535
8536 #. type: TP
8537 #: build/C/man3/printf.3:684
8538 #, no-wrap
8539 msgid "B<a>, B<A>"
8540 msgstr "B<a>, B<A>"
8541
8542 #. type: Plain text
8543 #: build/C/man3/printf.3:708
8544 msgid ""
8545 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
8546 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
8547 "\\&.>hhhhB<p>\\*(Pmd; for B<A> conversion the prefix B<0X>, the letters "
8548 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
8549 "digit before the decimal point, and the number of digits after it is equal "
8550 "to the precision.  The default precision suffices for an exact "
8551 "representation of the value if an exact representation in base 2 exists and "
8552 "otherwise is sufficiently large to distinguish values of type I<double>.  "
8553 "The digit before the decimal point is unspecified for nonnormalized numbers, "
8554 "and nonzero but otherwise unspecified for normalized numbers."
8555 msgstr ""
8556 "(C99 にはあるが SUSv2 にはない)  B<a> 変換では、 I<double> 引き数を (abcdef "
8557 "の文字を使って)  [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; 形式の 16 進表記に変換す"
8558 "る。 B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。 "
8559 "小数点の前には 1桁の16進数が置かれ、小数点の後ろの桁数は 精度で指定された値と"
8560 "なる。 デフォルトの精度は、その値が 2進数で正確に表現できる場合には、 その値"
8561 "を正確に表現できる桁数となる。それ以外の場合は、 I<double> 型の値を区別するの"
8562 "に十分な大きさとなる。 小数点の前の数字は、正規化されていない数の場合はいくつ"
8563 "になるか分からない。 正規化された数の場合は、 0 以外の値になるが、いくつにな"
8564 "るかは分からない。"
8565
8566 #. type: TP
8567 #: build/C/man3/printf.3:708 build/C/man3/scanf.3:456
8568 #: build/C/man3/wprintf.3:132
8569 #, no-wrap
8570 msgid "B<c>"
8571 msgstr "B<c>"
8572
8573 #. type: Plain text
8574 #: build/C/man3/printf.3:726
8575 msgid ""
8576 "If no B<l> modifier is present, the I<int> argument is converted to an "
8577 "I<unsigned char>, and the resulting character is written.  If an B<l> "
8578 "modifier is present, the I<wint_t> (wide character) argument is converted to "
8579 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
8580 "conversion state starting in the initial state, and the resulting multibyte "
8581 "string is written."
8582 msgstr ""
8583 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
8584 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
8585 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
8586 "換し、 変換されたマルチバイト文字列を出力する。"
8587
8588 #. type: TP
8589 #: build/C/man3/printf.3:726 build/C/man3/scanf.3:448
8590 #: build/C/man3/wprintf.3:146
8591 #, no-wrap
8592 msgid "B<s>"
8593 msgstr "B<s>"
8594
8595 #. type: Plain text
8596 #: build/C/man3/printf.3:741
8597 msgid ""
8598 "If no B<l> modifier is present: The I<const char *> argument is expected to "
8599 "be a pointer to an array of character type (pointer to a string).  "
8600 "Characters from the array are written up to (but not including) a "
8601 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
8602 "than the number specified are written.  If a precision is given, no null "
8603 "byte need be present; if the precision is not specified, or is greater than "
8604 "the size of the array, the array must contain a terminating null byte."
8605 msgstr ""
8606 "B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
8607 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
8608 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
8609 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
8610 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
8611 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
8612 "なければならない。"
8613
8614 #. type: Plain text
8615 #: build/C/man3/printf.3:768
8616 msgid ""
8617 "If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
8618 "to be a pointer to an array of wide characters.  Wide characters from the "
8619 "array are converted to multibyte characters (each by a call to the B<wcrtomb>"
8620 "(3)  function, with a conversion state starting in the initial state before "
8621 "the first wide character), up to and including a terminating null wide "
8622 "character.  The resulting multibyte characters are written up to (but not "
8623 "including) the terminating null byte.  If a precision is specified, no more "
8624 "bytes than the number specified are written, but no partial multibyte "
8625 "characters are written.  Note that the precision determines the number of "
8626 "I<bytes> written, not the number of I<wide characters> or I<screen "
8627 "positions>.  The array must contain a terminating null wide character, "
8628 "unless a precision is given and it is so small that the number of bytes "
8629 "written exceeds it before the end of the array is reached."
8630 msgstr ""
8631 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
8632 "の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
8633 "に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
8634 "字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
8635 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
8636 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
8637 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
8638 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
8639 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
8640 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
8641 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
8642 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
8643 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
8644 "い。"
8645
8646 #. type: TP
8647 #: build/C/man3/printf.3:768
8648 #, no-wrap
8649 msgid "B<C>"
8650 msgstr "B<C>"
8651
8652 #. type: Plain text
8653 #: build/C/man3/printf.3:774
8654 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
8655 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
8656
8657 #. type: TP
8658 #: build/C/man3/printf.3:774
8659 #, no-wrap
8660 msgid "B<S>"
8661 msgstr "B<S>"
8662
8663 #. type: Plain text
8664 #: build/C/man3/printf.3:780
8665 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
8666 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
8667
8668 #. type: TP
8669 #: build/C/man3/printf.3:780 build/C/man3/scanf.3:500
8670 #, no-wrap
8671 msgid "B<p>"
8672 msgstr "B<p>"
8673
8674 #. type: Plain text
8675 #: build/C/man3/printf.3:788
8676 msgid ""
8677 "The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
8678 "B<%#lx>)."
8679 msgstr ""
8680 "I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
8681
8682 #. type: TP
8683 #: build/C/man3/printf.3:788 build/C/man3/scanf.3:508
8684 #, no-wrap
8685 msgid "B<n>"
8686 msgstr "B<n>"
8687
8688 #. type: Plain text
8689 #: build/C/man3/printf.3:795
8690 msgid ""
8691 "The number of characters written so far is stored into the integer indicated "
8692 "by the I<int *> (or variant) pointer argument.  No argument is converted."
8693 msgstr ""
8694 "これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
8695 "整数に保存する。 引き数の変換は行われない。"
8696
8697 #. type: TP
8698 #: build/C/man3/printf.3:795
8699 #, no-wrap
8700 msgid "B<m>"
8701 msgstr "B<m>"
8702
8703 #. type: Plain text
8704 #: build/C/man3/printf.3:801
8705 msgid ""
8706 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
8707 "required."
8708 msgstr ""
8709 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
8710
8711 #. type: TP
8712 #: build/C/man3/printf.3:801 build/C/man3/scanf.3:374
8713 #, no-wrap
8714 msgid "B<%>"
8715 msgstr "B<%>"
8716
8717 #. type: Plain text
8718 #: build/C/man3/printf.3:807
8719 msgid ""
8720 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
8721 "conversion specification is \\(aq%%\\(aq."
8722 msgstr ""
8723 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
8724 "%\" となる。"
8725
8726 #. type: Plain text
8727 #: build/C/man3/printf.3:822
8728 msgid ""
8729 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8730 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
8731 "B<vsnprintf>()  functions conform to C99."
8732 msgstr ""
8733 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8734 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
8735 "B<vsnprintf>()  は C99 に準拠している。"
8736
8737 #. type: Plain text
8738 #: build/C/man3/printf.3:835
8739 msgid ""
8740 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
8741 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
8742 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
8743 "this case, and gives the return value (as always)  as the number of "
8744 "characters that would have been written in case the output string has been "
8745 "large enough."
8746 msgstr ""
8747 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
8748 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
8749 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
8750 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
8751 "出力されるであろう文字数を返す。"
8752
8753 #. type: Plain text
8754 #: build/C/man3/printf.3:849
8755 msgid ""
8756 "Linux libc4 knows about the five C standard flags.  It knows about the "
8757 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
8758 "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 "
8759 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
8760 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
8761 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
8762 "dependent radix character, no thousands' separator, no NaN or infinity, no "
8763 "\"%m$\" and \"*m$\"."
8764 msgstr ""
8765 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
8766 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
8767 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
8768 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
8769 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
8770 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
8771 "えない。"
8772
8773 #. type: Plain text
8774 #: build/C/man3/printf.3:860
8775 msgid ""
8776 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
8777 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
8778 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
8779 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
8780 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
8781 "outputs I<strerror(errno)>."
8782 msgstr ""
8783 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
8784 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
8785 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
8786 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
8787 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
8788 "ある。"
8789
8790 #. type: Plain text
8791 #: build/C/man3/printf.3:862
8792 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
8793 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
8794
8795 #. type: Plain text
8796 #: build/C/man3/printf.3:865
8797 msgid ""
8798 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
8799 "characters B<a> and B<A>."
8800 msgstr ""
8801 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
8802 "加された。"
8803
8804 #. type: Plain text
8805 #: build/C/man3/printf.3:868
8806 msgid ""
8807 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
8808 "flag character B<I>."
8809 msgstr ""
8810 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
8811 "追加された。"
8812
8813 #. type: Plain text
8814 #: build/C/man3/printf.3:870
8815 msgid "Some programs imprudently rely on code such as the following"
8816 msgstr ""
8817 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
8818 "ラムがある。"
8819
8820 #. type: Plain text
8821 #: build/C/man3/printf.3:872
8822 #, no-wrap
8823 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
8824 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
8825
8826 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
8827 #. type: Plain text
8828 #: build/C/man3/printf.3:888
8829 msgid ""
8830 "to append text to I<buf>.  However, the standards explicitly note that the "
8831 "results are undefined if source and destination buffers overlap when calling "
8832 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
8833 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
8834 "such as the above will B<not> produce the expected results."
8835 msgstr ""
8836 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8837 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
8838 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
8839 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
8840 "結果が得られ「ない」ことがある。"
8841
8842 #.  .SH HISTORY
8843 #.  UNIX V7 defines the three routines
8844 #.  .BR printf (),
8845 #.  .BR fprintf (),
8846 #.  .BR sprintf (),
8847 #.  and has the flag \-, the width or precision *, the length modifier l,
8848 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
8849 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
8850 #.  #, + and <space> and no longer mentions D,O,U,X.
8851 #.  2.11BSD has
8852 #.  .BR vprintf (),
8853 #.  .BR vfprintf (),
8854 #.  .BR vsprintf (),
8855 #.  and warns not to use D,O,U,X.
8856 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
8857 #.  and the conversions n, p, E, G, X (with current meaning)
8858 #.  and deprecates D,O,U.
8859 #.  4.4BSD introduces the functions
8860 #.  .BR snprintf ()
8861 #.  and
8862 #.  .BR vsnprintf (),
8863 #.  and the length modifier q.
8864 #.  FreeBSD also has functions
8865 #.  .BR asprintf ()
8866 #.  and
8867 #.  .BR vasprintf (),
8868 #.  that allocate a buffer large enough for
8869 #.  .BR sprintf ().
8870 #.  In glibc there are functions
8871 #.  .BR dprintf ()
8872 #.  and
8873 #.  .BR vdprintf ()
8874 #.  that print to a file descriptor instead of a stream.
8875 #. type: Plain text
8876 #: build/C/man3/printf.3:930
8877 msgid ""
8878 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
8879 "conforms to the C99 standard, that is, behaves as described above, since "
8880 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
8881 "was truncated."
8882 msgstr ""
8883 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
8884 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
8885 "切り詰められた場合は -1 を返す。"
8886
8887 #. type: Plain text
8888 #: build/C/man3/printf.3:947
8889 msgid ""
8890 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
8891 "callers must be careful not to overflow the actual space; this is often "
8892 "impossible to assure.  Note that the length of the strings produced is "
8893 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
8894 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
8895 msgstr ""
8896 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
8897 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
8898 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
8899 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
8900 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
8901
8902 #. type: Plain text
8903 #: build/C/man3/printf.3:960
8904 msgid ""
8905 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
8906 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
8907 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
8908 "libc4 leads to serious security problems."
8909 msgstr ""
8910 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
8911 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
8912 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
8913 "深刻なセキュリティ問題を引き起こすことがある。"
8914
8915 #.  .PP
8916 #.  Some floating-point conversions under early libc4
8917 #.  caused memory leaks.
8918 #. type: Plain text
8919 #: build/C/man3/printf.3:974
8920 msgid ""
8921 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
8922 "contain a % character.  If I<foo> comes from untrusted user input, it may "
8923 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
8924 "a security hole."
8925 msgstr ""
8926 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
8927 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
8928 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
8929 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
8930 "ルを作ることになるかもしれない。"
8931
8932 #. type: Plain text
8933 #: build/C/man3/printf.3:977
8934 msgid "To print \\*(Pi to five decimal places:"
8935 msgstr "\\*(Pi を 5 桁で出力する。"
8936
8937 #. type: Plain text
8938 #: build/C/man3/printf.3:983
8939 #, no-wrap
8940 msgid ""
8941 "#include E<lt>math.hE<gt>\n"
8942 "#include E<lt>stdio.hE<gt>\n"
8943 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8944 msgstr ""
8945 "#include E<lt>math.hE<gt>\n"
8946 "#include E<lt>stdio.hE<gt>\n"
8947 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8948
8949 #. type: Plain text
8950 #: build/C/man3/printf.3:992
8951 msgid ""
8952 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
8953 "I<weekday> and I<month> are pointers to strings:"
8954 msgstr ""
8955 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
8956 "I<month> は文字列へのポインタである)"
8957
8958 #. type: Plain text
8959 #: build/C/man3/printf.3:998
8960 #, no-wrap
8961 msgid ""
8962 "#include E<lt>stdio.hE<gt>\n"
8963 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
8964 "        weekday, month, day, hour, min);\n"
8965 msgstr ""
8966 "#include E<lt>stdio.hE<gt>\n"
8967 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
8968 "\tweekday, month, day, hour, min);\n"
8969
8970 #. type: Plain text
8971 #: build/C/man3/printf.3:1004
8972 msgid ""
8973 "Many countries use the day-month-year order.  Hence, an internationalized "
8974 "version must be able to print the arguments in an order specified by the "
8975 "format:"
8976 msgstr ""
8977 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
8978 "順番で 引き数を表示できなければならない。"
8979
8980 #. type: Plain text
8981 #: build/C/man3/printf.3:1010
8982 #, no-wrap
8983 msgid ""
8984 "#include E<lt>stdio.hE<gt>\n"
8985 "fprintf(stdout, format,\n"
8986 "        weekday, month, day, hour, min);\n"
8987 msgstr ""
8988 "#include E<lt>stdio.hE<gt>\n"
8989 "fprintf(stdout, format,\n"
8990 "\tweekday, month, day, hour, min);\n"
8991
8992 #. type: Plain text
8993 #: build/C/man3/printf.3:1017
8994 msgid ""
8995 "where I<format> depends on locale, and may permute the arguments.  With the "
8996 "value:"
8997 msgstr ""
8998 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
8999 "I<format> が"
9000
9001 #. type: Plain text
9002 #: build/C/man3/printf.3:1021
9003 #, no-wrap
9004 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9005 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9006
9007 #. type: Plain text
9008 #: build/C/man3/printf.3:1025
9009 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9010 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9011
9012 #. type: Plain text
9013 #: build/C/man3/printf.3:1028
9014 msgid ""
9015 "To allocate a sufficiently large string and print into it (code correct for "
9016 "both glibc 2.0 and glibc 2.1):"
9017 msgstr ""
9018 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9019 "と glibc 2.1 の両方で正しく動作するコード):"
9020
9021 #. type: Plain text
9022 #: build/C/man3/printf.3:1033
9023 #, no-wrap
9024 msgid ""
9025 "#include E<lt>stdio.hE<gt>\n"
9026 "#include E<lt>stdlib.hE<gt>\n"
9027 "#include E<lt>stdarg.hE<gt>\n"
9028 msgstr ""
9029 "#include E<lt>stdio.hE<gt>\n"
9030 "#include E<lt>stdlib.hE<gt>\n"
9031 "#include E<lt>stdarg.hE<gt>\n"
9032
9033 #. type: Plain text
9034 #: build/C/man3/printf.3:1041
9035 #, no-wrap
9036 msgid ""
9037 "char *\n"
9038 "make_message(const char *fmt, ...)\n"
9039 "{\n"
9040 "    int n;\n"
9041 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9042 "    char *p, *np;\n"
9043 "    va_list ap;\n"
9044 msgstr ""
9045 "char *\n"
9046 "make_message(const char *fmt, ...)\n"
9047 "{\n"
9048 "    int n;\n"
9049 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9050 "    char *p, *np;\n"
9051 "    va_list ap;\n"
9052
9053 #. type: Plain text
9054 #: build/C/man3/printf.3:1044
9055 #, no-wrap
9056 msgid ""
9057 "    if ((p = malloc(size)) == NULL)\n"
9058 "        return NULL;\n"
9059 msgstr ""
9060 "    if ((p = malloc(size)) == NULL)\n"
9061 "        return NULL;\n"
9062
9063 #. type: Plain text
9064 #: build/C/man3/printf.3:1046
9065 #, no-wrap
9066 msgid "    while (1) {\n"
9067 msgstr "    while (1) {\n"
9068
9069 #. type: Plain text
9070 #: build/C/man3/printf.3:1048
9071 #, no-wrap
9072 msgid "        /* Try to print in the allocated space. */\n"
9073 msgstr "        /* Try to print in the allocated space. */\n"
9074
9075 #. type: Plain text
9076 #: build/C/man3/printf.3:1052
9077 #, no-wrap
9078 msgid ""
9079 "        va_start(ap, fmt);\n"
9080 "        n = vsnprintf(p, size, fmt, ap);\n"
9081 "        va_end(ap);\n"
9082 msgstr ""
9083 "        va_start(ap, fmt);\n"
9084 "        n = vsnprintf(p, size, fmt, ap);\n"
9085 "        va_end(ap);\n"
9086
9087 #. type: Plain text
9088 #: build/C/man3/printf.3:1054
9089 #, no-wrap
9090 msgid "        /* If that worked, return the string. */\n"
9091 msgstr "        /* If that worked, return the string. */\n"
9092
9093 #. type: Plain text
9094 #: build/C/man3/printf.3:1057
9095 #, no-wrap
9096 msgid ""
9097 "        if (n E<gt> -1 && n E<lt> size)\n"
9098 "            return p;\n"
9099 msgstr ""
9100 "        if (n E<gt> -1 && n E<lt> size)\n"
9101 "            return p;\n"
9102
9103 #. type: Plain text
9104 #: build/C/man3/printf.3:1059
9105 #, no-wrap
9106 msgid "        /* Else try again with more space. */\n"
9107 msgstr "        /* Else try again with more space. */\n"
9108
9109 #. type: Plain text
9110 #: build/C/man3/printf.3:1064
9111 #, no-wrap
9112 msgid ""
9113 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9114 "            size = n+1; /* precisely what is needed */\n"
9115 "        else           /* glibc 2.0 */\n"
9116 "            size *= 2;  /* twice the old size */\n"
9117 msgstr ""
9118 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9119 "            size = n+1; /* precisely what is needed */\n"
9120 "        else           /* glibc 2.0 */\n"
9121 "            size *= 2;  /* twice the old size */\n"
9122
9123 #. type: Plain text
9124 #: build/C/man3/printf.3:1073
9125 #, no-wrap
9126 msgid ""
9127 "        if ((np = realloc (p, size)) == NULL) {\n"
9128 "            free(p);\n"
9129 "            return NULL;\n"
9130 "        } else {\n"
9131 "            p = np;\n"
9132 "        }\n"
9133 "    }\n"
9134 "}\n"
9135 msgstr ""
9136 "        if ((np = realloc (p, size)) == NULL) {\n"
9137 "            free(p);\n"
9138 "            return NULL;\n"
9139 "        } else {\n"
9140 "            p = np;\n"
9141 "        }\n"
9142 "    }\n"
9143 "}\n"
9144
9145 #. type: Plain text
9146 #: build/C/man3/printf.3:1083
9147 msgid ""
9148 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9149 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9150 msgstr ""
9151 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9152 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9153
9154 #. type: TH
9155 #: build/C/man3/puts.3:24
9156 #, no-wrap
9157 msgid "PUTS"
9158 msgstr "PUTS"
9159
9160 #. type: Plain text
9161 #: build/C/man3/puts.3:27
9162 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9163 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9164
9165 #. type: Plain text
9166 #: build/C/man3/puts.3:32
9167 #, no-wrap
9168 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9169 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9170
9171 #. type: Plain text
9172 #: build/C/man3/puts.3:34
9173 #, no-wrap
9174 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9175 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9176
9177 #. type: Plain text
9178 #: build/C/man3/puts.3:36
9179 #, no-wrap
9180 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9181 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9182
9183 #. type: Plain text
9184 #: build/C/man3/puts.3:38
9185 #, no-wrap
9186 msgid "B<int putchar(int >I<c>B<);>\n"
9187 msgstr "B<int putchar(int >I<c>B<);>\n"
9188
9189 #. type: Plain text
9190 #: build/C/man3/puts.3:40
9191 #, no-wrap
9192 msgid "B<int puts(const char *>I<s>B<);>\n"
9193 msgstr "B<int puts(const char *>I<s>B<);>\n"
9194
9195 #. type: Plain text
9196 #: build/C/man3/puts.3:49
9197 msgid ""
9198 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9199 "I<stream>."
9200 msgstr ""
9201 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9202 "に書き込む。"
9203
9204 #. type: Plain text
9205 #: build/C/man3/puts.3:56
9206 msgid ""
9207 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9208 "null byte (\\(aq\\e0\\(aq)."
9209 msgstr ""
9210 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9211 "ト (\\(aq\\e0\\(aq) は出力しない。"
9212
9213 #. type: Plain text
9214 #: build/C/man3/puts.3:63
9215 msgid ""
9216 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9217 "a macro which evaluates I<stream> more than once."
9218 msgstr ""
9219 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9220 "れないという点を除き、 B<fputc>()  と同じである。"
9221
9222 #. type: Plain text
9223 #: build/C/man3/puts.3:67
9224 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9225 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9226
9227 #. type: Plain text
9228 #: build/C/man3/puts.3:74
9229 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9230 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9231
9232 #. type: Plain text
9233 #: build/C/man3/puts.3:79
9234 msgid ""
9235 "Calls to the functions described here can be mixed with each other and with "
9236 "calls to other output functions from the I<stdio> library for the same "
9237 "output stream."
9238 msgstr ""
9239 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9240 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9241 "る。"
9242
9243 #. type: Plain text
9244 #: build/C/man3/puts.3:94
9245 msgid ""
9246 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9247 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9248 msgstr ""
9249 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9250 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9251
9252 #. type: Plain text
9253 #: build/C/man3/puts.3:101
9254 msgid ""
9255 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9256 "on error."
9257 msgstr ""
9258 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9259 "は B<EOF> を返す。"
9260
9261 #. type: Plain text
9262 #: build/C/man3/puts.3:110
9263 msgid ""
9264 "It is not advisable to mix calls to output functions from the I<stdio> "
9265 "library with low-level calls to B<write>(2)  for the file descriptor "
9266 "associated with the same output stream; the results will be undefined and "
9267 "very probably not what you want."
9268 msgstr ""
9269 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9270 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9271 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9272 "性が高い。"
9273
9274 #. type: Plain text
9275 #: build/C/man3/puts.3:122
9276 msgid ""
9277 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9278 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9279 "(3)"
9280 msgstr ""
9281 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9282 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9283 "(3)"
9284
9285 #. type: TH
9286 #: build/C/man2/read.2:35
9287 #, no-wrap
9288 msgid "READ"
9289 msgstr "READ"
9290
9291 #. type: Plain text
9292 #: build/C/man2/read.2:38
9293 msgid "read - read from a file descriptor"
9294 msgstr "read - ファイル・ディスクリプターから読み込む"
9295
9296 #. type: Plain text
9297 #: build/C/man2/read.2:43
9298 #, no-wrap
9299 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9300 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9301
9302 #. type: Plain text
9303 #: build/C/man2/read.2:52
9304 msgid ""
9305 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9306 "into the buffer starting at I<buf>."
9307 msgstr ""
9308 "B<read>()  はファイル・ディスクリプター (file descriptor)  I<fd> から最大 "
9309 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9310
9311 #. type: Plain text
9312 #: build/C/man2/read.2:63
9313 msgid ""
9314 "If I<count> is zero, B<read>()  returns zero and has no other results.  If "
9315 "I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9316 msgstr ""
9317 "I<count> が 0 ならば、 B<read>()  は 0 を返し、他に何も起きない。 I<count> "
9318 "が B<SSIZE_MAX> より大きければ、結果は特定できない。"
9319
9320 #. type: Plain text
9321 #: build/C/man2/read.2:77
9322 msgid ""
9323 "On success, the number of bytes read is returned (zero indicates end of "
9324 "file), and the file position is advanced by this number.  It is not an error "
9325 "if this number is smaller than the number of bytes requested; this may "
9326 "happen for example because fewer bytes are actually available right now "
9327 "(maybe because we were close to end-of-file, or because we are reading from "
9328 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9329 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9330 "this case it is left unspecified whether the file position (if any) changes."
9331 msgstr ""
9332 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9333 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9334 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9335 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9336 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9337 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9338 "の場合はファイル位置が変更されるかどうかは 不定である。"
9339
9340 #. type: TP
9341 #: build/C/man2/read.2:78 build/C/man3/scanf.3:546 build/C/man2/write.2:108
9342 #, no-wrap
9343 msgid "B<EAGAIN>"
9344 msgstr "B<EAGAIN>"
9345
9346 #. type: Plain text
9347 #: build/C/man2/read.2:85
9348 msgid ""
9349 "The file descriptor I<fd> refers to a file other than a socket and has been "
9350 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9351 msgstr ""
9352 "ファイル・ディスクリプター I<fd> がソケット以外のファイルを参照していて、 非"
9353 "停止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと"
9354 "停止する状況にある。"
9355
9356 #. type: TP
9357 #: build/C/man2/read.2:85 build/C/man2/write.2:115
9358 #, no-wrap
9359 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9360 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9361
9362 #.  Actually EAGAIN on Linux
9363 #. type: Plain text
9364 #: build/C/man2/read.2:96
9365 msgid ""
9366 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9367 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9368 "to be returned for this case, and does not require these constants to have "
9369 "the same value, so a portable application should check for both "
9370 "possibilities."
9371 msgstr ""
9372 "ファイル・ディスクリプター I<fd> がソケットを参照していて、非停止 "
9373 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9374 "する状況にある。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めて"
9375 "おり、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性"
9376 "が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
9377
9378 #. type: Plain text
9379 #: build/C/man2/read.2:100
9380 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9381 msgstr ""
9382 "I<fd> が有効なファイル・ディスクリプターでないか、読み込みのために オープン "
9383 "(open) されていない。"
9384
9385 #. type: Plain text
9386 #: build/C/man2/read.2:104 build/C/man2/write.2:139
9387 msgid "I<buf> is outside your accessible address space."
9388 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9389
9390 #. type: Plain text
9391 #: build/C/man2/read.2:108
9392 msgid ""
9393 "The call was interrupted by a signal before any data was read; see B<signal>"
9394 "(7)."
9395 msgstr ""
9396 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9397
9398 #. type: Plain text
9399 #: build/C/man2/read.2:119
9400 msgid ""
9401 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9402 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9403 "I<buf>, the value specified in I<count>, or the current file offset is not "
9404 "suitably aligned."
9405 msgstr ""
9406 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9407 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9408 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9409 "ンメントが不適切である。"
9410
9411 #. type: Plain text
9412 #: build/C/man2/read.2:129
9413 msgid ""
9414 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9415 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9416 "information."
9417 msgstr ""
9418 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9419 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9420 "こと。"
9421
9422 #. type: Plain text
9423 #: build/C/man2/read.2:140
9424 msgid ""
9425 "I/O error.  This will happen for example when the process is in a background "
9426 "process group, tries to read from its controlling tty, and either it is "
9427 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9428 "also occur when there is a low-level I/O error while reading from a disk or "
9429 "tape."
9430 msgstr ""
9431 "I/O エラー。これは例えばプロセスがバックグランド・プロセス・グループで、 それ"
9432 "を制御している tty から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁"
9433 "止 (blocking) されている場合や、 そのプロセス・グループが孤立 (orphan) してい"
9434 "る場合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発"
9435 "生した場合にも起こる。"
9436
9437 #. type: Plain text
9438 #: build/C/man2/read.2:144
9439 msgid "I<fd> refers to a directory."
9440 msgstr "I<fd> がディレクトリを参照している。"
9441
9442 #. type: Plain text
9443 #: build/C/man2/read.2:155
9444 msgid ""
9445 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9446 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9447 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9448 "read."
9449 msgstr ""
9450 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9451 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9452 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9453 "数を返してもよい。"
9454
9455 #. type: Plain text
9456 #: build/C/man2/read.2:169
9457 msgid ""
9458 "On NFS file systems, reading small amounts of data will only update the "
9459 "timestamp the first time, subsequent calls may not do so.  This is caused by "
9460 "client side attribute caching, because most if not all NFS clients leave "
9461 "st_atime (last file access time)  updates to the server and client side "
9462 "reads satisfied from the client's cache will not cause st_atime updates on "
9463 "the server as there are no server side reads.  UNIX semantics can be "
9464 "obtained by disabling client side attribute caching, but in most situations "
9465 "this will substantially increase server load and decrease performance."
9466 msgstr ""
9467 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
9468 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
9469 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
9470 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
9471 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
9472 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
9473 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
9474 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
9475
9476 #. type: Plain text
9477 #: build/C/man2/read.2:178
9478 msgid ""
9479 "Many file systems and disks were considered to be fast enough that the "
9480 "implementation of B<O_NONBLOCK> was deemed unnecessary.  So, B<O_NONBLOCK> "
9481 "may not be available on files and/or disks."
9482 msgstr ""
9483 "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むくらい"
9484 "に十分に高速であると考えられている。 それでそのようなファイルやディスクには "
9485 "B<O_NONBLOCK> は利用できないかもしれない。"
9486
9487 #. type: Plain text
9488 #: build/C/man2/read.2:191
9489 msgid ""
9490 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9491 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9492 "B<fread>(3)"
9493 msgstr ""
9494 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9495 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9496 "B<fread>(3)"
9497
9498 #. type: TH
9499 #: build/C/man2/readlink.2:41
9500 #, no-wrap
9501 msgid "READLINK"
9502 msgstr "READLINK"
9503
9504 #. type: TH
9505 #: build/C/man2/readlink.2:41
9506 #, fuzzy, no-wrap
9507 #| msgid "2011-09-28"
9508 msgid "2011-09-20"
9509 msgstr "2011-09-28"
9510
9511 #. type: Plain text
9512 #: build/C/man2/readlink.2:44
9513 msgid "readlink - read value of a symbolic link"
9514 msgstr "readlink - シンボリック・リンクの値を読む"
9515
9516 #. type: Plain text
9517 #: build/C/man2/readlink.2:48
9518 msgid ""
9519 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9520 ">I<bufsiz>B<);>"
9521 msgstr ""
9522 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9523 ">I<bufsiz>B<);>"
9524
9525 #. type: Plain text
9526 #: build/C/man2/readlink.2:56
9527 msgid "B<readlink>():"
9528 msgstr "B<readlink>():"
9529
9530 #. type: Plain text
9531 #: build/C/man2/readlink.2:59 build/C/man2/symlink.2:50
9532 msgid ""
9533 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9534 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9535 msgstr ""
9536 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9537 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9538
9539 #. type: Plain text
9540 #: build/C/man2/readlink.2:75
9541 msgid ""
9542 "B<readlink>()  places the contents of the symbolic link I<path> in the "
9543 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
9544 "null byte to I<buf>.  It will truncate the contents (to a length of "
9545 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
9546 "contents."
9547 msgstr ""
9548 "B<readlink>()  は I<path> で与えられたシンボリック・リンクの内容を I<buf> "
9549 "バッファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  "
9550 "は NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが"
9551 "小さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
9552
9553 #. type: Plain text
9554 #: build/C/man2/readlink.2:83
9555 msgid ""
9556 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
9557 "error, -1 is returned and I<errno> is set to indicate the error."
9558 msgstr ""
9559 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
9560 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
9561
9562 #. type: Plain text
9563 #: build/C/man2/readlink.2:89
9564 msgid ""
9565 "Search permission is denied for a component of the path prefix.  (See also "
9566 "B<path_resolution>(7).)"
9567 msgstr ""
9568 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
9569 "参照すること)。"
9570
9571 #. type: Plain text
9572 #: build/C/man2/readlink.2:93
9573 msgid "I<buf> extends outside the process's allocated address space."
9574 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
9575
9576 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
9577 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
9578 #.  and this error can also occur if bufsiz < 0.
9579 #.  See: http://thread.gmane.org/gmane.linux.man/380
9580 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
9581 #. type: Plain text
9582 #: build/C/man2/readlink.2:102
9583 msgid "I<bufsiz> is not positive."
9584 msgstr "I<bufsiz> が正でない。"
9585
9586 #. type: Plain text
9587 #: build/C/man2/readlink.2:105
9588 msgid "The named file is not a symbolic link."
9589 msgstr "指定したファイルがシンボリック・リンクでない。"
9590
9591 #. type: Plain text
9592 #: build/C/man2/readlink.2:108
9593 msgid "An I/O error occurred while reading from the file system."
9594 msgstr "ファイル・システムの読み込み中に I/O エラーが起こった。"
9595
9596 #. type: Plain text
9597 #: build/C/man2/readlink.2:111
9598 msgid "Too many symbolic links were encountered in translating the pathname."
9599 msgstr "パス名にシンボリック・リンクが多すぎる。"
9600
9601 #. type: Plain text
9602 #: build/C/man2/readlink.2:114
9603 msgid "A pathname, or a component of a pathname, was too long."
9604 msgstr "パス名かパス名の一部分が長過ぎる。"
9605
9606 #. type: Plain text
9607 #: build/C/man2/readlink.2:117
9608 msgid "The named file does not exist."
9609 msgstr "その名前のファイルが存在しない。"
9610
9611 #. type: Plain text
9612 #: build/C/man2/readlink.2:123
9613 msgid "A component of the path prefix is not a directory."
9614 msgstr "パスのディレクトリ部分がディレクトリでない。"
9615
9616 #. type: Plain text
9617 #: build/C/man2/readlink.2:128
9618 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
9619 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
9620
9621 #. type: Plain text
9622 #: build/C/man2/readlink.2:136
9623 msgid ""
9624 "In versions of glibc up to and including glibc 2.4, the return type of "
9625 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
9626 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
9627 msgstr ""
9628 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
9629 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
9630 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
9631
9632 #. type: Plain text
9633 #: build/C/man2/readlink.2:155
9634 msgid ""
9635 "Using a statically sized buffer might not provide enough room for the "
9636 "symbolic link contents.  The required size for the buffer can be obtained "
9637 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
9638 "link.  However, the number of bytes written by B<readlink>()  should be "
9639 "checked to make sure that the size of the symbolic link did not increase "
9640 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
9641 "also addresses a common portability problem when using I<PATH_MAX> for the "
9642 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
9643 "the system does not have such limit."
9644 msgstr ""
9645
9646 #. type: Plain text
9647 #: build/C/man2/readlink.2:161
9648 msgid ""
9649 "The following program allocates the buffer needed by B<readlink>()  "
9650 "dynamically from the information provided by B<lstat>(), making sure there's "
9651 "no race condition between the calls."
9652 msgstr ""
9653
9654 #. type: Plain text
9655 #: build/C/man2/readlink.2:168
9656 #, fuzzy, no-wrap
9657 #| msgid ""
9658 #| "#include E<lt>sys/wait.hE<gt>\n"
9659 #| "#include E<lt>stdio.hE<gt>\n"
9660 #| "#include E<lt>stdlib.hE<gt>\n"
9661 #| "#include E<lt>unistd.hE<gt>\n"
9662 #| "#include E<lt>string.hE<gt>\n"
9663 msgid ""
9664 "#include E<lt>sys/types.hE<gt>\n"
9665 "#include E<lt>sys/stat.hE<gt>\n"
9666 "#include E<lt>stdio.hE<gt>\n"
9667 "#include E<lt>stdlib.hE<gt>\n"
9668 "#include E<lt>unistd.hE<gt>\n"
9669 msgstr ""
9670 "#include E<lt>sys/wait.hE<gt>\n"
9671 "#include E<lt>stdio.hE<gt>\n"
9672 "#include E<lt>stdlib.hE<gt>\n"
9673 "#include E<lt>unistd.hE<gt>\n"
9674 "#include E<lt>string.hE<gt>\n"
9675
9676 #. type: Plain text
9677 #: build/C/man2/readlink.2:175
9678 #, fuzzy, no-wrap
9679 #| msgid ""
9680 #| "int\n"
9681 #| "main(int argc, char *argv[])\n"
9682 #| "{\n"
9683 #| "    FILE *out, *in;\n"
9684 #| "    int v, s;\n"
9685 #| "    size_t size;\n"
9686 #| "    char *ptr;\n"
9687 msgid ""
9688 "int\n"
9689 "main(int argc, char *argv[])\n"
9690 "{\n"
9691 "    struct stat sb;\n"
9692 "    char *linkname;\n"
9693 "    ssize_t r;\n"
9694 msgstr ""
9695 "int\n"
9696 "main(int argc, char *argv[])\n"
9697 "{\n"
9698 "    FILE *out, *in;\n"
9699 "    int v, s;\n"
9700 "    size_t size;\n"
9701 "    char *ptr;\n"
9702
9703 #. type: Plain text
9704 #: build/C/man2/readlink.2:180
9705 #, fuzzy, no-wrap
9706 #| msgid ""
9707 #| "    if (argc != 2) {\n"
9708 #| "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
9709 #| "\texit(EXIT_FAILURE);\n"
9710 #| "    }\n"
9711 msgid ""
9712 "    if (argc != 2) {\n"
9713 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9714 "        exit(EXIT_FAILURE);\n"
9715 "    }\n"
9716 msgstr ""
9717 "    if (argc != 2) {\n"
9718 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
9719 "\texit(EXIT_FAILURE);\n"
9720 "    }\n"
9721
9722 #. type: Plain text
9723 #: build/C/man2/readlink.2:185
9724 #, fuzzy, no-wrap
9725 #| msgid ""
9726 #| "    if (pipe(pipefd) == -1) {\n"
9727 #| "        perror(\"pipe\");\n"
9728 #| "        exit(EXIT_FAILURE);\n"
9729 #| "    }\n"
9730 msgid ""
9731 "    if (lstat(argv[1], &sb) == -1) {\n"
9732 "        perror(\"lstat\");\n"
9733 "        exit(EXIT_FAILURE);\n"
9734 "    }\n"
9735 msgstr ""
9736 "    if (pipe(pipefd) == -1) {\n"
9737 "        perror(\"pipe\");\n"
9738 "        exit(EXIT_FAILURE);\n"
9739 "    }\n"
9740
9741 #. type: Plain text
9742 #: build/C/man2/readlink.2:191
9743 #, fuzzy, no-wrap
9744 #| msgid ""
9745 #| "    cpid = fork();\n"
9746 #| "    if (cpid == -1) {\n"
9747 #| "        perror(\"fork\");\n"
9748 #| "        exit(EXIT_FAILURE);\n"
9749 #| "    }\n"
9750 msgid ""
9751 "    linkname = malloc(sb.st_size + 1);\n"
9752 "    if (linkname == NULL) {\n"
9753 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9754 "        exit(EXIT_FAILURE);\n"
9755 "    }\n"
9756 msgstr ""
9757 "    cpid = fork();\n"
9758 "    if (cpid == -1) {\n"
9759 "        perror(\"fork\");\n"
9760 "        exit(EXIT_FAILURE);\n"
9761 "    }\n"
9762
9763 #. type: Plain text
9764 #: build/C/man2/readlink.2:193
9765 #, no-wrap
9766 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9767 msgstr ""
9768
9769 #. type: Plain text
9770 #: build/C/man2/readlink.2:198
9771 #, fuzzy, no-wrap
9772 #| msgid ""
9773 #| "    if (pipe(pipefd) == -1) {\n"
9774 #| "        perror(\"pipe\");\n"
9775 #| "        exit(EXIT_FAILURE);\n"
9776 #| "    }\n"
9777 msgid ""
9778 "    if (r E<lt> 0) {\n"
9779 "        perror(\"lstat\");\n"
9780 "        exit(EXIT_FAILURE);\n"
9781 "    }\n"
9782 msgstr ""
9783 "    if (pipe(pipefd) == -1) {\n"
9784 "        perror(\"pipe\");\n"
9785 "        exit(EXIT_FAILURE);\n"
9786 "    }\n"
9787
9788 #. type: Plain text
9789 #: build/C/man2/readlink.2:204
9790 #, no-wrap
9791 msgid ""
9792 "    if (r E<gt> sb.st_size) {\n"
9793 "        fprintf(stderr, \"symlink increased in size \"\n"
9794 "                        \"between lstat() and readlink()\\en\");\n"
9795 "        exit(EXIT_FAILURE);\n"
9796 "    }\n"
9797 msgstr ""
9798
9799 #. type: Plain text
9800 #: build/C/man2/readlink.2:206
9801 #, no-wrap
9802 msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9803 msgstr ""
9804
9805 #. type: Plain text
9806 #: build/C/man2/readlink.2:208
9807 #, no-wrap
9808 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9809 msgstr ""
9810
9811 #. type: Plain text
9812 #: build/C/man2/readlink.2:220
9813 #, fuzzy
9814 #| msgid ""
9815 #| "B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9816 #| "B<path_resolution>(7), B<symlink>(7)"
9817 msgid ""
9818 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9819 "B<path_resolution>(7), B<symlink>(7)"
9820 msgstr ""
9821 "B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), B<path_resolution>"
9822 "(7), B<symlink>(7)"
9823
9824 #. type: TH
9825 #: build/C/man2/readv.2:30
9826 #, no-wrap
9827 msgid "READV"
9828 msgstr "READV"
9829
9830 #. type: TH
9831 #: build/C/man2/readv.2:30
9832 #, fuzzy, no-wrap
9833 #| msgid "2002-10-17"
9834 msgid "2010-11-17"
9835 msgstr "2002-10-17"
9836
9837 #. type: Plain text
9838 #: build/C/man2/readv.2:33
9839 #, fuzzy
9840 #| msgid "readv, writev - read or write data into multiple buffers"
9841 msgid ""
9842 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
9843 msgstr "readv, writev - 複数のバッファへの読み書きを行なう"
9844
9845 #. type: Plain text
9846 #: build/C/man2/readv.2:36
9847 #, no-wrap
9848 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
9849 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
9850
9851 #. type: Plain text
9852 #: build/C/man2/readv.2:38
9853 #, no-wrap
9854 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9855 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9856
9857 #. type: Plain text
9858 #: build/C/man2/readv.2:40
9859 #, no-wrap
9860 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9861 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9862
9863 #. type: Plain text
9864 #: build/C/man2/readv.2:43
9865 #, fuzzy, no-wrap
9866 #| msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9867 msgid ""
9868 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9869 "B<               off_t >I<offset>B<);>\n"
9870 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9871
9872 #. type: Plain text
9873 #: build/C/man2/readv.2:46
9874 #, fuzzy, no-wrap
9875 #| msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9876 msgid ""
9877 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9878 "B<                off_t >I<offset>B<);>\n"
9879 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9880
9881 #. type: Plain text
9882 #: build/C/man2/readv.2:56
9883 #, fuzzy
9884 #| msgid "B<read>(2), B<write>(2)"
9885 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9886 msgstr "B<read>(2), B<write>(2)"
9887
9888 #. type: Plain text
9889 #: build/C/man2/readv.2:66
9890 #, fuzzy
9891 #| msgid ""
9892 #| "The B<readv>()  function reads I<iovcnt> buffers from the file associated "
9893 #| "with the file descriptor I<fd> into the buffers described by I<iov> "
9894 #| "(\"scatter input\")."
9895 msgid ""
9896 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
9897 "with the file descriptor I<fd> into the buffers described by I<iov> "
9898 "(\"scatter input\")."
9899 msgstr ""
9900 "B<readv>()  関数は、ファイルディスクリプタ I<fd> に関連付けられたファイルか"
9901 "ら、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定されたバッファ"
9902 "に格納する (\"scatter input\";「ばらまき入力」)。"
9903
9904 #. type: Plain text
9905 #: build/C/man2/readv.2:76
9906 #, fuzzy
9907 #| msgid ""
9908 #| "The B<writev>()  function writes I<iovcnt> buffers of data described by "
9909 #| "I<iov> to the file associated with the file descriptor I<fd> (\"gather "
9910 #| "output\")."
9911 msgid ""
9912 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
9913 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
9914 "\")."
9915 msgstr ""
9916 "B<writev>()  関数は、 I<iov> で指定されたバッファから最大 I<iovcnt> 個のバッ"
9917 "ファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付けられたファ"
9918 "イルに書き込む (\"gather output\";「かき集め出力」)。"
9919
9920 #. type: Plain text
9921 #: build/C/man2/readv.2:85
9922 msgid ""
9923 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
9924 "I<E<lt>sys/uio.hE<gt>> as:"
9925 msgstr ""
9926 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
9927 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
9928
9929 #. type: Plain text
9930 #: build/C/man2/readv.2:93
9931 #, no-wrap
9932 msgid ""
9933 "struct iovec {\n"
9934 "    void  *iov_base;    /* Starting address */\n"
9935 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9936 "};\n"
9937 msgstr ""
9938 "struct iovec {\n"
9939 "    void  *iov_base;    /* Starting address */\n"
9940 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9941 "};\n"
9942
9943 #. type: Plain text
9944 #: build/C/man2/readv.2:101
9945 #, fuzzy
9946 #| msgid ""
9947 #| "The B<readv>()  function works just like B<read>(2)  except that multiple "
9948 #| "buffers are filled."
9949 msgid ""
9950 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
9951 "buffers are filled."
9952 msgstr ""
9953 "B<readv>()  関数は、複数のバッファにデータを読み込む点を除いて B<read>(2)  と"
9954 "全く同様の動作を行う。"
9955
9956 #. type: Plain text
9957 #: build/C/man2/readv.2:107
9958 #, fuzzy
9959 #| msgid ""
9960 #| "The B<writev>()  function works just like B<write>(2)  except that "
9961 #| "multiple buffers are written out."
9962 msgid ""
9963 "The B<writev>()  system call works just like B<write>(2)  except that "
9964 "multiple buffers are written out."
9965 msgstr ""
9966 "B<writev>()  関数は、複数のバッファのデータを書き出す点以外は B<write>(2)  と"
9967 "全く同様の動作を行う。"
9968
9969 #. type: Plain text
9970 #: build/C/man2/readv.2:126
9971 msgid ""
9972 "Buffers are processed in array order.  This means that B<readv>()  "
9973 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
9974 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
9975 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
9976 "[0] before proceeding to I<iov>[1], and so on."
9977 msgstr ""
9978 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
9979 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
9980 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
9981 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
9982
9983 #. type: Plain text
9984 #: build/C/man2/readv.2:144
9985 msgid ""
9986 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
9987 "data written by B<writev>()  is written as a single block that is not "
9988 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
9989 "for an exception); analogously, B<readv>()  is guaranteed to read a "
9990 "contiguous block of data from the file, regardless of read operations "
9991 "performed in other threads or processes that have file descriptors referring "
9992 "to the same open file description (see B<open>(2))."
9993 msgstr ""
9994 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
9995 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
9996 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
9997 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
9998 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
9999 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
10000 "作の影響を受けることはない。"
10001
10002 #. type: SS
10003 #: build/C/man2/readv.2:144
10004 #, fuzzy, no-wrap
10005 #| msgid "B<read>(2), B<write>(2)"
10006 msgid "preadv() and pwritev()"
10007 msgstr "B<read>(2), B<write>(2)"
10008
10009 #. type: Plain text
10010 #: build/C/man2/readv.2:157
10011 msgid ""
10012 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
10013 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
10014 "argument, I<offset>, which specifies the file offset at which the input "
10015 "operation is to be performed."
10016 msgstr ""
10017
10018 #. type: Plain text
10019 #: build/C/man2/readv.2:170
10020 msgid ""
10021 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10022 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10023 "argument, I<offset>, which specifies the file offset at which the output "
10024 "operation is to be performed."
10025 msgstr ""
10026
10027 #. type: Plain text
10028 #: build/C/man2/readv.2:175
10029 msgid ""
10030 "The file offset is not changed by these system calls.  The file referred to "
10031 "by I<fd> must be capable of seeking."
10032 msgstr ""
10033
10034 #. type: Plain text
10035 #: build/C/man2/readv.2:186
10036 #, fuzzy
10037 #| msgid ""
10038 #| "On success, the B<readv>()  function returns the number of bytes read; "
10039 #| "the B<writev>()  function returns the number of bytes written.  On error, "
10040 #| "-1 is returned, and I<errno> is set appropriately."
10041 msgid ""
10042 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10043 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10044 "error, -1 is returned, and I<errno> is set appropriately."
10045 msgstr ""
10046 "成功した場合、 B<readv>()  関数は読み込んだバイト数を返し、 B<writev>()  関数"
10047 "は書き込んだバイト数を返す。 エラーの場合 -1 を返し、I<errno> を適切に設定す"
10048 "る。"
10049
10050 #. type: Plain text
10051 #: build/C/man2/readv.2:198
10052 #, fuzzy
10053 #| msgid ""
10054 #| "The errors are as given for B<read>(2)  and B<write>(2).  Additionally "
10055 #| "the following error is defined:"
10056 msgid ""
10057 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10058 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10059 "(2).  Additionally, the following error is defined:"
10060 msgstr ""
10061 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。 さらに以下のエラー"
10062 "が定義されている:"
10063
10064 #. type: Plain text
10065 #: build/C/man2/readv.2:207
10066 msgid ""
10067 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10068 "vector count I<iovcnt> is less than zero or greater than the permitted "
10069 "maximum."
10070 msgstr ""
10071 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10072 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10073
10074 #. type: Plain text
10075 #: build/C/man2/readv.2:212
10076 msgid ""
10077 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10078 "support was added in glibc 2.10."
10079 msgstr ""
10080
10081 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10082 #.  (Says release.libc.)
10083 #. type: Plain text
10084 #: build/C/man2/readv.2:220
10085 #, fuzzy
10086 #| msgid ""
10087 #| "4.4BSD (the B<readv>()  and B<writev>()  functions first appeared in "
10088 #| "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10089 #| "I<iovcnt> argument, and I<int> as return type for these functions."
10090 msgid ""
10091 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10092 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10093 "I<iovcnt> argument, and I<int> as the return type."
10094 msgstr ""
10095 "4.4BSD (B<readv>()  と B<writev>()  関数は 4.2BSD で最初に現われた)、"
10096 "POSIX.1-2001。 Linux libc5 では I<iovcnt> 引き数の型として I<size_t> を、 こ"
10097 "れらの関数の返り値として I<int> を使用していた。"
10098
10099 #. type: Plain text
10100 #: build/C/man2/readv.2:224
10101 msgid ""
10102 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10103 msgstr ""
10104
10105 #. type: SS
10106 #: build/C/man2/readv.2:225
10107 #, no-wrap
10108 msgid "Linux Notes"
10109 msgstr "Linux での注意"
10110
10111 #. type: Plain text
10112 #: build/C/man2/readv.2:256
10113 msgid ""
10114 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10115 "items that can be passed in I<iov>.  An implementation can advertise its "
10116 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10117 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10118 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10119 "glibc wrapper functions do some extra work if they detect that the "
10120 "underlying kernel system call failed because this limit was exceeded.  In "
10121 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10122 "large enough for all of the items specified by I<iov>, passes that buffer in "
10123 "a call to B<read>(2), copies data from the buffer to the locations specified "
10124 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10125 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10126 "using a temporary buffer and a call to B<write>(2)."
10127 msgstr ""
10128 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10129 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10130 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10131 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10132 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10133 "呼ばれるカーネル・ システムコールがこの上限を超過して失敗したことを検出する"
10134 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10135 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10136 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10137 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10138 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10139 "(2)  を呼び出す。"
10140
10141 #. type: Plain text
10142 #: build/C/man2/readv.2:263
10143 #, fuzzy
10144 #| msgid ""
10145 #| "It is not advisable to mix calls to functions like B<readv>()  or "
10146 #| "B<writev>(), which operate on file descriptors, with the functions from "
10147 #| "the stdio library; the results will be undefined and probably not what "
10148 #| "you want."
10149 msgid ""
10150 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10151 "operate on file descriptors, with the functions from the stdio library; the "
10152 "results will be undefined and probably not what you want."
10153 msgstr ""
10154 "B<readv>()  や B<writev>()  のようなファイルディスクリプタに対する操作を行う"
10155 "関数と、 標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。 "
10156 "どんな結果になるかは定義されておらず、 おそらく欲しい結果は得られないだろう。"
10157
10158 #. type: Plain text
10159 #: build/C/man2/readv.2:266
10160 msgid "The following code sample demonstrates the use of B<writev>():"
10161 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10162
10163 #. type: Plain text
10164 #: build/C/man2/readv.2:273
10165 #, no-wrap
10166 msgid ""
10167 "char *str0 = \"hello \";\n"
10168 "char *str1 = \"world\\en\";\n"
10169 "struct iovec iov[2];\n"
10170 "ssize_t nwritten;\n"
10171 msgstr ""
10172 "char *str0 = \"hello \";\n"
10173 "char *str1 = \"world\\en\";\n"
10174 "struct iovec iov[2];\n"
10175 "ssize_t nwritten;\n"
10176
10177 #. type: Plain text
10178 #: build/C/man2/readv.2:278
10179 #, no-wrap
10180 msgid ""
10181 "iov[0].iov_base = str0;\n"
10182 "iov[0].iov_len = strlen(str0);\n"
10183 "iov[1].iov_base = str1;\n"
10184 "iov[1].iov_len = strlen(str1);\n"
10185 msgstr ""
10186 "iov[0].iov_base = str0;\n"
10187 "iov[0].iov_len = strlen(str0);\n"
10188 "iov[1].iov_base = str1;\n"
10189 "iov[1].iov_len = strlen(str1);\n"
10190
10191 #. type: Plain text
10192 #: build/C/man2/readv.2:280
10193 #, no-wrap
10194 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10195 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10196
10197 #. type: Plain text
10198 #: build/C/man2/readv.2:286
10199 #, fuzzy
10200 #| msgid "B<read>(2), B<write>(2)"
10201 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10202 msgstr "B<read>(2), B<write>(2)"
10203
10204 #. type: TH
10205 #: build/C/man3/remove.3:31
10206 #, no-wrap
10207 msgid "REMOVE"
10208 msgstr "REMOVE"
10209
10210 #. type: TH
10211 #: build/C/man3/remove.3:31
10212 #, no-wrap
10213 msgid "2008-12-03"
10214 msgstr "2008-12-03"
10215
10216 #. type: Plain text
10217 #: build/C/man3/remove.3:34
10218 msgid "remove - remove a file or directory"
10219 msgstr "remove - ファイルやディレクトリを削除する"
10220
10221 #. type: Plain text
10222 #: build/C/man3/remove.3:38
10223 msgid "B<int remove(const char *>I<pathname>B<);>"
10224 msgstr "B<int remove(const char *>I<pathname>B<);>"
10225
10226 #. type: Plain text
10227 #: build/C/man3/remove.3:46
10228 msgid ""
10229 "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10230 "for files, and B<rmdir>(2)  for directories."
10231 msgstr ""
10232 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10233 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10234
10235 #. type: Plain text
10236 #: build/C/man3/remove.3:50
10237 msgid ""
10238 "If the removed name was the last link to a file and no processes have the "
10239 "file open, the file is deleted and the space it was using is made available "
10240 "for reuse."
10241 msgstr ""
10242 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10243 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10244 "ことができるようになる。"
10245
10246 #. type: Plain text
10247 #: build/C/man3/remove.3:55
10248 msgid ""
10249 "If the name was the last link to a file, but any processes still have the "
10250 "file open, the file will remain in existence until the last file descriptor "
10251 "referring to it is closed."
10252 msgstr ""
10253 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10254 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10255 "でファイルは存在し続ける。"
10256
10257 #. type: Plain text
10258 #: build/C/man3/remove.3:57
10259 msgid "If the name referred to a symbolic link, the link is removed."
10260 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10261
10262 #. type: Plain text
10263 #: build/C/man3/remove.3:60
10264 msgid ""
10265 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10266 "processes which have the object open may continue to use it."
10267 msgstr ""
10268 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10269 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10270
10271 #. type: Plain text
10272 #: build/C/man3/remove.3:70
10273 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10274 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10275
10276 #. type: Plain text
10277 #: build/C/man3/remove.3:72
10278 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10279 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10280
10281 #. type: Plain text
10282 #: build/C/man3/remove.3:78
10283 msgid ""
10284 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10285 "hence would not remove directories)."
10286 msgstr ""
10287 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10288 "(従ってディレクトリを削除できなかった)。"
10289
10290 #. type: Plain text
10291 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10292 msgid ""
10293 "Infelicities in the protocol underlying NFS can cause the unexpected "
10294 "disappearance of files which are still being used."
10295 msgstr ""
10296 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10297 "うことがありえる。"
10298
10299 #. type: Plain text
10300 #: build/C/man3/remove.3:92
10301 msgid ""
10302 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10303 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10304 msgstr ""
10305 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10306 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10307
10308 #. type: TH
10309 #: build/C/man2/rename.2:32
10310 #, no-wrap
10311 msgid "RENAME"
10312 msgstr "RENAME"
10313
10314 #. type: TH
10315 #: build/C/man2/rename.2:32
10316 #, no-wrap
10317 msgid "2009-03-30"
10318 msgstr "2009-03-30"
10319
10320 #. type: Plain text
10321 #: build/C/man2/rename.2:35
10322 msgid "rename - change the name or location of a file"
10323 msgstr "rename - ファイルの名前や位置を変更する"
10324
10325 #. type: Plain text
10326 #: build/C/man2/rename.2:39
10327 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10328 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10329
10330 #. type: Plain text
10331 #: build/C/man2/rename.2:48
10332 msgid ""
10333 "B<rename>()  renames a file, moving it between directories if required.  Any "
10334 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10335 "Open file descriptors for I<oldpath> are also unaffected."
10336 msgstr ""
10337 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10338 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10339 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10340 "リプタにも影響はない。"
10341
10342 #. type: Plain text
10343 #: build/C/man2/rename.2:56
10344 msgid ""
10345 "If I<newpath> already exists it will be atomically replaced (subject to a "
10346 "few conditions; see ERRORS below), so that there is no point at which "
10347 "another process attempting to access I<newpath> will find it missing."
10348 msgstr ""
10349 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10350 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10351 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10352 "とはない (訳註: 常にアクセス可能である)。"
10353
10354 #. type: Plain text
10355 #: build/C/man2/rename.2:64
10356 msgid ""
10357 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10358 "file, then B<rename>()  does nothing, and returns a success status."
10359 msgstr ""
10360 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10361 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10362
10363 #. type: Plain text
10364 #: build/C/man2/rename.2:72
10365 msgid ""
10366 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10367 "guarantees to leave an instance of I<newpath> in place."
10368 msgstr ""
10369 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10370 "I<newpath> の実体を元のまま残すことを保証する。"
10371
10372 #. type: Plain text
10373 #: build/C/man2/rename.2:78
10374 msgid ""
10375 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10376 "not exist, or it must specify an empty directory."
10377 msgstr ""
10378 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10379 "存在しないか、空のディレクトリでなければならない。"
10380
10381 #. type: Plain text
10382 #: build/C/man2/rename.2:85
10383 msgid ""
10384 "However, when overwriting there will probably be a window in which both "
10385 "I<oldpath> and I<newpath> refer to the file being renamed."
10386 msgstr ""
10387 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10388 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10389
10390 #. type: Plain text
10391 #: build/C/man2/rename.2:91
10392 msgid ""
10393 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10394 "refers to a symbolic link the link will be overwritten."
10395 msgstr ""
10396 "I<oldpath> がシンボリック・リンク (symbolic link) を参照している場合は、 リン"
10397 "クの名前が変更される。 また、 I<newpath> がシンボリック・リンクを参照している"
10398 "場合は、リンクが上書きされる。"
10399
10400 #. type: Plain text
10401 #: build/C/man2/rename.2:116
10402 msgid ""
10403 "Write permission is denied for the directory containing I<oldpath> or "
10404 "I<newpath>, or, search permission is denied for one of the directories in "
10405 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10406 "and does not allow write permission (needed to update the I<..> entry).  "
10407 "(See also B<path_resolution>(7).)"
10408 msgstr ""
10409 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10410 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10411 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10412 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10413
10414 #. type: TP
10415 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10416 #, no-wrap
10417 msgid "B<EBUSY>"
10418 msgstr "B<EBUSY>"
10419
10420 #. type: Plain text
10421 #: build/C/man2/rename.2:133
10422 msgid ""
10423 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10424 "use by some process (perhaps as current working directory, or as root "
10425 "directory, or because it was open for reading) or is in use by the system "
10426 "(for example as mount point), while the system considers this an error.  "
10427 "(Note that there is no requirement to return B<EBUSY> in such cases"
10428 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10429 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10430 "situations.)"
10431 msgstr ""
10432 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10433 "分、カレント・ワーキング・ディレクトリか、ルートディレクトリか、 読み込みのた"
10434 "めにオープンされているかでろう)  もしくは、システムが使用中 (例えばマウント・"
10435 "ポイントである)  であり、システムがこれをエラーであると判断したために rename "
10436 "が失敗した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない"
10437 "点に注意すること。 このような場合に、rename をとにかく実行してみるのは何の問"
10438 "題もない。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10439 "B<EBUSY> を返すことが許されている。)"
10440
10441 #. type: Plain text
10442 #: build/C/man2/rename.2:140
10443 msgid ""
10444 "The new pathname contained a path prefix of the old, or, more generally, an "
10445 "attempt was made to make a directory a subdirectory of itself."
10446 msgstr ""
10447 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10448 "ディレクトリに 変更しようとした場合がほとんどである。"
10449
10450 #. type: Plain text
10451 #: build/C/man2/rename.2:146
10452 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10453 msgstr ""
10454 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10455 "い。"
10456
10457 #. type: Plain text
10458 #: build/C/man2/rename.2:157
10459 msgid ""
10460 "I<oldpath> already has the maximum number of links to it, or it was a "
10461 "directory and the directory containing I<newpath> has the maximum number of "
10462 "links."
10463 msgstr ""
10464 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10465 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10466
10467 #. type: Plain text
10468 #: build/C/man2/rename.2:173
10469 msgid ""
10470 "The link named by I<oldpath> does not exist; or, a directory component in "
10471 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10472 msgstr ""
10473 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10474 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10475
10476 #. type: Plain text
10477 #: build/C/man2/rename.2:190
10478 msgid ""
10479 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10480 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10481 "not a directory."
10482 msgstr ""
10483 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10484 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10485 "トリでない。"
10486
10487 #. type: TP
10488 #: build/C/man2/rename.2:190
10489 #, no-wrap
10490 msgid "B<ENOTEMPTY> or B<EEXIST>"
10491 msgstr "B<ENOTEMPTY  または  EEXIST>"
10492
10493 #. type: Plain text
10494 #: build/C/man2/rename.2:194
10495 msgid ""
10496 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10497 "\" and \"..\"."
10498 msgstr ""
10499 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10500 "でいる。"
10501
10502 #. type: TP
10503 #: build/C/man2/rename.2:194 build/C/man2/unlink.2:126
10504 #, no-wrap
10505 msgid "B<EPERM> or B<EACCES>"
10506 msgstr "B<EPERM> または B<EACCES>"
10507
10508 #. type: Plain text
10509 #: build/C/man2/rename.2:218
10510 msgid ""
10511 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
10512 "the process's effective user ID is neither the user ID of the file to be "
10513 "deleted nor that of the directory containing it, and the process is not "
10514 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
10515 "I<newpath> is an existing file and the directory containing it has the "
10516 "sticky bit set and the process's effective user ID is neither the user ID of "
10517 "the file to be replaced nor that of the directory containing it, and the "
10518 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
10519 "capability); or the file system containing I<pathname> does not support "
10520 "renaming of the type requested."
10521 msgstr ""
10522 "I<oldpath> のあるディレクトリにスティッキー・ビット (sticky bit)  "
10523 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
10524 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
10525 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
10526 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
10527 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
10528 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
10529 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
10530 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
10531 "存在するファイル・システムが、要求された種類の名前の変更を サポートしていな"
10532 "い。"
10533
10534 #. type: Plain text
10535 #: build/C/man2/rename.2:229
10536 msgid ""
10537 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
10538 "permits a file system to be mounted at multiple points, but B<rename>()  "
10539 "does not work across different mount points, even if the same file system is "
10540 "mounted on both.)"
10541 msgstr ""
10542 "I<oldpath> と I<newpath> が同じマウントされたファイル・システムに存在しな"
10543 "い。 (Linux は 1 つのファイル・システムを複数のマウント位置に マウントするこ"
10544 "とを許可している。 しかし B<rename>()  は、たとえ同じファイル・システムであっ"
10545 "ても、 別々のマウント位置を跨いでは動作しない。)"
10546
10547 #. type: Plain text
10548 #: build/C/man2/rename.2:231
10549 msgid "4.3BSD, C89, C99, POSIX.1-2001."
10550 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
10551
10552 #. type: Plain text
10553 #: build/C/man2/rename.2:242
10554 msgid ""
10555 "On NFS file systems, you can not assume that if the operation failed the "
10556 "file was not renamed.  If the server does the rename operation and then "
10557 "crashes, the retransmitted RPC which will be processed when the server is up "
10558 "again causes a failure.  The application is expected to deal with this.  See "
10559 "B<link>(2)  for a similar problem."
10560 msgstr ""
10561 "NFS ファイル・システムでは、操作が失敗したからといって、 ファイルの名前が変更"
10562 "できなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
10563 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
10564 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
10565 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
10566
10567 #. type: Plain text
10568 #: build/C/man2/rename.2:251
10569 msgid ""
10570 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10571 "(2), B<path_resolution>(7), B<symlink>(7)"
10572 msgstr ""
10573 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10574 "(2), B<path_resolution>(7), B<symlink>(7)"
10575
10576 #. type: TH
10577 #: build/C/man2/rmdir.2:30
10578 #, no-wrap
10579 msgid "RMDIR"
10580 msgstr "RMDIR"
10581
10582 #. type: TH
10583 #: build/C/man2/rmdir.2:30
10584 #, no-wrap
10585 msgid "2008-05-08"
10586 msgstr "2008-05-08"
10587
10588 #. type: Plain text
10589 #: build/C/man2/rmdir.2:33
10590 msgid "rmdir - delete a directory"
10591 msgstr "rmdir - ディレクトリを削除する"
10592
10593 #. type: Plain text
10594 #: build/C/man2/rmdir.2:37
10595 msgid "B<int rmdir(const char *>I<pathname>B<);>"
10596 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
10597
10598 #. type: Plain text
10599 #: build/C/man2/rmdir.2:40
10600 msgid "B<rmdir>()  deletes a directory, which must be empty."
10601 msgstr ""
10602 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
10603 "ない。"
10604
10605 #. type: Plain text
10606 #: build/C/man2/rmdir.2:55
10607 msgid ""
10608 "Write access to the directory containing I<pathname> was not allowed, or one "
10609 "of the directories in the path prefix of I<pathname> did not allow search "
10610 "permission.  (See also B<path_resolution>(7)."
10611 msgstr ""
10612 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
10613 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
10614 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
10615 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
10616 "と)"
10617
10618 #. type: Plain text
10619 #: build/C/man2/rmdir.2:64
10620 msgid ""
10621 "I<pathname> is currently in use by the system or some process that prevents "
10622 "its removal.  On Linux this means I<pathname> is currently used as a mount "
10623 "point or is the root directory of the calling process."
10624 msgstr ""
10625 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
10626 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
10627 "たプロセスのルートディレクトリであることを意味する。"
10628
10629 #. type: Plain text
10630 #: build/C/man2/rmdir.2:73
10631 msgid "I<pathname> has I<.> as last component."
10632 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
10633
10634 #. type: Plain text
10635 #: build/C/man2/rmdir.2:77
10636 msgid "Too many symbolic links were encountered in resolving I<pathname>."
10637 msgstr "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
10638
10639 #. type: Plain text
10640 #: build/C/man2/rmdir.2:85
10641 msgid ""
10642 "A directory component in I<pathname> does not exist or is a dangling "
10643 "symbolic link."
10644 msgstr ""
10645 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
10646 "リック・リンク (symbolic link) である。"
10647
10648 #. type: Plain text
10649 #: build/C/man2/rmdir.2:94
10650 msgid ""
10651 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
10652 "fact, a directory."
10653 msgstr ""
10654 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
10655 "クトリでない。"
10656
10657 #. type: TP
10658 #: build/C/man2/rmdir.2:94
10659 #, no-wrap
10660 msgid "B<ENOTEMPTY>"
10661 msgstr "B<ENOTEMPTY>"
10662
10663 #. type: Plain text
10664 #: build/C/man2/rmdir.2:107
10665 msgid ""
10666 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
10667 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
10668 "condition."
10669 msgstr ""
10670 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
10671 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
10672 "で B<EEXIST> を返すことを認めている。"
10673
10674 #. type: Plain text
10675 #: build/C/man2/rmdir.2:118
10676 msgid ""
10677 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
10678 "and the process's effective user ID is neither the user ID of the file to be "
10679 "deleted nor that of the directory containing it, and the process is not "
10680 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
10681 msgstr ""
10682 "I<pathname> を含んでいるディレクトリにスティッキー・ビット(sticky-bit)  "
10683 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
10684 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
10685 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
10686
10687 #. type: Plain text
10688 #: build/C/man2/rmdir.2:123
10689 msgid ""
10690 "The file system containing I<pathname> does not support the removal of "
10691 "directories."
10692 msgstr ""
10693 "I<pathname> を含んでいるファイル・システムがディレクトリの 削除をサポートして"
10694 "いない。"
10695
10696 #. type: Plain text
10697 #: build/C/man2/rmdir.2:127
10698 msgid "I<pathname> refers to a directory on a read-only file system."
10699 msgstr ""
10700 "I<pathname> が読み込み専用のファイル・システム上のディレクトリを参照してい"
10701 "る。"
10702
10703 #. type: Plain text
10704 #: build/C/man2/rmdir.2:132
10705 msgid ""
10706 "Infelicities in the protocol underlying NFS can cause the unexpected "
10707 "disappearance of directories which are still being used."
10708 msgstr ""
10709 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
10710 "する現象が引き起こされることがある。"
10711
10712 #. type: Plain text
10713 #: build/C/man2/rmdir.2:141
10714 msgid ""
10715 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10716 "B<unlink>(2), B<unlinkat>(2)"
10717 msgstr ""
10718 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10719 "B<unlink>(2), B<unlinkat>(2)"
10720
10721 #. type: TH
10722 #: build/C/man3/scanf.3:50
10723 #, no-wrap
10724 msgid "SCANF"
10725 msgstr "SCANF"
10726
10727 #. type: Plain text
10728 #: build/C/man3/scanf.3:53
10729 msgid ""
10730 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
10731 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
10732
10733 #. type: Plain text
10734 #: build/C/man3/scanf.3:60
10735 #, no-wrap
10736 msgid ""
10737 "B<int scanf(const char *>I<format>B<, ...);>\n"
10738 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10739 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10740 msgstr ""
10741 "B<int scanf(const char *>I<format>B<, ...);>\n"
10742 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10743 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10744
10745 #. type: Plain text
10746 #: build/C/man3/scanf.3:62
10747 #, no-wrap
10748 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
10749 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
10750
10751 #. type: Plain text
10752 #: build/C/man3/scanf.3:66
10753 #, no-wrap
10754 msgid ""
10755 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10756 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10757 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10758 msgstr ""
10759 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10760 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10761 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10762
10763 #. type: Plain text
10764 #: build/C/man3/scanf.3:77
10765 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10766 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10767
10768 #. type: Plain text
10769 #: build/C/man3/scanf.3:80
10770 msgid ""
10771 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10772 "200112L;"
10773 msgstr ""
10774 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10775 "200112L;"
10776
10777 #. type: Plain text
10778 #: build/C/man3/scanf.3:102
10779 msgid ""
10780 "The B<scanf>()  family of functions scans input according to I<format> as "
10781 "described below.  This format may contain I<conversion specifications>; the "
10782 "results from such conversions, if any, are stored in the locations pointed "
10783 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
10784 "argument must be of a type that is appropriate for the value returned by the "
10785 "corresponding conversion specification."
10786 msgstr ""
10787 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
10788 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
10789 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
10790 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
10791 "は、対応する変換指定が返す値に 適合していなければならない。"
10792
10793 #. type: Plain text
10794 #: build/C/man3/scanf.3:113
10795 msgid ""
10796 "If the number of conversion specifications in I<format> exceeds the number "
10797 "of I<pointer> arguments, the results are undefined.  If the number of "
10798 "I<pointer> arguments exceeds the number of conversion specifications, then "
10799 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
10800 msgstr ""
10801 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
10802 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
10803 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
10804
10805 #. type: Plain text
10806 #: build/C/man3/scanf.3:125
10807 msgid ""
10808 "The B<scanf>()  function reads input from the standard input stream "
10809 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
10810 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
10811 msgstr ""
10812 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
10813 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
10814 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
10815
10816 #. type: Plain text
10817 #: build/C/man3/scanf.3:143
10818 msgid ""
10819 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
10820 "from the stream pointer I<stream> using a variable argument list of pointers "
10821 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
10822 "from the standard input and the B<vsscanf>()  function scans it from a "
10823 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
10824 "functions respectively."
10825 msgstr ""
10826 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
10827 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
10828 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
10829 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
10830 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
10831
10832 #. type: Plain text
10833 #: build/C/man3/scanf.3:157
10834 msgid ""
10835 "The I<format> string consists of a sequence of I<directives> which describe "
10836 "how to process the sequence of input characters.  If processing of a "
10837 "directive fails, no further input is read, and B<scanf>()  returns.  A "
10838 "\"failure\" can be either of the following: I<input failure>, meaning that "
10839 "input characters were unavailable, or I<matching failure>, meaning that the "
10840 "input was inappropriate (see below)."
10841 msgstr ""
10842 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
10843 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
10844 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
10845 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
10846 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
10847 "であったこと (下記参照) を意味する。"
10848
10849 #. type: Plain text
10850 #: build/C/man3/scanf.3:159
10851 msgid "A directive is one of the following:"
10852 msgstr "命令は以下のいずれかである:"
10853
10854 #. type: TP
10855 #: build/C/man3/scanf.3:159 build/C/man3/scanf.3:165 build/C/man3/scanf.3:169
10856 #: build/C/man3/scanf.3:188 build/C/man3/scanf.3:199 build/C/man3/scanf.3:217
10857 #: build/C/man3/scanf.3:229 build/C/man3/scanf.3:243
10858 #, no-wrap
10859 msgid "\\(bu"
10860 msgstr "\\(bu"
10861
10862 #. type: Plain text
10863 #: build/C/man3/scanf.3:165
10864 msgid ""
10865 "A sequence of white-space characters (space, tab, newline, etc.; see "
10866 "B<isspace>(3)).  This directive matches any amount of white space, including "
10867 "none, in the input."
10868 msgstr ""
10869 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
10870 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
10871 "致する)。"
10872
10873 #. type: Plain text
10874 #: build/C/man3/scanf.3:169
10875 msgid ""
10876 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
10877 "This character must exactly match the next character of input."
10878 msgstr ""
10879 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
10880 "の次の文字に正確に一致しなければならない。"
10881
10882 #. type: Plain text
10883 #: build/C/man3/scanf.3:180
10884 msgid ""
10885 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
10886 "character.  A sequence of characters from the input is converted according "
10887 "to this specification, and the result is placed in the corresponding "
10888 "I<pointer> argument.  If the next item of input does not match the "
10889 "conversion specification, the conversion fails\\(emthis is a I<matching "
10890 "failure>."
10891 msgstr ""
10892 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
10893 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
10894 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
10895 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
10896
10897 #. type: Plain text
10898 #: build/C/man3/scanf.3:188
10899 msgid ""
10900 "Each I<conversion specification> in I<format> begins with either the "
10901 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
10902 "for the distinction) followed by:"
10903 msgstr ""
10904 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
10905 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
10906
10907 #. type: Plain text
10908 #: build/C/man3/scanf.3:199
10909 msgid ""
10910 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
10911 "input as directed by the conversion specification, but discards the input.  "
10912 "No corresponding I<pointer> argument is required, and this specification is "
10913 "not included in the count of successful assignments returned by B<scanf>()."
10914 msgstr ""
10915 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
10916 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
10917 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
10918
10919 #. type: Plain text
10920 #: build/C/man3/scanf.3:217
10921 msgid ""
10922 "An optional \\(aqa\\(aq character.  This is used with string conversions, "
10923 "and relieves the caller of the need to allocate a corresponding buffer to "
10924 "hold the input: instead, B<scanf>()  allocates a buffer of sufficient size, "
10925 "and assigns the address of this buffer to the corresponding I<pointer> "
10926 "argument, which should be a pointer to a I<char *> variable (this variable "
10927 "does not need to be initialized before the call).  The caller should "
10928 "subsequently B<free>(3)  this buffer when it is no longer required.  This is "
10929 "a GNU extension; C99 employs the \\(aqa\\(aq character as a conversion "
10930 "specifier (and it can also be used as such in the GNU implementation)."
10931 msgstr ""
10932 "文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
10933 "呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
10934 "に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
10935 "応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
10936 "のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
10937 "い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
10938 "る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
10939 "使用している (こちらも GNU の実装と同じように使用することができる)。"
10940
10941 #. type: Plain text
10942 #: build/C/man3/scanf.3:229
10943 msgid ""
10944 "An optional decimal integer which specifies the I<maximum field width>.  "
10945 "Reading of characters stops either when this maximum is reached or when a "
10946 "nonmatching character is found, whichever happens first.  Most conversions "
10947 "discard initial white space characters (the exceptions are noted below), and "
10948 "these discarded characters don't count toward the maximum field width.  "
10949 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
10950 "mark the end of the input; the maximum field width does not include this "
10951 "terminator."
10952 msgstr ""
10953 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
10954 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
10955 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
10956 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
10957 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
10958 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
10959
10960 #. type: Plain text
10961 #: build/C/man3/scanf.3:243
10962 msgid ""
10963 "An optional I<type modifier character>.  For example, the B<l> type modifier "
10964 "is used with integer conversions such as B<%d> to specify that the "
10965 "corresponding I<pointer> argument refers to a I<long int> rather than a "
10966 "pointer to an I<int>."
10967 msgstr ""
10968 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
10969 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
10970 "I<int> ではなく I<long int> を参照していることを指定できる。"
10971
10972 #. type: Plain text
10973 #: build/C/man3/scanf.3:248
10974 msgid ""
10975 "A I<conversion specifier> that specifies the type of input conversion to be "
10976 "performed."
10977 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
10978
10979 #. type: Plain text
10980 #: build/C/man3/scanf.3:277
10981 msgid ""
10982 "The conversion specifications in I<format> are of two forms, either "
10983 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
10984 "forms should not be mixed in the same I<format> string, except that a string "
10985 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
10986 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
10987 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
10988 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
10989 "specifies that the converted input should be placed in the location referred "
10990 "to by the I<n>-th I<pointer> argument following I<format>."
10991 msgstr ""
10992 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
10993 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
10994 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
10995 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
10996 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
10997 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
10998 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
10999 "I<pointer> 引き数が参照する場所に格納することを指定する。"
11000
11001 #. type: SS
11002 #: build/C/man3/scanf.3:277
11003 #, no-wrap
11004 msgid "Conversions"
11005 msgstr "変換"
11006
11007 #. type: Plain text
11008 #: build/C/man3/scanf.3:281
11009 msgid ""
11010 "The following I<type modifier characters> can appear in a conversion "
11011 "specification:"
11012 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
11013
11014 #. type: Plain text
11015 #: build/C/man3/scanf.3:291
11016 msgid ""
11017 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
11018 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
11019 "I<unsigned short int> (rather than I<int>)."
11020 msgstr ""
11021 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
11022 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
11023 "あることを示す。"
11024
11025 #. type: Plain text
11026 #: build/C/man3/scanf.3:299
11027 msgid ""
11028 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
11029 "I<unsigned char>."
11030 msgstr ""
11031 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
11032 "タであることを示す。"
11033
11034 #. type: Plain text
11035 #: build/C/man3/scanf.3:308
11036 msgid ""
11037 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
11038 "I<uintmax_t>.  This modifier was introduced in C99."
11039 msgstr ""
11040 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11041 "ることを示す。 この修飾子は C99 で導入された。"
11042
11043 #.  This use of l was introduced in Amendment 1 to ISO C90.
11044 #. type: Plain text
11045 #: build/C/man3/scanf.3:335
11046 msgid ""
11047 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11048 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11049 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11050 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11051 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11052 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11053 "as a pointer to a wide character or wide-character string respectively."
11054 msgstr ""
11055 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11056 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11057 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11058 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11059 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11060 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11061 "ンタであると みなされる。"
11062
11063 #.  MTK, Jul 05: The following is no longer true for modern
11064 #.  ANSI C (i.e., C99):
11065 #.  (Note that long long is not an
11066 #.  ANSI C
11067 #.  type. Any program using this will not be portable to all
11068 #.  architectures).
11069 #. type: Plain text
11070 #: build/C/man3/scanf.3:351
11071 msgid ""
11072 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11073 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11074 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11075 msgstr ""
11076 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11077 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11078 "I<long long> へのポインタであることのいずれかであることを示す。"
11079
11080 #. type: Plain text
11081 #: build/C/man3/scanf.3:356
11082 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11083 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11084
11085 #. type: Plain text
11086 #: build/C/man3/scanf.3:363
11087 msgid ""
11088 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11089 "modifier was introduced in C99."
11090 msgstr ""
11091 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11092 "この修飾子は C99 で導入された。"
11093
11094 #. type: Plain text
11095 #: build/C/man3/scanf.3:370
11096 msgid ""
11097 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11098 "modifier was introduced in C99."
11099 msgstr ""
11100 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11101 "修飾子は C99 で導入された。"
11102
11103 #. type: Plain text
11104 #: build/C/man3/scanf.3:374
11105 msgid "The following I<conversion specifiers> are available:"
11106 msgstr "以下の I<「変換指定子」> が利用可能である。"
11107
11108 #. type: Plain text
11109 #: build/C/man3/scanf.3:383
11110 msgid ""
11111 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11112 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11113 "initial white space characters are discarded), and assignment does not occur."
11114 msgstr ""
11115 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11116 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11117 "る)、 変数への代入は生じない。"
11118
11119 #. type: TP
11120 #: build/C/man3/scanf.3:383
11121 #, no-wrap
11122 msgid "B<d>"
11123 msgstr "B<d>"
11124
11125 #. type: Plain text
11126 #: build/C/man3/scanf.3:388
11127 msgid ""
11128 "Matches an optionally signed decimal integer; the next pointer must be a "
11129 "pointer to I<int>."
11130 msgstr ""
11131 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11132 "ばならない。"
11133
11134 #. type: TP
11135 #: build/C/man3/scanf.3:388
11136 #, no-wrap
11137 msgid "B<D>"
11138 msgstr "B<D>"
11139
11140 #. type: Plain text
11141 #: build/C/man3/scanf.3:397
11142 msgid ""
11143 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11144 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11145 "causing old programs to fail mysteriously.)"
11146 msgstr ""
11147 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11148 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11149 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11150
11151 #. type: TP
11152 #: build/C/man3/scanf.3:397
11153 #, no-wrap
11154 msgid "B<i>"
11155 msgstr "B<i>"
11156
11157 #. type: Plain text
11158 #: build/C/man3/scanf.3:409
11159 msgid ""
11160 "Matches an optionally signed integer; the next pointer must be a pointer to "
11161 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11162 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11163 "that correspond to the base are used."
11164 msgstr ""
11165 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11166 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11167 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11168 "される文字は、これらの基数に対応しているものだけである。"
11169
11170 #. type: TP
11171 #: build/C/man3/scanf.3:409
11172 #, no-wrap
11173 msgid "B<o>"
11174 msgstr "B<o>"
11175
11176 #. type: Plain text
11177 #: build/C/man3/scanf.3:413
11178 msgid ""
11179 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11180 "I<unsigned int>."
11181 msgstr ""
11182 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11183 "らない。"
11184
11185 #. type: TP
11186 #: build/C/man3/scanf.3:413
11187 #, no-wrap
11188 msgid "B<u>"
11189 msgstr "B<u>"
11190
11191 #. type: Plain text
11192 #: build/C/man3/scanf.3:418
11193 msgid ""
11194 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11195 "I<unsigned int>."
11196 msgstr ""
11197 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11198 "でなければならない。"
11199
11200 #. type: Plain text
11201 #: build/C/man3/scanf.3:423
11202 msgid ""
11203 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11204 "to I<unsigned int>."
11205 msgstr ""
11206 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11207 "タでなければならない。"
11208
11209 #. type: TP
11210 #: build/C/man3/scanf.3:423
11211 #, no-wrap
11212 msgid "B<X>"
11213 msgstr "B<X>"
11214
11215 #. type: Plain text
11216 #: build/C/man3/scanf.3:427
11217 msgid "Equivalent to B<x>."
11218 msgstr "B<x> と同一である。"
11219
11220 #. type: TP
11221 #: build/C/man3/scanf.3:427
11222 #, no-wrap
11223 msgid "B<f>"
11224 msgstr "B<f>"
11225
11226 #. type: Plain text
11227 #: build/C/man3/scanf.3:432
11228 msgid ""
11229 "Matches an optionally signed floating-point number; the next pointer must be "
11230 "a pointer to I<float>."
11231 msgstr ""
11232 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11233 "ればならない。"
11234
11235 #. type: TP
11236 #: build/C/man3/scanf.3:432
11237 #, no-wrap
11238 msgid "B<e>"
11239 msgstr "B<e>"
11240
11241 #. type: Plain text
11242 #: build/C/man3/scanf.3:436 build/C/man3/scanf.3:440 build/C/man3/scanf.3:444
11243 msgid "Equivalent to B<f>."
11244 msgstr "B<f> と同一である。"
11245
11246 #. type: TP
11247 #: build/C/man3/scanf.3:436
11248 #, no-wrap
11249 msgid "B<g>"
11250 msgstr "B<g>"
11251
11252 #. type: TP
11253 #: build/C/man3/scanf.3:440
11254 #, no-wrap
11255 msgid "B<E>"
11256 msgstr "B<E>"
11257
11258 #. type: Plain text
11259 #: build/C/man3/scanf.3:448
11260 msgid "(C99) Equivalent to B<f>."
11261 msgstr "(C99)  B<f> と同一である。"
11262
11263 #. type: Plain text
11264 #: build/C/man3/scanf.3:456
11265 msgid ""
11266 "Matches a sequence of non-white-space characters; the next pointer must be a "
11267 "pointer to character array that is long enough to hold the input sequence "
11268 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11269 "automatically.  The input string stops at white space or at the maximum "
11270 "field width, whichever occurs first."
11271 msgstr ""
11272 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11273 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11274 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11275 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11276 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11277
11278 #. type: Plain text
11279 #: build/C/man3/scanf.3:467
11280 msgid ""
11281 "Matches a sequence of characters whose length is specified by the I<maximum "
11282 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11283 "there must be enough room for all the characters (no terminating null byte "
11284 "is added).  The usual skip of leading white space is suppressed.  To skip "
11285 "white space first, use an explicit space in the format."
11286 msgstr ""
11287 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11288 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11289 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11290 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11291 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11292
11293 #. type: TP
11294 #: build/C/man3/scanf.3:467
11295 #, no-wrap
11296 msgid "B<\\&[>"
11297 msgstr "B<\\&[>"
11298
11299 #. type: Plain text
11300 #: build/C/man3/scanf.3:500
11301 msgid ""
11302 "Matches a nonempty sequence of characters from the specified set of accepted "
11303 "characters; the next pointer must be a pointer to I<char>, and there must be "
11304 "enough room for all the characters in the string, plus a terminating null "
11305 "byte.  The usual skip of leading white space is suppressed.  The string is "
11306 "to be made up of characters in (or not in) a particular set; the set is "
11307 "defined by the characters between the open bracket B<[> character and a "
11308 "close bracket B<]> character.  The set I<excludes> those characters if the "
11309 "first character after the open bracket is a circumflex (B<^>).  To include a "
11310 "close bracket in the set, make it the first character after the open bracket "
11311 "or the circumflex; any other position will end the set.  The hyphen "
11312 "character B<-> is also special; when placed between two other characters, it "
11313 "adds all intervening characters to the set.  To include a hyphen, make it "
11314 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11315 "> means the set \"everything except close bracket, zero through nine, and "
11316 "hyphen\".  The string ends with the appearance of a character not in the "
11317 "(or, with a circumflex, in) set or when the field width runs out."
11318 msgstr ""
11319 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11320 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11321 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11322 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11323 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11324 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11325 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11326 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11327 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11328 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11329 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11330 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11331 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11332 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11333 "文字の 出現または確保された領域が使い切られた時に終了する。"
11334
11335 #. type: Plain text
11336 #: build/C/man3/scanf.3:508
11337 msgid ""
11338 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11339 "pointer must be a pointer to a pointer to I<void>."
11340 msgstr ""
11341 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11342 "タは I<void> へのポインタへのポインタでなければならない。"
11343
11344 #. type: Plain text
11345 #: build/C/man3/scanf.3:528
11346 msgid ""
11347 "Nothing is expected; instead, the number of characters consumed thus far "
11348 "from the input is stored through the next pointer, which must be a pointer "
11349 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11350 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11351 "of a B<%n> directive does not increment the assignment count returned at the "
11352 "completion of execution\" but the Corrigendum seems to contradict this.  "
11353 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11354 "conversions on the return value."
11355 msgstr ""
11356 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11357 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11358 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11359 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11360 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11361 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11362 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11363
11364 #. type: Plain text
11365 #: build/C/man3/scanf.3:533
11366 msgid ""
11367 "These functions return the number of input items successfully matched and "
11368 "assigned, which can be fewer than provided for, or even zero in the event of "
11369 "an early matching failure."
11370 msgstr ""
11371 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11372 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11373 "ることもある。"
11374
11375 #. type: Plain text
11376 #: build/C/man3/scanf.3:545
11377 msgid ""
11378 "The value B<EOF> is returned if the end of input is reached before either "
11379 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11380 "also returned if a read error occurs, in which case the error indicator for "
11381 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11382 "error."
11383 msgstr ""
11384 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11385 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11386 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11387 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11388
11389 #. type: Plain text
11390 #: build/C/man3/scanf.3:551
11391 msgid ""
11392 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11393 "operation would block."
11394 msgstr ""
11395 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11396 "込み操作は停止 (block) することになる。"
11397
11398 #. type: Plain text
11399 #: build/C/man3/scanf.3:556
11400 msgid ""
11401 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11402 msgstr ""
11403 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11404 "ンされていない。"
11405
11406 #. type: Plain text
11407 #: build/C/man3/scanf.3:559
11408 msgid "Input byte sequence does not form a valid character."
11409 msgstr "入力されたバイト列が有効な文字を構成していない。"
11410
11411 #. type: Plain text
11412 #: build/C/man3/scanf.3:563
11413 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11414 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11415
11416 #. type: Plain text
11417 #: build/C/man3/scanf.3:568
11418 msgid "Not enough arguments; or I<format> is NULL."
11419 msgstr "引き数が十分でない。または I<format> が NULL である。"
11420
11421 #. type: Plain text
11422 #: build/C/man3/scanf.3:571
11423 msgid "Out of memory."
11424 msgstr "メモリ不足。"
11425
11426 #. type: TP
11427 #: build/C/man3/scanf.3:571
11428 #, no-wrap
11429 msgid "B<ERANGE>"
11430 msgstr "B<ERANGE>"
11431
11432 #. type: Plain text
11433 #: build/C/man3/scanf.3:575
11434 msgid ""
11435 "The result of an integer conversion would exceed the size that can be stored "
11436 "in the corresponding integer type."
11437 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11438
11439 #. type: Plain text
11440 #: build/C/man3/scanf.3:585
11441 msgid ""
11442 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11443 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11444 msgstr ""
11445 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11446 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11447
11448 #. type: Plain text
11449 #: build/C/man3/scanf.3:595
11450 msgid ""
11451 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11452 "the usage of B<L> in integer conversions is the GNU notation."
11453 msgstr ""
11454 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11455 "B<ll> または B<L> の使用は GNU での拡張である。"
11456
11457 #. type: Plain text
11458 #: build/C/man3/scanf.3:606
11459 msgid ""
11460 "The Linux version of these functions is based on the I<GNU> I<libio> "
11461 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11462 "(glibc-1.08)> for a more concise description."
11463 msgstr ""
11464 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11465 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11466
11467 #.  This feature seems to be present at least as far back as glibc 2.0.
11468 #. type: Plain text
11469 #: build/C/man3/scanf.3:624
11470 msgid ""
11471 "The GNU C library supports a nonstandard extension that causes the library "
11472 "to dynamically allocate a string of sufficient size for input strings for "
11473 "the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To make use of this "
11474 "feature, specify B<a> as a length modifier (thus B<%as> or B<%a[>I<range>B<]"
11475 ">).  The caller must B<free>(3)  the returned string, as in the following "
11476 "example:"
11477 msgstr ""
11478 "GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
11479 "ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
11480 "分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
11481 "るには、長さ修飾子として B<a> を指定する (したがって、全体としては B<%as> や "
11482 "B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
11483 "を B<free>(3)  しなければならない。"
11484
11485 #. type: Plain text
11486 #: build/C/man3/scanf.3:629
11487 #, no-wrap
11488 msgid ""
11489 "char *p;\n"
11490 "int n;\n"
11491 msgstr ""
11492 "char *p;\n"
11493 "int n;\n"
11494
11495 #. type: Plain text
11496 #: build/C/man3/scanf.3:640
11497 #, fuzzy, no-wrap
11498 #| msgid ""
11499 #| "errno = 0;\n"
11500 #| "n = scanf(\"%a[a-z]\", &p);\n"
11501 #| "if (n == 1) {\n"
11502 #| "    printf(\"read: %s\\en\", p);\n"
11503 #| "    free(p);\n"
11504 #| "} else if (errno != 0) {\n"
11505 #| "    perror(\"scanf\");\n"
11506 #| "} else {\n"
11507 #| "    fprintf(stderr, \"No matching characters\\en\"):\n"
11508 #| "}\n"
11509 msgid ""
11510 "errno = 0;\n"
11511 "n = scanf(\"%a[a-z]\", &p);\n"
11512 "if (n == 1) {\n"
11513 "    printf(\"read: %s\\en\", p);\n"
11514 "    free(p);\n"
11515 "} else if (errno != 0) {\n"
11516 "    perror(\"scanf\");\n"
11517 "} else {\n"
11518 "    fprintf(stderr, \"No matching characters\\en\");\n"
11519 "}\n"
11520 msgstr ""
11521 "errno = 0;\n"
11522 "n = scanf(\"%a[a-z]\", &p);\n"
11523 "if (n == 1) {\n"
11524 "    printf(\"read: %s\\en\", p);\n"
11525 "    free(p);\n"
11526 "} else if (errno != 0) {\n"
11527 "    perror(\"scanf\");\n"
11528 "} else {\n"
11529 "    fprintf(stderr, \"No matching characters\\en\"):\n"
11530 "}\n"
11531
11532 #. type: Plain text
11533 #: build/C/man3/scanf.3:648
11534 msgid ""
11535 "As shown in the above example, it is only necessary to call B<free>(3)  if "
11536 "the B<scanf>()  call successfully read a string."
11537 msgstr ""
11538 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
11539 "B<free>(3)  を呼び出す必要がある。"
11540
11541 #. type: Plain text
11542 #: build/C/man3/scanf.3:660
11543 msgid ""
11544 "The B<a> modifier is not available if the program is compiled with I<gcc -"
11545 "std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
11546 "specified), in which case the B<a> is interpreted as a specifier for "
11547 "floating-point numbers (see above)."
11548 msgstr ""
11549 "I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプログラムでは "
11550 "(B<_GNU_SOURCE> も同時に指定していない場合)、 B<a> 修飾子は利用できない。 上"
11551 "記の場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
11552
11553 #. type: Plain text
11554 #: build/C/man3/scanf.3:669
11555 msgid ""
11556 "Since version 2.7, glibc also provides the B<m> modifier for the same "
11557 "purpose as the B<a> modifier.  The B<m> modifier has the following "
11558 "advantages:"
11559 msgstr ""
11560 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
11561 "ている。 B<m> 修飾子は以下の利点がある。"
11562
11563 #. type: Plain text
11564 #: build/C/man3/scanf.3:674
11565 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
11566 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
11567
11568 #. type: Plain text
11569 #: build/C/man3/scanf.3:680
11570 msgid ""
11571 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
11572 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
11573 msgstr ""
11574 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
11575 "std=c99> などの影響も避けられる)。"
11576
11577 #. type: Plain text
11578 #: build/C/man3/scanf.3:682
11579 msgid "It is specified in the upcoming revision of the POSIX.1 standard."
11580 msgstr "POSIX.1 標準の次の改訂版で規定される。"
11581
11582 #. type: Plain text
11583 #: build/C/man3/scanf.3:695
11584 msgid ""
11585 "All functions are fully C89 conformant, but provide the additional "
11586 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
11587 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
11588 "the behavior of specifiers defined in C89."
11589 msgstr ""
11590 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
11591 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
11592 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
11593 "れない。"
11594
11595 #. type: Plain text
11596 #: build/C/man3/scanf.3:711
11597 msgid ""
11598 "Some combinations of the type modifiers and conversion specifiers defined by "
11599 "ANSI C do not make sense (e.g.  B<%Ld>).  While they may have a well-defined "
11600 "behavior on Linux, this need not to be so on other architectures.  Therefore "
11601 "it usually is better to use modifiers that are not defined by ANSI C at all, "
11602 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
11603 "B<u>, B<x>, and B<X> conversions or B<ll>."
11604 msgstr ""
11605 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味をなさないも"
11606 "のがある (例えば、 B<%Ld>)。 これらが指定された場合、 Linux 上でははっきりと"
11607 "定義された振る舞いをするかもしれないが、 他のアーキテクチャでも同様になってい"
11608 "るとは限らない。 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子"
11609 "を使用した方が良い。 すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や "
11610 "B<ll> と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
11611
11612 #. type: Plain text
11613 #: build/C/man3/scanf.3:717
11614 msgid ""
11615 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
11616 "conversions equivalently to B<L>."
11617 msgstr ""
11618 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
11619 "動小数の変換に使用される。"
11620
11621 #. type: Plain text
11622 #: build/C/man3/scanf.3:724
11623 msgid ""
11624 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11625 "B<strtoul>(3)"
11626 msgstr ""
11627 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11628 "B<strtoul>(3),"
11629
11630 #. type: TH
11631 #: build/C/man3/setbuf.3:46
11632 #, no-wrap
11633 msgid "SETBUF"
11634 msgstr "SETBUF"
11635
11636 #. type: TH
11637 #: build/C/man3/setbuf.3:46
11638 #, no-wrap
11639 msgid "2008-06-26"
11640 msgstr "2008-06-26"
11641
11642 #. type: Plain text
11643 #: build/C/man3/setbuf.3:49
11644 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
11645 msgstr ""
11646 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
11647
11648 #. type: Plain text
11649 #: build/C/man3/setbuf.3:54
11650 #, no-wrap
11651 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11652 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11653
11654 #. type: Plain text
11655 #: build/C/man3/setbuf.3:56
11656 #, no-wrap
11657 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11658 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11659
11660 #. type: Plain text
11661 #: build/C/man3/setbuf.3:58
11662 #, no-wrap
11663 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11664 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11665
11666 #. type: Plain text
11667 #: build/C/man3/setbuf.3:61
11668 #, no-wrap
11669 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11670 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11671
11672 #. type: Plain text
11673 #: build/C/man3/setbuf.3:71
11674 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11675 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11676
11677 #. type: Plain text
11678 #: build/C/man3/setbuf.3:94
11679 msgid ""
11680 "The three types of buffering available are unbuffered, block buffered, and "
11681 "line buffered.  When an output stream is unbuffered, information appears on "
11682 "the destination file or terminal as soon as written; when it is block "
11683 "buffered many characters are saved up and written as a block; when it is "
11684 "line buffered characters are saved up until a newline is output or input is "
11685 "read from any stream attached to a terminal device (typically I<stdin>).  "
11686 "The function B<fflush>(3)  may be used to force the block out early.  (See "
11687 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
11688 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
11689 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
11690 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
11691 "by default."
11692 msgstr ""
11693 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
11694 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
11695 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
11696 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
11697 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
11698 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
11699 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
11700 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
11701 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
11702 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
11703 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
11704 "unbuffered である。"
11705
11706 #. type: Plain text
11707 #: build/C/man3/setbuf.3:101
11708 msgid ""
11709 "The B<setvbuf>()  function may be used on any open stream to change its "
11710 "buffer.  The I<mode> argument must be one of the following three macros:"
11711 msgstr ""
11712 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
11713 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
11714
11715 #. type: TP
11716 #: build/C/man3/setbuf.3:102
11717 #, no-wrap
11718 msgid "B<_IONBF>"
11719 msgstr "B<_IONBF>"
11720
11721 #. type: Plain text
11722 #: build/C/man3/setbuf.3:105
11723 msgid "unbuffered"
11724 msgstr "unbuffered"
11725
11726 #. type: TP
11727 #: build/C/man3/setbuf.3:105
11728 #, no-wrap
11729 msgid "B<_IOLBF>"
11730 msgstr "B<_IOLBF>"
11731
11732 #. type: Plain text
11733 #: build/C/man3/setbuf.3:108
11734 msgid "line buffered"
11735 msgstr "line buffered"
11736
11737 #. type: TP
11738 #: build/C/man3/setbuf.3:108
11739 #, no-wrap
11740 msgid "B<_IOFBF>"
11741 msgstr "B<_IOFBF>"
11742
11743 #. type: Plain text
11744 #: build/C/man3/setbuf.3:111
11745 msgid "fully buffered"
11746 msgstr "fully buffered"
11747
11748 #. type: Plain text
11749 #: build/C/man3/setbuf.3:127
11750 msgid ""
11751 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
11752 "least I<size> bytes long; this buffer will be used instead of the current "
11753 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
11754 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
11755 "()  function may only be used after opening a stream and before any other "
11756 "operations have been performed on it."
11757 msgstr ""
11758 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
11759 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
11760 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
11761 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
11762 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
11763
11764 #. type: Plain text
11765 #: build/C/man3/setbuf.3:133
11766 msgid ""
11767 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
11768 "().  The B<setbuf>()  function is exactly equivalent to the call"
11769 msgstr ""
11770 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
11771 "B<setbuf>()  関数は、"
11772
11773 #. type: Plain text
11774 #: build/C/man3/setbuf.3:136
11775 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11776 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11777
11778 #. type: Plain text
11779 #: build/C/man3/setbuf.3:146
11780 msgid ""
11781 "The B<setbuffer>()  function is the same, except that the size of the buffer "
11782 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
11783 "The B<setlinebuf>()  function is exactly equivalent to the call:"
11784 msgstr ""
11785 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
11786 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
11787 "は以下と同じである。"
11788
11789 #. type: Plain text
11790 #: build/C/man3/setbuf.3:149
11791 msgid "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11792 msgstr "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11793
11794 #. type: Plain text
11795 #: build/C/man3/setbuf.3:160
11796 msgid ""
11797 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
11798 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
11799 "I<errno> on failure."
11800 msgstr ""
11801 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
11802 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
11803 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
11804
11805 #. type: Plain text
11806 #: build/C/man3/setbuf.3:162
11807 msgid "The other functions do not return a value."
11808 msgstr "その他の関数は値を返さない。"
11809
11810 #. type: Plain text
11811 #: build/C/man3/setbuf.3:168
11812 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
11813 msgstr ""
11814 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
11815
11816 #. type: Plain text
11817 #: build/C/man3/setbuf.3:178
11818 msgid ""
11819 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
11820 "versions of BSD before 4.2BSD, and are available under Linux since libc "
11821 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
11822 "buffer size and should be avoided."
11823 msgstr ""
11824 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
11825 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
11826 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
11827 "ズを使用するので、これも使うべきでない。"
11828
11829 #. type: Plain text
11830 #: build/C/man3/setbuf.3:185
11831 msgid ""
11832 "You must make sure that the space that I<buf> points to still exists by the "
11833 "time I<stream> is closed, which also happens at program termination.  For "
11834 "example, the following is invalid:"
11835 msgstr ""
11836 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
11837 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
11838 "な使い方は許されない:"
11839
11840 #. type: Plain text
11841 #: build/C/man3/setbuf.3:188
11842 #, no-wrap
11843 msgid "#include E<lt>stdio.hE<gt>\n"
11844 msgstr "#include E<lt>stdio.hE<gt>\n"
11845
11846 #. type: Plain text
11847 #: build/C/man3/setbuf.3:197
11848 #, no-wrap
11849 msgid ""
11850 "int\n"
11851 "main(void)\n"
11852 "{\n"
11853 "    char buf[BUFSIZ];\n"
11854 "    setbuf(stdin, buf);\n"
11855 "    printf(\"Hello, world!\\en\");\n"
11856 "    return 0;\n"
11857 "}\n"
11858 msgstr ""
11859 "int\n"
11860 "main(void)\n"
11861 "{\n"
11862 "    char buf[BUFSIZ];\n"
11863 "    setbuf(stdin, buf);\n"
11864 "    printf(\"Hello, world!\\en\");\n"
11865 "    return 0;\n"
11866 "}\n"
11867
11868 #. type: Plain text
11869 #: build/C/man3/setbuf.3:206
11870 msgid ""
11871 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11872 "(3), B<puts>(3)"
11873 msgstr ""
11874 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11875 "(3), B<puts>(3)"
11876
11877 #. type: TH
11878 #: build/C/man3/stdin.3:9
11879 #, no-wrap
11880 msgid "STDIN"
11881 msgstr "STDIN"
11882
11883 #. type: TH
11884 #: build/C/man3/stdin.3:9 build/C/man3/tmpfile.3:29
11885 #, no-wrap
11886 msgid "2008-07-14"
11887 msgstr "2008-07-14"
11888
11889 #. type: Plain text
11890 #: build/C/man3/stdin.3:12
11891 msgid "stdin, stdout, stderr - standard I/O streams"
11892 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
11893
11894 #. type: Plain text
11895 #: build/C/man3/stdin.3:19
11896 #, no-wrap
11897 msgid ""
11898 "B<extern FILE *>I<stdin>B<;>\n"
11899 "B<extern FILE *>I<stdout>B<;>\n"
11900 "B<extern FILE *>I<stderr>B<;>\n"
11901 msgstr ""
11902 "B<extern FILE *>I<stdin>B<;>\n"
11903 "B<extern FILE *>I<stdout>B<;>\n"
11904 "B<extern FILE *>I<stderr>B<;>\n"
11905
11906 #. type: Plain text
11907 #: build/C/man3/stdin.3:31
11908 msgid ""
11909 "Under normal circumstances every UNIX program has three streams opened for "
11910 "it when it starts up, one for input, one for output, and one for printing "
11911 "diagnostic or error messages.  These are typically attached to the user's "
11912 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
11913 "depending on what the parent process chose to set up.  (See also the "
11914 "\"Redirection\" section of B<sh>(1).)"
11915 msgstr ""
11916 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
11917 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
11918 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
11919 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
11920 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
11921
11922 #. type: Plain text
11923 #: build/C/man3/stdin.3:41
11924 msgid ""
11925 "The input stream is referred to as \"standard input\"; the output stream is "
11926 "referred to as \"standard output\"; and the error stream is referred to as "
11927 "\"standard error\".  These terms are abbreviated to form the symbols used to "
11928 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
11929 msgstr ""
11930 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
11931 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
11932 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
11933 "I<stdout>, I<stderr> である。"
11934
11935 #. type: Plain text
11936 #: build/C/man3/stdin.3:50
11937 msgid ""
11938 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
11939 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
11940 msgstr ""
11941 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
11942 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
11943
11944 #. type: Plain text
11945 #: build/C/man3/stdin.3:59
11946 msgid ""
11947 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
11948 "same underlying files may also be accessed using the raw UNIX file "
11949 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
11950 msgstr ""
11951 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
11952 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
11953 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
11954 "る。"
11955
11956 #. type: Plain text
11957 #: build/C/man3/stdin.3:78
11958 msgid ""
11959 "On program startup, the integer file descriptors associated with the streams "
11960 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
11961 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
11962 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
11963 "(3)  to one of these streams can change the file descriptor number "
11964 "associated with the stream.)"
11965 msgstr ""
11966 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
11967 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
11968 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
11969 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
11970 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
11971 "たファイルディスクリプタ の番号を変更することができる。)"
11972
11973 #. type: Plain text
11974 #: build/C/man3/stdin.3:91
11975 msgid ""
11976 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
11977 "unexpected results and should generally be avoided.  (For the masochistic "
11978 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
11979 "is supposed to work.)  A general rule is that file descriptors are handled "
11980 "in the kernel, while stdio is just a library.  This means for example, that "
11981 "after an B<exec>(3), the child inherits all open file descriptors, but all "
11982 "old streams have become inaccessible."
11983 msgstr ""
11984 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
11985 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
11986 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
11987 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
11988 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
11989 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
11990 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
11991
11992 #. type: Plain text
11993 #: build/C/man3/stdin.3:109
11994 msgid ""
11995 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
11996 "macros, assigning to them is nonportable.  The standard streams can be made "
11997 "to refer to different files with help of the library function B<freopen>(3), "
11998 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
11999 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
12000 "by normal program termination."
12001 msgstr ""
12002 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
12003 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
12004 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
12005 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
12006 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
12007 "グラムの正常終了によってクローズされる。"
12008
12009 #. type: Plain text
12010 #: build/C/man3/stdin.3:118
12011 msgid ""
12012 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
12013 "standard also stipulates that these three streams shall be open at program "
12014 "startup."
12015 msgstr ""
12016 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
12017 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
12018 "とが規定されている。"
12019
12020 #. type: Plain text
12021 #: build/C/man3/stdin.3:150
12022 msgid ""
12023 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
12024 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
12025 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
12026 "unexpected results, especially with debugging output.  The buffering mode of "
12027 "the standard streams (or any other stream)  can be changed using the "
12028 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
12029 "associated with a terminal, there may also be input buffering in the "
12030 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
12031 "terminal input is line buffered in the kernel.)  This kernel input handling "
12032 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
12033 "B<termios>(3)."
12034 msgstr ""
12035 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
12036 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
12037 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
12038 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
12039 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
12040 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
12041 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
12042 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
12043 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
12044 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
12045 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
12046 "B<termios>(3)  も参照すること。"
12047
12048 #. type: Plain text
12049 #: build/C/man3/stdin.3:156
12050 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12051 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12052
12053 #. type: TH
12054 #: build/C/man3/stdio.3:37
12055 #, no-wrap
12056 msgid "STDIO"
12057 msgstr "STDIO"
12058
12059 #. type: TH
12060 #: build/C/man3/stdio.3:37
12061 #, no-wrap
12062 msgid "2001-12-26"
12063 msgstr "2001-12-26"
12064
12065 #. type: Plain text
12066 #: build/C/man3/stdio.3:40
12067 msgid "stdio - standard input/output library functions"
12068 msgstr "stdio - 標準入出力ライブラリ関数"
12069
12070 #. type: Plain text
12071 #: build/C/man3/stdio.3:44
12072 msgid "B<FILE *>I<stdin>B<;>"
12073 msgstr "B<FILE *>I<stdin>B<;>"
12074
12075 #. type: Plain text
12076 #: build/C/man3/stdio.3:46
12077 msgid "B<FILE *>I<stdout>B<;>"
12078 msgstr "B<FILE *>I<stdout>B<;>"
12079
12080 #. type: Plain text
12081 #: build/C/man3/stdio.3:48
12082 msgid "B<FILE *>I<stderr>B<;>"
12083 msgstr "B<FILE *>I<stderr>B<;>"
12084
12085 #. type: Plain text
12086 #: build/C/man3/stdio.3:55
12087 msgid ""
12088 "The standard I/O library provides a simple and efficient buffered stream I/O "
12089 "interface.  Input and output is mapped into logical data streams and the "
12090 "physical I/O characteristics are concealed.  The functions and macros are "
12091 "listed below; more information is available from the individual man pages."
12092 msgstr ""
12093 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12094 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12095 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12096 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12097
12098 #. type: Plain text
12099 #: build/C/man3/stdio.3:78
12100 msgid ""
12101 "A stream is associated with an external file (which may be a physical "
12102 "device) by I<opening> a file, which may involve creating a new file.  "
12103 "Creating an existing file causes its former contents to be discarded.  If a "
12104 "file can support positioning requests (such as a disk file, as opposed to a "
12105 "terminal) then a I<file position indicator> associated with the stream is "
12106 "positioned at the start of the file (byte zero), unless the file is opened "
12107 "with append mode.  If append mode is used, it is unspecified whether the "
12108 "position indicator will be placed at the start or the end of the file.  The "
12109 "position indicator is maintained by subsequent reads, writes and positioning "
12110 "requests.  All input occurs as if the characters were read by successive "
12111 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12112 "characters were written by successive calls to the B<fputc>(3)  function."
12113 msgstr ""
12114 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12115 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12116 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12117 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12118 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12119 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12120 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12121 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12122 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12123 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12124 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12125 "字を書き込んだかのように行われる。"
12126
12127 #. type: Plain text
12128 #: build/C/man3/stdio.3:88
12129 msgid ""
12130 "A file is disassociated from a stream by I<closing> the file.  Output "
12131 "streams are flushed (any unwritten buffer contents are transferred to the "
12132 "host environment) before the stream is disassociated from the file.  The "
12133 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12134 "closed (garbage)."
12135 msgstr ""
12136 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12137 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12138 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12139 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12140 "確定になる (ゴミになってしまう)。"
12141
12142 #. type: Plain text
12143 #: build/C/man3/stdio.3:101
12144 msgid ""
12145 "A file may be subsequently reopened, by the same or another program "
12146 "execution, and its contents reclaimed or modified (if it can be repositioned "
12147 "at the start).  If the main function returns to its original caller, or the "
12148 "B<exit>(3)  function is called, all open files are closed (hence all output "
12149 "streams are flushed) before program termination.  Other methods of program "
12150 "termination, such as B<abort>(3)  do not bother about closing files properly."
12151 msgstr ""
12152 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12153 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12154 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12155 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12156 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12157 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12158 "保証はない。"
12159
12160 #. type: Plain text
12161 #: build/C/man3/stdio.3:117
12162 msgid ""
12163 "At program startup, three text streams are predefined and need not be opened "
12164 "explicitly: I<standard input> (for reading conventional input), I<standard "
12165 "output> (for writing conventional input), and I<standard error> (for writing "
12166 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12167 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12168 "the standard input and output streams are fully buffered if and only if the "
12169 "streams do not to refer to an interactive device."
12170 msgstr ""
12171 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12172 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12173 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12174 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12175 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12176 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12177 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12178 "スを参照していなければ、 完全にバッファリングされている。"
12179
12180 #. type: Plain text
12181 #: build/C/man3/stdio.3:127
12182 msgid ""
12183 "Output streams that refer to terminal devices are always line buffered by "
12184 "default; pending output to such streams is written automatically whenever an "
12185 "input stream that refers to a terminal device is read.  In cases where a "
12186 "large amount of computation is done after printing part of a line on an "
12187 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12188 "going off and computing so that the output will appear."
12189 msgstr ""
12190 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12191 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12192 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12193 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12194 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12195 "必要がある。"
12196
12197 #. type: Plain text
12198 #: build/C/man3/stdio.3:141
12199 msgid ""
12200 "The I<stdio> library is a part of the library B<libc> and routines are "
12201 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12202 "SYNOPSIS sections of the following manual pages indicate which include files "
12203 "are to be used, what the compiler declaration for the function looks like "
12204 "and which external variables are of interest."
12205 msgstr ""
12206 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12207 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12208 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12209 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12210 "数が関係するのかが示されている。"
12211
12212 #.  Not on Linux: .BR fropen ,
12213 #.  Not on Linux: .BR fwopen ,
12214 #. type: Plain text
12215 #: build/C/man3/stdio.3:181
12216 msgid ""
12217 "The following are defined as macros; these names may not be reused without "
12218 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12219 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12220 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12221 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12222 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12223 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12224 "and B<putchar> exist and will be used if the macros definitions are "
12225 "explicitly removed."
12226 msgstr ""
12227 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12228 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12229 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12230 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12231 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12232 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12233 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12234 "示的に消去されている場合には、 これらを使用することになるだろう。"
12235
12236 #. type: SS
12237 #: build/C/man3/stdio.3:181
12238 #, no-wrap
12239 msgid "List of Functions"
12240 msgstr "関数のリスト"
12241
12242 #. type: tbl table
12243 #: build/C/man3/stdio.3:186
12244 #, no-wrap
12245 msgid "Function\tDescription\n"
12246 msgstr "関数\t説明\n"
12247
12248 #. type: tbl table
12249 #: build/C/man3/stdio.3:187
12250 #, no-wrap
12251 msgid "_\n"
12252 msgstr "_\n"
12253
12254 #. type: tbl table
12255 #: build/C/man3/stdio.3:188
12256 #, no-wrap
12257 msgid "clearerr\tcheck and reset stream status\n"
12258 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12259
12260 #. type: tbl table
12261 #: build/C/man3/stdio.3:189
12262 #, no-wrap
12263 msgid "fclose\tclose a stream\n"
12264 msgstr "fclose\tストリームをクローズする\n"
12265
12266 #. type: tbl table
12267 #: build/C/man3/stdio.3:190
12268 #, no-wrap
12269 msgid "fdopen\tstream open functions\n"
12270 msgstr "fdopen\tストリームをオープンする\n"
12271
12272 #. type: tbl table
12273 #: build/C/man3/stdio.3:191
12274 #, no-wrap
12275 msgid "feof\tcheck and reset stream status\n"
12276 msgstr "feof\tストリームの状態の確認とリセット\n"
12277
12278 #. type: tbl table
12279 #: build/C/man3/stdio.3:192
12280 #, no-wrap
12281 msgid "ferror\tcheck and reset stream status\n"
12282 msgstr "ferror\tストリームの状態の確認とリセット\n"
12283
12284 #. type: tbl table
12285 #: build/C/man3/stdio.3:193
12286 #, no-wrap
12287 msgid "fflush\tflush a stream\n"
12288 msgstr "fflush\tストリームをフラッシュする\n"
12289
12290 #. type: tbl table
12291 #: build/C/man3/stdio.3:194
12292 #, no-wrap
12293 msgid "fgetc\tget next character or word from input stream\n"
12294 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12295
12296 #. type: tbl table
12297 #: build/C/man3/stdio.3:195
12298 #, no-wrap
12299 msgid "fgetpos\treposition a stream\n"
12300 msgstr "fgetpos\tストリームの位置を取得する\n"
12301
12302 #. type: tbl table
12303 #: build/C/man3/stdio.3:196
12304 #, no-wrap
12305 msgid "fgets\tget a line from a stream\n"
12306 msgstr "fgets\tストリームから行を取得する\n"
12307
12308 #. type: tbl table
12309 #: build/C/man3/stdio.3:197
12310 #, no-wrap
12311 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12312 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12313
12314 #. type: tbl table
12315 #: build/C/man3/stdio.3:198
12316 #, no-wrap
12317 msgid "fopen\tstream open functions\n"
12318 msgstr "fopen\tストリームをオープンする\n"
12319
12320 #. type: tbl table
12321 #: build/C/man3/stdio.3:199
12322 #, no-wrap
12323 msgid "fprintf\tformatted output conversion\n"
12324 msgstr "fprintf\t書式付き出力変換\n"
12325
12326 #. type: tbl table
12327 #: build/C/man3/stdio.3:200
12328 #, no-wrap
12329 msgid "fpurge\tflush a stream\n"
12330 msgstr "fpurge\tストリームをフラッシュする\n"
12331
12332 #. type: tbl table
12333 #: build/C/man3/stdio.3:201
12334 #, no-wrap
12335 msgid "fputc\toutput a character or word to a stream\n"
12336 msgstr "fputc\t文字または語をストリームに出力する\n"
12337
12338 #. type: tbl table
12339 #: build/C/man3/stdio.3:202
12340 #, no-wrap
12341 msgid "fputs\toutput a line to a stream\n"
12342 msgstr "fputs\t行をストリームに出力する\n"
12343
12344 #. type: tbl table
12345 #: build/C/man3/stdio.3:203
12346 #, no-wrap
12347 msgid "fread\tbinary stream input/output\n"
12348 msgstr "fread\tバイナリーストリーム入出力\n"
12349
12350 #. type: tbl table
12351 #: build/C/man3/stdio.3:204
12352 #, no-wrap
12353 msgid "freopen\tstream open functions\n"
12354 msgstr "freopen\tストリームをオープンする\n"
12355
12356 #. type: tbl table
12357 #: build/C/man3/stdio.3:205
12358 #, no-wrap
12359 msgid "fscanf\tinput format conversion\n"
12360 msgstr "fscanf\t書式付き入力変換\n"
12361
12362 #. type: tbl table
12363 #: build/C/man3/stdio.3:206
12364 #, no-wrap
12365 msgid "fseek\treposition a stream\n"
12366 msgstr "fseek\tストリームの位置指示子を移動する\n"
12367
12368 #. type: tbl table
12369 #: build/C/man3/stdio.3:207
12370 #, no-wrap
12371 msgid "fsetpos\treposition a stream\n"
12372 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12373
12374 #. type: tbl table
12375 #: build/C/man3/stdio.3:208
12376 #, no-wrap
12377 msgid "ftell\treposition a stream\n"
12378 msgstr "ftell\tストリームの位置を取得する\n"
12379
12380 #. type: tbl table
12381 #: build/C/man3/stdio.3:209
12382 #, no-wrap
12383 msgid "fwrite\tbinary stream input/output\n"
12384 msgstr "fwrite\tバイナリーストリーム入出力\n"
12385
12386 #. type: tbl table
12387 #: build/C/man3/stdio.3:210
12388 #, no-wrap
12389 msgid "getc\tget next character or word from input stream\n"
12390 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12391
12392 #. type: tbl table
12393 #: build/C/man3/stdio.3:211
12394 #, no-wrap
12395 msgid "getchar\tget next character or word from input stream\n"
12396 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12397
12398 #. type: tbl table
12399 #: build/C/man3/stdio.3:212
12400 #, no-wrap
12401 msgid "gets\tget a line from a stream\n"
12402 msgstr "gets\t行を入力ストリームから取得する\n"
12403
12404 #. type: tbl table
12405 #: build/C/man3/stdio.3:213
12406 #, no-wrap
12407 msgid "getw\tget next character or word from input stream\n"
12408 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12409
12410 #. type: tbl table
12411 #: build/C/man3/stdio.3:214
12412 #, no-wrap
12413 msgid "mktemp\tmake temporary filename (unique)\n"
12414 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12415
12416 #. type: tbl table
12417 #: build/C/man3/stdio.3:215
12418 #, no-wrap
12419 msgid "perror\tsystem error messages\n"
12420 msgstr "perror\tシステムエラーメッセージ\n"
12421
12422 #. type: tbl table
12423 #: build/C/man3/stdio.3:216
12424 #, no-wrap
12425 msgid "printf\tformatted output conversion\n"
12426 msgstr "printf\t書式付き出力変換\n"
12427
12428 #. type: tbl table
12429 #: build/C/man3/stdio.3:217
12430 #, no-wrap
12431 msgid "putc\toutput a character or word to a stream\n"
12432 msgstr "putc\t文字または語をストリームに出力する\n"
12433
12434 #. type: tbl table
12435 #: build/C/man3/stdio.3:218
12436 #, no-wrap
12437 msgid "putchar\toutput a character or word to a stream\n"
12438 msgstr "putchar\t文字または語をストリームに出力する\n"
12439
12440 #. type: tbl table
12441 #: build/C/man3/stdio.3:219
12442 #, no-wrap
12443 msgid "puts\toutput a line to a stream\n"
12444 msgstr "puts\t行をストリームに出力する\n"
12445
12446 #. type: tbl table
12447 #: build/C/man3/stdio.3:220
12448 #, no-wrap
12449 msgid "putw\toutput a character or word to a stream\n"
12450 msgstr "putw\t文字または語をストリームに出力する\n"
12451
12452 #. type: tbl table
12453 #: build/C/man3/stdio.3:221
12454 #, no-wrap
12455 msgid "remove\tremove directory entry\n"
12456 msgstr "remove\tディレクトリエントリを削除する\n"
12457
12458 #. type: tbl table
12459 #: build/C/man3/stdio.3:222
12460 #, no-wrap
12461 msgid "rewind\treposition a stream\n"
12462 msgstr "rewind\tストリームの位置指示子を移動する\n"
12463
12464 #. type: tbl table
12465 #: build/C/man3/stdio.3:223
12466 #, no-wrap
12467 msgid "scanf\tinput format conversion\n"
12468 msgstr "scanf\t書式付き入力変換\n"
12469
12470 #. type: tbl table
12471 #: build/C/man3/stdio.3:224
12472 #, no-wrap
12473 msgid "setbuf\tstream buffering operations\n"
12474 msgstr "setbuf\tストリームのバッファリングの操作\n"
12475
12476 #. type: tbl table
12477 #: build/C/man3/stdio.3:225
12478 #, no-wrap
12479 msgid "setbuffer\tstream buffering operations\n"
12480 msgstr "setbuffer\tストリームのバッファリングの操作\n"
12481
12482 #. type: tbl table
12483 #: build/C/man3/stdio.3:226
12484 #, no-wrap
12485 msgid "setlinebuf\tstream buffering operations\n"
12486 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
12487
12488 #. type: tbl table
12489 #: build/C/man3/stdio.3:227
12490 #, no-wrap
12491 msgid "setvbuf\tstream buffering operations\n"
12492 msgstr "setvbuf\tストリームのバッファリングの操作\n"
12493
12494 #. type: tbl table
12495 #: build/C/man3/stdio.3:228
12496 #, no-wrap
12497 msgid "sprintf\tformatted output conversion\n"
12498 msgstr "sprintf\t書式付き出力変換\n"
12499
12500 #. type: tbl table
12501 #: build/C/man3/stdio.3:229
12502 #, no-wrap
12503 msgid "sscanf\tinput format conversion\n"
12504 msgstr "sscanf\t書式付き入力変換\n"
12505
12506 #. type: tbl table
12507 #: build/C/man3/stdio.3:230
12508 #, no-wrap
12509 msgid "strerror\tsystem error messages\n"
12510 msgstr "strerror\tシステムエラーメッセージ\n"
12511
12512 #. type: tbl table
12513 #: build/C/man3/stdio.3:231
12514 #, no-wrap
12515 msgid "sys_errlist\tsystem error messages\n"
12516 msgstr "sys_errlist\tシステムエラーメッセージ\n"
12517
12518 #. type: tbl table
12519 #: build/C/man3/stdio.3:232
12520 #, no-wrap
12521 msgid "sys_nerr\tsystem error messages\n"
12522 msgstr "sys_nerr\tシステムエラーメッセージ\n"
12523
12524 #. type: tbl table
12525 #: build/C/man3/stdio.3:233
12526 #, no-wrap
12527 msgid "tempnam\ttemporary file routines\n"
12528 msgstr "tempnam\tテンポラリファイルの操作\n"
12529
12530 #. type: tbl table
12531 #: build/C/man3/stdio.3:234
12532 #, no-wrap
12533 msgid "tmpfile\ttemporary file routines\n"
12534 msgstr "tmpfile\tテンポラリファイルの操作\n"
12535
12536 #. type: tbl table
12537 #: build/C/man3/stdio.3:235
12538 #, no-wrap
12539 msgid "tmpnam\ttemporary file routines\n"
12540 msgstr "tmpnam\tテンポラリファイルの操作\n"
12541
12542 #. type: tbl table
12543 #: build/C/man3/stdio.3:236
12544 #, no-wrap
12545 msgid "ungetc\tun-get character from input stream\n"
12546 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
12547
12548 #. type: tbl table
12549 #: build/C/man3/stdio.3:237
12550 #, no-wrap
12551 msgid "vfprintf\tformatted output conversion\n"
12552 msgstr "vfprintf\t書式付き出力変換\n"
12553
12554 #. type: tbl table
12555 #: build/C/man3/stdio.3:238
12556 #, no-wrap
12557 msgid "vfscanf\tinput format conversion\n"
12558 msgstr "vfscanf\t書式付き入力変換\n"
12559
12560 #. type: tbl table
12561 #: build/C/man3/stdio.3:239
12562 #, no-wrap
12563 msgid "vprintf\tformatted output conversion\n"
12564 msgstr "vprintf\t書式付き出力変換\n"
12565
12566 #. type: tbl table
12567 #: build/C/man3/stdio.3:240
12568 #, no-wrap
12569 msgid "vscanf\tinput format conversion\n"
12570 msgstr "vscanf\t書式付き入力変換\n"
12571
12572 #. type: tbl table
12573 #: build/C/man3/stdio.3:241
12574 #, no-wrap
12575 msgid "vsprintf\tformatted output conversion\n"
12576 msgstr "vsprintf\t書式付き出力変換\n"
12577
12578 #. type: tbl table
12579 #: build/C/man3/stdio.3:242
12580 #, no-wrap
12581 msgid "vsscanf\tinput format conversion\n"
12582 msgstr "vsscanf\t書式付き入力変換\n"
12583
12584 #. type: Plain text
12585 #: build/C/man3/stdio.3:248
12586 msgid "The I<stdio> library conforms to C89."
12587 msgstr "I<stdio> ライブラリは C89 に準拠している。"
12588
12589 #. type: Plain text
12590 #: build/C/man3/stdio.3:255
12591 msgid ""
12592 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12593 "B<unlocked_stdio>(3)"
12594 msgstr ""
12595 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12596 "B<unlocked_stdio>(3)"
12597
12598 #. type: TH
12599 #: build/C/man3/stdio_ext.3:23
12600 #, no-wrap
12601 msgid "STDIO_EXT"
12602 msgstr "STDIO_EXT"
12603
12604 #. type: TH
12605 #: build/C/man3/stdio_ext.3:23
12606 #, no-wrap
12607 msgid "2001-12-16"
12608 msgstr "2001-12-16"
12609
12610 #. type: Plain text
12611 #: build/C/man3/stdio_ext.3:28
12612 msgid ""
12613 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12614 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
12615 "structure"
12616 msgstr ""
12617 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12618 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
12619 "へのインタフェース"
12620
12621 #. type: Plain text
12622 #: build/C/man3/stdio_ext.3:32
12623 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
12624 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
12625
12626 #. type: Plain text
12627 #: build/C/man3/stdio_ext.3:34
12628 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12629 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12630
12631 #. type: Plain text
12632 #: build/C/man3/stdio_ext.3:36
12633 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
12634 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
12635
12636 #. type: Plain text
12637 #: build/C/man3/stdio_ext.3:38
12638 msgid "B<int __flbf(FILE *>I<stream>B<);>"
12639 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
12640
12641 #. type: Plain text
12642 #: build/C/man3/stdio_ext.3:40
12643 msgid "B<int __freadable(FILE *>I<stream>B<);>"
12644 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
12645
12646 #. type: Plain text
12647 #: build/C/man3/stdio_ext.3:42
12648 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
12649 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
12650
12651 #. type: Plain text
12652 #: build/C/man3/stdio_ext.3:44
12653 msgid "B<int __freading(FILE *>I<stream>B<);>"
12654 msgstr "B<int __freading(FILE *>I<stream>B<);>"
12655
12656 #. type: Plain text
12657 #: build/C/man3/stdio_ext.3:46
12658 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
12659 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
12660
12661 #. type: Plain text
12662 #: build/C/man3/stdio_ext.3:48
12663 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12664 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12665
12666 #. type: Plain text
12667 #: build/C/man3/stdio_ext.3:50
12668 msgid "B<void _flushlbf(void);>"
12669 msgstr "B<void _flushlbf(void);>"
12670
12671 #. type: Plain text
12672 #: build/C/man3/stdio_ext.3:52
12673 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
12674 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
12675
12676 #. type: Plain text
12677 #: build/C/man3/stdio_ext.3:57
12678 msgid ""
12679 "Solaris introduced routines to allow portable access to the internals of the "
12680 "I<FILE> structure, and glibc also implemented these."
12681 msgstr ""
12682 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
12683 "が導入されており、これらは glibc でも実装されている。"
12684
12685 #. type: Plain text
12686 #: build/C/man3/stdio_ext.3:62
12687 msgid ""
12688 "The B<__fbufsize>()  function returns the size of the buffer currently used "
12689 "by the given stream."
12690 msgstr ""
12691 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファ・サイズを"
12692 "返す。"
12693
12694 #. type: Plain text
12695 #: build/C/man3/stdio_ext.3:69
12696 msgid ""
12697 "The B<__fpending>()  function returns the number of bytes in the output "
12698 "buffer.  For wide-oriented streams the unit is wide characters.  This "
12699 "function is undefined on buffers in reading mode, or opened read-only."
12700 msgstr ""
12701 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
12702 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
12703 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
12704 "は未定義である。"
12705
12706 #. type: Plain text
12707 #: build/C/man3/stdio_ext.3:74
12708 msgid ""
12709 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
12710 "buffered, and zero otherwise."
12711 msgstr ""
12712 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
12713 "場合は 0 を返す。"
12714
12715 #. type: Plain text
12716 #: build/C/man3/stdio_ext.3:79
12717 msgid ""
12718 "The B<__freadable>()  function returns a nonzero value if the stream allows "
12719 "reading, and zero otherwise."
12720 msgstr ""
12721 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
12722 "外の場合は 0 を返す。"
12723
12724 #. type: Plain text
12725 #: build/C/man3/stdio_ext.3:84
12726 msgid ""
12727 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
12728 "writing, and zero otherwise."
12729 msgstr ""
12730 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
12731 "外の場合は 0 を返す。"
12732
12733 #. type: Plain text
12734 #: build/C/man3/stdio_ext.3:90
12735 msgid ""
12736 "The B<__freading>()  function returns a nonzero value if the stream is read-"
12737 "only, or if the last operation on the stream was a read operation, and zero "
12738 "otherwise."
12739 msgstr ""
12740 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
12741 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
12742 "を返す。"
12743
12744 #. type: Plain text
12745 #: build/C/man3/stdio_ext.3:96
12746 msgid ""
12747 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
12748 "only (or append-only), or if the last operation on the stream was a write "
12749 "operation, and zero otherwise."
12750 msgstr ""
12751 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
12752 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
12753 "し、 それ以外の場合は 0 を返す。"
12754
12755 #. type: Plain text
12756 #: build/C/man3/stdio_ext.3:104
12757 msgid ""
12758 "The B<__fsetlocking>()  function can be used to select the desired type of "
12759 "locking on the stream.  It returns the current type.  The I<type> argument "
12760 "can take the following three values:"
12761 msgstr ""
12762 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
12763 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
12764 "ることができる :"
12765
12766 #. type: TP
12767 #: build/C/man3/stdio_ext.3:104
12768 #, no-wrap
12769 msgid "B<FSETLOCKING_INTERNAL>"
12770 msgstr "B<FSETLOCKING_INTERNAL>"
12771
12772 #. type: Plain text
12773 #: build/C/man3/stdio_ext.3:109
12774 msgid ""
12775 "Perform implicit locking around every operation on the given stream (except "
12776 "for the *_unlocked ones).  This is the default."
12777 msgstr ""
12778 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
12779 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
12780 "である)。 これがデフォルトのロック形式である。"
12781
12782 #. type: TP
12783 #: build/C/man3/stdio_ext.3:109
12784 #, no-wrap
12785 msgid "B<FSETLOCKING_BYCALLER>"
12786 msgstr "B<FSETLOCKING_BYCALLER>"
12787
12788 #. type: Plain text
12789 #: build/C/man3/stdio_ext.3:116
12790 msgid ""
12791 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
12792 "case there is more than one thread), and the stdio routines will not do "
12793 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
12794 msgstr ""
12795 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
12796 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
12797 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
12798 "理を行わない。"
12799
12800 #. type: TP
12801 #: build/C/man3/stdio_ext.3:116
12802 #, no-wrap
12803 msgid "B<FSETLOCKING_QUERY>"
12804 msgstr "B<FSETLOCKING_QUERY>"
12805
12806 #. type: Plain text
12807 #: build/C/man3/stdio_ext.3:120
12808 msgid "Don't change the type of locking.  (Only return it.)"
12809 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
12810
12811 #. type: Plain text
12812 #: build/C/man3/stdio_ext.3:126
12813 msgid ""
12814 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
12815 "so that output to a terminal is forced out, say before reading keyboard "
12816 "input.)"
12817 msgstr ""
12818 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
12819 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
12820 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
12821 "いだろう)"
12822
12823 #. type: Plain text
12824 #: build/C/man3/stdio_ext.3:130
12825 msgid ""
12826 "The B<__fpurge>()  function discards the contents of the stream's buffer."
12827 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
12828
12829 #. type: Plain text
12830 #: build/C/man3/stdio_ext.3:133
12831 msgid "B<flockfile>(3), B<fpurge>(3)"
12832 msgstr "B<flockfile>(3), B<fpurge>(3)"
12833
12834 #. type: TH
12835 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
12836 #, no-wrap
12837 msgid "SYMLINK"
12838 msgstr "SYMLINK"
12839
12840 #. type: TH
12841 #: build/C/man2/symlink.2:32
12842 #, no-wrap
12843 msgid "2010-09-20"
12844 msgstr "2010-09-20"
12845
12846 #. type: Plain text
12847 #: build/C/man2/symlink.2:35
12848 msgid "symlink - make a new name for a file"
12849 msgstr "symlink - ファイルに新しい名前を付ける"
12850
12851 #. type: Plain text
12852 #: build/C/man2/symlink.2:39
12853 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12854 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12855
12856 #. type: Plain text
12857 #: build/C/man2/symlink.2:47
12858 msgid "B<symlink>():"
12859 msgstr "B<symlink>():"
12860
12861 #. type: Plain text
12862 #: build/C/man2/symlink.2:58
12863 msgid ""
12864 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
12865 "string I<oldpath>."
12866 msgstr ""
12867 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
12868 "I<newpath> というシンボリック・リンク (symbolic link) を作成する。"
12869
12870 #. type: Plain text
12871 #: build/C/man2/symlink.2:62
12872 msgid ""
12873 "Symbolic links are interpreted at run time as if the contents of the link "
12874 "had been substituted into the path being followed to find a file or "
12875 "directory."
12876 msgstr ""
12877 "シンボリック・リンクは実行時に解釈され、 リンクの内容でパスを置き換えて、その"
12878 "パスを辿ることで、 ファイルやディレクトリに到達する。"
12879
12880 #. type: Plain text
12881 #: build/C/man2/symlink.2:67
12882 msgid ""
12883 "Symbolic links may contain I<..> path components, which (if used at the "
12884 "start of the link) refer to the parent directories of that in which the link "
12885 "resides."
12886 msgstr ""
12887 "シンボリック・リンクはパスの部分に I<..> を含むかもしれない。これは (もしリン"
12888 "クの最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参"
12889 "照される。"
12890
12891 #. type: Plain text
12892 #: build/C/man2/symlink.2:71
12893 msgid ""
12894 "A symbolic link (also known as a soft link) may point to an existing file or "
12895 "to a nonexistent one; the latter case is known as a dangling link."
12896 msgstr ""
12897 "シンボリック・リンクは (ソフト・リンク (soft link) とも呼ばれ)  存在するファ"
12898 "イルを指しているかもしれないし、 存在しないファイルを指しているかもしれない; "
12899 "後者の場合は壊れたリンク (dangling link) とも呼ばれる。"
12900
12901 #. type: Plain text
12902 #: build/C/man2/symlink.2:78
12903 msgid ""
12904 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
12905 "when following the link, but is checked when removal or renaming of the link "
12906 "is requested and the link is in a directory with the sticky bit "
12907 "(B<S_ISVTX>)  set."
12908 msgstr ""
12909 "シンボリック・リンクの許可 (permission) は無意味である; リンクを追跡する場合"
12910 "には所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求"
12911 "され、かつリンクが存在する ディレクトリにスティッキー・ビット (sticky bit)  "
12912 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
12913
12914 #. type: Plain text
12915 #: build/C/man2/symlink.2:99
12916 msgid ""
12917 "Write access to the directory containing I<newpath> is denied, or one of the "
12918 "directories in the path prefix of I<newpath> did not allow search "
12919 "permission.  (See also B<path_resolution>(7).)"
12920 msgstr ""
12921 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
12922 "含まれているディレクトリのどれかに検索許可が与えられていない "
12923 "(B<path_resolution>(7)  も参照すること)。"
12924
12925 #. type: Plain text
12926 #: build/C/man2/symlink.2:113
12927 msgid "Too many symbolic links were encountered in resolving I<newpath>."
12928 msgstr "I<newpath> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
12929
12930 #. type: Plain text
12931 #: build/C/man2/symlink.2:123
12932 msgid ""
12933 "A directory component in I<newpath> does not exist or is a dangling symbolic "
12934 "link, or I<oldpath> is the empty string."
12935 msgstr ""
12936 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
12937 "I<oldpath> が空文字列である。"
12938
12939 #. type: Plain text
12940 #: build/C/man2/symlink.2:135
12941 msgid ""
12942 "A component used as a directory in I<newpath> is not, in fact, a directory."
12943 msgstr ""
12944 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
12945
12946 #. type: Plain text
12947 #: build/C/man2/symlink.2:140
12948 msgid ""
12949 "The file system containing I<newpath> does not support the creation of "
12950 "symbolic links."
12951 msgstr ""
12952 "I<newpath> を含んでいるファイル・システム (file system) が シンボリック・リン"
12953 "クの作成をサポートしていない。"
12954
12955 #. type: Plain text
12956 #: build/C/man2/symlink.2:144
12957 msgid "I<newpath> is on a read-only file system."
12958 msgstr "I<newpath> が読み込み専用のファイル・システムに存在している。"
12959
12960 #. type: Plain text
12961 #: build/C/man2/symlink.2:154
12962 msgid "No checking of I<oldpath> is done."
12963 msgstr "I<oldpath> についてのチェックは行なわれない。"
12964
12965 #. type: Plain text
12966 #: build/C/man2/symlink.2:159
12967 msgid ""
12968 "Deleting the name referred to by a symlink will actually delete the file "
12969 "(unless it also has other hard links).  If this behavior is not desired, use "
12970 "B<link>(2)."
12971 msgstr ""
12972 "symlink によって参照される名前を削除すると (それが他にハード・リンク (hard "
12973 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
12974 "場合は、 B<link>(2)  を使用すること。"
12975
12976 #. type: Plain text
12977 #: build/C/man2/symlink.2:171
12978 msgid ""
12979 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12980 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12981 "B<symlink>(7)"
12982 msgstr ""
12983 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12984 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12985 "B<symlink>(7)"
12986
12987 #. type: TH
12988 #: build/C/man7/symlink.7:35
12989 #, no-wrap
12990 msgid "2008-06-18"
12991 msgstr "2008-06-18"
12992
12993 #. type: Plain text
12994 #: build/C/man7/symlink.7:38
12995 msgid "symlink - symbolic link handling"
12996 msgstr "symlink - symbolic link handling"
12997
12998 #. type: SH
12999 #: build/C/man7/symlink.7:38
13000 #, no-wrap
13001 msgid "SYMBOLIC LINK HANDLING"
13002 msgstr "SYMBOLIC LINK HANDLING"
13003
13004 #. type: Plain text
13005 #: build/C/man7/symlink.7:42
13006 msgid ""
13007 "Symbolic links are files that act as pointers to other files.  To understand "
13008 "their behavior, you must first understand how hard links work."
13009 msgstr ""
13010 "Symbolic links are files that act as pointers to other files.  To understand "
13011 "their behavior, you must first understand how hard links work."
13012
13013 #. type: Plain text
13014 #: build/C/man7/symlink.7:58
13015 msgid ""
13016 "A hard link to a file is indistinguishable from the original file because it "
13017 "is a reference to the object underlying the original filename.  (To be "
13018 "precise: each of the hard links to a file is a reference to the same I<i-"
13019 "node number>, where an i-node number is an index into the i-node table, "
13020 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13021 "Changes to a file are independent of the name used to reference the file.  "
13022 "Hard links may not refer to directories (to prevent the possibility of loops "
13023 "within the file system tree, which would confuse many programs)  and may not "
13024 "refer to files on different file systems (because i-node numbers are not "
13025 "unique across file systems)."
13026 msgstr ""
13027 "A hard link to a file is indistinguishable from the original file because it "
13028 "is a reference to the object underlying the original filename.  (To be "
13029 "precise: each of the hard links to a file is a reference to the same I<i-"
13030 "node number>, where an i-node number is an index into the i-node table, "
13031 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13032 "Changes to a file are independent of the name used to reference the file.  "
13033 "Hard links may not refer to directories (to prevent the possibility of loops "
13034 "within the file system tree, which would confuse many programs)  and may not "
13035 "refer to files on different file systems (because i-node numbers are not "
13036 "unique across file systems)."
13037
13038 #. type: Plain text
13039 #: build/C/man7/symlink.7:65
13040 msgid ""
13041 "A symbolic link is a special type of file whose contents are a string that "
13042 "is the pathname another file, the file to which the link refers.  In other "
13043 "words, a symbolic link is a pointer to another name, and not to an "
13044 "underlying object.  For this reason, symbolic links may refer to directories "
13045 "and may cross file system boundaries."
13046 msgstr ""
13047 "A symbolic link is a special type of file whose contents are a string that "
13048 "is the pathname another file, the file to which the link refers.  In other "
13049 "words, a symbolic link is a pointer to another name, and not to an "
13050 "underlying object.  For this reason, symbolic links may refer to directories "
13051 "and may cross file system boundaries."
13052
13053 #. type: Plain text
13054 #: build/C/man7/symlink.7:71
13055 msgid ""
13056 "There is no requirement that the pathname referred to by a symbolic link "
13057 "should exist.  A symbolic link that refers to a pathname that does not exist "
13058 "is said to be a I<dangling link>."
13059 msgstr ""
13060 "There is no requirement that the pathname referred to by a symbolic link "
13061 "should exist.  A symbolic link that refers to a pathname that does not exist "
13062 "is said to be a I<dangling link>."
13063
13064 #. type: Plain text
13065 #: build/C/man7/symlink.7:83
13066 msgid ""
13067 "Because a symbolic link and its referenced object coexist in the file system "
13068 "name space, confusion can arise in distinguishing between the link itself "
13069 "and the referenced object.  On historical systems, commands and system calls "
13070 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13071 "Rules for a more uniform approach, as they are implemented on Linux and "
13072 "other systems, are outlined here.  It is important that site-local "
13073 "applications also conform to these rules, so that the user interface can be "
13074 "as consistent as possible."
13075 msgstr ""
13076 "Because a symbolic link and its referenced object coexist in the file system "
13077 "name space, confusion can arise in distinguishing between the link itself "
13078 "and the referenced object.  On historical systems, commands and system calls "
13079 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13080 "Rules for a more uniform approach, as they are implemented on Linux and "
13081 "other systems, are outlined here.  It is important that site-local "
13082 "applications also conform to these rules, so that the user interface can be "
13083 "as consistent as possible."
13084
13085 #. type: SS
13086 #: build/C/man7/symlink.7:83
13087 #, no-wrap
13088 msgid "Symbolic link ownership, permissions, and timestamps"
13089 msgstr "Symbolic link ownership, permissions, and timestamps"
13090
13091 #. type: Plain text
13092 #: build/C/man7/symlink.7:91
13093 msgid ""
13094 "The owner and group of an existing symbolic link can be changed using "
13095 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13096 "is when the link is being removed or renamed in a directory that has the "
13097 "sticky bit set (see B<stat>(2))."
13098 msgstr ""
13099 "The owner and group of an existing symbolic link can be changed using "
13100 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13101 "is when the link is being removed or renamed in a directory that has the "
13102 "sticky bit set (see B<stat>(2))."
13103
13104 #. type: Plain text
13105 #: build/C/man7/symlink.7:97
13106 msgid ""
13107 "The last access and last modification timestamps of a symbolic link can be "
13108 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13109 msgstr ""
13110 "The last access and last modification timestamps of a symbolic link can be "
13111 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13112
13113 #.  Linux does not currently implement an lchmod(2).
13114 #.  The
13115 #.  4.4BSD
13116 #.  system differs from historical
13117 #.  4BSD
13118 #.  systems in that the system call
13119 #.  .BR chown (2)
13120 #.  has been changed to follow symbolic links.
13121 #.  The
13122 #.  .BR lchown (2)
13123 #.  system call was added later when the limitations of the new
13124 #.  .BR chown (2)
13125 #.  became apparent.
13126 #. type: Plain text
13127 #: build/C/man7/symlink.7:116
13128 msgid ""
13129 "On Linux, the permissions of a symbolic link are not used in any operations; "
13130 "the permissions are always 0777 (read, write, and execute for all user "
13131 "categories), and can't be changed."
13132 msgstr ""
13133 "On Linux, the permissions of a symbolic link are not used in any operations; "
13134 "the permissions are always 0777 (read, write, and execute for all user "
13135 "categories), and can't be changed."
13136
13137 #. type: SS
13138 #: build/C/man7/symlink.7:116
13139 #, no-wrap
13140 msgid "Handling of symbolic links by system calls and commands"
13141 msgstr "Handling of symbolic links by system calls and commands"
13142
13143 #. type: Plain text
13144 #: build/C/man7/symlink.7:131
13145 msgid ""
13146 "Symbolic links are handled either by operating on the link itself, or by "
13147 "operating on the object referred to by the link.  In the latter case, an "
13148 "application or system call is said to I<follow> the link.  Symbolic links "
13149 "may refer to other symbolic links, in which case the links are dereferenced "
13150 "until an object that is not a symbolic link is found, a symbolic link that "
13151 "refers to a file which does not exist is found, or a loop is detected.  "
13152 "(Loop detection is done by placing an upper limit on the number of links "
13153 "that may be followed, and an error results if this limit is exceeded.)"
13154 msgstr ""
13155 "Symbolic links are handled either by operating on the link itself, or by "
13156 "operating on the object referred to by the link.  In the latter case, an "
13157 "application or system call is said to I<follow> the link.  Symbolic links "
13158 "may refer to other symbolic links, in which case the links are dereferenced "
13159 "until an object that is not a symbolic link is found, a symbolic link that "
13160 "refers to a file which does not exist is found, or a loop is detected.  "
13161 "(Loop detection is done by placing an upper limit on the number of links "
13162 "that may be followed, and an error results if this limit is exceeded.)"
13163
13164 #. type: Plain text
13165 #: build/C/man7/symlink.7:134
13166 msgid ""
13167 "There are three separate areas that need to be discussed.  They are as "
13168 "follows:"
13169 msgstr ""
13170 "There are three separate areas that need to be discussed.  They are as "
13171 "follows:"
13172
13173 #. type: IP
13174 #: build/C/man7/symlink.7:134
13175 #, no-wrap
13176 msgid "1."
13177 msgstr "1."
13178
13179 #. type: Plain text
13180 #: build/C/man7/symlink.7:136
13181 msgid "Symbolic links used as filename arguments for system calls."
13182 msgstr "Symbolic links used as filename arguments for system calls."
13183
13184 #. type: IP
13185 #: build/C/man7/symlink.7:136
13186 #, no-wrap
13187 msgid "2."
13188 msgstr "2."
13189
13190 #. type: Plain text
13191 #: build/C/man7/symlink.7:139
13192 msgid ""
13193 "Symbolic links specified as command-line arguments to utilities that are not "
13194 "traversing a file tree."
13195 msgstr ""
13196 "Symbolic links specified as command-line arguments to utilities that are not "
13197 "traversing a file tree."
13198
13199 #. type: IP
13200 #: build/C/man7/symlink.7:139
13201 #, no-wrap
13202 msgid "3."
13203 msgstr "3."
13204
13205 #. type: Plain text
13206 #: build/C/man7/symlink.7:143
13207 msgid ""
13208 "Symbolic links encountered by utilities that are traversing a file tree "
13209 "(either specified on the command line or encountered as part of the file "
13210 "hierarchy walk)."
13211 msgstr ""
13212 "Symbolic links encountered by utilities that are traversing a file tree "
13213 "(either specified on the command line or encountered as part of the file "
13214 "hierarchy walk)."
13215
13216 #. type: SS
13217 #: build/C/man7/symlink.7:143
13218 #, no-wrap
13219 msgid "System calls"
13220 msgstr "System calls"
13221
13222 #. type: Plain text
13223 #: build/C/man7/symlink.7:146
13224 msgid ""
13225 "The first area is symbolic links used as filename arguments for system calls."
13226 msgstr ""
13227 "The first area is symbolic links used as filename arguments for system calls."
13228
13229 #. type: Plain text
13230 #: build/C/man7/symlink.7:156
13231 msgid ""
13232 "Except as noted below, all system calls follow symbolic links.  For example, "
13233 "if there were a symbolic link I<slink> which pointed to a file named "
13234 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13235 "descriptor referring to the file I<afile>."
13236 msgstr ""
13237 "Except as noted below, all system calls follow symbolic links.  For example, "
13238 "if there were a symbolic link I<slink> which pointed to a file named "
13239 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13240 "descriptor referring to the file I<afile>."
13241
13242 #.  Maybe one day: .BR fchownat (2)
13243 #. type: Plain text
13244 #: build/C/man7/symlink.7:206
13245 msgid ""
13246 "Various system calls do not follow links, and operate on the symbolic link "
13247 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13248 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13249 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13250 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13251 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13252 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13253 "(2), that library function also does not follow symbolic links.  When "
13254 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13255 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13256 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13257 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13258 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13259 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13260 "to allow either behavior in an implementation."
13261 msgstr ""
13262 "Various system calls do not follow links, and operate on the symbolic link "
13263 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13264 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13265 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13266 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13267 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13268 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13269 "(2), that library function also does not follow symbolic links.  When "
13270 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13271 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13272 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13273 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13274 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13275 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13276 "to allow either behavior in an implementation."
13277
13278 #. type: SS
13279 #: build/C/man7/symlink.7:206
13280 #, no-wrap
13281 msgid "Commands not traversing a file tree"
13282 msgstr "Commands not traversing a file tree"
13283
13284 #. type: Plain text
13285 #: build/C/man7/symlink.7:209
13286 msgid ""
13287 "The second area is symbolic links, specified as command-line filename "
13288 "arguments, to commands which are not traversing a file tree."
13289 msgstr ""
13290 "The second area is symbolic links, specified as command-line filename "
13291 "arguments, to commands which are not traversing a file tree."
13292
13293 #. type: Plain text
13294 #: build/C/man7/symlink.7:220
13295 msgid ""
13296 "Except as noted below, commands follow symbolic links named as command-line "
13297 "arguments.  For example, if there were a symbolic link I<slink> which "
13298 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13299 "contents of the file I<afile>."
13300 msgstr ""
13301 "Except as noted below, commands follow symbolic links named as command-line "
13302 "arguments.  For example, if there were a symbolic link I<slink> which "
13303 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13304 "contents of the file I<afile>."
13305
13306 #. type: Plain text
13307 #: build/C/man7/symlink.7:228
13308 msgid ""
13309 "It is important to realize that this rule includes commands which may "
13310 "optionally traverse file trees, e.g., the command I<chown file> is included "
13311 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13312 "traversal, is not.  (The latter is described in the third area, below.)"
13313 msgstr ""
13314 "It is important to realize that this rule includes commands which may "
13315 "optionally traverse file trees, e.g., the command I<chown file> is included "
13316 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13317 "traversal, is not.  (The latter is described in the third area, below.)"
13318
13319 #. type: Plain text
13320 #: build/C/man7/symlink.7:246
13321 msgid ""
13322 "If it is explicitly intended that the command operate on the symbolic link "
13323 "instead of following the symbolic link, e.g., it is desired that I<chown "
13324 "slink> change the ownership of the file that I<slink> is, whether it is a "
13325 "symbolic link or not, the I<-h> option should be used.  In the above "
13326 "example, I<chown root slink> would change the ownership of the file referred "
13327 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13328 "I<slink> itself."
13329 msgstr ""
13330 "If it is explicitly intended that the command operate on the symbolic link "
13331 "instead of following the symbolic link, e.g., it is desired that I<chown "
13332 "slink> change the ownership of the file that I<slink> is, whether it is a "
13333 "symbolic link or not, the I<-h> option should be used.  In the above "
13334 "example, I<chown root slink> would change the ownership of the file referred "
13335 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13336 "I<slink> itself."
13337
13338 #. type: Plain text
13339 #: build/C/man7/symlink.7:248
13340 msgid "There are some exceptions to this rule:"
13341 msgstr "There are some exceptions to this rule:"
13342
13343 #. type: Plain text
13344 #: build/C/man7/symlink.7:258
13345 msgid ""
13346 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13347 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13348 "the symbolic link references a file via a relative path, moving it to "
13349 "another directory may very well cause it to stop working, since the path may "
13350 "no longer be correct.)"
13351 msgstr ""
13352 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13353 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13354 "the symbolic link references a file via a relative path, moving it to "
13355 "another directory may very well cause it to stop working, since the path may "
13356 "no longer be correct.)"
13357
13358 #. type: Plain text
13359 #: build/C/man7/symlink.7:288
13360 msgid ""
13361 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13362 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13363 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13364 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13365 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13366 "the only command where the I<-H> and I<-L> options affect its behavior even "
13367 "though it is not doing a walk of a file tree.)"
13368 msgstr ""
13369 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13370 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13371 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13372 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13373 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13374 "the only command where the I<-H> and I<-L> options affect its behavior even "
13375 "though it is not doing a walk of a file tree.)"
13376
13377 #. The 4.4BSD system differs from historical 4BSD systems in that the
13378 #. .BR chown (1)
13379 #. and
13380 #. .BR chgrp (1)
13381 #. commands follow symbolic links specified on the command line.
13382 #. type: Plain text
13383 #: build/C/man7/symlink.7:306
13384 msgid ""
13385 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13386 "command does not follow symbolic links named as argument by default.  The "
13387 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13388 "L> option is specified."
13389 msgstr ""
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
13395 #. type: SS
13396 #: build/C/man7/symlink.7:306
13397 #, no-wrap
13398 msgid "Commands traversing a file tree"
13399 msgstr "Commands traversing a file tree"
13400
13401 #. type: Plain text
13402 #: build/C/man7/symlink.7:319
13403 msgid ""
13404 "The following commands either optionally or always traverse file trees: "
13405 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13406 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13407 msgstr ""
13408 "The following commands either optionally or always traverse file trees: "
13409 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13410 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13411
13412 #. type: Plain text
13413 #: build/C/man7/symlink.7:323
13414 msgid ""
13415 "It is important to realize that the following rules apply equally to "
13416 "symbolic links encountered during the file tree traversal and symbolic links "
13417 "listed as command-line arguments."
13418 msgstr ""
13419 "It is important to realize that the following rules apply equally to "
13420 "symbolic links encountered during the file tree traversal and symbolic links "
13421 "listed as command-line arguments."
13422
13423 #. type: Plain text
13424 #: build/C/man7/symlink.7:328
13425 msgid ""
13426 "The I<first rule> applies to symbolic links that reference files other than "
13427 "directories.  Operations that apply to symbolic links are performed on the "
13428 "links themselves, but otherwise the links are ignored."
13429 msgstr ""
13430 "The I<first rule> applies to symbolic links that reference files other than "
13431 "directories.  Operations that apply to symbolic links are performed on the "
13432 "links themselves, but otherwise the links are ignored."
13433
13434 #. type: Plain text
13435 #: build/C/man7/symlink.7:340
13436 msgid ""
13437 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13438 "symbolic links encountered in the tree traversal of I<directory>, because "
13439 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13440 "referred to by I<slink>."
13441 msgstr ""
13442 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13443 "symbolic links encountered in the tree traversal of I<directory>, because "
13444 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13445 "referred to by I<slink>."
13446
13447 #. type: Plain text
13448 #: build/C/man7/symlink.7:345
13449 msgid ""
13450 "The I<second rule> applies to symbolic links that refer to directories.  "
13451 "Symbolic links that refer to directories are never followed by default.  "
13452 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13453 "\" walk (where symbolic links the refer to directories are followed)."
13454 msgstr ""
13455 "The I<second rule> applies to symbolic links that refer to directories.  "
13456 "Symbolic links that refer to directories are never followed by default.  "
13457 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13458 "\" walk (where symbolic links the refer to directories are followed)."
13459
13460 #. type: Plain text
13461 #: build/C/man7/symlink.7:348
13462 msgid ""
13463 "Certain conventions are (should be) followed as consistently as possible by "
13464 "commands that perform file tree walks:"
13465 msgstr ""
13466 "Certain conventions are (should be) followed as consistently as possible by "
13467 "commands that perform file tree walks:"
13468
13469 #. type: Plain text
13470 #: build/C/man7/symlink.7:361
13471 msgid ""
13472 "A command can be made to follow any symbolic links named on the command "
13473 "line, regardless of the type of file they reference, by specifying the I<-H> "
13474 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13475 "name space look like the logical name space.  (Note, for commands that do "
13476 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13477 "R> flag is not also specified.)"
13478 msgstr ""
13479 "A command can be made to follow any symbolic links named on the command "
13480 "line, regardless of the type of file they reference, by specifying the I<-H> "
13481 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13482 "name space look like the logical name space.  (Note, for commands that do "
13483 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13484 "R> flag is not also specified.)"
13485
13486 #. type: Plain text
13487 #: build/C/man7/symlink.7:377
13488 msgid ""
13489 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13490 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13491 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13492 "symbolic links specified on the command line to be dereferenced for the "
13493 "purposes of both the action to be performed and the tree walk, and it is as "
13494 "if the user had specified the name of the file to which the symbolic link "
13495 "pointed."
13496 msgstr ""
13497 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13498 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13499 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13500 "symbolic links specified on the command line to be dereferenced for the "
13501 "purposes of both the action to be performed and the tree walk, and it is as "
13502 "if the user had specified the name of the file to which the symbolic link "
13503 "pointed."
13504
13505 #. type: Plain text
13506 #: build/C/man7/symlink.7:391
13507 msgid ""
13508 "A command can be made to follow any symbolic links named on the command "
13509 "line, as well as any symbolic links encountered during the traversal, "
13510 "regardless of the type of file they reference, by specifying the I<-L> (for "
13511 "\"logical\") flag.  This flag is intended to make the entire name space look "
13512 "like the logical name space.  (Note, for commands that do not always do file "
13513 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13514 "also specified.)"
13515 msgstr ""
13516 "A command can be made to follow any symbolic links named on the command "
13517 "line, as well as any symbolic links encountered during the traversal, "
13518 "regardless of the type of file they reference, by specifying the I<-L> (for "
13519 "\"logical\") flag.  This flag is intended to make the entire name space look "
13520 "like the logical name space.  (Note, for commands that do not always do file "
13521 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13522 "also specified.)"
13523
13524 #. type: Plain text
13525 #: build/C/man7/symlink.7:406
13526 msgid ""
13527 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13528 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13529 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13530 "references.  In addition, if any symbolic links are encountered in any file "
13531 "tree that B<chown> traverses, they will be treated in the same fashion as "
13532 "I<slink>."
13533 msgstr ""
13534 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13535 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13536 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13537 "references.  In addition, if any symbolic links are encountered in any file "
13538 "tree that B<chown> traverses, they will be treated in the same fashion as "
13539 "I<slink>."
13540
13541 #. type: Plain text
13542 #: build/C/man7/symlink.7:413
13543 msgid ""
13544 "A command can be made to provide the default behavior by specifying the I<-"
13545 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13546 "space look like the physical name space."
13547 msgstr ""
13548 "A command can be made to provide the default behavior by specifying the I<-"
13549 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13550 "space look like the physical name space."
13551
13552 #. type: Plain text
13553 #: build/C/man7/symlink.7:431
13554 msgid ""
13555 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13556 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13557 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13558 "once; the last one specified determines the command's behavior.  This is "
13559 "intended to permit you to alias commands to behave one way or the other, and "
13560 "then override that behavior on the command line."
13561 msgstr ""
13562 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13563 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13564 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13565 "once; the last one specified determines the command's behavior.  This is "
13566 "intended to permit you to alias commands to behave one way or the other, and "
13567 "then override that behavior on the command line."
13568
13569 #. type: Plain text
13570 #: build/C/man7/symlink.7:437
13571 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13572 msgstr "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13573
13574 #. type: Plain text
13575 #: build/C/man7/symlink.7:450
13576 msgid ""
13577 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13578 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13579 "command does not support the I<-H>, I<-L>, or I<-P> options."
13580 msgstr ""
13581 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13582 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13583 "command does not support the I<-H>, I<-L>, or I<-P> options."
13584
13585 #. type: Plain text
13586 #: build/C/man7/symlink.7:470
13587 msgid ""
13588 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13589 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13590 "options, B<ls>(1)  will follow symbolic links specified on the command "
13591 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13592 "regardless of their type, whether specified on the command line or "
13593 "encountered in the tree walk."
13594 msgstr ""
13595 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13596 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13597 "options, B<ls>(1)  will follow symbolic links specified on the command "
13598 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13599 "regardless of their type, whether specified on the command line or "
13600 "encountered in the tree walk."
13601
13602 #. type: Plain text
13603 #: build/C/man7/symlink.7:488
13604 msgid ""
13605 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13606 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13607 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13608 "B<path_resolution>(7)"
13609 msgstr ""
13610 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13611 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13612 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13613 "B<path_resolution>(7)"
13614
13615 #. type: TH
13616 #: build/C/man3/tempnam.3:23
13617 #, no-wrap
13618 msgid "TEMPNAM"
13619 msgstr "TEMPNAM"
13620
13621 #. type: TH
13622 #: build/C/man3/tempnam.3:23
13623 #, no-wrap
13624 msgid "2008-08-06"
13625 msgstr "2008-08-06"
13626
13627 #. type: Plain text
13628 #: build/C/man3/tempnam.3:26
13629 msgid "tempnam - create a name for a temporary file"
13630 msgstr "tempnam - テンポラリファイルの名前を作成する"
13631
13632 #. type: Plain text
13633 #: build/C/man3/tempnam.3:31
13634 #, no-wrap
13635 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13636 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13637
13638 #. type: Plain text
13639 #: build/C/man3/tempnam.3:40
13640 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13641 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13642
13643 #. type: Plain text
13644 #: build/C/man3/tempnam.3:54
13645 msgid ""
13646 "The B<tempnam>()  function returns a pointer to a string that is a valid "
13647 "filename, and such that a file with this name did not exist when B<tempnam>"
13648 "()  checked.  The filename suffix of the pathname generated will start with "
13649 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
13650 "directory prefix part of the pathname generated is required to be "
13651 "\"appropriate\" (often that at least implies writable)."
13652 msgstr ""
13653 "B<tempnam>()  関数はファイル名として正しい文字列へのポインターを返す。 この"
13654 "ファイル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在し"
13655 "ない (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成"
13656 "されるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成され"
13657 "るディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」であ"
13658 "るためにはまず少なくとも 書き込み可能でなければならない)。"
13659
13660 #. type: Plain text
13661 #: build/C/man3/tempnam.3:57
13662 msgid ""
13663 "Attempts to find an appropriate directory go through the following steps:"
13664 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
13665
13666 #. type: TP
13667 #: build/C/man3/tempnam.3:57
13668 #, no-wrap
13669 msgid "a)"
13670 msgstr "a)"
13671
13672 #. type: Plain text
13673 #: build/C/man3/tempnam.3:63
13674 msgid ""
13675 "In case the environment variable B<TMPDIR> exists and contains the name of "
13676 "an appropriate directory, that is used."
13677 msgstr ""
13678 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
13679 "ら、それを用いる。"
13680
13681 #. type: TP
13682 #: build/C/man3/tempnam.3:63
13683 #, no-wrap
13684 msgid "b)"
13685 msgstr "b)"
13686
13687 #. type: Plain text
13688 #: build/C/man3/tempnam.3:68
13689 msgid ""
13690 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
13691 msgstr ""
13692 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
13693 "る。"
13694
13695 #. type: TP
13696 #: build/C/man3/tempnam.3:68
13697 #, no-wrap
13698 msgid "c)"
13699 msgstr "c)"
13700
13701 #. type: Plain text
13702 #: build/C/man3/tempnam.3:75
13703 msgid ""
13704 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
13705 "appropriate."
13706 msgstr ""
13707 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
13708 "なら、それを用いる。"
13709
13710 #. type: TP
13711 #: build/C/man3/tempnam.3:75
13712 #, no-wrap
13713 msgid "d)"
13714 msgstr "d)"
13715
13716 #. type: Plain text
13717 #: build/C/man3/tempnam.3:78
13718 msgid "Finally an implementation-defined directory may be used."
13719 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
13720
13721 #. type: Plain text
13722 #: build/C/man3/tempnam.3:85
13723 msgid ""
13724 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
13725 "hence should be freed by B<free>(3)."
13726 msgstr ""
13727 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
13728 "B<free>(3)  で解放すべきである。"
13729
13730 #. type: Plain text
13731 #: build/C/man3/tempnam.3:90
13732 msgid ""
13733 "The B<tempnam>()  function returns a pointer to a unique temporary filename, "
13734 "or NULL if a unique name cannot be generated."
13735 msgstr ""
13736 "B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
13737 "と重ならない名前が生成できなければ NULL を返す。"
13738
13739 #. type: Plain text
13740 #: build/C/man3/tempnam.3:94
13741 msgid "Allocation of storage failed."
13742 msgstr "保存領域の割り当てに失敗した。"
13743
13744 #. type: Plain text
13745 #: build/C/man3/tempnam.3:99
13746 msgid ""
13747 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
13748 msgstr ""
13749 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
13750 "る。"
13751
13752 #. type: Plain text
13753 #: build/C/man3/tempnam.3:118
13754 msgid ""
13755 "Although B<tempnam>()  generates names that are difficult to guess, it is "
13756 "nevertheless possible that between the time that B<tempnam>()  returns a "
13757 "pathname, and the time that the program opens it, another program might "
13758 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13759 "This can lead to security holes.  To avoid such possibilities, use the "
13760 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13761 "B<mkstemp>(3)  or B<tmpfile>(3)."
13762 msgstr ""
13763 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
13764 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13765 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13766 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13767 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13768 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13769 "B<tmpfile>(3)  を使うことである。"
13770
13771 #. type: Plain text
13772 #: build/C/man3/tempnam.3:126
13773 msgid ""
13774 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
13775 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
13776 "tmp> (and this is what glibc does)."
13777 msgstr ""
13778 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
13779 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
13780 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
13781
13782 #. type: Plain text
13783 #: build/C/man3/tempnam.3:131
13784 msgid ""
13785 "Because it dynamically allocates memory used to return the pathname, "
13786 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
13787 msgstr ""
13788 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
13789 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
13790
13791 #. type: Plain text
13792 #: build/C/man3/tempnam.3:144
13793 msgid ""
13794 "The B<tempnam>()  function generates a different string each time it is "
13795 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
13796 "called more than B<TMP_MAX> times, the behavior is implementation defined."
13797 msgstr ""
13798 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
13799 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
13800 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
13801
13802 #. type: Plain text
13803 #: build/C/man3/tempnam.3:148
13804 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
13805 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
13806
13807 #. type: Plain text
13808 #: build/C/man3/tempnam.3:154
13809 msgid ""
13810 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
13811 "upon failure to find a unique name."
13812 msgstr ""
13813 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
13814 "ラー B<EEXIST> で失敗する。"
13815
13816 #. type: Plain text
13817 #: build/C/man3/tempnam.3:157
13818 msgid ""
13819 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
13820 "accessibility of a directory is determined."
13821 msgstr ""
13822 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
13823 "度のアクセス権限が必要なのかは指定されていない。"
13824
13825 #. type: Plain text
13826 #: build/C/man3/tempnam.3:164 build/C/man3/tmpnam.3:151
13827 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
13828 msgstr ""
13829 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
13830 "を使うこと。"
13831
13832 #. type: Plain text
13833 #: build/C/man3/tempnam.3:169
13834 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13835 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13836
13837 #. type: TH
13838 #: build/C/man3/tmpfile.3:29
13839 #, no-wrap
13840 msgid "TMPFILE"
13841 msgstr "TMPFILE"
13842
13843 #. type: Plain text
13844 #: build/C/man3/tmpfile.3:32
13845 msgid "tmpfile - create a temporary file"
13846 msgstr "tmpfile - テンポラリファイルを作成する"
13847
13848 #. type: Plain text
13849 #: build/C/man3/tmpfile.3:37
13850 #, no-wrap
13851 msgid "B<FILE *tmpfile(void);>\n"
13852 msgstr "B<FILE *tmpfile(void);>\n"
13853
13854 #. type: Plain text
13855 #: build/C/man3/tmpfile.3:45
13856 msgid ""
13857 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
13858 "write (w+b) mode.  The file will be automatically deleted when it is closed "
13859 "or the program terminates."
13860 msgstr ""
13861 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
13862 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
13863 "自動的に削除される。"
13864
13865 #. type: Plain text
13866 #: build/C/man3/tmpfile.3:52
13867 msgid ""
13868 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
13869 "filename cannot be generated or the unique file cannot be opened.  In the "
13870 "latter case, I<errno> is set to indicate the error."
13871 msgstr ""
13872 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
13873 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
13874 "I<errno> を設定する。"
13875
13876 #. type: Plain text
13877 #: build/C/man3/tmpfile.3:56
13878 msgid "Search permission denied for directory in file's path prefix."
13879 msgstr ""
13880 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
13881
13882 #. type: Plain text
13883 #: build/C/man3/tmpfile.3:59
13884 msgid "Unable to generate a unique filename."
13885 msgstr "ユニークなファイル名が作成できなかった。"
13886
13887 #. type: Plain text
13888 #: build/C/man3/tmpfile.3:62
13889 msgid "The call was interrupted by a signal."
13890 msgstr "呼び出しがシグナルによって中断された。"
13891
13892 #. type: Plain text
13893 #: build/C/man3/tmpfile.3:65
13894 msgid "Too many file descriptors in use by the process."
13895 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
13896
13897 #. type: Plain text
13898 #: build/C/man3/tmpfile.3:68
13899 msgid "Too many files open in the system."
13900 msgstr "システム全体でオープン可能なファイル数を超過した。"
13901
13902 #. type: Plain text
13903 #: build/C/man3/tmpfile.3:71
13904 msgid "There was no room in the directory to add the new filename."
13905 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
13906
13907 #. type: Plain text
13908 #: build/C/man3/tmpfile.3:74
13909 msgid "Read-only file system."
13910 msgstr "読みだし専用ファイルシステムである。"
13911
13912 #. type: Plain text
13913 #: build/C/man3/tmpfile.3:76
13914 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13915 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13916
13917 #. type: Plain text
13918 #: build/C/man3/tmpfile.3:80
13919 msgid ""
13920 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
13921 "stream cannot be opened."
13922 msgstr ""
13923 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
13924 "メッセージが書き出される、と規定されている。"
13925
13926 #. type: Plain text
13927 #: build/C/man3/tmpfile.3:86
13928 msgid ""
13929 "The standard does not specify the directory that B<tmpfile>()  will use.  "
13930 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
13931 "and if that fails the directory I</tmp>."
13932 msgstr ""
13933 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
13934 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
13935 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
13936
13937 #. type: Plain text
13938 #: build/C/man3/tmpfile.3:92
13939 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13940 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13941
13942 #. type: TH
13943 #: build/C/man3/tmpnam.3:25
13944 #, no-wrap
13945 msgid "TMPNAM"
13946 msgstr "TMPNAM"
13947
13948 #. type: TH
13949 #: build/C/man3/tmpnam.3:25
13950 #, no-wrap
13951 msgid "2010-09-10"
13952 msgstr "2010-09-10"
13953
13954 #. type: Plain text
13955 #: build/C/man3/tmpnam.3:28
13956 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
13957 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
13958
13959 #. type: Plain text
13960 #: build/C/man3/tmpnam.3:33
13961 #, no-wrap
13962 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
13963 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
13964
13965 #. type: Plain text
13966 #: build/C/man3/tmpnam.3:56
13967 msgid ""
13968 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
13969 "filename, and such that a file with this name did not exist at some point in "
13970 "time, so that naive programmers may think it a suitable name for a temporary "
13971 "file.  If the argument I<s> is NULL this name is generated in an internal "
13972 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
13973 "I<s> is not NULL, the name is copied to the character array (of length at "
13974 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
13975 "case of success."
13976 msgstr ""
13977 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
13978 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
13979 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
13980 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
13981 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
13982 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
13983 "ピーされ、 成功した場合は I<s> が返される。"
13984
13985 #. type: Plain text
13986 #: build/C/man3/tmpnam.3:68
13987 msgid ""
13988 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
13989 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
13990 "the B<TMP_MAX> mentioned below.)"
13991 msgstr ""
13992 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
13993 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
13994 "hE<gt>> で定義されている。)"
13995
13996 #. type: Plain text
13997 #: build/C/man3/tmpnam.3:73
13998 msgid ""
13999 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
14000 "or NULL if a unique name cannot be generated."
14001 msgstr ""
14002 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
14003 "が作成できなかった場合は NULL を返す。"
14004
14005 #. type: Plain text
14006 #: build/C/man3/tmpnam.3:75
14007 msgid "No errors are defined."
14008 msgstr "エラーは定義されていない。"
14009
14010 #. type: Plain text
14011 #: build/C/man3/tmpnam.3:80
14012 msgid ""
14013 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
14014 "obsolete."
14015 msgstr ""
14016 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
14017 "定としている。"
14018
14019 #. type: Plain text
14020 #: build/C/man3/tmpnam.3:91
14021 msgid ""
14022 "The B<tmpnam>()  function generates a different string each time it is "
14023 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
14024 "the behavior is implementation defined."
14025 msgstr ""
14026 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
14027 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
14028
14029 #. type: Plain text
14030 #: build/C/man3/tmpnam.3:110
14031 msgid ""
14032 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
14033 "nevertheless possible that between the time that B<tmpnam>()  returns a "
14034 "pathname, and the time that the program opens it, another program might "
14035 "create that pathname using B<open>(2), or create it as a symbolic link.  "
14036 "This can lead to security holes.  To avoid such possibilities, use the "
14037 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
14038 "B<mkstemp>(3)  or B<tmpfile>(3)."
14039 msgstr ""
14040 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
14041 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
14042 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
14043 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
14044 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
14045 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
14046 "B<tmpfile>(3)  を使うことである。"
14047
14048 #. type: Plain text
14049 #: build/C/man3/tmpnam.3:118
14050 msgid ""
14051 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
14052 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
14053 "defined."
14054 msgstr ""
14055 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
14056 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
14057 "NULL 引き数で呼び出してはならない。"
14058
14059 #. type: Plain text
14060 #: build/C/man3/tmpnam.3:122
14061 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
14062 msgstr ""
14063 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
14064 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
14065 "扱いしている。"
14066
14067 #. type: Plain text
14068 #: build/C/man3/tmpnam.3:130
14069 #, no-wrap
14070 msgid ""
14071 "char *\n"
14072 "tmpnam_r(char *s)\n"
14073 "{\n"
14074 "    return s ? tmpnam(s) : NULL;\n"
14075 "}\n"
14076 msgstr ""
14077 "char *\n"
14078 "tmpnam_r(char *s)\n"
14079 "{\n"
14080 "    return s ? tmpnam(s) : NULL;\n"
14081 "}\n"
14082
14083 #. type: Plain text
14084 #: build/C/man3/tmpnam.3:144
14085 msgid ""
14086 "apparently as a warning not to use NULL.  A few systems implement it.  To "
14087 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
14088 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
14089 msgstr ""
14090 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
14091 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
14092 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
14093 "がある。"
14094
14095 #. type: Plain text
14096 #: build/C/man3/tmpnam.3:156
14097 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14098 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14099
14100 #. type: TH
14101 #: build/C/man2/unlink.2:32
14102 #, no-wrap
14103 msgid "UNLINK"
14104 msgstr "UNLINK"
14105
14106 #. type: TH
14107 #: build/C/man2/unlink.2:32
14108 #, fuzzy, no-wrap
14109 #| msgid "2011-09-17"
14110 msgid "2011-09-15"
14111 msgstr "2011-09-17"
14112
14113 #. type: Plain text
14114 #: build/C/man2/unlink.2:35
14115 msgid "unlink - delete a name and possibly the file it refers to"
14116 msgstr ""
14117 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
14118
14119 #. type: Plain text
14120 #: build/C/man2/unlink.2:39
14121 msgid "B<int unlink(const char *>I<pathname>B<);>"
14122 msgstr "B<int unlink(const char *>I<pathname>B<);>"
14123
14124 #. type: Plain text
14125 #: build/C/man2/unlink.2:45
14126 msgid ""
14127 "B<unlink>()  deletes a name from the file system.  If that name was the last "
14128 "link to a file and no processes have the file open the file is deleted and "
14129 "the space it was using is made available for reuse."
14130 msgstr ""
14131 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14132 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14133 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14134 "は再利用が可能になる。"
14135
14136 #. type: Plain text
14137 #: build/C/man2/unlink.2:49
14138 msgid ""
14139 "If the name was the last link to a file but any processes still have the "
14140 "file open the file will remain in existence until the last file descriptor "
14141 "referring to it is closed."
14142 msgstr ""
14143 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14144 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14145 "スクリプター (file descriptor)  がクローズ (close) されるまでファイルは存在し"
14146 "続ける。"
14147
14148 #. type: Plain text
14149 #: build/C/man2/unlink.2:51
14150 msgid "If the name referred to a symbolic link the link is removed."
14151 msgstr ""
14152 "もしその名前がシンボリック・リンク (symbolic link) を参照していれば、 リンク"
14153 "は削除される。"
14154
14155 #. type: Plain text
14156 #: build/C/man2/unlink.2:55
14157 msgid ""
14158 "If the name referred to a socket, fifo or device the name for it is removed "
14159 "but processes which have the object open may continue to use it."
14160 msgstr ""
14161 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14162 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14163 "とができる。"
14164
14165 #. type: Plain text
14166 #: build/C/man2/unlink.2:71
14167 msgid ""
14168 "Write access to the directory containing I<pathname> is not allowed for the "
14169 "process's effective UID, or one of the directories in I<pathname> did not "
14170 "allow search permission.  (See also B<path_resolution>(7).)"
14171 msgstr ""
14172 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14173 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14174 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14175 "と)。"
14176
14177 #. type: Plain text
14178 #: build/C/man2/unlink.2:80
14179 #, fuzzy
14180 #| msgid ""
14181 #| "The file I<pathname> cannot be unlinked because it is being used by the "
14182 #| "system or another process and the implementation considers this an error."
14183 msgid ""
14184 "The file I<pathname> cannot be unlinked because it is being used by the "
14185 "system or another process; for example, it is a mount point or the NFS "
14186 "client software created it to represent an active but otherwise nameless "
14187 "inode (\"NFS silly renamed\")."
14188 msgstr ""
14189 "ファイル I<pathname> がシステムまたは他のプロセスによって使用されていて リン"
14190 "クが削除できなかったので、この実装ではエラーとした。"
14191
14192 #. type: Plain text
14193 #: build/C/man2/unlink.2:92
14194 msgid ""
14195 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14196 "Linux since 2.1.132.)"
14197 msgstr ""
14198 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14199 "で、Linux 2.1.132 以降で返される。)"
14200
14201 #. type: Plain text
14202 #: build/C/man2/unlink.2:96
14203 msgid "Too many symbolic links were encountered in translating I<pathname>."
14204 msgstr "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
14205
14206 #. type: Plain text
14207 #: build/C/man2/unlink.2:106
14208 msgid ""
14209 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14210 "I<pathname> is empty."
14211 msgstr ""
14212 "I<pathname> に対応するものが存在しないか、壊れたシンボリック・リンクである"
14213 "か、 I<pathname> が空である。"
14214
14215 #. type: Plain text
14216 #: build/C/man2/unlink.2:114
14217 msgid ""
14218 "A component used as a directory in I<pathname> is not, in fact, a directory."
14219 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14220
14221 #. type: Plain text
14222 #: build/C/man2/unlink.2:123
14223 msgid ""
14224 "The system does not allow unlinking of directories, or unlinking of "
14225 "directories requires privileges that the calling process doesn't have.  "
14226 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14227 "B<EISDIR> for this case.)"
14228 msgstr ""
14229 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14230 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14231 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14232 "合には Linux は B<EISDIR> を返す。)"
14233
14234 #. type: TP
14235 #: build/C/man2/unlink.2:123
14236 #, no-wrap
14237 msgid "B<EPERM> (Linux only)"
14238 msgstr "B<EPERM> (Linux のみ)"
14239
14240 #. type: Plain text
14241 #: build/C/man2/unlink.2:126
14242 msgid "The file system does not allow unlinking of files."
14243 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14244
14245 #. type: Plain text
14246 #: build/C/man2/unlink.2:137
14247 msgid ""
14248 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14249 "and the process's effective UID is neither the UID of the file to be deleted "
14250 "nor that of the directory containing it, and the process is not privileged "
14251 "(Linux: does not have the B<CAP_FOWNER> capability)."
14252 msgstr ""
14253 "I<pathname> を含んでいるディレクトリにスティッキー・ビット (sticky-bit)  "
14254 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14255 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14256 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14257
14258 #. type: Plain text
14259 #: build/C/man2/unlink.2:141
14260 msgid "I<pathname> refers to a file on a read-only file system."
14261 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14262
14263 #. type: Plain text
14264 #: build/C/man2/unlink.2:161
14265 msgid ""
14266 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14267 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14268 "(7), B<symlink>(7)"
14269 msgstr ""
14270 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14271 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14272 "(7), B<symlink>(7)"
14273
14274 #. type: TH
14275 #: build/C/man3/unlocked_stdio.3:23
14276 #, no-wrap
14277 msgid "UNLOCKED_STDIO"
14278 msgstr "UNLOCKED_STDIO"
14279
14280 #. type: Plain text
14281 #: build/C/man3/unlocked_stdio.3:27
14282 msgid ""
14283 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14284 "nonlocking stdio functions"
14285 msgstr ""
14286 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14287 "わずに標準入出力を行う関数群"
14288
14289 #. type: Plain text
14290 #: build/C/man3/unlocked_stdio.3:35
14291 #, no-wrap
14292 msgid ""
14293 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14294 "B<int getchar_unlocked(void);>\n"
14295 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14296 "B<int putchar_unlocked(int >I<c>B<);>\n"
14297 msgstr ""
14298 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14299 "B<int getchar_unlocked(void);>\n"
14300 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14301 "B<int putchar_unlocked(int >I<c>B<);>\n"
14302
14303 #. type: Plain text
14304 #: build/C/man3/unlocked_stdio.3:47
14305 #, no-wrap
14306 msgid ""
14307 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14308 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14309 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14310 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14311 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14312 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14313 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14314 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14315 "B<                      FILE *>I<stream>B<);>\n"
14316 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14317 "B<                      FILE *>I<stream>B<);>\n"
14318 msgstr ""
14319 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14320 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14321 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14322 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14323 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14324 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14325 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14326 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14327 "B<                      FILE *>I<stream>B<);>\n"
14328 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14329 "B<                      FILE *>I<stream>B<);>\n"
14330
14331 #. type: Plain text
14332 #: build/C/man3/unlocked_stdio.3:50
14333 #, no-wrap
14334 msgid ""
14335 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14336 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14337 msgstr ""
14338 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14339 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14340
14341 #. type: Plain text
14342 #: build/C/man3/unlocked_stdio.3:61
14343 #, no-wrap
14344 msgid ""
14345 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14346 "B<wint_t getwchar_unlocked(void);>\n"
14347 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14348 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14349 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14350 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14351 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14352 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14353 msgstr ""
14354 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14355 "B<wint_t getwchar_unlocked(void);>\n"
14356 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14357 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14358 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14359 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14360 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14361 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14362
14363 #. type: Plain text
14364 #: build/C/man3/unlocked_stdio.3:73
14365 msgid ""
14366 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14367 "B<putchar_unlocked>():"
14368 msgstr ""
14369 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14370 "B<putchar_unlocked>():"
14371
14372 #. type: Plain text
14373 #: build/C/man3/unlocked_stdio.3:76
14374 msgid ""
14375 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14376 "_BSD_SOURCE || _SVID_SOURCE"
14377 msgstr ""
14378 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14379 "_BSD_SOURCE || _SVID_SOURCE"
14380
14381 #. type: Plain text
14382 #: build/C/man3/unlocked_stdio.3:87
14383 msgid ""
14384 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14385 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14386 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14387 msgstr ""
14388 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14389 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14390 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14391
14392 #. type: Plain text
14393 #: build/C/man3/unlocked_stdio.3:89
14394 msgid "_BSD_SOURCE || _SVID_SOURCE"
14395 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14396
14397 #. type: Plain text
14398 #: build/C/man3/unlocked_stdio.3:100
14399 msgid ""
14400 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14401 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14402 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14403 msgstr ""
14404 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14405 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14406 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14407
14408 #. type: Plain text
14409 #: build/C/man3/unlocked_stdio.3:111
14410 msgid ""
14411 "Each of these functions has the same behavior as its counterpart without the "
14412 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14413 "locks themselves, and do not test for the presence of locks set by others) "
14414 "and hence are thread-unsafe.  See B<flockfile>(3)."
14415 msgstr ""
14416 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14417 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14418 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14419 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14420 "B<flockfile>(3)  を参照のこと。"
14421
14422 #. type: Plain text
14423 #: build/C/man3/unlocked_stdio.3:118
14424 msgid ""
14425 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14426 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14427 msgstr ""
14428 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14429 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14430
14431 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14432 #.  moved to a compatibility library.
14433 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14434 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14435 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14436 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14437 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14438 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14439 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14440 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14441 #.  ungetc_unlocked, ungetwc_unlocked.
14442 #. type: Plain text
14443 #: build/C/man3/unlocked_stdio.3:134
14444 msgid ""
14445 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14446 "are available in recent glibc.  They should probably not be used."
14447 msgstr ""
14448 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14449 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14450
14451 #. type: Plain text
14452 #: build/C/man3/unlocked_stdio.3:137
14453 msgid "B<flockfile>(3), B<stdio>(3)"
14454 msgstr "B<flockfile>(3), B<stdio>(3)"
14455
14456 #. type: TH
14457 #: build/C/man3/wprintf.3:14
14458 #, no-wrap
14459 msgid "WPRINTF"
14460 msgstr "WPRINTF"
14461
14462 #. type: TH
14463 #: build/C/man3/wprintf.3:14
14464 #, no-wrap
14465 msgid "2011-09-17"
14466 msgstr "2011-09-17"
14467
14468 #. type: Plain text
14469 #: build/C/man3/wprintf.3:18
14470 msgid ""
14471 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14472 "character output conversion"
14473 msgstr ""
14474 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14475 "フォーマットして出力する"
14476
14477 #. type: Plain text
14478 #: build/C/man3/wprintf.3:22
14479 #, no-wrap
14480 msgid ""
14481 "B<#include E<lt>stdio.hE<gt>>\n"
14482 "B<#include E<lt>wchar.hE<gt>>\n"
14483 msgstr ""
14484 "B<#include E<lt>stdio.hE<gt>>\n"
14485 "B<#include E<lt>wchar.hE<gt>>\n"
14486
14487 #. type: Plain text
14488 #: build/C/man3/wprintf.3:27
14489 #, no-wrap
14490 msgid ""
14491 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14492 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14493 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14494 "B<             const wchar_t *>I<format>B<, ...);>\n"
14495 msgstr ""
14496 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14497 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14498 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14499 "B<             const wchar_t *>I<format>B<, ...);>\n"
14500
14501 #. type: Plain text
14502 #: build/C/man3/wprintf.3:32
14503 #, no-wrap
14504 msgid ""
14505 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14506 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14507 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14508 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14509 msgstr ""
14510 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14511 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14512 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14513 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14514
14515 #.  .BR wprintf (),
14516 #.  .BR fwprintf (),
14517 #.  .BR swprintf (),
14518 #.  .BR vwprintf (),
14519 #.  .BR vfwprintf (),
14520 #.  .BR vswprintf ():
14521 #. type: Plain text
14522 #: build/C/man3/wprintf.3:49
14523 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14524 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14525
14526 #. type: Plain text
14527 #: build/C/man3/wprintf.3:51
14528 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14529 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14530
14531 #. type: Plain text
14532 #: build/C/man3/wprintf.3:53
14533 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14534 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14535
14536 #. type: Plain text
14537 #: build/C/man3/wprintf.3:56
14538 msgid "or I<cc\\ -std=c99>"
14539 msgstr "or I<cc\\ -std=c99>"
14540
14541 #. type: Plain text
14542 #: build/C/man3/wprintf.3:67
14543 msgid ""
14544 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14545 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14546 "characters."
14547 msgstr ""
14548 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14549 "版である。これらはワイド文字をフォーマットして出力する。"
14550
14551 #. type: Plain text
14552 #: build/C/man3/wprintf.3:77
14553 msgid ""
14554 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14555 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14556 "more information."
14557 msgstr ""
14558 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14559 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14560 "ること。"
14561
14562 #. type: Plain text
14563 #: build/C/man3/wprintf.3:87
14564 msgid ""
14565 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14566 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14567 "for more information."
14568 msgstr ""
14569 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14570 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14571 "B<fwide>(3)  を参照すること。"
14572
14573 #. type: Plain text
14574 #: build/C/man3/wprintf.3:98
14575 msgid ""
14576 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14577 "output to an array of wide characters.  The programmer must ensure that "
14578 "there is room for at least I<maxlen> wide characters at I<wcs>."
14579 msgstr ""
14580 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14581 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14582 "空きがあることを保証しなければ ならない。"
14583
14584 #. type: Plain text
14585 #: build/C/man3/wprintf.3:109
14586 msgid ""
14587 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14588 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
14589 "following differences:"
14590 msgstr ""
14591 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
14592 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
14593
14594 #. type: TP
14595 #: build/C/man3/wprintf.3:109 build/C/man3/wprintf.3:112
14596 #: build/C/man3/wprintf.3:115
14597 #, no-wrap
14598 msgid "B<\\(bu>"
14599 msgstr "B<\\(bu>"
14600
14601 #. type: Plain text
14602 #: build/C/man3/wprintf.3:112
14603 msgid "The I<format> string is a wide-character string."
14604 msgstr "I<format> がワイド文字列で与えられる。"
14605
14606 #. type: Plain text
14607 #: build/C/man3/wprintf.3:115
14608 msgid "The output consists of wide characters, not bytes."
14609 msgstr "出力がバイトではなくワイド文字で構成される。"
14610
14611 #. type: Plain text
14612 #: build/C/man3/wprintf.3:130
14613 msgid ""
14614 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
14615 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
14616 "I<maxlen> argument, but these functions do not return -1 upon buffer "
14617 "overflow on Linux.)"
14618 msgstr ""
14619 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
14620 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
14621 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
14622 "も -1 を返さない)。"
14623
14624 #. type: Plain text
14625 #: build/C/man3/wprintf.3:132
14626 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
14627 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
14628
14629 #. type: Plain text
14630 #: build/C/man3/wprintf.3:146
14631 msgid ""
14632 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
14633 "character by a call to the B<btowc>(3)  function, and the resulting wide "
14634 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
14635 "character) argument is written."
14636 msgstr ""
14637 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
14638 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
14639 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
14640
14641 #. type: Plain text
14642 #: build/C/man3/wprintf.3:185
14643 msgid ""
14644 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
14645 "to be a pointer to an array of character type (pointer to a string) "
14646 "containing a multibyte character sequence beginning in the initial shift "
14647 "state.  Characters from the array are converted to wide characters (each by "
14648 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
14649 "the initial state before the first byte).  The resulting wide characters are "
14650 "written up to (but not including) the terminating null wide character.  If a "
14651 "precision is specified, no more wide characters than the number specified "
14652 "are written.  Note that the precision determines the number of I<wide "
14653 "characters> written, not the number of I<bytes> or I<screen positions>.  The "
14654 "array must contain a terminating null byte, unless a precision is given and "
14655 "it is so small that the number of converted wide characters reaches it "
14656 "before the end of the array is reached.  If an B<l> modifier is present: The "
14657 "I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
14658 "wide characters.  Wide characters from the array are written up to (but not "
14659 "including) a terminating null wide character.  If a precision is specified, "
14660 "no more than the number specified are written.  The array must contain a "
14661 "terminating null wide character, unless a precision is given and it is "
14662 "smaller than or equal to the number of wide characters in the array."
14663 msgstr ""
14664 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
14665 "まるマルチバイト文字列を含んだ char 型の配列へのポインター(文字列へのポイン"
14666 "ター)とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それ"
14667 "ぞれの文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイ"
14668 "ド文字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定"
14669 "された 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込"
14670 "まれる I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定するこ"
14671 "とに注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 "
14672 "精度を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそ"
14673 "れに到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が"
14674 "存在する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインター"
14675 "とみなされる。 配列のワイド文字列は終端のナルワイド文字の手間まで出力され"
14676 "る。 もし精度が指定された場合には指定された精度以上の文字は出力されない。 精"
14677 "度を指定しない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場"
14678 "合にはそれはワイド文字の配列の大きさよりも小さくな ければならない。"
14679
14680 #. type: Plain text
14681 #: build/C/man3/wprintf.3:193
14682 msgid ""
14683 "The functions return the number of wide characters written, excluding the "
14684 "terminating null wide character in case of the functions B<swprintf>()  and "
14685 "B<vswprintf>().  They return -1 when an error occurs."
14686 msgstr ""
14687 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
14688 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
14689 "場合は -1 を返す。"
14690
14691 #. type: Plain text
14692 #: build/C/man3/wprintf.3:195
14693 msgid "C99."
14694 msgstr "C99."
14695
14696 #. type: Plain text
14697 #: build/C/man3/wprintf.3:203
14698 msgid ""
14699 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
14700 "the current locale."
14701 msgstr ""
14702 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
14703
14704 #. type: Plain text
14705 #: build/C/man3/wprintf.3:229
14706 msgid ""
14707 "If the I<format> string contains non-ASCII wide characters, the program will "
14708 "only work correctly if the B<LC_CTYPE> category of the current locale at run "
14709 "time is the same as the B<LC_CTYPE> category of the current locale at "
14710 "compile time.  This is because the I<wchar_t> representation is platform- "
14711 "and locale-dependent.  (The glibc represents wide characters using their "
14712 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
14713 "the use of C99 universal character names of the form \\eunnnn does not solve "
14714 "this problem.)  Therefore, in internationalized programs, the I<format> "
14715 "string should consist of ASCII wide characters only, or should be "
14716 "constructed at run time in an internationalized way (e.g., using B<gettext>"
14717 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
14718 msgstr ""
14719 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
14720 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
14721 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
14722 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
14723 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
14724 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
14725 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
14726 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
14727 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
14728
14729 #.  .BR wscanf (3)
14730 #. type: Plain text
14731 #: build/C/man3/wprintf.3:236
14732 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14733 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14734
14735 #. type: TH
14736 #: build/C/man2/write.2:39
14737 #, no-wrap
14738 msgid "WRITE"
14739 msgstr "WRITE"
14740
14741 #. type: TH
14742 #: build/C/man2/write.2:39
14743 #, no-wrap
14744 msgid "2010-08-29"
14745 msgstr "2010-08-29"
14746
14747 #. type: Plain text
14748 #: build/C/man2/write.2:42
14749 msgid "write - write to a file descriptor"
14750 msgstr "write - ファイル・ディスクリプタ (file descriptor) に書き込む"
14751
14752 #. type: Plain text
14753 #: build/C/man2/write.2:46
14754 msgid ""
14755 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14756 msgstr ""
14757 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14758
14759 #. type: Plain text
14760 #: build/C/man2/write.2:54
14761 msgid ""
14762 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
14763 "the file referred to by the file descriptor I<fd>."
14764 msgstr ""
14765 "B<write>()  は、 I<buf> が指すバッファから、ファイル・ディスクリプタ I<fd> が"
14766 "参照するファイルへ、最大 I<count> バイトを書き込む。"
14767
14768 #. type: Plain text
14769 #: build/C/man2/write.2:68
14770 msgid ""
14771 "The number of bytes written may be less than I<count> if, for example, there "
14772 "is insufficient space on the underlying physical medium, or the "
14773 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
14774 "call was interrupted by a signal handler after having written less than "
14775 "I<count> bytes.  (See also B<pipe>(7).)"
14776 msgstr ""
14777 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
14778 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
14779 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
14780 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
14781 "(7)  も参照のこと。)"
14782
14783 #. type: Plain text
14784 #: build/C/man2/write.2:82
14785 msgid ""
14786 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
14787 "example, a regular file)  writing takes place at the current file offset, "
14788 "and the file offset is incremented by the number of bytes actually written.  "
14789 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
14790 "to the end of the file before writing.  The adjustment of the file offset "
14791 "and the write operation are performed as an atomic step."
14792 msgstr ""
14793 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
14794 "ファイル) では、 書き込みは現在のファイル・オフセットから行われ、 ファイル・"
14795 "オフセットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
14796 "B<O_APPEND> で B<open>(2)  された場合、ファイル・オフセットは書き込み前に "
14797 "ファイルの末尾に設定される。 ファイル・オフセットの調整と書き込み操作はアト"
14798 "ミックな処理として 実行される。"
14799
14800 #. type: Plain text
14801 #: build/C/man2/write.2:89
14802 msgid ""
14803 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
14804 "B<write>()  has returned returns the new data.  Note that not all file "
14805 "systems are POSIX conforming."
14806 msgstr ""
14807 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
14808 "すことを要求している。 全てのファイル・システムが POSIX 準拠ではない点に注意"
14809 "すること。"
14810
14811 #. type: Plain text
14812 #: build/C/man2/write.2:94
14813 msgid ""
14814 "On success, the number of bytes written is returned (zero indicates nothing "
14815 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
14816 msgstr ""
14817 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
14818 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
14819
14820 #. type: Plain text
14821 #: build/C/man2/write.2:107
14822 msgid ""
14823 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
14824 "return a failure status if one of the errors below is detected.  If no "
14825 "errors are detected, 0 will be returned without causing any other effect.  "
14826 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
14827 "the results are not specified."
14828 msgstr ""
14829 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
14830 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
14831 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
14832 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
14833 "その結果は規定されていない。"
14834
14835 #. type: Plain text
14836 #: build/C/man2/write.2:115
14837 msgid ""
14838 "The file descriptor I<fd> refers to a file other than a socket and has been "
14839 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
14840 msgstr ""
14841 "ファイル・ディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停"
14842 "止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停"
14843 "止する状況にある。"
14844
14845 #.  Actually EAGAIN on Linux
14846 #. type: Plain text
14847 #: build/C/man2/write.2:126
14848 msgid ""
14849 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
14850 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
14851 "error to be returned for this case, and does not require these constants to "
14852 "have the same value, so a portable application should check for both "
14853 "possibilities."
14854 msgstr ""
14855 "ファイル・ディスクリプタ I<fd> がソケットを参照していて、非停止 "
14856 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
14857 "する状況にある。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めて"
14858 "おり、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性"
14859 "が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
14860
14861 #. type: Plain text
14862 #: build/C/man2/write.2:130
14863 msgid "I<fd> is not a valid file descriptor or is not open for writing."
14864 msgstr ""
14865 "I<fd> が有効なファイル・ディスクリプタでないか書き込みのためにオープン "
14866 "(open) されていない。"
14867
14868 #. type: TP
14869 #: build/C/man2/write.2:130
14870 #, no-wrap
14871 msgid "B<EDESTADDRREQ>"
14872 msgstr "B<EDESTADDRREQ>"
14873
14874 #. type: Plain text
14875 #: build/C/man2/write.2:135
14876 msgid ""
14877 "I<fd> refers to a datagram socket for which a peer address has not been set "
14878 "using B<connect>(2)."
14879 msgstr ""
14880 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
14881 "グラムソケットを 参照している。"
14882
14883 #. type: Plain text
14884 #: build/C/man2/write.2:144
14885 msgid ""
14886 "An attempt was made to write a file that exceeds the implementation-defined "
14887 "maximum file size or the process's file size limit, or to write at a "
14888 "position past the maximum allowed offset."
14889 msgstr ""
14890 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
14891 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
14892 "書き込もうとした。"
14893
14894 #. type: Plain text
14895 #: build/C/man2/write.2:148
14896 msgid ""
14897 "The call was interrupted by a signal before any data was written; see "
14898 "B<signal>(7)."
14899 msgstr ""
14900 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
14901 "(7)  参照。"
14902
14903 #. type: Plain text
14904 #: build/C/man2/write.2:159
14905 msgid ""
14906 "I<fd> is attached to an object which is unsuitable for writing; or the file "
14907 "was opened with the B<O_DIRECT> flag, and either the address specified in "
14908 "I<buf>, the value specified in I<count>, or the current file offset is not "
14909 "suitably aligned."
14910 msgstr ""
14911 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
14912 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
14913 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
14914 "メントが不適切である。"
14915
14916 #. type: Plain text
14917 #: build/C/man2/write.2:162
14918 msgid "A low-level I/O error occurred while modifying the inode."
14919 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
14920
14921 #. type: Plain text
14922 #: build/C/man2/write.2:167
14923 msgid ""
14924 "The device containing the file referred to by I<fd> has no room for the data."
14925 msgstr ""
14926 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14927
14928 #. type: TP
14929 #: build/C/man2/write.2:167
14930 #, no-wrap
14931 msgid "B<EPIPE>"
14932 msgstr "B<EPIPE>"
14933
14934 #. type: Plain text
14935 #: build/C/man2/write.2:176
14936 msgid ""
14937 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
14938 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
14939 "(Thus, the write return value is seen only if the program catches, blocks or "
14940 "ignores this signal.)"
14941 msgstr ""
14942 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
14943 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
14944 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
14945 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
14946 "write の返り値を参照できる。)"
14947
14948 #. type: Plain text
14949 #: build/C/man2/write.2:179
14950 msgid "Other errors may occur, depending on the object connected to I<fd>."
14951 msgstr ""
14952 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
14953
14954 #. type: Plain text
14955 #: build/C/man2/write.2:188
14956 msgid ""
14957 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
14958 "just before any data is written."
14959 msgstr ""
14960 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
14961 "で B<EINTR> が返る。"
14962
14963 #. type: Plain text
14964 #: build/C/man2/write.2:197
14965 msgid ""
14966 "A successful return from B<write>()  does not make any guarantee that data "
14967 "has been committed to disk.  In fact, on some buggy implementations, it does "
14968 "not even guarantee that space has successfully been reserved for the data.  "
14969 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
14970 "all your data."
14971 msgstr ""
14972 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
14973 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
14974 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
14975 "write した後に B<fsync>(2)  を呼び出すことである。"
14976
14977 #. type: Plain text
14978 #: build/C/man2/write.2:205
14979 msgid ""
14980 "If a B<write>()  is interrupted by a signal handler before any bytes are "
14981 "written, then the call fails with the error B<EINTR>; if it is interrupted "
14982 "after at least one byte has been written, the call succeeds, and returns the "
14983 "number of bytes written."
14984 msgstr ""
14985 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
14986 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
14987 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
14988
14989 #. type: Plain text
14990 #: build/C/man2/write.2:217
14991 msgid ""
14992 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14993 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14994 msgstr ""
14995 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14996 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14997
14998 #~ msgid ""
14999 #~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
15000 #~ "B<gets>()  obsolescent."
15001 #~ msgstr ""
15002 #~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
15003 #~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
15004
15005 #, fuzzy
15006 #~| msgid "2011-09-28"
15007 #~ msgid "2011-09-08"
15008 #~ msgstr "2011-09-28"
15009
15010 #~ msgid "2010-09-11"
15011 #~ msgstr "2010-09-11"
15012
15013 #~ msgid ""
15014 #~ "This document's use of I<whence> is incorrect English, but maintained for "
15015 #~ "historical reasons."
15016 #~ msgstr ""
15017 #~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
15018 #~ "のまま使われている。"
15019
15020 #~ msgid "2004-06-23"
15021 #~ msgstr "2004-06-23"
15022
15023 #~ msgid "B<EBUSY> (not on Linux)"
15024 #~ msgstr "B<EBUSY> (Linux 以外)"