OSDN Git Service

5a9c39d1176a69eb5810f3f00a20de6d44ac5f3c
[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: 2014-04-13 10:27+0900\n"
10 "PO-Revision-Date: 2013-10-14 05:55+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/asprintf.3:27
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:27 build/C/man3/fcloseall.3:25
26 #: build/C/man3/fmtmsg.3:13 build/C/man3/stdio_ext.3:25
27 #, no-wrap
28 msgid "2013-06-21"
29 msgstr "2013-06-21"
30
31 #. type: TH
32 #: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
33 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
34 #: build/C/man3/fcloseall.3:25 build/C/man3/fflush.3:45
35 #: build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10
36 #: build/C/man3/fopen.3:44 build/C/man3/fputwc.3:16 build/C/man3/fread.3:45
37 #: build/C/man3/fseek.3:42 build/C/man3/getline.3:26 build/C/man3/gets.3:29
38 #: build/C/man3/getw.3:25 build/C/man3/popen.3:40 build/C/man3/printf.3:34
39 #: build/C/man3/puts.3:26 build/C/man3/remove.3:31 build/C/man3/scanf.3:52
40 #: build/C/man3/wprintf.3:16
41 #, no-wrap
42 msgid "GNU"
43 msgstr "GNU"
44
45 #. type: TH
46 #: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
47 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
48 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:44
49 #: build/C/man3/fflush.3:45 build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18
50 #: build/C/man3/flockfile.3:25 build/C/man3/fmemopen.3:10
51 #: build/C/man3/fmtmsg.3:13 build/C/man3/fopen.3:44
52 #: build/C/man3/fopencookie.3:26 build/C/man3/fpurge.3:25
53 #: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
54 #: build/C/man3/fseeko.3:25 build/C/man3/getline.3:26 build/C/man3/gets.3:29
55 #: build/C/man3/getw.3:25 build/C/man2/link.2:32 build/C/man2/llseek.2:28
56 #: build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25 build/C/man2/open.2:51
57 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:36 build/C/man3/popen.3:40
58 #: build/C/man3/printf.3:34 build/C/man3/puts.3:26 build/C/man2/read.2:35
59 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:32 build/C/man3/remove.3:31
60 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:52
61 #: build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13 build/C/man3/stdio.3:39
62 #: build/C/man3/stdio_ext.3:25 build/C/man2/symlink.2:33
63 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:25
64 #: build/C/man3/tmpfile.3:31 build/C/man3/tmpnam.3:27 build/C/man2/unlink.2:33
65 #: build/C/man3/unlocked_stdio.3:25 build/C/man3/wprintf.3:16
66 #: build/C/man2/write.2:39
67 #, no-wrap
68 msgid "Linux Programmer's Manual"
69 msgstr "Linux Programmer's Manual"
70
71 #. type: SH
72 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
73 #: build/C/man3/dprintf.3:27 build/C/man3/fclose.3:45
74 #: build/C/man3/fcloseall.3:26 build/C/man3/ferror.3:45
75 #: build/C/man3/fflush.3:46 build/C/man3/fgetc.3:28 build/C/man3/fgetwc.3:19
76 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:11
77 #: build/C/man3/fmtmsg.3:14 build/C/man3/fopen.3:45
78 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
79 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
80 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:30
81 #: build/C/man3/getw.3:26 build/C/man2/link.2:33 build/C/man2/llseek.2:29
82 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:52
83 #: build/C/man3/perror.3:32 build/C/man2/pipe.2:37 build/C/man3/popen.3:41
84 #: build/C/man3/printf.3:35 build/C/man3/puts.3:27 build/C/man2/read.2:36
85 #: build/C/man2/readlink.2:45 build/C/man2/readv.2:33 build/C/man3/remove.3:32
86 #: build/C/man2/rename.2:34 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:53
87 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:14 build/C/man3/stdio.3:40
88 #: build/C/man3/stdio_ext.3:26 build/C/man2/symlink.2:34
89 #: build/C/man7/symlink.7:37 build/C/man3/tempnam.3:26
90 #: build/C/man3/tmpfile.3:32 build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:34
91 #: build/C/man3/unlocked_stdio.3:26 build/C/man3/wprintf.3:17
92 #: build/C/man2/write.2:40
93 #, no-wrap
94 msgid "NAME"
95 msgstr "名前"
96
97 #. type: Plain text
98 #: build/C/man3/asprintf.3:30
99 msgid "asprintf, vasprintf - print to allocated string"
100 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
101
102 #. type: SH
103 #: build/C/man3/asprintf.3:30 build/C/man3/ctermid.3:29
104 #: build/C/man3/dprintf.3:29 build/C/man3/fclose.3:47
105 #: build/C/man3/fcloseall.3:28 build/C/man3/ferror.3:47
106 #: build/C/man3/fflush.3:48 build/C/man3/fgetc.3:30 build/C/man3/fgetwc.3:21
107 #: build/C/man3/flockfile.3:28 build/C/man3/fmemopen.3:13
108 #: build/C/man3/fmtmsg.3:16 build/C/man3/fopen.3:47
109 #: build/C/man3/fopencookie.3:29 build/C/man3/fpurge.3:28
110 #: build/C/man3/fputwc.3:19 build/C/man3/fread.3:48 build/C/man3/fseek.3:45
111 #: build/C/man3/fseeko.3:28 build/C/man3/getline.3:29 build/C/man3/gets.3:32
112 #: build/C/man3/getw.3:28 build/C/man2/link.2:35 build/C/man2/llseek.2:31
113 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:28 build/C/man2/open.2:54
114 #: build/C/man3/perror.3:34 build/C/man2/pipe.2:39 build/C/man3/popen.3:43
115 #: build/C/man3/printf.3:38 build/C/man3/puts.3:29 build/C/man2/read.2:38
116 #: build/C/man2/readlink.2:47 build/C/man2/readv.2:35 build/C/man3/remove.3:34
117 #: build/C/man2/rename.2:36 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:55
118 #: build/C/man3/setbuf.3:51 build/C/man3/stdin.3:16 build/C/man3/stdio.3:42
119 #: build/C/man3/stdio_ext.3:30 build/C/man2/symlink.2:36
120 #: build/C/man3/tempnam.3:28 build/C/man3/tmpfile.3:34
121 #: build/C/man3/tmpnam.3:30 build/C/man2/unlink.2:36
122 #: build/C/man3/unlocked_stdio.3:29 build/C/man3/wprintf.3:20
123 #: build/C/man2/write.2:42
124 #, no-wrap
125 msgid "SYNOPSIS"
126 msgstr "書式"
127
128 #. type: Plain text
129 #: build/C/man3/asprintf.3:32
130 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
131 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
132
133 #. type: Plain text
134 #: build/C/man3/asprintf.3:34 build/C/man3/dprintf.3:31
135 #: build/C/man3/fclose.3:49 build/C/man3/ferror.3:49 build/C/man3/fflush.3:50
136 #: build/C/man3/fseek.3:47 build/C/man3/perror.3:36 build/C/man3/printf.3:40
137 #: build/C/man3/remove.3:36 build/C/man3/stdio.3:44
138 #: build/C/man3/stdio_ext.3:32
139 msgid "B<#include E<lt>stdio.hE<gt>>"
140 msgstr "B<#include E<lt>stdio.hE<gt>>"
141
142 #. type: Plain text
143 #: build/C/man3/asprintf.3:36
144 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
145 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
146
147 #. type: Plain text
148 #: build/C/man3/asprintf.3:38
149 msgid ""
150 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
151 msgstr ""
152 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
153
154 #. type: SH
155 #: build/C/man3/asprintf.3:38 build/C/man3/ctermid.3:46
156 #: build/C/man3/dprintf.3:55 build/C/man3/fclose.3:51
157 #: build/C/man3/fcloseall.3:35 build/C/man3/ferror.3:65
158 #: build/C/man3/fflush.3:52 build/C/man3/fgetc.3:44 build/C/man3/fgetwc.3:30
159 #: build/C/man3/flockfile.3:51 build/C/man3/fmemopen.3:46
160 #: build/C/man3/fmtmsg.3:26 build/C/man3/fopen.3:65
161 #: build/C/man3/fopencookie.3:37 build/C/man3/fpurge.3:42
162 #: build/C/man3/fputwc.3:28 build/C/man3/fread.3:58 build/C/man3/fseek.3:57
163 #: build/C/man3/fseeko.3:37 build/C/man3/getline.3:58 build/C/man3/gets.3:38
164 #: build/C/man3/getw.3:59 build/C/man2/link.2:66 build/C/man2/llseek.2:43
165 #: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:88
166 #: build/C/man3/perror.3:55 build/C/man2/pipe.2:51 build/C/man3/popen.3:64
167 #: build/C/man3/printf.3:76 build/C/man3/puts.3:43 build/C/man2/read.2:44
168 #: build/C/man2/readlink.2:86 build/C/man2/readv.2:58 build/C/man3/remove.3:38
169 #: build/C/man2/rename.2:67 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:87
170 #: build/C/man3/setbuf.3:73 build/C/man3/stdin.3:24 build/C/man3/stdio.3:50
171 #: build/C/man3/stdio_ext.3:54 build/C/man2/symlink.2:74
172 #: build/C/man3/tempnam.3:42 build/C/man3/tmpfile.3:40
173 #: build/C/man3/tmpnam.3:36 build/C/man2/unlink.2:66
174 #: build/C/man3/unlocked_stdio.3:106 build/C/man3/wprintf.3:60
175 #: build/C/man2/write.2:46
176 #, no-wrap
177 msgid "DESCRIPTION"
178 msgstr "説明"
179
180 #. type: Plain text
181 #: build/C/man3/asprintf.3:53
182 msgid ""
183 "The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
184 "(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
185 "hold the output including the terminating null byte (\\(aq\\e0\\(aq), and "
186 "return a pointer to it via the first argument.  This pointer should be "
187 "passed to B<free>(3)  to release the allocated storage when it is no longer "
188 "needed."
189 msgstr ""
190 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
191 "と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイト "
192 "(\\(aq\\e0\\(aq) も含めて)  保持するのに十分な大きさのメモリを確保し、 最初の"
193 "引数にその文字列へのポインタを返す。 このポインタは、不要になったら B<free>"
194 "(3)  に渡し、割り当てられた記憶領域を解放すべきである。"
195
196 #. type: SH
197 #: build/C/man3/asprintf.3:53 build/C/man3/ctermid.3:59
198 #: build/C/man3/fclose.3:59 build/C/man3/fcloseall.3:50
199 #: build/C/man3/fflush.3:74 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
200 #: build/C/man3/flockfile.3:120 build/C/man3/fmemopen.3:176
201 #: build/C/man3/fmtmsg.3:152 build/C/man3/fopen.3:189
202 #: build/C/man3/fopencookie.3:238 build/C/man3/fpurge.3:58
203 #: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/fseek.3:121
204 #: build/C/man3/fseeko.3:75 build/C/man3/getline.3:109 build/C/man3/gets.3:50
205 #: build/C/man3/getw.3:73 build/C/man2/link.2:176 build/C/man2/llseek.2:62
206 #: build/C/man2/lseek.2:179 build/C/man2/open.2:754 build/C/man2/pipe.2:129
207 #: build/C/man3/popen.3:123 build/C/man3/puts.3:84 build/C/man2/read.2:81
208 #: build/C/man2/readlink.2:153 build/C/man2/readv.2:177
209 #: build/C/man3/remove.3:60 build/C/man2/rename.2:166 build/C/man2/rmdir.2:40
210 #: build/C/man3/scanf.3:530 build/C/man3/setbuf.3:152
211 #: build/C/man2/symlink.2:140 build/C/man3/tempnam.3:94
212 #: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:79
213 #: build/C/man2/unlink.2:153 build/C/man3/wprintf.3:205
214 #: build/C/man2/write.2:89
215 #, no-wrap
216 msgid "RETURN VALUE"
217 msgstr "返り値"
218
219 #. type: Plain text
220 #: build/C/man3/asprintf.3:61
221 msgid ""
222 "When successful, these functions return the number of bytes printed, just "
223 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
224 "error occurs, these functions will return -1, and the contents of I<strp> is "
225 "undefined."
226 msgstr ""
227 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
228 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
229 "は -1 を返し、 I<strp> の内容は未定義となる。"
230
231 #. type: SH
232 #: build/C/man3/asprintf.3:61 build/C/man3/ctermid.3:67
233 #: build/C/man3/dprintf.3:69 build/C/man3/fclose.3:90
234 #: build/C/man3/fcloseall.3:60 build/C/man3/ferror.3:115
235 #: build/C/man3/fflush.3:98 build/C/man3/fgetc.3:124 build/C/man3/fgetwc.3:70
236 #: build/C/man3/flockfile.3:135 build/C/man3/fmemopen.3:195
237 #: build/C/man3/fmtmsg.3:237 build/C/man3/fopen.3:246
238 #: build/C/man3/fopencookie.3:245 build/C/man3/fpurge.3:70
239 #: build/C/man3/fputwc.3:68 build/C/man3/fread.3:103 build/C/man3/fseek.3:168
240 #: build/C/man3/fseeko.3:87 build/C/man3/getline.3:136 build/C/man3/gets.3:58
241 #: build/C/man3/getw.3:80 build/C/man2/link.2:307 build/C/man2/llseek.2:81
242 #: build/C/man2/lseek.2:217 build/C/man2/open.2:992 build/C/man3/perror.3:111
243 #: build/C/man2/pipe.2:155 build/C/man3/popen.3:172 build/C/man3/printf.3:807
244 #: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:216
245 #: build/C/man2/readv.2:214 build/C/man3/remove.3:75 build/C/man2/rename.2:330
246 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:577 build/C/man3/setbuf.3:173
247 #: build/C/man3/stdin.3:113 build/C/man3/stdio.3:246
248 #: build/C/man2/symlink.2:222 build/C/man3/tempnam.3:105
249 #: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:96
250 #: build/C/man2/unlink.2:273 build/C/man3/unlocked_stdio.3:113
251 #: build/C/man3/wprintf.3:213 build/C/man2/write.2:185
252 #, no-wrap
253 msgid "CONFORMING TO"
254 msgstr "準拠"
255
256 #. type: Plain text
257 #: build/C/man3/asprintf.3:67
258 msgid ""
259 "These functions are GNU extensions, not in C or POSIX.  They are also "
260 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
261 "error."
262 msgstr ""
263 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
264 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
265 "る。"
266
267 #. type: SH
268 #: build/C/man3/asprintf.3:67 build/C/man3/ctermid.3:77
269 #: build/C/man3/dprintf.3:95 build/C/man3/fclose.3:102
270 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:126
271 #: build/C/man3/fflush.3:113 build/C/man3/fgetc.3:133 build/C/man3/fgetwc.3:87
272 #: build/C/man3/flockfile.3:143 build/C/man3/fmemopen.3:341
273 #: build/C/man3/fmtmsg.3:309 build/C/man3/fopen.3:348
274 #: build/C/man3/fopencookie.3:437 build/C/man3/fpurge.3:80
275 #: build/C/man3/fputwc.3:85 build/C/man3/fread.3:105 build/C/man3/fseek.3:170
276 #: build/C/man3/fseeko.3:93 build/C/man3/getline.3:170 build/C/man3/gets.3:90
277 #: build/C/man3/getw.3:87 build/C/man2/link.2:360 build/C/man2/llseek.2:87
278 #: build/C/man2/lseek.2:262 build/C/man3/lseek64.3:164
279 #: build/C/man2/open.2:1425 build/C/man3/perror.3:139 build/C/man2/pipe.2:228
280 #: build/C/man3/popen.3:201 build/C/man3/printf.3:1085 build/C/man3/puts.3:112
281 #: build/C/man2/read.2:187 build/C/man2/readlink.2:313
282 #: build/C/man2/readv.2:284 build/C/man3/remove.3:86 build/C/man2/rename.2:347
283 #: build/C/man2/rmdir.2:132 build/C/man3/scanf.3:738 build/C/man3/setbuf.3:209
284 #: build/C/man3/stdin.3:154 build/C/man3/stdio.3:250
285 #: build/C/man3/stdio_ext.3:151 build/C/man2/symlink.2:241
286 #: build/C/man7/symlink.7:471 build/C/man3/tempnam.3:168
287 #: build/C/man3/tmpfile.3:97 build/C/man3/tmpnam.3:172
288 #: build/C/man2/unlink.2:284 build/C/man3/unlocked_stdio.3:136
289 #: build/C/man3/wprintf.3:253 build/C/man2/write.2:211
290 #, no-wrap
291 msgid "SEE ALSO"
292 msgstr "関連項目"
293
294 #. type: Plain text
295 #: build/C/man3/asprintf.3:71
296 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
297 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
298
299 #. type: SH
300 #: build/C/man3/asprintf.3:71 build/C/man3/ctermid.3:79
301 #: build/C/man3/dprintf.3:97 build/C/man3/fclose.3:108
302 #: build/C/man3/fcloseall.3:68 build/C/man3/ferror.3:131
303 #: build/C/man3/fflush.3:121 build/C/man3/fgetc.3:150 build/C/man3/fgetwc.3:92
304 #: build/C/man3/flockfile.3:145 build/C/man3/fmemopen.3:344
305 #: build/C/man3/fmtmsg.3:312 build/C/man3/fopen.3:354
306 #: build/C/man3/fopencookie.3:442 build/C/man3/fpurge.3:85
307 #: build/C/man3/fputwc.3:89 build/C/man3/fread.3:111 build/C/man3/fseek.3:173
308 #: build/C/man3/fseeko.3:95 build/C/man3/getline.3:176 build/C/man3/gets.3:108
309 #: build/C/man3/getw.3:93 build/C/man2/link.2:369 build/C/man2/llseek.2:90
310 #: build/C/man2/lseek.2:269 build/C/man3/lseek64.3:167
311 #: build/C/man2/open.2:1446 build/C/man3/perror.3:144 build/C/man2/pipe.2:235
312 #: build/C/man3/popen.3:211 build/C/man3/printf.3:1094 build/C/man3/puts.3:124
313 #: build/C/man2/read.2:200 build/C/man2/readlink.2:320
314 #: build/C/man2/readv.2:288 build/C/man3/remove.3:97 build/C/man2/rename.2:355
315 #: build/C/man2/rmdir.2:141 build/C/man3/scanf.3:745 build/C/man3/setbuf.3:217
316 #: build/C/man3/stdin.3:160 build/C/man3/stdio.3:257
317 #: build/C/man3/stdio_ext.3:154 build/C/man2/symlink.2:252
318 #: build/C/man7/symlink.7:489 build/C/man3/tempnam.3:173
319 #: build/C/man3/tmpfile.3:103 build/C/man3/tmpnam.3:177
320 #: build/C/man2/unlink.2:296 build/C/man3/unlocked_stdio.3:139
321 #: build/C/man3/wprintf.3:260 build/C/man2/write.2:223
322 #, no-wrap
323 msgid "COLOPHON"
324 msgstr "この文書について"
325
326 #. type: Plain text
327 #: build/C/man3/asprintf.3:78 build/C/man3/ctermid.3:86
328 #: build/C/man3/dprintf.3:104 build/C/man3/fclose.3:115
329 #: build/C/man3/fcloseall.3:75 build/C/man3/ferror.3:138
330 #: build/C/man3/fflush.3:128 build/C/man3/fgetc.3:157 build/C/man3/fgetwc.3:99
331 #: build/C/man3/flockfile.3:152 build/C/man3/fmemopen.3:351
332 #: build/C/man3/fmtmsg.3:319 build/C/man3/fopen.3:361
333 #: build/C/man3/fopencookie.3:449 build/C/man3/fpurge.3:92
334 #: build/C/man3/fputwc.3:96 build/C/man3/fread.3:118 build/C/man3/fseek.3:180
335 #: build/C/man3/fseeko.3:102 build/C/man3/getline.3:183
336 #: build/C/man3/gets.3:115 build/C/man3/getw.3:100 build/C/man2/link.2:376
337 #: build/C/man2/llseek.2:97 build/C/man2/lseek.2:276
338 #: build/C/man3/lseek64.3:174 build/C/man2/open.2:1453
339 #: build/C/man3/perror.3:151 build/C/man2/pipe.2:242 build/C/man3/popen.3:218
340 #: build/C/man3/printf.3:1101 build/C/man3/puts.3:131 build/C/man2/read.2:207
341 #: build/C/man2/readlink.2:327 build/C/man2/readv.2:295
342 #: build/C/man3/remove.3:104 build/C/man2/rename.2:362
343 #: build/C/man2/rmdir.2:148 build/C/man3/scanf.3:752 build/C/man3/setbuf.3:224
344 #: build/C/man3/stdin.3:167 build/C/man3/stdio.3:264
345 #: build/C/man3/stdio_ext.3:161 build/C/man2/symlink.2:259
346 #: build/C/man7/symlink.7:496 build/C/man3/tempnam.3:180
347 #: build/C/man3/tmpfile.3:110 build/C/man3/tmpnam.3:184
348 #: build/C/man2/unlink.2:303 build/C/man3/unlocked_stdio.3:146
349 #: build/C/man3/wprintf.3:267 build/C/man2/write.2:230
350 #, fuzzy
351 #| msgid ""
352 #| "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
353 #| "description of the project, and information about reporting bugs, can be "
354 #| "found at \\%http://www.kernel.org/doc/man-pages/."
355 msgid ""
356 "This page is part of release 3.63 of the Linux I<man-pages> project.  A "
357 "description of the project, and information about reporting bugs, can be "
358 "found at \\%http://www.kernel.org/doc/man-pages/."
359 msgstr ""
360 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.54 の一部\n"
361 "である。プロジェクトの説明とバグ報告に関する情報は\n"
362 "http://www.kernel.org/doc/man-pages/ に書かれている。"
363
364 #. type: TH
365 #: build/C/man3/ctermid.3:26
366 #, no-wrap
367 msgid "CTERMID"
368 msgstr "CTERMID"
369
370 #. type: TH
371 #: build/C/man3/ctermid.3:26
372 #, no-wrap
373 msgid "2013-07-04"
374 msgstr "2013-07-04"
375
376 #. type: Plain text
377 #: build/C/man3/ctermid.3:29
378 msgid "ctermid - get controlling terminal name"
379 msgstr "ctermid - 制御端末名の取得"
380
381 #. type: Plain text
382 #: build/C/man3/ctermid.3:34 build/C/man3/fgetc.3:33 build/C/man3/fgetwc.3:24
383 #: build/C/man3/flockfile.3:31 build/C/man3/fmemopen.3:16
384 #: build/C/man3/fopen.3:50 build/C/man3/fputwc.3:22 build/C/man3/fread.3:51
385 #: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:35
386 #: build/C/man3/getw.3:31 build/C/man3/popen.3:46 build/C/man3/puts.3:32
387 #: build/C/man2/rename.2:39 build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54
388 #: build/C/man3/stdin.3:19 build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
389 #: build/C/man3/tmpnam.3:33 build/C/man3/unlocked_stdio.3:32
390 #, no-wrap
391 msgid "B<#include E<lt>stdio.hE<gt>>\n"
392 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
393
394 #. type: Plain text
395 #: build/C/man3/ctermid.3:36
396 #, no-wrap
397 msgid "B<char *ctermid(char *>I<s>B<);>\n"
398 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
399
400 #. type: Plain text
401 #: build/C/man3/ctermid.3:41 build/C/man3/dprintf.3:39
402 #: build/C/man3/ferror.3:61 build/C/man3/flockfile.3:42
403 #: build/C/man3/fmemopen.3:29 build/C/man3/fopen.3:61
404 #: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man2/link.2:51
405 #: build/C/man2/open.2:73 build/C/man3/perror.3:50 build/C/man3/popen.3:55
406 #: build/C/man3/printf.3:63 build/C/man2/readlink.2:64 build/C/man2/readv.2:53
407 #: build/C/man2/rename.2:52 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
408 #: build/C/man2/symlink.2:52 build/C/man3/tempnam.3:38
409 #: build/C/man2/unlink.2:51 build/C/man3/unlocked_stdio.3:68
410 #: build/C/man3/wprintf.3:39
411 msgid ""
412 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
413 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
414
415 #.  From <unistd.h>: _XOPEN_SOURCE
416 #. type: Plain text
417 #: build/C/man3/ctermid.3:46
418 msgid ""
419 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
420 msgstr ""
421 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
422
423 #. type: Plain text
424 #: build/C/man3/ctermid.3:59
425 msgid ""
426 "B<ctermid>()  returns a string which is the pathname for the current "
427 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
428 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
429 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
430 "the returned pathname."
431 msgstr ""
432 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
433 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
434 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
435 "ス名の最大文字数である。"
436
437 #. type: Plain text
438 #: build/C/man3/ctermid.3:61
439 msgid "The pointer to the pathname."
440 msgstr "パス名へのポインタ。"
441
442 #. type: SH
443 #: build/C/man3/ctermid.3:61 build/C/man3/fcloseall.3:55
444 #: build/C/man3/ferror.3:106 build/C/man3/fflush.3:93
445 #: build/C/man3/flockfile.3:127 build/C/man3/fmtmsg.3:225
446 #: build/C/man3/lseek64.3:159 build/C/man3/remove.3:70
447 #: build/C/man3/setbuf.3:164 build/C/man3/stdio_ext.3:132
448 #: build/C/man3/tmpnam.3:86
449 #, no-wrap
450 msgid "ATTRIBUTES"
451 msgstr "属性"
452
453 #. type: SS
454 #: build/C/man3/ctermid.3:62 build/C/man3/fcloseall.3:56
455 #: build/C/man3/ferror.3:107 build/C/man3/fflush.3:94
456 #: build/C/man3/flockfile.3:128 build/C/man3/fmtmsg.3:226
457 #: build/C/man3/lseek64.3:160 build/C/man3/remove.3:71
458 #: build/C/man3/setbuf.3:165 build/C/man3/stdio_ext.3:133
459 #: build/C/man3/tmpnam.3:87
460 #, no-wrap
461 msgid "Multithreading (see pthreads(7))"
462 msgstr "マルチスレッディング (pthreads(7) 参照)"
463
464 #. type: Plain text
465 #: build/C/man3/ctermid.3:67
466 msgid ""
467 "The B<ctermid>()  function is thread-safe with exceptions.  It is not thread-"
468 "safe if called with a NULL parameter."
469 msgstr ""
470 "B<ctermid>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
471 "れた場合はスレッドセーフではない。"
472
473 #. type: Plain text
474 #: build/C/man3/ctermid.3:69
475 msgid "Svr4, POSIX.1-2001."
476 msgstr "SVr4, POSIX.1-2001."
477
478 #. type: SH
479 #: build/C/man3/ctermid.3:69 build/C/man3/fmemopen.3:213
480 #: build/C/man3/fopen.3:331 build/C/man3/gets.3:72 build/C/man3/getw.3:83
481 #: build/C/man2/link.2:354 build/C/man2/open.2:1406 build/C/man3/popen.3:178
482 #: build/C/man3/printf.3:930 build/C/man3/puts.3:105 build/C/man2/readv.2:258
483 #: build/C/man3/remove.3:83 build/C/man2/rename.2:336 build/C/man2/rmdir.2:129
484 #: build/C/man3/scanf.3:669 build/C/man3/setbuf.3:179
485 #: build/C/man3/tempnam.3:165 build/C/man3/tmpnam.3:165
486 #: build/C/man2/unlink.2:281
487 #, no-wrap
488 msgid "BUGS"
489 msgstr "バグ"
490
491 #. type: Plain text
492 #: build/C/man3/ctermid.3:73
493 msgid ""
494 "The path returned may not uniquely identify the controlling terminal; it "
495 "may, for example, be I</dev/tty>."
496 msgstr ""
497 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
498 "ように。"
499
500 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
501 #.  if ctermid() was given an argument; fixed in 2.4.
502 #. type: Plain text
503 #: build/C/man3/ctermid.3:77
504 msgid "It is not assured that the program can open the terminal."
505 msgstr "プログラムが端末をオープンできることは保証されていない。"
506
507 #. type: Plain text
508 #: build/C/man3/ctermid.3:79
509 msgid "B<ttyname>(3)"
510 msgstr "B<ttyname>(3)"
511
512 #. type: TH
513 #: build/C/man3/dprintf.3:26
514 #, no-wrap
515 msgid "DPRINTF"
516 msgstr "DPRINTF"
517
518 #. type: TH
519 #: build/C/man3/dprintf.3:26
520 #, no-wrap
521 msgid "2010-09-15"
522 msgstr "2010-09-15"
523
524 #. type: Plain text
525 #: build/C/man3/dprintf.3:29
526 msgid "dprintf, vdprintf - print to a file descriptor"
527 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
528
529 #. type: Plain text
530 #: build/C/man3/dprintf.3:33
531 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
532 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
533
534 #. type: Plain text
535 #: build/C/man3/dprintf.3:35
536 msgid ""
537 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
538 msgstr ""
539 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
540
541 #. type: Plain text
542 #: build/C/man3/dprintf.3:43
543 msgid "B<dprintf>(), B<vdprintf>():"
544 msgstr "B<dprintf>(), B<vdprintf>():"
545
546 #. type: TP
547 #: build/C/man3/dprintf.3:46 build/C/man3/fmemopen.3:37
548 #: build/C/man3/getline.3:49 build/C/man2/link.2:57 build/C/man2/open.2:79
549 #: build/C/man2/readlink.2:77 build/C/man2/rename.2:58
550 #: build/C/man2/symlink.2:65 build/C/man2/unlink.2:57
551 #, no-wrap
552 msgid "Since glibc 2.10:"
553 msgstr "glibc 2.10 以降:"
554
555 #. type: Plain text
556 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40 build/C/man2/link.2:60
557 #: build/C/man2/open.2:82 build/C/man2/readlink.2:80 build/C/man2/rename.2:61
558 #: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
559 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
560 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
561
562 #. type: TP
563 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
564 #: build/C/man3/getline.3:52 build/C/man2/link.2:60 build/C/man2/open.2:82
565 #: build/C/man2/readlink.2:80 build/C/man2/rename.2:61
566 #: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
567 #, no-wrap
568 msgid "Before glibc 2.10:"
569 msgstr "glibc 2.10 より前:"
570
571 #. type: Plain text
572 #: build/C/man3/dprintf.3:52 build/C/man3/fmemopen.3:43
573 #: build/C/man3/getline.3:55 build/C/man3/unlocked_stdio.3:104
574 msgid "_GNU_SOURCE"
575 msgstr "_GNU_SOURCE"
576
577 #. type: Plain text
578 #: build/C/man3/dprintf.3:69
579 msgid ""
580 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
581 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
582 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
583 msgstr ""
584 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
585 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
586 "れらは I<stdio> ストリームではなくファイルディスクリプタ I<fd> に対して出力を"
587 "行う。"
588
589 #.  .SH NOTES
590 #.  These functions are GNU extensions, not in C or POSIX.
591 #.  Clearly, the names were badly chosen.
592 #.  Many systems (like MacOS) have incompatible functions called
593 #.  .BR dprintf (),
594 #.  usually some debugging version of
595 #.  .BR printf (3),
596 #.  perhaps with a prototype like
597 #.  .BI "void dprintf(int level, const char *" format ", ...);"
598 #.  where the first argument is a debugging level (and output is to
599 #.  .IR stderr ).
600 #.  Moreover,
601 #.  .BR dprintf ()
602 #.  (or
603 #.  .BR DPRINTF )
604 #.  is also a popular macro name for a debugging printf.
605 #.  So, probably, it is better to avoid this function in programs
606 #.  intended to be portable.
607 #.  A better name would have been
608 #.  .BR fdprintf ().
609 #. type: Plain text
610 #: build/C/man3/dprintf.3:95
611 msgid ""
612 "These functions are GNU extensions that are nowadays specified in "
613 "POSIX.1-2008."
614 msgstr ""
615 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
616 "る。"
617
618 #. type: Plain text
619 #: build/C/man3/dprintf.3:97
620 msgid "B<printf>(3)"
621 msgstr "B<printf>(3)"
622
623 #. type: TH
624 #: build/C/man3/fclose.3:44
625 #, no-wrap
626 msgid "FCLOSE"
627 msgstr "FCLOSE"
628
629 #. type: TH
630 #: build/C/man3/fclose.3:44
631 #, no-wrap
632 msgid "2009-02-23"
633 msgstr "2009-02-23"
634
635 #. type: Plain text
636 #: build/C/man3/fclose.3:47
637 msgid "fclose - close a stream"
638 msgstr "fclose - ストリームを閉じる"
639
640 #. type: Plain text
641 #: build/C/man3/fclose.3:51
642 msgid "B<int fclose(FILE *>I<fp>B<);>"
643 msgstr "B<int fclose(FILE *>I<fp>B<);>"
644
645 #. type: Plain text
646 #: build/C/man3/fclose.3:59
647 msgid ""
648 "The B<fclose>()  function flushes the stream pointed to by I<fp> (writing "
649 "any buffered output data using B<fflush>(3))  and closes the underlying file "
650 "descriptor."
651 msgstr ""
652 "B<fclose>() 関数は、 I<fp> が指すストリームを (バッファリングされて\n"
653 "いた全ての出力データを B<fflush>(3) を用いて書き込んで) フラッシュし、\n"
654 "対応するファイルディスクリプタをクローズする。"
655
656 #. type: Plain text
657 #: build/C/man3/fclose.3:70
658 msgid ""
659 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
660 "I<errno> is set to indicate the error.  In either case any further access "
661 "(including another call to B<fclose>())  to the stream results in undefined "
662 "behavior."
663 msgstr ""
664 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
665 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
666 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
667 "は 未定義の動作を生じさせる。"
668
669 #. type: SH
670 #: build/C/man3/fclose.3:70 build/C/man3/ferror.3:96 build/C/man3/fflush.3:81
671 #: build/C/man3/fgetwc.3:64 build/C/man3/flockfile.3:125
672 #: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:65 build/C/man3/fputwc.3:63
673 #: build/C/man3/fseek.3:136 build/C/man3/fseeko.3:84
674 #: build/C/man3/getline.3:124 build/C/man2/link.2:181 build/C/man2/llseek.2:69
675 #: build/C/man2/lseek.2:187 build/C/man2/open.2:763 build/C/man2/pipe.2:134
676 #: build/C/man3/popen.3:146 build/C/man2/read.2:95 build/C/man2/readlink.2:159
677 #: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:171
678 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:547 build/C/man2/symlink.2:145
679 #: build/C/man3/tempnam.3:101 build/C/man3/tmpfile.3:56
680 #: build/C/man3/tmpnam.3:84 build/C/man2/unlink.2:158 build/C/man2/write.2:107
681 #, no-wrap
682 msgid "ERRORS"
683 msgstr "エラー"
684
685 #. type: TP
686 #: build/C/man3/fclose.3:71 build/C/man3/fflush.3:82 build/C/man3/fpurge.3:66
687 #: build/C/man3/fseek.3:137 build/C/man2/link.2:265 build/C/man2/llseek.2:70
688 #: build/C/man2/lseek.2:188 build/C/man2/open.2:978 build/C/man2/read.2:114
689 #: build/C/man2/readlink.2:202 build/C/man2/rename.2:310
690 #: build/C/man3/scanf.3:553 build/C/man2/symlink.2:208
691 #: build/C/man2/unlink.2:248 build/C/man2/write.2:126
692 #, no-wrap
693 msgid "B<EBADF>"
694 msgstr "B<EBADF>"
695
696 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
697 #.   low-level file operations on the same stream. If you do get this error,
698 #.   you must have closed the stream's low-level file descriptor using
699 #.   something like close(fileno(fp)).
700 #. type: Plain text
701 #: build/C/man3/fclose.3:80
702 msgid "The file descriptor underlying I<fp> is not valid."
703 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
704
705 #. type: Plain text
706 #: build/C/man3/fclose.3:90
707 msgid ""
708 "The B<fclose>()  function may also fail and set I<errno> for any of the "
709 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
710 msgstr ""
711 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
712 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
713 "された値に設定される。"
714
715 #. type: Plain text
716 #: build/C/man3/fclose.3:92 build/C/man3/fseek.3:170 build/C/man3/puts.3:105
717 msgid "C89, C99."
718 msgstr "C89, C99."
719
720 #. type: SH
721 #: build/C/man3/fclose.3:92 build/C/man3/fflush.3:104 build/C/man3/fgetwc.3:72
722 #: build/C/man3/fmemopen.3:207 build/C/man3/fmtmsg.3:252
723 #: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:78 build/C/man3/fputwc.3:70
724 #: build/C/man3/fseeko.3:89 build/C/man2/link.2:316 build/C/man2/llseek.2:84
725 #: build/C/man2/lseek.2:227 build/C/man2/open.2:1036 build/C/man3/perror.3:124
726 #: build/C/man3/printf.3:868 build/C/man2/read.2:175
727 #: build/C/man2/readlink.2:225 build/C/man2/readv.2:226
728 #: build/C/man3/remove.3:77 build/C/man3/scanf.3:608 build/C/man3/stdin.3:122
729 #: build/C/man2/symlink.2:232 build/C/man3/tempnam.3:110
730 #: build/C/man3/tmpfile.3:80 build/C/man3/tmpnam.3:101
731 #: build/C/man3/wprintf.3:215 build/C/man2/write.2:194
732 #, no-wrap
733 msgid "NOTES"
734 msgstr "注意"
735
736 #. type: Plain text
737 #: build/C/man3/fclose.3:102
738 msgid ""
739 "Note that B<fclose>()  only flushes the user-space buffers provided by the C "
740 "library.  To ensure that the data is physically stored on disk the kernel "
741 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
742 msgstr ""
743 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
744 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
745 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
746 "ればならない。"
747
748 #. type: Plain text
749 #: build/C/man3/fclose.3:108
750 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
751 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
752
753 #. type: TH
754 #: build/C/man3/fcloseall.3:25
755 #, no-wrap
756 msgid "FCLOSEALL"
757 msgstr "FCLOSEALL"
758
759 #. type: Plain text
760 #: build/C/man3/fcloseall.3:28
761 msgid "fcloseall - close all open streams"
762 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
763
764 #. type: Plain text
765 #: build/C/man3/fcloseall.3:32 build/C/man3/fopencookie.3:33
766 #, no-wrap
767 msgid ""
768 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
769 "B<#include E<lt>stdio.hE<gt>>\n"
770 msgstr ""
771 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
772 "B<#include E<lt>stdio.hE<gt>>\n"
773
774 #. type: Plain text
775 #: build/C/man3/fcloseall.3:34
776 #, no-wrap
777 msgid "B<int fcloseall(void);>\n"
778 msgstr "B<int fcloseall(void);>\n"
779
780 #. type: Plain text
781 #: build/C/man3/fcloseall.3:43
782 msgid ""
783 "The B<fcloseall>()  function closes all of the calling process's open "
784 "streams.  Buffered output for each stream is written before it is closed (as "
785 "for B<fflush>(3)); buffered input is discarded."
786 msgstr ""
787 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
788 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
789 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
790 "れる。"
791
792 #. type: Plain text
793 #: build/C/man3/fcloseall.3:50
794 msgid ""
795 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
796 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
797
798 #. type: Plain text
799 #: build/C/man3/fcloseall.3:55
800 msgid ""
801 "This function returns 0 if all files were successfully closed; on error, "
802 "B<EOF> is returned."
803 msgstr ""
804 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
805 "B<EOF> を返す。"
806
807 #. type: Plain text
808 #: build/C/man3/fcloseall.3:60
809 msgid ""
810 "The B<fcloseall>()  function does not lock the streams, so it is not thread-"
811 "safe."
812 msgstr ""
813 "B<fcloseall>() 関数はストリームのロックを行わない。そのため、スレッドセーフで"
814 "はない。"
815
816 #. type: Plain text
817 #: build/C/man3/fcloseall.3:62
818 msgid "This function is a GNU extension."
819 msgstr "この関数は GNU 拡張である。"
820
821 #. type: Plain text
822 #: build/C/man3/fcloseall.3:68
823 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
824 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
825
826 #. type: TH
827 #: build/C/man3/ferror.3:44
828 #, no-wrap
829 msgid "FERROR"
830 msgstr "FERROR"
831
832 #. type: TH
833 #: build/C/man3/ferror.3:44
834 #, fuzzy, no-wrap
835 #| msgid "2012-01-18"
836 msgid "2014-01-15"
837 msgstr "2012-01-18"
838
839 #. type: Plain text
840 #: build/C/man3/ferror.3:47
841 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
842 msgstr ""
843 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
844
845 #. type: Plain text
846 #: build/C/man3/ferror.3:51
847 msgid "B<void clearerr(FILE *>I<stream>B<);>"
848 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
849
850 #. type: Plain text
851 #: build/C/man3/ferror.3:53
852 msgid "B<int feof(FILE *>I<stream>B<);>"
853 msgstr "B<int feof(FILE *>I<stream>B<);>"
854
855 #. type: Plain text
856 #: build/C/man3/ferror.3:55
857 msgid "B<int ferror(FILE *>I<stream>B<);>"
858 msgstr "B<int ferror(FILE *>I<stream>B<);>"
859
860 #. type: Plain text
861 #: build/C/man3/ferror.3:57
862 msgid "B<int fileno(FILE *>I<stream>B<);>"
863 msgstr "B<int fileno(FILE *>I<stream>B<);>"
864
865 #. type: Plain text
866 #: build/C/man3/ferror.3:65
867 msgid ""
868 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
869 msgstr ""
870 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
871
872 #. type: Plain text
873 #: build/C/man3/ferror.3:70
874 msgid ""
875 "The function B<clearerr>()  clears the end-of-file and error indicators for "
876 "the stream pointed to by I<stream>."
877 msgstr ""
878 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
879 "子とエラー指示子をクリアする。"
880
881 #. type: Plain text
882 #: build/C/man3/ferror.3:78
883 msgid ""
884 "The function B<feof>()  tests the end-of-file indicator for the stream "
885 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
886 "indicator can be cleared only by the function B<clearerr>()."
887 msgstr ""
888 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
889 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
890 "よってのみクリアすることができる。"
891
892 #. type: Plain text
893 #: build/C/man3/ferror.3:87
894 msgid ""
895 "The function B<ferror>()  tests the error indicator for the stream pointed "
896 "to by I<stream>, returning nonzero if it is set.  The error indicator can be "
897 "reset only by the B<clearerr>()  function."
898 msgstr ""
899 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
900 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
901 "()  によってのみリセットすることができる。"
902
903 #. type: Plain text
904 #: build/C/man3/ferror.3:93
905 msgid ""
906 "The function B<fileno>()  examines the argument I<stream> and returns its "
907 "integer descriptor."
908 msgstr ""
909 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
910
911 #. type: Plain text
912 #: build/C/man3/ferror.3:96 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
913 #: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/puts.3:84
914 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
915 msgstr ""
916 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
917
918 #. type: Plain text
919 #: build/C/man3/ferror.3:106
920 msgid ""
921 "These functions should not fail and do not set the external variable "
922 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
923 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
924 msgstr ""
925 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
926 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
927 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
928
929 #. type: Plain text
930 #: build/C/man3/ferror.3:115
931 msgid ""
932 "The B<clearerr>(), B<feof>(), B<ferror>(), and B<fileno>()  functions are "
933 "thread-safe."
934 msgstr ""
935 "関数 B<clearerr>(), B<feof>(), B<ferror>(), B<fileno>() はスレッドセーフであ"
936 "る。"
937
938 #. type: Plain text
939 #: build/C/man3/ferror.3:122
940 #, fuzzy
941 #| msgid ""
942 #| "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 "
943 #| "and C99."
944 msgid ""
945 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89, "
946 "C99, POSIX.1-2001, and POSIX.1-2008."
947 msgstr ""
948 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
949
950 #. type: Plain text
951 #: build/C/man3/ferror.3:126
952 msgid "The function B<fileno>()  conforms to POSIX.1-2001 and POSIX.1-2008."
953 msgstr ""
954
955 #. type: Plain text
956 #: build/C/man3/ferror.3:131
957 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
958 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
959
960 #. type: TH
961 #: build/C/man3/fflush.3:45
962 #, no-wrap
963 msgid "FFLUSH"
964 msgstr "FFLUSH"
965
966 #. type: TH
967 #: build/C/man3/fflush.3:45
968 #, no-wrap
969 msgid "2013-07-15"
970 msgstr "2013-07-15"
971
972 #. type: Plain text
973 #: build/C/man3/fflush.3:48
974 msgid "fflush - flush a stream"
975 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
976
977 #. type: Plain text
978 #: build/C/man3/fflush.3:52
979 msgid "B<int fflush(FILE *>I<stream>B<);>"
980 msgstr "B<int fflush(FILE *>I<stream>B<);>"
981
982 #. type: Plain text
983 #: build/C/man3/fflush.3:63
984 msgid ""
985 "For output streams, B<fflush>()  forces a write of all user-space buffered "
986 "data for the given output or update I<stream> via the stream's underlying "
987 "write function.  For input streams, B<fflush>()  discards any buffered data "
988 "that has been fetched from the underlying file, but has not been consumed by "
989 "the application.  The open status of the stream is unaffected."
990 msgstr ""
991 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
992 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
993 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
994 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
995 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
996 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
997 "い。"
998
999 #. type: Plain text
1000 #: build/C/man3/fflush.3:71
1001 msgid ""
1002 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
1003 "streams."
1004 msgstr ""
1005 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
1006 "トリームをフラッシュする。"
1007
1008 #. type: Plain text
1009 #: build/C/man3/fflush.3:74
1010 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
1011 msgstr ""
1012 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
1013 "と。"
1014
1015 #. type: Plain text
1016 #: build/C/man3/fflush.3:81
1017 msgid ""
1018 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
1019 "I<errno> is set to indicate the error."
1020 msgstr ""
1021 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
1022 "ラーに対応した値に設定される。"
1023
1024 #. type: Plain text
1025 #: build/C/man3/fflush.3:86
1026 msgid "I<Stream> is not an open stream, or is not open for writing."
1027 msgstr ""
1028 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
1029 "ない。"
1030
1031 #. type: Plain text
1032 #: build/C/man3/fflush.3:93
1033 msgid ""
1034 "The function B<fflush>()  may also fail and set I<errno> for any of the "
1035 "errors specified for B<write>(2)."
1036 msgstr ""
1037 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
1038 "ある。 この場合 I<errno> もその値に設定される。"
1039
1040 #. type: Plain text
1041 #: build/C/man3/fflush.3:98
1042 msgid "The B<fflush>()  function is thread-safe."
1043 msgstr "関数 B<fflush>() はスレッドセーフである。"
1044
1045 #. type: Plain text
1046 #: build/C/man3/fflush.3:100
1047 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
1048 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
1049
1050 #.  Verified on: Solaris 8.
1051 #. type: Plain text
1052 #: build/C/man3/fflush.3:104
1053 msgid ""
1054 "The standards do not specify the behavior for input streams.  Most other "
1055 "implementations behave the same as Linux."
1056 msgstr ""
1057 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
1058 "は Linux と同じ動作をする。"
1059
1060 #. type: Plain text
1061 #: build/C/man3/fflush.3:113
1062 msgid ""
1063 "Note that B<fflush>()  only flushes the user-space buffers provided by the C "
1064 "library.  To ensure that the data is physically stored on disk the kernel "
1065 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
1066 msgstr ""
1067 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
1068 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
1069 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
1070 "B<fsync>(2)  を用いる。"
1071
1072 #. type: Plain text
1073 #: build/C/man3/fflush.3:121
1074 msgid ""
1075 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1076 "(3), B<unlocked_stdio>(3)"
1077 msgstr ""
1078 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1079 "(3), B<unlocked_stdio>(3)"
1080
1081 #. type: TH
1082 #: build/C/man3/fgetc.3:27
1083 #, fuzzy, no-wrap
1084 #| msgid "FGETWC"
1085 msgid "FGETC"
1086 msgstr "FGETWC"
1087
1088 #. type: TH
1089 #: build/C/man3/fgetc.3:27
1090 #, fuzzy, no-wrap
1091 #| msgid "2013-02-12"
1092 msgid "2013-12-31"
1093 msgstr "2013-02-12"
1094
1095 #. type: Plain text
1096 #: build/C/man3/fgetc.3:30
1097 #, fuzzy
1098 #| msgid ""
1099 #| "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and "
1100 #| "strings"
1101 msgid "fgetc, fgets, getc, getchar, ungetc - input of characters and strings"
1102 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
1103
1104 #. type: Plain text
1105 #: build/C/man3/fgetc.3:35
1106 #, no-wrap
1107 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
1108 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
1109
1110 #. type: Plain text
1111 #: build/C/man3/fgetc.3:37
1112 #, no-wrap
1113 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
1114 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
1115
1116 #. type: Plain text
1117 #: build/C/man3/fgetc.3:39
1118 #, no-wrap
1119 msgid "B<int getc(FILE *>I<stream>B<);>\n"
1120 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
1121
1122 #. type: Plain text
1123 #: build/C/man3/fgetc.3:41
1124 #, no-wrap
1125 msgid "B<int getchar(void);>\n"
1126 msgstr "B<int getchar(void);>\n"
1127
1128 #. type: Plain text
1129 #: build/C/man3/fgetc.3:43
1130 #, no-wrap
1131 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
1132 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
1133
1134 #. type: Plain text
1135 #: build/C/man3/fgetc.3:55
1136 msgid ""
1137 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
1138 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
1139 msgstr ""
1140 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
1141 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
1142 "す。"
1143
1144 #. type: Plain text
1145 #: build/C/man3/fgetc.3:62
1146 msgid ""
1147 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
1148 "a macro which evaluates I<stream> more than once."
1149 msgstr ""
1150 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
1151 "実装されているかもしれない。"
1152
1153 #. type: Plain text
1154 #: build/C/man3/fgetc.3:66
1155 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
1156 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
1157
1158 #. type: Plain text
1159 #: build/C/man3/fgetc.3:80
1160 msgid ""
1161 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
1162 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
1163 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
1164 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
1165 "in the buffer."
1166 msgstr ""
1167 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
1168 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
1169 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
1170 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
1171
1172 #. type: Plain text
1173 #: build/C/man3/fgetc.3:91
1174 msgid ""
1175 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
1176 "it is available for subsequent read operations.  Pushed-back characters will "
1177 "be returned in reverse order; only one pushback is guaranteed."
1178 msgstr ""
1179 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
1180 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
1181 "しとして保証されているのは、一文字だけである。"
1182
1183 #. type: Plain text
1184 #: build/C/man3/fgetc.3:96
1185 msgid ""
1186 "Calls to the functions described here can be mixed with each other and with "
1187 "calls to other input functions from the I<stdio> library for the same input "
1188 "stream."
1189 msgstr ""
1190 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
1191 "互いに混ぜて使うことができる。"
1192
1193 #. type: Plain text
1194 #: build/C/man3/fgetc.3:111
1195 msgid ""
1196 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
1197 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
1198 msgstr ""
1199 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
1200 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
1201 "す。"
1202
1203 #. type: Plain text
1204 #: build/C/man3/fgetc.3:117
1205 #, fuzzy
1206 #| msgid ""
1207 #| "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or "
1208 #| "when end of file occurs while no characters have been read."
1209 msgid ""
1210 "B<fgets>()  returns I<s> on success, and NULL on error or when end of file "
1211 "occurs while no characters have been read."
1212 msgstr ""
1213 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
1214 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
1215
1216 #. type: Plain text
1217 #: build/C/man3/fgetc.3:124
1218 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
1219 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
1220
1221 #. type: Plain text
1222 #: build/C/man3/fgetc.3:126 build/C/man3/gets.3:60
1223 msgid "C89, C99, POSIX.1-2001."
1224 msgstr "C89, C99, POSIX.1-2001."
1225
1226 #. type: Plain text
1227 #: build/C/man3/fgetc.3:133
1228 msgid ""
1229 "It is not advisable to mix calls to input functions from the I<stdio> "
1230 "library with low-level calls to B<read>(2)  for the file descriptor "
1231 "associated with the input stream; the results will be undefined and very "
1232 "probably not what you want."
1233 msgstr ""
1234 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
1235 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
1236 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
1237
1238 #. type: Plain text
1239 #: build/C/man3/fgetc.3:150
1240 #, fuzzy
1241 #| msgid ""
1242 #| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
1243 #| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
1244 #| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
1245 #| "B<feature_test_macros>(7)"
1246 msgid ""
1247 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
1248 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<gets>(3), B<getwchar>(3), "
1249 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
1250 "B<feature_test_macros>(7)"
1251 msgstr ""
1252 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
1253 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
1254 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
1255 "B<feature_test_macros>(7)"
1256
1257 #. type: TH
1258 #: build/C/man3/fgetwc.3:18
1259 #, no-wrap
1260 msgid "FGETWC"
1261 msgstr "FGETWC"
1262
1263 #. type: TH
1264 #: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16 build/C/man3/popen.3:40
1265 #, no-wrap
1266 msgid "2013-04-19"
1267 msgstr "2013-04-19"
1268
1269 #. type: Plain text
1270 #: build/C/man3/fgetwc.3:21
1271 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1272 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1273
1274 #. type: Plain text
1275 #: build/C/man3/fgetwc.3:26 build/C/man3/fmemopen.3:22
1276 #: build/C/man3/fputwc.3:24 build/C/man3/unlocked_stdio.3:54
1277 #, no-wrap
1278 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1279 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1280
1281 #. type: Plain text
1282 #: build/C/man3/fgetwc.3:29
1283 #, no-wrap
1284 msgid ""
1285 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1286 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1287 msgstr ""
1288 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1289 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1290
1291 #. type: Plain text
1292 #: build/C/man3/fgetwc.3:44
1293 msgid ""
1294 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1295 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1296 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1297 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1298 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1299 msgstr ""
1300 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1301 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1302 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1303 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1304 "し、 B<WEOF> を返す。"
1305
1306 #. type: Plain text
1307 #: build/C/man3/fgetwc.3:52
1308 msgid ""
1309 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1310 "may be implemented as a macro, and may evaluate its argument more than "
1311 "once.  There is no reason ever to use it."
1312 msgstr ""
1313 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1314 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1315 "ない。この関数を使う理由はもはや存在しない。"
1316
1317 #. type: Plain text
1318 #: build/C/man3/fgetwc.3:64
1319 msgid ""
1320 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1321 "or B<WEOF>.  In the event of an error, I<errno> is set to indicate the cause."
1322 msgstr ""
1323 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。 エ"
1324 "ラーが起こった場合、 I<errno> にエラーの原因を示す値が設定される。"
1325
1326 #. type: Plain text
1327 #: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65
1328 msgid "Apart from the usual ones, there is"
1329 msgstr "通常のエラーに加えて、以下のエラーがある:"
1330
1331 #. type: TP
1332 #: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65 build/C/man3/scanf.3:558
1333 #, no-wrap
1334 msgid "B<EILSEQ>"
1335 msgstr "B<EILSEQ>"
1336
1337 #. type: Plain text
1338 #: build/C/man3/fgetwc.3:70
1339 msgid ""
1340 "The data obtained from the input stream does not form a valid character."
1341 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1342
1343 #. type: Plain text
1344 #: build/C/man3/fgetwc.3:72 build/C/man3/fputwc.3:70
1345 msgid "C99, POSIX.1-2001."
1346 msgstr "C99, POSIX.1-2001."
1347
1348 #. type: Plain text
1349 #: build/C/man3/fgetwc.3:79
1350 msgid ""
1351 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1352 "current locale."
1353 msgstr ""
1354 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1355
1356 #. type: Plain text
1357 #: build/C/man3/fgetwc.3:87
1358 msgid ""
1359 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1360 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1361 "sequence from the stream and then convert it to a wide character."
1362 msgstr ""
1363 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1364 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1365 "換すると期待することは適切である。"
1366
1367 #. type: Plain text
1368 #: build/C/man3/fgetwc.3:92
1369 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1370 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1371
1372 #. type: TH
1373 #: build/C/man3/flockfile.3:25
1374 #, no-wrap
1375 msgid "FLOCKFILE"
1376 msgstr "FLOCKFILE"
1377
1378 #. type: TH
1379 #: build/C/man3/flockfile.3:25
1380 #, no-wrap
1381 msgid "2013-07-23"
1382 msgstr "2013-07-23"
1383
1384 #. type: Plain text
1385 #: build/C/man3/flockfile.3:28
1386 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1387 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1388
1389 #. type: Plain text
1390 #: build/C/man3/flockfile.3:33
1391 #, no-wrap
1392 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1393 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1394
1395 #. type: Plain text
1396 #: build/C/man3/flockfile.3:35
1397 #, no-wrap
1398 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1399 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1400
1401 #. type: Plain text
1402 #: build/C/man3/flockfile.3:37
1403 #, no-wrap
1404 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1405 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1406
1407 #. type: Plain text
1408 #: build/C/man3/flockfile.3:46 build/C/man3/wprintf.3:43
1409 msgid "All functions shown above:"
1410 msgstr "上記の全ての関数:"
1411
1412 #. type: Plain text
1413 #: build/C/man3/flockfile.3:49
1414 msgid ""
1415 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1416 "|| _POSIX_SOURCE"
1417 msgstr ""
1418 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1419 "|| _POSIX_SOURCE"
1420
1421 #. type: Plain text
1422 #: build/C/man3/flockfile.3:63
1423 msgid ""
1424 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1425 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1426 "thread.  For each library call, these functions wait until the I<FILE> "
1427 "object is no longer locked by a different thread, then lock it, do the "
1428 "requested I/O, and unlock the object again."
1429 msgstr ""
1430 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1431 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1432 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1433 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1434 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1435 "オブジェクトのロックを解除する。"
1436
1437 #. type: Plain text
1438 #: build/C/man3/flockfile.3:69
1439 msgid ""
1440 "(Note: this locking has nothing to do with the file locking done by "
1441 "functions like B<flock>(2)  and B<lockf>(3).)"
1442 msgstr ""
1443 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1444 "全く無関係である。)"
1445
1446 #. type: Plain text
1447 #: build/C/man3/flockfile.3:77
1448 msgid ""
1449 "All this is invisible to the C-programmer, but there may be two reasons to "
1450 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1451 "actions by one thread belongs together, and should not be interrupted by the "
1452 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1453 "should be avoided for greater efficiency."
1454 msgstr ""
1455 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1456 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1457 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1458 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1459 "避ける必要があるということであろう。"
1460
1461 #. type: Plain text
1462 #: build/C/man3/flockfile.3:94
1463 msgid ""
1464 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1465 "series of I/O actions, then unlock.  This prevents other threads from coming "
1466 "in between.  If the reason for doing this was to achieve greater efficiency, "
1467 "one does the I/O with the nonlocking versions of the stdio functions: with "
1468 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1469 "B<putc>(3)."
1470 msgstr ""
1471 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1472 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1473 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1474 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1475 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1476 "B<putc_unlocked>(3)  を使用する。"
1477
1478 #. type: Plain text
1479 #: build/C/man3/flockfile.3:105
1480 msgid ""
1481 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1482 "by a different thread, then makes the current thread owner of "
1483 "I<*filehandle>, and increments the lockcount."
1484 msgstr ""
1485 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1486 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1487 "ロック数を加算する。"
1488
1489 #. type: Plain text
1490 #: build/C/man3/flockfile.3:109
1491 msgid "The B<funlockfile>()  function decrements the lock count."
1492 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1493
1494 #. type: Plain text
1495 #: build/C/man3/flockfile.3:120
1496 msgid ""
1497 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1498 "It does nothing in case some other thread owns I<*filehandle>, and it "
1499 "obtains ownership and increments the lockcount otherwise."
1500 msgstr ""
1501 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1502 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1503 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1504
1505 #. type: Plain text
1506 #: build/C/man3/flockfile.3:125
1507 msgid ""
1508 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1509 "obtained), and nonzero for failure."
1510 msgstr ""
1511 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1512 "の値を返す。"
1513
1514 #. type: Plain text
1515 #: build/C/man3/flockfile.3:127
1516 msgid "None."
1517 msgstr "なし。"
1518
1519 #. type: Plain text
1520 #: build/C/man3/flockfile.3:135
1521 msgid ""
1522 "The B<flockfile>(), B<ftrylockfile>(), and B<funlockfile>()  functions are "
1523 "thread-safe."
1524 msgstr ""
1525 "関数 B<flockfile>(), B<ftrylockfile>(), B<funlockfile>() はスレッドセーフであ"
1526 "る。"
1527
1528 #. type: Plain text
1529 #: build/C/man3/flockfile.3:137 build/C/man3/popen.3:174
1530 msgid "POSIX.1-2001."
1531 msgstr "POSIX.1-2001."
1532
1533 #. type: SH
1534 #: build/C/man3/flockfile.3:137
1535 #, no-wrap
1536 msgid "AVAILABILITY"
1537 msgstr "可用性"
1538
1539 #. type: Plain text
1540 #: build/C/man3/flockfile.3:143
1541 msgid ""
1542 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1543 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1544 msgstr ""
1545 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1546 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1547
1548 #. type: Plain text
1549 #: build/C/man3/flockfile.3:145
1550 msgid "B<unlocked_stdio>(3)"
1551 msgstr "B<unlocked_stdio>(3)"
1552
1553 #. type: TH
1554 #: build/C/man3/fmemopen.3:10
1555 #, no-wrap
1556 msgid "FMEMOPEN"
1557 msgstr "FMEMOPEN"
1558
1559 #. type: TH
1560 #: build/C/man3/fmemopen.3:10
1561 #, no-wrap
1562 msgid "2012-04-28"
1563 msgstr "2012-04-28"
1564
1565 #. type: Plain text
1566 #: build/C/man3/fmemopen.3:13
1567 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1568 msgstr ""
1569 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1570 "する"
1571
1572 #. type: Plain text
1573 #: build/C/man3/fmemopen.3:18
1574 #, no-wrap
1575 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1576 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1577
1578 #. type: Plain text
1579 #: build/C/man3/fmemopen.3:20
1580 #, no-wrap
1581 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1582 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1583
1584 #. type: Plain text
1585 #: build/C/man3/fmemopen.3:24
1586 #, no-wrap
1587 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1588 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1589
1590 #. type: Plain text
1591 #: build/C/man3/fmemopen.3:34
1592 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1593 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1594
1595 #. type: Plain text
1596 #: build/C/man3/fmemopen.3:57
1597 msgid ""
1598 "The B<fmemopen>()  function opens a stream that permits the access specified "
1599 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1600 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1601 "long."
1602 msgstr ""
1603 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1604 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1605 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1606 "I<size> バイトの長さでなければならない。"
1607
1608 #. type: Plain text
1609 #: build/C/man3/fmemopen.3:77
1610 msgid ""
1611 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1612 "an append mode, then the initial file position is set to the location of the "
1613 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1614 "position is set to the start of the buffer.  Since glibc 2.9, the letter "
1615 "\\(aqb\\(aq may be specified as the second character in I<mode>.  This "
1616 "provides \"binary\" mode: writes don't implicitly add a terminating null "
1617 "byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the buffer (i."
1618 "e., the value specified by the I<size> argument), rather than the current "
1619 "string length."
1620 msgstr ""
1621 "引き数 I<mode> は B<fopen>(3) の場合と同じである。 I<mode> で追記モード\n"
1622 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の\n"
1623 "最初の NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。\n"
1624 "それ以外の場合は、ファイル位置の初期値はバッファの先頭になる。 \n"
1625 "glibc 2.9 以降では、文字 \\(aqb\\(aq を I<mode> の二番目の文字として指定\n"
1626 "することができる。 この文字は「バイナリ」モードを指定するものである。\n"
1627 "このモードでは、書き込み時に文字列終端のヌルバイトが黙って追加 される\n"
1628 "ことはない。また、 B<fseek>(3) B<SEEK_END> は、文字列の長さからの相対値\n"
1629 "ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1630
1631 #. type: Plain text
1632 #: build/C/man3/fmemopen.3:89
1633 msgid ""
1634 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1635 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1636 "there is space.  The caller should ensure that an extra byte is available in "
1637 "the buffer (and that I<size> counts that byte)  to allow for this."
1638 msgstr ""
1639 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1640 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1641 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1642 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1643
1644 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1645 #.  and
1646 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1647 #. type: Plain text
1648 #: build/C/man3/fmemopen.3:107
1649 msgid ""
1650 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1651 "(By default, such errors will be visible only when the I<stdio> buffer is "
1652 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1653 "detect errors at the time of an output operation.  Alternatively, the caller "
1654 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1655 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1656 msgstr ""
1657 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1658 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1659 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1660 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1661 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1662 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1663 "stdio に教える方法がある。)"
1664
1665 #. type: Plain text
1666 #: build/C/man3/fmemopen.3:115
1667 msgid ""
1668 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1669 "not cause read operations to return an end-of-file indication.  A read from "
1670 "the buffer will only indicate end-of-file when the file pointer advances "
1671 "I<size> bytes past the start of the buffer."
1672 msgstr ""
1673 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1674 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1675 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1676 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1677
1678 #. type: Plain text
1679 #: build/C/man3/fmemopen.3:130
1680 msgid ""
1681 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1682 "buffer I<size> bytes long.  This is useful for an application that wants to "
1683 "write data to a temporary buffer and then read it back again.  The buffer is "
1684 "automatically freed when the stream is closed.  Note that the caller has no "
1685 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1686 "see B<open_memstream>()  below)."
1687 msgstr ""
1688 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1689 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1690 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1691 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1692 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1693 "の B<open_memstream>()  も参照)。"
1694
1695 #. type: Plain text
1696 #: build/C/man3/fmemopen.3:141
1697 msgid ""
1698 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1699 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1700 "automatically grows as required.  After closing the stream, the caller "
1701 "should B<free>(3)  this buffer."
1702 msgstr ""
1703 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1704 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1705 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1706 "B<free>(3)  すべきである。"
1707
1708 #. type: Plain text
1709 #: build/C/man3/fmemopen.3:156
1710 msgid ""
1711 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1712 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1713 "respectively, a pointer to the buffer and the current size of the buffer.  "
1714 "These values remain valid only as long as the caller performs no further "
1715 "output on the stream.  If further output is performed, then the stream must "
1716 "again be flushed before trying to access these variables."
1717 msgstr ""
1718 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1719 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1720 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1721 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1722 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1723
1724 #. type: Plain text
1725 #: build/C/man3/fmemopen.3:162
1726 msgid ""
1727 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1728 "included in the size value stored at I<sizeloc>."
1729 msgstr ""
1730 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1731 "されるサイズには「含まれない」。"
1732
1733 #. type: Plain text
1734 #: build/C/man3/fmemopen.3:170
1735 msgid ""
1736 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1737 "(3).  Moving the file position past the end of the data already written "
1738 "fills the intervening space with zeros."
1739 msgstr ""
1740 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1741 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1742 "は 0 で埋められる。"
1743
1744 #. type: Plain text
1745 #: build/C/man3/fmemopen.3:176
1746 msgid ""
1747 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1748 "wide characters instead of bytes."
1749 msgstr ""
1750 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1751 "ド文字に対して操作を行う点が異なる。"
1752
1753 #. type: Plain text
1754 #: build/C/man3/fmemopen.3:188
1755 msgid ""
1756 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1757 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1758 "and I<errno> is set to indicate the error."
1759 msgstr ""
1760 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1761 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1762 "し、 I<errno> にエラーを示す値をセットする。"
1763
1764 #. type: SH
1765 #: build/C/man3/fmemopen.3:188 build/C/man3/fmtmsg.3:222
1766 #: build/C/man3/getline.3:134 build/C/man2/link.2:303 build/C/man2/open.2:988
1767 #: build/C/man2/pipe.2:150 build/C/man2/readlink.2:212
1768 #: build/C/man2/readv.2:209 build/C/man2/rename.2:326
1769 #: build/C/man2/symlink.2:218 build/C/man2/unlink.2:269
1770 #, no-wrap
1771 msgid "VERSIONS"
1772 msgstr "バージョン"
1773
1774 #. type: Plain text
1775 #: build/C/man3/fmemopen.3:195
1776 msgid ""
1777 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1778 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1779 msgstr ""
1780 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1781 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1782
1783 #. type: Plain text
1784 #: build/C/man3/fmemopen.3:199
1785 msgid ""
1786 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1787 "not widely available on other systems."
1788 msgstr ""
1789 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1790 "のシステムで広く利用可能である。"
1791
1792 #.  http://austingroupbugs.net/view.php?id=396
1793 #. type: Plain text
1794 #: build/C/man3/fmemopen.3:207
1795 msgid ""
1796 "POSIX.1-2008 specifies that \\(aqb\\(aq in I<mode> shall be ignored.  "
1797 "However, Technical Corrigendum 1 adjusts the standard to allow "
1798 "implementation-specific treatment for this case, thus permitting the glibc "
1799 "treatment of \\(aqb\\(aq."
1800 msgstr ""
1801 "POSIX.1-2008 では I<mode> の \\(aqb\\(aq は無視されるべきだと規定されて\n"
1802 "いる。一方、Technical Corrigendum (正誤表) 1 では、I<mode> の\n"
1803 "\\(aqb\\(aq が指定された場合の扱いは実装依存であることを許容するように\n"
1804 "標準規格が修正されており、glibc の \\(aqb\\(aq の扱いは許されている。"
1805
1806 #. type: Plain text
1807 #: build/C/man3/fmemopen.3:213
1808 msgid ""
1809 "There is no file descriptor associated with the file stream returned by "
1810 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1811 "returned stream)."
1812 msgstr ""
1813 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1814 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1815 "とになる)。"
1816
1817 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1818 #. type: Plain text
1819 #: build/C/man3/fmemopen.3:220
1820 msgid ""
1821 "In glibc before version 2.7, seeking past the end of a stream created by "
1822 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1823 "call fails, returning -1."
1824 msgstr ""
1825 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1826 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1827 "B<fseek>(3)  が失敗し -1 が返る。"
1828
1829 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=11216
1830 #. type: Plain text
1831 #: build/C/man3/fmemopen.3:231
1832 msgid ""
1833 "If I<size> is specified as zero, B<fmemopen>()  fails with the error "
1834 "B<EINVAL>.  It would be more consistent if this case successfully created a "
1835 "stream that then returned end of file on the first attempt at reading.  "
1836 "Furthermore, POSIX.1-2008 does not specify a failure for this case."
1837 msgstr ""
1838 "I<size> に 0 が指定された場合、 B<fmemopen>() はエラー B<EINVAL> で失敗\n"
1839 "する。この場合にはストリームの作成に成功して、最初の読み出しを行った際に\n"
1840 "EOF (end of file) が返される方が、ストリームの扱いの一貫性が増すだろう。\n"
1841 "また、 POSIX.1-2008 ではこの場合のエラーは規定されていない。"
1842
1843 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13152
1844 #. type: Plain text
1845 #: build/C/man3/fmemopen.3:239
1846 msgid ""
1847 "Specifying append mode (\"a\" or \"a+\") for B<fmemopen>()  sets the initial "
1848 "file position to the first null byte, but (if the file offset is reset to a "
1849 "location other than the end of the stream)  does not force subsequent writes "
1850 "to append at the end of the stream."
1851 msgstr ""
1852 "B<fmemopen>() に追記モード (\"a\" や \"a+\") を指定すると、\n"
1853 "ファイル位置の初期値は最初の NULL バイトに設定されるが、(ファイル\n"
1854 "オフセットをストリームの末尾以外の位置に再設定した場合)それ以降の\n"
1855 "書き込みではストリームの末尾への追記が行われる訳ではない。"
1856
1857 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13151
1858 #. type: Plain text
1859 #: build/C/man3/fmemopen.3:255
1860 msgid ""
1861 "If the I<mode> argument to B<fmemopen>()  specifies append (\"a\" or \"a+"
1862 "\"), and the I<size> argument does not cover a null byte in I<buf> then, "
1863 "according to POSIX.1-2008, the initial file position should be set to the "
1864 "next byte after the end of the buffer.  However, in this case the glibc "
1865 "B<fmemopen>()  sets the file position to -1."
1866 msgstr ""
1867 "B<fmemopen>() の I<mode> 引き数に追記モード (\"a\" や \"a+\") を指定し、\n"
1868 "I<size> 引き数で指定した範囲の I<buf> 内に NULL バイトがない場合、\n"
1869 "POSIX.1-2008 では、ファイル位置の初期値はバッファの末尾の直後の\n"
1870 "バイトに設定すべきとされている。しかし、glibc の B<fmemopen>() では\n"
1871 "この場合ファイル位置は -1 に設定される。"
1872
1873 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12836
1874 #. type: Plain text
1875 #: build/C/man3/fmemopen.3:268
1876 msgid ""
1877 "To specify binary mode for B<fmemopen>()  the \\(aqb\\(aq must be the "
1878 "I<second> character in I<mode>.  Thus, for example, \"wb+\" has the desired "
1879 "effect, but \"w+b\" does not.  This is inconsistent with the treatment of "
1880 "I<mode> by B<fopen>(3)."
1881 msgstr ""
1882 "B<fmemopen>() でバイナリモードを指定するには、\n"
1883 "\\(aqb\\(aq は I<mode> の I<2 文字目> でなければならない。\n"
1884 "例えば、 \"wb+\" は意図通りの効果になるが、 \"w+b\" はそうではない。\n"
1885 "これは B<fopen>(3) の I<mode> の扱いとは異なる。"
1886
1887 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=6544
1888 #. type: Plain text
1889 #: build/C/man3/fmemopen.3:276
1890 msgid ""
1891 "The glibc 2.9 addition of \"binary\" mode for B<fmemopen>()  silently "
1892 "changed the ABI: previously, B<fmemopen>()  ignored \\(aqb\\(aq in I<mode>."
1893 msgstr ""
1894 "glibc 2.9 での B<fmemopen>() の「バイナリ」モードの追加は、\n"
1895 "ABI (Application Binary Interface) が黙って変更された。\n"
1896 "それ以前の B<fmemopen>() では I<mode> 内の \\(aqb\\(aq は無視されていた。"
1897
1898 #. type: SH
1899 #: build/C/man3/fmemopen.3:276 build/C/man3/fmtmsg.3:256
1900 #: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:143
1901 #: build/C/man2/pipe.2:161 build/C/man3/printf.3:974
1902 #: build/C/man2/readlink.2:256 build/C/man2/readv.2:265
1903 #: build/C/man3/scanf.3:704
1904 #, no-wrap
1905 msgid "EXAMPLE"
1906 msgstr "例"
1907
1908 #. type: Plain text
1909 #: build/C/man3/fmemopen.3:286
1910 msgid ""
1911 "The program below uses B<fmemopen>()  to open an input buffer, and "
1912 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1913 "scans its input string (taken from the program's first command-line "
1914 "argument) reading integers, and writes the squares of these integers to the "
1915 "output buffer.  An example of the output produced by this program is the "
1916 "following:"
1917 msgstr ""
1918 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1919 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1920 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1921 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1922 "ムの実行例は以下のようになる。"
1923
1924 #. type: Plain text
1925 #: build/C/man3/fmemopen.3:291
1926 #, no-wrap
1927 msgid ""
1928 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1929 "size=11; ptr=1 529 1849\n"
1930 msgstr ""
1931 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1932 "size=11; ptr=1 529 1849\n"
1933
1934 #. type: SS
1935 #: build/C/man3/fmemopen.3:293 build/C/man3/fopencookie.3:271
1936 #: build/C/man2/pipe.2:177
1937 #, no-wrap
1938 msgid "Program source"
1939 msgstr "プログラムのソース"
1940
1941 #. type: Plain text
1942 #: build/C/man3/fmemopen.3:300
1943 #, no-wrap
1944 msgid ""
1945 "#define _GNU_SOURCE\n"
1946 "#include E<lt>string.hE<gt>\n"
1947 "#include E<lt>stdio.hE<gt>\n"
1948 "#include E<lt>stdlib.hE<gt>\n"
1949 msgstr ""
1950 "#define _GNU_SOURCE\n"
1951 "#include E<lt>string.hE<gt>\n"
1952 "#include E<lt>stdio.hE<gt>\n"
1953 "#include E<lt>stdlib.hE<gt>\n"
1954
1955 #. type: Plain text
1956 #: build/C/man3/fmemopen.3:303
1957 #, no-wrap
1958 msgid ""
1959 "#define handle_error(msg) \\e\n"
1960 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1961 msgstr ""
1962 "#define handle_error(msg) \\e\n"
1963 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1964
1965 #. type: Plain text
1966 #: build/C/man3/fmemopen.3:311
1967 #, no-wrap
1968 msgid ""
1969 "int\n"
1970 "main(int argc, char *argv[])\n"
1971 "{\n"
1972 "    FILE *out, *in;\n"
1973 "    int v, s;\n"
1974 "    size_t size;\n"
1975 "    char *ptr;\n"
1976 msgstr ""
1977 "int\n"
1978 "main(int argc, char *argv[])\n"
1979 "{\n"
1980 "    FILE *out, *in;\n"
1981 "    int v, s;\n"
1982 "    size_t size;\n"
1983 "    char *ptr;\n"
1984
1985 #. type: Plain text
1986 #: build/C/man3/fmemopen.3:316
1987 #, fuzzy, no-wrap
1988 #| msgid ""
1989 #| "    if (argc != 2) {\n"
1990 #| "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
1991 #| "        exit(EXIT_FAILURE);\n"
1992 #| "    }\n"
1993 msgid ""
1994 "    if (argc != 2) {\n"
1995 "        fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1996 "        exit(EXIT_FAILURE);\n"
1997 "    }\n"
1998 msgstr ""
1999 "    if (argc != 2) {\n"
2000 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
2001 "        exit(EXIT_FAILURE);\n"
2002 "    }\n"
2003
2004 #. type: Plain text
2005 #: build/C/man3/fmemopen.3:320
2006 #, no-wrap
2007 msgid ""
2008 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
2009 "    if (in == NULL)\n"
2010 "        handle_error(\"fmemopen\");\n"
2011 msgstr ""
2012 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
2013 "    if (in == NULL)\n"
2014 "        handle_error(\"fmemopen\");\n"
2015
2016 #. type: Plain text
2017 #: build/C/man3/fmemopen.3:324
2018 #, no-wrap
2019 msgid ""
2020 "    out = open_memstream(&ptr, &size);\n"
2021 "    if (out == NULL)\n"
2022 "        handle_error(\"open_memstream\");\n"
2023 msgstr ""
2024 "    out = open_memstream(&ptr, &size);\n"
2025 "    if (out == NULL)\n"
2026 "        handle_error(\"open_memstream\");\n"
2027
2028 #. type: Plain text
2029 #: build/C/man3/fmemopen.3:329
2030 #, no-wrap
2031 msgid ""
2032 "    for (;;) {\n"
2033 "        s = fscanf(in, \"%d\", &v);\n"
2034 "        if (s E<lt>= 0)\n"
2035 "            break;\n"
2036 msgstr ""
2037 "    for (;;) {\n"
2038 "        s = fscanf(in, \"%d\", &v);\n"
2039 "        if (s E<lt>= 0)\n"
2040 "            break;\n"
2041
2042 #. type: Plain text
2043 #: build/C/man3/fmemopen.3:340
2044 #, no-wrap
2045 msgid ""
2046 "        s = fprintf(out, \"%d \", v * v);\n"
2047 "        if (s == -1)\n"
2048 "            handle_error(\"fprintf\");\n"
2049 "    }\n"
2050 "    fclose(in);\n"
2051 "    fclose(out);\n"
2052 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
2053 "    free(ptr);\n"
2054 "    exit(EXIT_SUCCESS);\n"
2055 "}\n"
2056 msgstr ""
2057 "        s = fprintf(out, \"%d \", v * v);\n"
2058 "        if (s == -1)\n"
2059 "            handle_error(\"fprintf\");\n"
2060 "    }\n"
2061 "    fclose(in);\n"
2062 "    fclose(out);\n"
2063 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
2064 "    free(ptr);\n"
2065 "    exit(EXIT_SUCCESS);\n"
2066 "}\n"
2067
2068 #. type: Plain text
2069 #: build/C/man3/fmemopen.3:344
2070 msgid "B<fopen>(3), B<fopencookie>(3)"
2071 msgstr "B<fopen>(3), B<fopencookie>(3)"
2072
2073 #. type: TH
2074 #: build/C/man3/fmtmsg.3:13
2075 #, no-wrap
2076 msgid "FMTMSG"
2077 msgstr "FMTMSG"
2078
2079 #. type: Plain text
2080 #: build/C/man3/fmtmsg.3:16
2081 msgid "fmtmsg - print formatted error messages"
2082 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
2083
2084 #. type: Plain text
2085 #: build/C/man3/fmtmsg.3:19
2086 #, no-wrap
2087 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
2088 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
2089
2090 #. type: Plain text
2091 #: build/C/man3/fmtmsg.3:21
2092 #, no-wrap
2093 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
2094 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
2095
2096 #. type: Plain text
2097 #: build/C/man3/fmtmsg.3:23
2098 #, no-wrap
2099 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
2100 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
2101
2102 #. type: Plain text
2103 #: build/C/man3/fmtmsg.3:25
2104 #, no-wrap
2105 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
2106 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
2107
2108 #. type: Plain text
2109 #: build/C/man3/fmtmsg.3:36
2110 msgid ""
2111 "This function displays a message described by its arguments on the device"
2112 "(s)  specified in the I<classification> argument.  For messages written to "
2113 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
2114 msgstr ""
2115 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
2116 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
2117 "は、 B<MSGVERB> 環境変数に依存する。"
2118
2119 #. type: Plain text
2120 #: build/C/man3/fmtmsg.3:43
2121 msgid ""
2122 "The I<label> argument identifies the source of the message.  The string must "
2123 "consist of two colon separated parts where the first part has not more than "
2124 "10 and the second part not more than 14 characters."
2125 msgstr ""
2126 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
2127 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
2128 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
2129
2130 #. type: Plain text
2131 #: build/C/man3/fmtmsg.3:47
2132 msgid "The I<text> argument describes the condition of the error."
2133 msgstr "I<text> 引き数にはエラー条件を記述する。"
2134
2135 #. type: Plain text
2136 #: build/C/man3/fmtmsg.3:52
2137 msgid ""
2138 "The I<action> argument describes possible steps to recover from the error.  "
2139 "If it is printed, it is prefixed by \"TO FIX: \"."
2140 msgstr ""
2141 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
2142 "れが表示される場合、\"TO FIX: \" が前に付く。"
2143
2144 #. type: Plain text
2145 #: build/C/man3/fmtmsg.3:60
2146 msgid ""
2147 "The I<tag> argument is a reference to the online documentation where more "
2148 "information can be found.  It should contain the I<label> value and a unique "
2149 "identification number."
2150 msgstr ""
2151 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
2152 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
2153
2154 #. type: SS
2155 #: build/C/man3/fmtmsg.3:60
2156 #, no-wrap
2157 msgid "Dummy arguments"
2158 msgstr "ダミー引き数"
2159
2160 #. type: Plain text
2161 #: build/C/man3/fmtmsg.3:79
2162 msgid ""
2163 "Each of the arguments can have a dummy value.  The dummy classification "
2164 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
2165 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
2166 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
2167 "synonyms for I<((char\\ *)\\ 0)>, the empty string, and B<MM_NULLSEV> is a "
2168 "synonym for B<NO_SEV>."
2169 msgstr ""
2170 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
2171 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
2172 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
2173 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
2174 "((char\\ *)\\ 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名"
2175 "である。"
2176
2177 #. type: SS
2178 #: build/C/man3/fmtmsg.3:79
2179 #, no-wrap
2180 msgid "The classification argument"
2181 msgstr "classification 引き数"
2182
2183 #. type: Plain text
2184 #: build/C/man3/fmtmsg.3:83
2185 msgid ""
2186 "The I<classification> argument is the sum of values describing 4 types of "
2187 "information."
2188 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
2189
2190 #. type: Plain text
2191 #: build/C/man3/fmtmsg.3:86
2192 msgid "The first value defines the output channel."
2193 msgstr "最初の値は出力チャンネルを定義する。"
2194
2195 #. type: TP
2196 #: build/C/man3/fmtmsg.3:86
2197 #, no-wrap
2198 msgid "B<MM_PRINT>"
2199 msgstr "B<MM_PRINT>"
2200
2201 #. type: Plain text
2202 #: build/C/man3/fmtmsg.3:90
2203 msgid "Output to I<stderr>."
2204 msgstr "I<stderr> に出力する。"
2205
2206 #. type: TP
2207 #: build/C/man3/fmtmsg.3:90
2208 #, no-wrap
2209 msgid "B<MM_CONSOLE>"
2210 msgstr "B<MM_CONSOLE>"
2211
2212 #. type: Plain text
2213 #: build/C/man3/fmtmsg.3:93
2214 msgid "Output to the system console."
2215 msgstr "システムコンソールに出力する。"
2216
2217 #. type: TP
2218 #: build/C/man3/fmtmsg.3:93
2219 #, no-wrap
2220 msgid "B<MM_PRINT | MM_CONSOLE>"
2221 msgstr "B<MM_PRINT | MM_CONSOLE>"
2222
2223 #. type: Plain text
2224 #: build/C/man3/fmtmsg.3:96
2225 msgid "Output to both."
2226 msgstr "両方に出力する。"
2227
2228 #. type: Plain text
2229 #: build/C/man3/fmtmsg.3:98
2230 msgid "The second value is the source of the error:"
2231 msgstr "2 番目の値はエラーの発生源である:"
2232
2233 #. type: TP
2234 #: build/C/man3/fmtmsg.3:98
2235 #, no-wrap
2236 msgid "B<MM_HARD>"
2237 msgstr "B<MM_HARD>"
2238
2239 #. type: Plain text
2240 #: build/C/man3/fmtmsg.3:101
2241 msgid "A hardware error occurred."
2242 msgstr "ハードウェアエラーが起こった。"
2243
2244 #. type: TP
2245 #: build/C/man3/fmtmsg.3:101
2246 #, no-wrap
2247 msgid "B<MM_FIRM>"
2248 msgstr "B<MM_FIRM>"
2249
2250 #. type: Plain text
2251 #: build/C/man3/fmtmsg.3:104
2252 msgid "A firmware error occurred."
2253 msgstr "ファームウェアエラーが起こった。"
2254
2255 #. type: TP
2256 #: build/C/man3/fmtmsg.3:104
2257 #, no-wrap
2258 msgid "B<MM_SOFT>"
2259 msgstr "B<MM_SOFT>"
2260
2261 #. type: Plain text
2262 #: build/C/man3/fmtmsg.3:107
2263 msgid "A software error occurred."
2264 msgstr "ソフトウェアエラーが起こった。"
2265
2266 #. type: Plain text
2267 #: build/C/man3/fmtmsg.3:109
2268 msgid "The third value encodes the detector of the problem:"
2269 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
2270
2271 #. type: TP
2272 #: build/C/man3/fmtmsg.3:109
2273 #, no-wrap
2274 msgid "B<MM_APPL>"
2275 msgstr "B<MM_APPL>"
2276
2277 #. type: Plain text
2278 #: build/C/man3/fmtmsg.3:112
2279 msgid "It is detected by an application."
2280 msgstr "アプリケーションによって検知された。"
2281
2282 #. type: TP
2283 #: build/C/man3/fmtmsg.3:112
2284 #, no-wrap
2285 msgid "B<MM_UTIL>"
2286 msgstr "B<MM_UTIL>"
2287
2288 #. type: Plain text
2289 #: build/C/man3/fmtmsg.3:115
2290 msgid "It is detected by a utility."
2291 msgstr "ユーティリティによって検知された。"
2292
2293 #. type: TP
2294 #: build/C/man3/fmtmsg.3:115
2295 #, no-wrap
2296 msgid "B<MM_OPSYS>"
2297 msgstr "B<MM_OPSYS>"
2298
2299 #. type: Plain text
2300 #: build/C/man3/fmtmsg.3:118
2301 msgid "It is detected by the operating system."
2302 msgstr "オペレーティングシステムによって検知された。"
2303
2304 #. type: Plain text
2305 #: build/C/man3/fmtmsg.3:120
2306 msgid "The fourth value shows the severity of the incident:"
2307 msgstr "4 番目の値は問題の重大度を表す:"
2308
2309 #. type: TP
2310 #: build/C/man3/fmtmsg.3:120
2311 #, no-wrap
2312 msgid "B<MM_RECOVER>"
2313 msgstr "B<MM_RECOVER>"
2314
2315 #. type: Plain text
2316 #: build/C/man3/fmtmsg.3:123
2317 msgid "It is a recoverable error."
2318 msgstr "回復可能なエラーである。"
2319
2320 #. type: TP
2321 #: build/C/man3/fmtmsg.3:123
2322 #, no-wrap
2323 msgid "B<MM_NRECOV>"
2324 msgstr "B<MM_NRECOV>"
2325
2326 #. type: Plain text
2327 #: build/C/man3/fmtmsg.3:126
2328 msgid "It is a nonrecoverable error."
2329 msgstr "回復不可能なエラーである。"
2330
2331 #. type: SS
2332 #: build/C/man3/fmtmsg.3:126
2333 #, no-wrap
2334 msgid "The severity argument"
2335 msgstr "severity 引き数"
2336
2337 #. type: Plain text
2338 #: build/C/man3/fmtmsg.3:130
2339 msgid "The I<severity> argument can take one of the following values:"
2340 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
2341
2342 #. type: TP
2343 #: build/C/man3/fmtmsg.3:130
2344 #, no-wrap
2345 msgid "B<MM_NOSEV>"
2346 msgstr "B<MM_NOSEV>"
2347
2348 #. type: Plain text
2349 #: build/C/man3/fmtmsg.3:133
2350 msgid "No severity is printed."
2351 msgstr "重大度は表示されない。"
2352
2353 #. type: TP
2354 #: build/C/man3/fmtmsg.3:133
2355 #, no-wrap
2356 msgid "B<MM_HALT>"
2357 msgstr "B<MM_HALT>"
2358
2359 #. type: Plain text
2360 #: build/C/man3/fmtmsg.3:136
2361 msgid "This value is printed as HALT."
2362 msgstr "この値は HALT として表示される。"
2363
2364 #. type: TP
2365 #: build/C/man3/fmtmsg.3:136
2366 #, no-wrap
2367 msgid "B<MM_ERROR>"
2368 msgstr "B<MM_ERROR>"
2369
2370 #. type: Plain text
2371 #: build/C/man3/fmtmsg.3:139
2372 msgid "This value is printed as ERROR."
2373 msgstr "この値は ERROR として表示される。"
2374
2375 #. type: TP
2376 #: build/C/man3/fmtmsg.3:139
2377 #, no-wrap
2378 msgid "B<MM_WARNING>"
2379 msgstr "B<MM_WARNING>"
2380
2381 #. type: Plain text
2382 #: build/C/man3/fmtmsg.3:142
2383 msgid "This value is printed as WARNING."
2384 msgstr "この値は WARNING として表示される。"
2385
2386 #. type: TP
2387 #: build/C/man3/fmtmsg.3:142
2388 #, no-wrap
2389 msgid "B<MM_INFO>"
2390 msgstr "B<MM_INFO>"
2391
2392 #. type: Plain text
2393 #: build/C/man3/fmtmsg.3:145
2394 msgid "This value is printed as INFO."
2395 msgstr "この値は INFO として表示される。"
2396
2397 #. type: Plain text
2398 #: build/C/man3/fmtmsg.3:152
2399 msgid ""
2400 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2401 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2402 "print."
2403 msgstr ""
2404 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2405 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2406
2407 #. type: Plain text
2408 #: build/C/man3/fmtmsg.3:154
2409 msgid "The function can return 4 values:"
2410 msgstr "関数は 4 つの値を返す:"
2411
2412 #. type: TP
2413 #: build/C/man3/fmtmsg.3:154
2414 #, no-wrap
2415 msgid "B<MM_OK>"
2416 msgstr "B<MM_OK>"
2417
2418 #. type: Plain text
2419 #: build/C/man3/fmtmsg.3:157
2420 msgid "Everything went smooth."
2421 msgstr "全てがうまくいった。"
2422
2423 #. type: TP
2424 #: build/C/man3/fmtmsg.3:157
2425 #, no-wrap
2426 msgid "B<MM_NOTOK>"
2427 msgstr "B<MM_NOTOK>"
2428
2429 #. type: Plain text
2430 #: build/C/man3/fmtmsg.3:160
2431 msgid "Complete failure."
2432 msgstr "完全に失敗した。"
2433
2434 #. type: TP
2435 #: build/C/man3/fmtmsg.3:160
2436 #, no-wrap
2437 msgid "B<MM_NOMSG>"
2438 msgstr "B<MM_NOMSG>"
2439
2440 #. type: Plain text
2441 #: build/C/man3/fmtmsg.3:164
2442 msgid "Error writing to I<stderr>."
2443 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2444
2445 #. type: TP
2446 #: build/C/man3/fmtmsg.3:164
2447 #, no-wrap
2448 msgid "B<MM_NOCON>"
2449 msgstr "B<MM_NOCON>"
2450
2451 #. type: Plain text
2452 #: build/C/man3/fmtmsg.3:167
2453 msgid "Error writing to the console."
2454 msgstr "コンソールに書き込むときにエラーが起こった。"
2455
2456 #. type: SH
2457 #: build/C/man3/fmtmsg.3:167
2458 #, no-wrap
2459 msgid "ENVIRONMENT"
2460 msgstr "環境変数"
2461
2462 #. type: Plain text
2463 #: build/C/man3/fmtmsg.3:178
2464 msgid ""
2465 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2466 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2467 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2468 "separated list of valid keywords, then only the parts of the message "
2469 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2470 "\"severity\", \"text\", \"action\" and \"tag\"."
2471 msgstr ""
2472 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2473 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2474 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2475 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2476 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2477
2478 #. type: Plain text
2479 #: build/C/man3/fmtmsg.3:190
2480 msgid ""
2481 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2482 "levels.  By default, only the five severity levels described above are "
2483 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2484 "If the user puts B<SEV_LEVEL> with a format like"
2485 msgstr ""
2486 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2487 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2488 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2489 "B<SEV_LEVEL> を"
2490
2491 #. type: Plain text
2492 #: build/C/man3/fmtmsg.3:193
2493 msgid "SEV_LEVEL=[description[:description[:...]]]"
2494 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2495
2496 #. type: Plain text
2497 #: build/C/man3/fmtmsg.3:198
2498 msgid ""
2499 "in the environment of the process before the first call to B<fmtmsg>(), "
2500 "where each description is of the form"
2501 msgstr ""
2502 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2503 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2504 "指定された printstring を表示する。 各 description は"
2505
2506 #. type: Plain text
2507 #: build/C/man3/fmtmsg.3:201
2508 msgid "severity-keyword,level,printstring"
2509 msgstr "severity-keyword,level,printstring"
2510
2511 #. type: Plain text
2512 #: build/C/man3/fmtmsg.3:208
2513 msgid ""
2514 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2515 "addition to the standard levels 0-4), and use the indicated printstring when "
2516 "such a level occurs."
2517 msgstr "という形式である。"
2518
2519 #. type: Plain text
2520 #: build/C/man3/fmtmsg.3:222
2521 msgid ""
2522 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2523 "present.  The level part is a string representation of a number.  The "
2524 "numeric value must be a number greater than 4.  This value must be used in "
2525 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2526 "possible to overwrite any of the predefined classes.  The printstring is the "
2527 "string printed when a message of this class is processed by B<fmtmsg>()."
2528 msgstr ""
2529 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2530 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2531 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2532 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2533 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2534 "た場合に表示される文字列である。"
2535
2536 #. type: Plain text
2537 #: build/C/man3/fmtmsg.3:225
2538 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2539 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2540
2541 #. type: Plain text
2542 #: build/C/man3/fmtmsg.3:231
2543 msgid ""
2544 "Before glibc 2.16, the B<fmtmsg>()  function uses a static variable that is "
2545 "not protected, so it is not thread-safe."
2546 msgstr ""
2547 "glibc 2.16 より前のバージョンでは、 B<fmtmsg>() 関数は、 保護されていない静的"
2548 "な変数を使うため、 スレッドセーフではない。"
2549
2550 #.  Modified in commit 7724defcf8873116fe4efab256596861eef21a94
2551 #. type: Plain text
2552 #: build/C/man3/fmtmsg.3:237
2553 msgid ""
2554 "Since glibc 2.16, the B<fmtmsg>()  function uses a lock to protect the "
2555 "static variable, so it is thread-safe."
2556 msgstr ""
2557 "glibc 2.16 以降では、 B<fmtmsg>() 関数はロックを使って静的な変数を保護してお"
2558 "り、 スレッドセーフである。"
2559
2560 #. type: Plain text
2561 #: build/C/man3/fmtmsg.3:252
2562 msgid ""
2563 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2564 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2565 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2566 msgstr ""
2567 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2568 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2569 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2570
2571 #. type: Plain text
2572 #: build/C/man3/fmtmsg.3:256
2573 msgid ""
2574 "System V and UnixWare man pages tell us that these functions have been "
2575 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2576 "vlfmt()\", and will be removed later."
2577 msgstr ""
2578 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2579 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2580 "は削除される予定である」と書かれている。"
2581
2582 #. type: Plain text
2583 #: build/C/man3/fmtmsg.3:261
2584 #, no-wrap
2585 msgid ""
2586 "#include E<lt>stdio.hE<gt>\n"
2587 "#include E<lt>stdlib.hE<gt>\n"
2588 "#include E<lt>fmtmsg.hE<gt>\n"
2589 msgstr ""
2590 "#include E<lt>stdio.hE<gt>\n"
2591 "#include E<lt>stdlib.hE<gt>\n"
2592 "#include E<lt>fmtmsg.hE<gt>\n"
2593
2594 #. type: Plain text
2595 #: build/C/man3/fmtmsg.3:267
2596 #, no-wrap
2597 msgid ""
2598 "int\n"
2599 "main(void)\n"
2600 "{\n"
2601 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2602 "    int err;\n"
2603 msgstr ""
2604 "int\n"
2605 "main(void)\n"
2606 "{\n"
2607 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2608 "    int err;\n"
2609
2610 #. type: Plain text
2611 #: build/C/man3/fmtmsg.3:288
2612 #, no-wrap
2613 msgid ""
2614 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2615 "                \"unknown mount option\", \"See mount(8).\",\n"
2616 "                \"util-linux:mount:017\");\n"
2617 "    switch (err) {\n"
2618 "    case MM_OK:\n"
2619 "        break;\n"
2620 "    case MM_NOTOK:\n"
2621 "        printf(\"Nothing printed\\en\");\n"
2622 "        break;\n"
2623 "    case MM_NOMSG:\n"
2624 "        printf(\"Nothing printed to stderr\\en\");\n"
2625 "        break;\n"
2626 "    case MM_NOCON:\n"
2627 "        printf(\"No console output\\en\");\n"
2628 "        break;\n"
2629 "    default:\n"
2630 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2631 "    }\n"
2632 "    exit(EXIT_SUCCESS);\n"
2633 "}\n"
2634 msgstr ""
2635 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2636 "                \"unknown mount option\", \"See mount(8).\",\n"
2637 "                \"util-linux:mount:017\");\n"
2638 "    switch (err) {\n"
2639 "    case MM_OK:\n"
2640 "      break;\n"
2641 "    case MM_NOTOK:\n"
2642 "        printf(\"Nothing printed\\en\");\n"
2643 "        break;\n"
2644 "    case MM_NOMSG:\n"
2645 "        printf(\"Nothing printed to stderr\\en\");\n"
2646 "        break;\n"
2647 "    case MM_NOCON:\n"
2648 "        printf(\"No console output\\en\");\n"
2649 "        break;\n"
2650 "    default:\n"
2651 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2652 "    }\n"
2653 "    exit(EXIT_SUCCESS);\n"
2654 "}\n"
2655
2656 #. type: Plain text
2657 #: build/C/man3/fmtmsg.3:291
2658 msgid "The output should be:"
2659 msgstr "出力は"
2660
2661 #. type: Plain text
2662 #: build/C/man3/fmtmsg.3:295
2663 #, no-wrap
2664 msgid ""
2665 "    util-linux:mount: ERROR: unknown mount option\n"
2666 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2667 msgstr ""
2668 "    util-linux:mount: ERROR: unknown mount option\n"
2669 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2670
2671 #. type: Plain text
2672 #: build/C/man3/fmtmsg.3:298
2673 msgid "and after"
2674 msgstr "のようになり、"
2675
2676 #. type: Plain text
2677 #: build/C/man3/fmtmsg.3:301
2678 #, no-wrap
2679 msgid "    MSGVERB=text:action; export MSGVERB\n"
2680 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2681
2682 #. type: Plain text
2683 #: build/C/man3/fmtmsg.3:304
2684 msgid "the output becomes:"
2685 msgstr "を実行すると、次のようになる。"
2686
2687 #. type: Plain text
2688 #: build/C/man3/fmtmsg.3:308
2689 #, no-wrap
2690 msgid ""
2691 "    unknown mount option\n"
2692 "    TO FIX: See mount(8).\n"
2693 msgstr ""
2694 "    unknown mount option\n"
2695 "    TO FIX: See mount(8).\n"
2696
2697 #. type: Plain text
2698 #: build/C/man3/fmtmsg.3:312
2699 msgid "B<addseverity>(3), B<perror>(3)"
2700 msgstr "B<addseverity>(3), B<perror>(3)"
2701
2702 #. type: TH
2703 #: build/C/man3/fopen.3:44
2704 #, no-wrap
2705 msgid "FOPEN"
2706 msgstr "FOPEN"
2707
2708 #. type: TH
2709 #: build/C/man3/fopen.3:44
2710 #, no-wrap
2711 msgid "2012-04-22"
2712 msgstr "2012-04-22"
2713
2714 #. type: Plain text
2715 #: build/C/man3/fopen.3:47
2716 msgid "fopen, fdopen, freopen - stream open functions"
2717 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2718
2719 #. type: Plain text
2720 #: build/C/man3/fopen.3:52
2721 #, no-wrap
2722 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2723 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2724
2725 #. type: Plain text
2726 #: build/C/man3/fopen.3:54
2727 #, no-wrap
2728 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2729 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2730
2731 #. type: Plain text
2732 #: build/C/man3/fopen.3:56
2733 #, no-wrap
2734 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2735 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2736
2737 #. type: Plain text
2738 #: build/C/man3/fopen.3:65
2739 msgid ""
2740 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2741 msgstr ""
2742 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2743
2744 #. type: Plain text
2745 #: build/C/man3/fopen.3:71
2746 msgid ""
2747 "The B<fopen>()  function opens the file whose name is the string pointed to "
2748 "by I<path> and associates a stream with it."
2749 msgstr ""
2750 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2751 "びつける。"
2752
2753 #. type: Plain text
2754 #: build/C/man3/fopen.3:76
2755 msgid ""
2756 "The argument I<mode> points to a string beginning with one of the following "
2757 "sequences (possibly followed by additional characters, as described below):"
2758 msgstr ""
2759 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタであ\n"
2760 "る (以下の述べる、追加の文字が後に続くこともある):"
2761
2762 #. type: TP
2763 #: build/C/man3/fopen.3:76
2764 #, no-wrap
2765 msgid "B<r>"
2766 msgstr "B<r>"
2767
2768 #. type: Plain text
2769 #: build/C/man3/fopen.3:80
2770 msgid ""
2771 "Open text file for reading.  The stream is positioned at the beginning of "
2772 "the file."
2773 msgstr ""
2774 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2775 "る。"
2776
2777 #. type: TP
2778 #: build/C/man3/fopen.3:80
2779 #, no-wrap
2780 msgid "B<r+>"
2781 msgstr "B<r+>"
2782
2783 #. type: Plain text
2784 #: build/C/man3/fopen.3:84
2785 msgid ""
2786 "Open for reading and writing.  The stream is positioned at the beginning of "
2787 "the file."
2788 msgstr ""
2789 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2790 "る。"
2791
2792 #. type: TP
2793 #: build/C/man3/fopen.3:84
2794 #, no-wrap
2795 msgid "B<w>"
2796 msgstr "B<w>"
2797
2798 #. type: Plain text
2799 #: build/C/man3/fopen.3:88
2800 msgid ""
2801 "Truncate file to zero length or create text file for writing.  The stream is "
2802 "positioned at the beginning of the file."
2803 msgstr ""
2804 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2805 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2806 "頭に位置される。"
2807
2808 #. type: TP
2809 #: build/C/man3/fopen.3:88
2810 #, no-wrap
2811 msgid "B<w+>"
2812 msgstr "B<w+>"
2813
2814 #. type: Plain text
2815 #: build/C/man3/fopen.3:94
2816 msgid ""
2817 "Open for reading and writing.  The file is created if it does not exist, "
2818 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2819 "file."
2820 msgstr ""
2821 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2822 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2823 "の先頭に位置される。"
2824
2825 #. type: TP
2826 #: build/C/man3/fopen.3:94 build/C/man3/scanf.3:447
2827 #, no-wrap
2828 msgid "B<a>"
2829 msgstr "B<a>"
2830
2831 #. type: Plain text
2832 #: build/C/man3/fopen.3:99
2833 msgid ""
2834 "Open for appending (writing at end of file).  The file is created if it does "
2835 "not exist.  The stream is positioned at the end of the file."
2836 msgstr ""
2837 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2838 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2839
2840 #. type: TP
2841 #: build/C/man3/fopen.3:99
2842 #, no-wrap
2843 msgid "B<a+>"
2844 msgstr "B<a+>"
2845
2846 #. type: Plain text
2847 #: build/C/man3/fopen.3:105
2848 msgid ""
2849 "Open for reading and appending (writing at end of file).  The file is "
2850 "created if it does not exist.  The initial file position for reading is at "
2851 "the beginning of the file, but output is always appended to the end of the "
2852 "file."
2853 msgstr ""
2854 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2855 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2856 "あるが、 書き込みは常にファイルの最後に追加される。"
2857
2858 #. type: Plain text
2859 #: build/C/man3/fopen.3:118
2860 msgid ""
2861 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2862 "character or as a character between the characters in any of the two-"
2863 "character strings described above.  This is strictly for compatibility with "
2864 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2865 "systems, including Linux.  (Other systems may treat text files and binary "
2866 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2867 "O to a binary file and expect that your program may be ported to non-UNIX "
2868 "environments.)"
2869 msgstr ""
2870 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2871 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2872 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2873 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2874 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2875 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2876 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2877 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2878
2879 #. type: Plain text
2880 #: build/C/man3/fopen.3:121
2881 msgid "See NOTES below for details of glibc extensions for I<mode>."
2882 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2883
2884 #. type: Plain text
2885 #: build/C/man3/fopen.3:126
2886 msgid ""
2887 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2888 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2889 "umask value (see B<umask>(2))."
2890 msgstr ""
2891 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2892 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2893 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2894
2895 #. type: Plain text
2896 #: build/C/man3/fopen.3:141
2897 msgid ""
2898 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2899 "that ANSI C requires that a file positioning function intervene between "
2900 "output and input, unless an input operation encounters end-of-file.  (If "
2901 "this condition is not met, then a read is allowed to return the result of "
2902 "writes other than the most recent.)  Therefore it is good practice (and "
2903 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2904 "(3)  operation between write and read operations on such a stream.  This "
2905 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2906 "for its synchronizing side effect."
2907 msgstr ""
2908 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2909 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2910 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2911 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2912 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2913 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2914 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2915 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2916 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2917 "い)。"
2918
2919 #. type: Plain text
2920 #: build/C/man3/fopen.3:146
2921 msgid ""
2922 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2923 "causes all subsequent write operations to this stream to occur at end-of-"
2924 "file, as if preceded the call:"
2925 msgstr ""
2926 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、\n"
2927 "このストリームに対する書き込み操作は全て (先に以下の呼び出しを行った\n"
2928 "かのように) ファイルの末尾で行われる。"
2929
2930 #. type: Plain text
2931 #: build/C/man3/fopen.3:149
2932 #, no-wrap
2933 msgid "    fseek(stream, 0, SEEK_END);\n"
2934 msgstr "    fseek(stream, 0, SEEK_END);\n"
2935
2936 #. type: Plain text
2937 #: build/C/man3/fopen.3:171
2938 msgid ""
2939 "The B<fdopen>()  function associates a stream with the existing file "
2940 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2941 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2942 "file descriptor.  The file position indicator of the new stream is set to "
2943 "that belonging to I<fd>, and the error and end-of-file indicators are "
2944 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2945 "file descriptor is not dup'ed, and will be closed when the stream created by "
2946 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2947 "memory object is undefined."
2948 msgstr ""
2949 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2950 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2951 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2952 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2953 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2954 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2955 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2956 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2957
2958 #. type: Plain text
2959 #: build/C/man3/fopen.3:189
2960 msgid ""
2961 "The B<freopen>()  function opens the file whose name is the string pointed "
2962 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2963 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2964 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2965 "function is to change the file associated with a standard text stream "
2966 "(I<stderr>, I<stdin>, or I<stdout>)."
2967 msgstr ""
2968 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2969 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2970 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2971 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2972 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2973
2974 #. type: Plain text
2975 #: build/C/man3/fopen.3:201
2976 msgid ""
2977 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2978 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2979 "indicate the error."
2980 msgstr ""
2981 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2982 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2983
2984 #. type: TP
2985 #: build/C/man3/fopen.3:202 build/C/man3/fseek.3:142
2986 #: build/C/man3/getline.3:125 build/C/man2/link.2:271 build/C/man2/llseek.2:77
2987 #: build/C/man2/lseek.2:192 build/C/man2/open.2:805 build/C/man2/open.2:813
2988 #: build/C/man2/open.2:818 build/C/man2/pipe.2:139 build/C/man2/read.2:126
2989 #: build/C/man2/read.2:137 build/C/man2/readlink.2:169
2990 #: build/C/man2/readlink.2:178 build/C/man2/readv.2:200
2991 #: build/C/man2/rename.2:214 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:565
2992 #: build/C/man2/unlink.2:252 build/C/man2/write.2:154
2993 #, no-wrap
2994 msgid "B<EINVAL>"
2995 msgstr "B<EINVAL>"
2996
2997 #. type: Plain text
2998 #: build/C/man3/fopen.3:212
2999 msgid ""
3000 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
3001 "invalid."
3002 msgstr ""
3003 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
3004
3005 #. type: Plain text
3006 #: build/C/man3/fopen.3:222
3007 msgid ""
3008 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
3009 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
3010 msgstr ""
3011 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
3012 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
3013 "する。"
3014
3015 #. type: Plain text
3016 #: build/C/man3/fopen.3:229
3017 msgid ""
3018 "The B<fopen>()  function may also fail and set I<errno> for any of the "
3019 "errors specified for the routine B<open>(2)."
3020 msgstr ""
3021 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
3022 "があり、 その時は対応する値に I<errno> をセットする。"
3023
3024 #. type: Plain text
3025 #: build/C/man3/fopen.3:236
3026 msgid ""
3027 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
3028 "errors specified for the routine B<fcntl>(2)."
3029 msgstr ""
3030 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
3031 "とがあり、 その時は対応する値に I<errno> をセットする。"
3032
3033 #. type: Plain text
3034 #: build/C/man3/fopen.3:246
3035 msgid ""
3036 "The B<freopen>()  function may also fail and set I<errno> for any of the "
3037 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
3038 msgstr ""
3039 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
3040 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
3041 "トする。"
3042
3043 #. type: Plain text
3044 #: build/C/man3/fopen.3:255
3045 msgid ""
3046 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
3047 "()  function conforms to POSIX.1-1990."
3048 msgstr ""
3049 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
3050 "は POSIX.1-1990 に準拠している。"
3051
3052 #. type: SS
3053 #: build/C/man3/fopen.3:256
3054 #, no-wrap
3055 msgid "Glibc notes"
3056 msgstr "glibc での注意"
3057
3058 #. type: Plain text
3059 #: build/C/man3/fopen.3:259
3060 msgid ""
3061 "The GNU C library allows the following extensions for the string specified "
3062 "in I<mode>:"
3063 msgstr ""
3064 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
3065 "いる:"
3066
3067 #. type: TP
3068 #: build/C/man3/fopen.3:259
3069 #, no-wrap
3070 msgid "B<c> (since glibc 2.3.3)"
3071 msgstr "B<c> (glibc 2.3.3 以降)"
3072
3073 #. type: Plain text
3074 #: build/C/man3/fopen.3:266
3075 msgid ""
3076 "Do not make the open operation, or subsequent read and write operations, "
3077 "thread cancellation points.  This flag is ignored for B<fdopen>()."
3078 msgstr ""
3079 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント\n"
3080 "(cancellation points) を作成しない。\n"
3081 "このフラグは B<fdopen>() では無視される。"
3082
3083 #. type: TP
3084 #: build/C/man3/fopen.3:266
3085 #, no-wrap
3086 msgid "B<e> (since glibc 2.7)"
3087 msgstr "B<e> (glibc 2.7 以降)"
3088
3089 #. type: Plain text
3090 #: build/C/man3/fopen.3:276
3091 msgid ""
3092 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
3093 "information.  This flag is ignored for B<fdopen>()."
3094 msgstr ""
3095 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。詳細は\n"
3096 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
3097
3098 #. type: TP
3099 #: build/C/man3/fopen.3:276
3100 #, no-wrap
3101 msgid "B<m> (since glibc 2.3)"
3102 msgstr "B<m> (glibc 2.3 以降)"
3103
3104 #.  As at glibc 2.4:
3105 #. type: Plain text
3106 #: build/C/man3/fopen.3:288
3107 msgid ""
3108 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
3109 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is attempted only "
3110 "for a file opened for reading."
3111 msgstr ""
3112 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
3113 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
3114 "オープンするファイルについてだけである。"
3115
3116 #. type: TP
3117 #: build/C/man3/fopen.3:288 build/C/man3/scanf.3:421
3118 #, no-wrap
3119 msgid "B<x>"
3120 msgstr "B<x>"
3121
3122 #.  Since glibc 2.0?
3123 #.  FIXME C11 specifies this flag
3124 #. type: Plain text
3125 #: build/C/man3/fopen.3:305
3126 msgid ""
3127 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
3128 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
3129 "This flag is ignored for B<fdopen>()."
3130 msgstr ""
3131 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
3132 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
3133 "セットされる。 このフラグは B<fdopen>()  では無視される。"
3134
3135 #. type: Plain text
3136 #: build/C/man3/fopen.3:313
3137 msgid ""
3138 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
3139 "the following syntax in I<mode>:"
3140 msgstr ""
3141 "上記の文字に加えて、\n"
3142 "B<fopen>() と B<freopen>() では I<mode> に\n"
3143 "以下の書式を 指定することができる。"
3144
3145 #. type: Plain text
3146 #: build/C/man3/fopen.3:315
3147 msgid "B< ,ccs=>I<string>"
3148 msgstr "B< ,ccs=>I<string>"
3149
3150 #. type: Plain text
3151 #: build/C/man3/fopen.3:331
3152 msgid ""
3153 "The given I<string> is taken as the name of a coded character set and the "
3154 "stream is marked as wide-oriented.  Thereafter, internal conversion "
3155 "functions convert I/O to and from the character set I<string>.  If the B<,"
3156 "ccs=>I<string> syntax is not specified, then the wide-orientation of the "
3157 "stream is determined by the first file operation.  If that operation is a "
3158 "wide-character operation, the stream is marked wide-oriented, and functions "
3159 "to convert to the coded character set are loaded."
3160 msgstr ""
3161 "指定された I<string> は、符号化文字集合の名前と解釈され、\n"
3162 "ストリームではワイド文字のストリームとして扱われる。\n"
3163 "内部変換関数で入出力時に文字集合 I<string> との変換が行われる。\n"
3164 "書式 B<,ccs=>I<string> が指定されない場合は、\n"
3165 "ストリームをワイド文字のストリームとして扱うかは\n"
3166 "最初のファイル操作時に決定される。\n"
3167 "最初のファイル操作がワイド文字操作であった場合は、\n"
3168 "そのストリームはワイド文字のストリームとして扱われ、\n"
3169 "符号化文字集合との変換を行う関数が読み込まれる。"
3170
3171 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
3172 #. type: Plain text
3173 #: build/C/man3/fopen.3:348
3174 msgid ""
3175 "When parsing for individual flag characters in I<mode> (i.e., the characters "
3176 "preceding the \"ccs\" specification), the glibc implementation of B<fopen>"
3177 "()  and B<freopen>()  limits the number of characters examined in I<mode> to "
3178 "7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
3179 "possible specifications such as \"rb+cmxe\").  The current implementation of "
3180 "B<fdopen>()  parses at most 5 characters in I<mode>."
3181 msgstr ""
3182 "I<mode> の個々のフラグ文字 (\"ccs\" 指定の前の文字) を解釈する際に、\n"
3183 "glibc の B<fopen>() と B<freopen>() の実装では、\n"
3184 "I<mode> の確認を最大 7 文字しか行わないという制限がある\n"
3185 "(バージョン 2.14 より前の glibc では最大 6 文字だが、\n"
3186 "6 文字では \"rb+cmxe\" などの指定を行うには不十分であった)。\n"
3187 "B<fdopen>() の現在の実装では最大 5 文字の I<mode> しか解釈されない。"
3188
3189 #. type: Plain text
3190 #: build/C/man3/fopen.3:354
3191 msgid ""
3192 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
3193 msgstr ""
3194 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
3195
3196 #. type: TH
3197 #: build/C/man3/fopencookie.3:26
3198 #, no-wrap
3199 msgid "FOPENCOOKIE"
3200 msgstr "FOPENCOOKIE"
3201
3202 #. type: TH
3203 #: build/C/man3/fopencookie.3:26
3204 #, no-wrap
3205 msgid "2013-03-17"
3206 msgstr "2013-03-17"
3207
3208 #. type: TH
3209 #: build/C/man3/fopencookie.3:26 build/C/man2/link.2:32
3210 #: build/C/man2/llseek.2:28 build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25
3211 #: build/C/man2/open.2:51 build/C/man2/pipe.2:36 build/C/man2/read.2:35
3212 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:32 build/C/man2/rename.2:33
3213 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13
3214 #: build/C/man2/symlink.2:33 build/C/man7/symlink.7:36
3215 #: build/C/man2/unlink.2:33 build/C/man2/write.2:39
3216 #, no-wrap
3217 msgid "Linux"
3218 msgstr "Linux"
3219
3220 #. type: Plain text
3221 #: build/C/man3/fopencookie.3:29
3222 msgid "fopencookie - opening a custom stream"
3223 msgstr ""
3224
3225 #. type: Plain text
3226 #: build/C/man3/fopencookie.3:36
3227 #, no-wrap
3228 msgid ""
3229 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
3230 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
3231 msgstr ""
3232 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
3233 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
3234
3235 #. type: Plain text
3236 #: build/C/man3/fopencookie.3:49
3237 msgid ""
3238 "The B<fopencookie>()  function allows the programmer to create a custom "
3239 "implementation for a standard I/O stream.  This implementation can store the "
3240 "stream's data at a location of its own choosing; for example, B<fopencookie>"
3241 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
3242 "to data that is stored in a buffer in memory."
3243 msgstr ""
3244
3245 #. type: Plain text
3246 #: build/C/man3/fopencookie.3:51
3247 msgid "In order to create a custom stream the programmer must:"
3248 msgstr ""
3249
3250 #. type: IP
3251 #: build/C/man3/fopencookie.3:51 build/C/man3/fopencookie.3:54
3252 #: build/C/man3/fopencookie.3:65 build/C/man2/lseek.2:168
3253 #: build/C/man2/lseek.2:170 build/C/man2/lseek.2:173 build/C/man2/lseek.2:175
3254 #: build/C/man2/lseek.2:177 build/C/man2/open.2:519 build/C/man2/open.2:527
3255 #: build/C/man2/open.2:533 build/C/man2/open.2:539 build/C/man2/open.2:546
3256 #: build/C/man2/open.2:552 build/C/man2/open.2:673 build/C/man2/open.2:681
3257 #: build/C/man2/pipe.2:95 build/C/man2/pipe.2:101 build/C/man2/pipe.2:111
3258 #: build/C/man3/scanf.3:658 build/C/man3/scanf.3:663
3259 #: build/C/man7/symlink.7:249 build/C/man7/symlink.7:259
3260 #: build/C/man7/symlink.7:289 build/C/man7/symlink.7:349
3261 #: build/C/man7/symlink.7:378 build/C/man7/symlink.7:407
3262 #: build/C/man7/symlink.7:438 build/C/man7/symlink.7:451
3263 #, no-wrap
3264 msgid "*"
3265 msgstr "*"
3266
3267 #. type: Plain text
3268 #: build/C/man3/fopencookie.3:54
3269 msgid ""
3270 "Implement four \"hook\" functions that are used internally by the standard I/"
3271 "O library when performing I/O on the stream."
3272 msgstr ""
3273
3274 #. type: Plain text
3275 #: build/C/man3/fopencookie.3:65
3276 msgid ""
3277 "Define a \"cookie\" data type, a structure that provides bookkeeping "
3278 "information (e.g., where to store data) used by the aforementioned hook "
3279 "functions.  The standard I/O package knows nothing about the contents of "
3280 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
3281 "()), but automatically supplies the cookie as the first argument when "
3282 "calling the hook functions."
3283 msgstr ""
3284
3285 #. type: Plain text
3286 #: build/C/man3/fopencookie.3:70
3287 msgid ""
3288 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
3289 "hook functions with that stream."
3290 msgstr ""
3291
3292 #. type: Plain text
3293 #: build/C/man3/fopencookie.3:78
3294 msgid ""
3295 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
3296 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
3297 "operate on that stream."
3298 msgstr ""
3299
3300 #. type: Plain text
3301 #: build/C/man3/fopencookie.3:85
3302 msgid ""
3303 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
3304 "to be associated with the new stream.  This pointer is supplied as the first "
3305 "argument when the standard I/O library invokes any of the hook functions "
3306 "described below."
3307 msgstr ""
3308
3309 #. type: Plain text
3310 #: build/C/man3/fopencookie.3:101
3311 msgid ""
3312 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
3313 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
3314 "See B<fopen>(3)  for details."
3315 msgstr ""
3316
3317 #. type: Plain text
3318 #: build/C/man3/fopencookie.3:107
3319 msgid ""
3320 "The I<io_funcs> argument is a structure that contains four fields pointing "
3321 "to the programmer-defined hook functions that are used to implement this "
3322 "stream.  The structure is defined as follows"
3323 msgstr ""
3324
3325 #. type: Plain text
3326 #: build/C/man3/fopencookie.3:116
3327 #, no-wrap
3328 msgid ""
3329 "typedef struct {\n"
3330 "    cookie_read_function_t  *read;\n"
3331 "    cookie_write_function_t *write;\n"
3332 "    cookie_seek_function_t  *seek;\n"
3333 "    cookie_close_function_t *close;\n"
3334 "} cookie_io_functions_t;\n"
3335 msgstr ""
3336 "typedef struct {\n"
3337 "    cookie_read_function_t  *read;\n"
3338 "    cookie_write_function_t *write;\n"
3339 "    cookie_seek_function_t  *seek;\n"
3340 "    cookie_close_function_t *close;\n"
3341 "} cookie_io_functions_t;\n"
3342
3343 #. type: Plain text
3344 #: build/C/man3/fopencookie.3:120
3345 msgid "The four fields are as follows:"
3346 msgstr ""
3347
3348 #. type: TP
3349 #: build/C/man3/fopencookie.3:120
3350 #, no-wrap
3351 msgid "I<cookie_read_function_t *read>"
3352 msgstr "I<cookie_read_function_t *read>"
3353
3354 #. type: Plain text
3355 #: build/C/man3/fopencookie.3:124
3356 msgid ""
3357 "This function implements read operations for the stream.  When called, it "
3358 "receives three arguments:"
3359 msgstr ""
3360
3361 #. type: Plain text
3362 #: build/C/man3/fopencookie.3:126
3363 #, no-wrap
3364 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3365 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3366
3367 #. type: Plain text
3368 #: build/C/man3/fopencookie.3:141
3369 msgid ""
3370 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3371 "input data can be placed and the size of that buffer.  As its function "
3372 "result, the I<read> function should return the number of bytes copied into "
3373 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3374 "update the stream offset appropriately."
3375 msgstr ""
3376
3377 #. type: Plain text
3378 #: build/C/man3/fopencookie.3:146
3379 msgid ""
3380 "If I<*read> is a null pointer, then reads from the custom stream always "
3381 "return end of file."
3382 msgstr ""
3383
3384 #. type: TP
3385 #: build/C/man3/fopencookie.3:146
3386 #, no-wrap
3387 msgid "I<cookie_write_function_t *write>"
3388 msgstr "I<cookie_write_function_t *write>"
3389
3390 #. type: Plain text
3391 #: build/C/man3/fopencookie.3:150
3392 msgid ""
3393 "This function implements write operations for the stream.  When called, it "
3394 "receives three arguments:"
3395 msgstr ""
3396
3397 #. type: Plain text
3398 #: build/C/man3/fopencookie.3:152
3399 #, no-wrap
3400 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3401 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3402
3403 #. type: Plain text
3404 #: build/C/man3/fopencookie.3:168
3405 msgid ""
3406 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3407 "output to the stream and the size of that buffer.  As its function result, "
3408 "the I<write> function should return the number of bytes copied from I<buf>, "
3409 "or 0 on error.  (The function must not return a negative value.)  The "
3410 "I<write> function should update the stream offset appropriately."
3411 msgstr ""
3412
3413 #. type: Plain text
3414 #: build/C/man3/fopencookie.3:173
3415 msgid "If I<*write> is a null pointer, then output to the stream is discarded."
3416 msgstr ""
3417
3418 #. type: TP
3419 #: build/C/man3/fopencookie.3:173
3420 #, no-wrap
3421 msgid "I<cookie_seek_function_t *seek>"
3422 msgstr "I<cookie_seek_function_t *seek>"
3423
3424 #. type: Plain text
3425 #: build/C/man3/fopencookie.3:177
3426 msgid ""
3427 "This function implements seek operations on the stream.  When called, it "
3428 "receives three arguments:"
3429 msgstr ""
3430
3431 #. type: Plain text
3432 #: build/C/man3/fopencookie.3:179
3433 #, no-wrap
3434 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3435 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3436
3437 #. type: Plain text
3438 #: build/C/man3/fopencookie.3:185
3439 msgid ""
3440 "The I<*offset> argument specifies the new file offset depending on which of "
3441 "the following three values is supplied in I<whence>:"
3442 msgstr ""
3443
3444 #. type: TP
3445 #: build/C/man3/fopencookie.3:186 build/C/man2/lseek.2:67
3446 #, no-wrap
3447 msgid "B<SEEK_SET>"
3448 msgstr "B<SEEK_SET>"
3449
3450 #. type: Plain text
3451 #: build/C/man3/fopencookie.3:191
3452 msgid ""
3453 "The stream offset should be set I<*offset> bytes from the start of the "
3454 "stream."
3455 msgstr ""
3456
3457 #. type: TP
3458 #: build/C/man3/fopencookie.3:191 build/C/man2/lseek.2:72
3459 #, no-wrap
3460 msgid "B<SEEK_CUR>"
3461 msgstr "B<SEEK_CUR>"
3462
3463 #. type: Plain text
3464 #: build/C/man3/fopencookie.3:195
3465 msgid "I<*offset> should be added to the current stream offset."
3466 msgstr ""
3467
3468 #. type: TP
3469 #: build/C/man3/fopencookie.3:195 build/C/man2/lseek.2:77
3470 #, no-wrap
3471 msgid "B<SEEK_END>"
3472 msgstr "B<SEEK_END>"
3473
3474 #. type: Plain text
3475 #: build/C/man3/fopencookie.3:199
3476 msgid ""
3477 "The stream offset should be set to the size of the stream plus I<*offset>."
3478 msgstr ""
3479
3480 #. type: Plain text
3481 #: build/C/man3/fopencookie.3:206
3482 msgid ""
3483 "Before returning, the I<seek> function should update I<*offset> to indicate "
3484 "the new stream offset."
3485 msgstr ""
3486
3487 #. type: Plain text
3488 #: build/C/man3/fopencookie.3:210
3489 msgid ""
3490 "As its function result, the I<seek> function should return 0 on success, and "
3491 "-1 on error."
3492 msgstr ""
3493
3494 #. type: Plain text
3495 #: build/C/man3/fopencookie.3:215
3496 msgid ""
3497 "If I<*seek> is a null pointer, then it is not possible to perform seek "
3498 "operations on the stream."
3499 msgstr ""
3500
3501 #. type: TP
3502 #: build/C/man3/fopencookie.3:215
3503 #, no-wrap
3504 msgid "I<cookie_close_function_t *close>"
3505 msgstr "I<cookie_close_function_t *close>"
3506
3507 #. type: Plain text
3508 #: build/C/man3/fopencookie.3:221
3509 msgid ""
3510 "This function closes the stream.  The hook function can do things such as "
3511 "freeing buffers allocated for the stream.  When called, it receives one "
3512 "argument:"
3513 msgstr ""
3514
3515 #. type: Plain text
3516 #: build/C/man3/fopencookie.3:223
3517 #, no-wrap
3518 msgid "    int close(void *cookie);\n"
3519 msgstr "    int close(void *cookie);\n"
3520
3521 #. type: Plain text
3522 #: build/C/man3/fopencookie.3:228
3523 msgid ""
3524 "The I<cookie> argument is the cookie that the programmer supplied when "
3525 "calling B<fopencookie>()."
3526 msgstr ""
3527
3528 #. type: Plain text
3529 #: build/C/man3/fopencookie.3:234
3530 msgid ""
3531 "As its function result, the I<close> function should return 0 on success, "
3532 "and B<EOF> on error."
3533 msgstr ""
3534
3535 #. type: Plain text
3536 #: build/C/man3/fopencookie.3:238
3537 msgid ""
3538 "If I<*close> is NULL, then no special action is performed when the stream is "
3539 "closed."
3540 msgstr ""
3541
3542 #.  .SH ERRORS
3543 #.  It's not clear if errno ever gets set...
3544 #. type: Plain text
3545 #: build/C/man3/fopencookie.3:245
3546 msgid ""
3547 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3548 "NULL is returned."
3549 msgstr ""
3550
3551 #. type: Plain text
3552 #: build/C/man3/fopencookie.3:247
3553 msgid "This function is a nonstandard GNU extension."
3554 msgstr ""
3555
3556 #. type: Plain text
3557 #: build/C/man3/fopencookie.3:256
3558 msgid ""
3559 "The program below implements a custom stream whose functionality is similar "
3560 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3561 "stream whose data is stored in a memory buffer.  The program writes its "
3562 "command-line arguments to the stream, and then seeks through the stream "
3563 "reading two out of every five characters and writing them to standard "
3564 "output.  The following shell session demonstrates the use of the program:"
3565 msgstr ""
3566
3567 #. type: Plain text
3568 #: build/C/man3/fopencookie.3:264
3569 #, no-wrap
3570 msgid ""
3571 "$B< ./a.out \\(aqhello world\\(aq>\n"
3572 "/he/\n"
3573 "/ w/\n"
3574 "/d/\n"
3575 "Reached end of file\n"
3576 msgstr ""
3577 "$B< ./a.out \\(aqhello world\\(aq>\n"
3578 "/he/\n"
3579 "/ w/\n"
3580 "/d/\n"
3581 "Reached end of file\n"
3582
3583 #. type: Plain text
3584 #: build/C/man3/fopencookie.3:271
3585 msgid ""
3586 "Note that a more general version of the program below could be improved to "
3587 "more robustly handle various error situations (e.g., opening a stream with a "
3588 "cookie that already has an open stream; closing a stream that has already "
3589 "been closed)."
3590 msgstr ""
3591
3592 #. type: Plain text
3593 #: build/C/man3/fopencookie.3:280
3594 #, no-wrap
3595 msgid ""
3596 "#define _GNU_SOURCE\n"
3597 "#include E<lt>sys/types.hE<gt>\n"
3598 "#include E<lt>stdio.hE<gt>\n"
3599 "#include E<lt>stdlib.hE<gt>\n"
3600 "#include E<lt>unistd.hE<gt>\n"
3601 "#include E<lt>string.hE<gt>\n"
3602 msgstr ""
3603 "#define _GNU_SOURCE\n"
3604 "#include E<lt>sys/types.hE<gt>\n"
3605 "#include E<lt>stdio.hE<gt>\n"
3606 "#include E<lt>stdlib.hE<gt>\n"
3607 "#include E<lt>unistd.hE<gt>\n"
3608 "#include E<lt>string.hE<gt>\n"
3609
3610 #. type: Plain text
3611 #: build/C/man3/fopencookie.3:282
3612 #, no-wrap
3613 msgid "#define INIT_BUF_SIZE 4\n"
3614 msgstr "#define INIT_BUF_SIZE 4\n"
3615
3616 #. type: Plain text
3617 #: build/C/man3/fopencookie.3:289
3618 #, no-wrap
3619 msgid ""
3620 "struct memfile_cookie {\n"
3621 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3622 "    size_t  allocated;  /* Size of buf */\n"
3623 "    size_t  endpos;     /* Number of characters in buf */\n"
3624 "    off_t   offset;     /* Current file offset in buf */\n"
3625 "};\n"
3626 msgstr ""
3627 "struct memfile_cookie {\n"
3628 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3629 "    size_t  allocated;  /* Size of buf */\n"
3630 "    size_t  endpos;     /* Number of characters in buf */\n"
3631 "    off_t   offset;     /* Current file offset in buf */\n"
3632 "};\n"
3633
3634 #. type: Plain text
3635 #: build/C/man3/fopencookie.3:295
3636 #, no-wrap
3637 msgid ""
3638 "ssize_t\n"
3639 "memfile_write(void *c, const char *buf, size_t size)\n"
3640 "{\n"
3641 "    char *new_buff;\n"
3642 "    struct memfile_cookie *cookie = c;\n"
3643 msgstr ""
3644 "ssize_t\n"
3645 "memfile_write(void *c, const char *buf, size_t size)\n"
3646 "{\n"
3647 "    char *new_buff;\n"
3648 "    struct memfile_cookie *cookie = c;\n"
3649
3650 #. type: Plain text
3651 #: build/C/man3/fopencookie.3:297
3652 #, no-wrap
3653 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3654 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3655
3656 #. type: Plain text
3657 #: build/C/man3/fopencookie.3:307
3658 #, no-wrap
3659 msgid ""
3660 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3661 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3662 "        if (new_buff == NULL) {\n"
3663 "            return -1;\n"
3664 "        } else {\n"
3665 "            cookie-E<gt>allocated *= 2;\n"
3666 "            cookie-E<gt>buf = new_buff;\n"
3667 "        }\n"
3668 "    }\n"
3669 msgstr ""
3670 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3671 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3672 "        if (new_buff == NULL) {\n"
3673 "            return -1;\n"
3674 "        } else {\n"
3675 "            cookie-E<gt>allocated *= 2;\n"
3676 "            cookie-E<gt>buf = new_buff;\n"
3677 "        }\n"
3678 "    }\n"
3679
3680 #. type: Plain text
3681 #: build/C/man3/fopencookie.3:309
3682 #, no-wrap
3683 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3684 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3685
3686 #. type: Plain text
3687 #: build/C/man3/fopencookie.3:313
3688 #, no-wrap
3689 msgid ""
3690 "    cookie-E<gt>offset += size;\n"
3691 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3692 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3693 msgstr ""
3694 "    cookie-E<gt>offset += size;\n"
3695 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3696 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3697
3698 #. type: Plain text
3699 #: build/C/man3/fopencookie.3:316
3700 #, no-wrap
3701 msgid ""
3702 "    return size;\n"
3703 "}\n"
3704 msgstr ""
3705 "    return size;\n"
3706 "}\n"
3707
3708 #. type: Plain text
3709 #: build/C/man3/fopencookie.3:322
3710 #, no-wrap
3711 msgid ""
3712 "ssize_t\n"
3713 "memfile_read(void *c, char *buf, size_t size)\n"
3714 "{\n"
3715 "    ssize_t xbytes;\n"
3716 "    struct memfile_cookie *cookie = c;\n"
3717 msgstr ""
3718 "ssize_t\n"
3719 "memfile_read(void *c, char *buf, size_t size)\n"
3720 "{\n"
3721 "    ssize_t xbytes;\n"
3722 "    struct memfile_cookie *cookie = c;\n"
3723
3724 #. type: Plain text
3725 #: build/C/man3/fopencookie.3:324
3726 #, no-wrap
3727 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3728 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3729
3730 #. type: Plain text
3731 #: build/C/man3/fopencookie.3:330
3732 #, no-wrap
3733 msgid ""
3734 "    xbytes = size;\n"
3735 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3736 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3737 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3738 "       xbytes = 0;\n"
3739 msgstr ""
3740 "    xbytes = size;\n"
3741 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3742 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3743 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3744 "       xbytes = 0;\n"
3745
3746 #. type: Plain text
3747 #: build/C/man3/fopencookie.3:332
3748 #, no-wrap
3749 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3750 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3751
3752 #. type: Plain text
3753 #: build/C/man3/fopencookie.3:336
3754 #, no-wrap
3755 msgid ""
3756 "    cookie-E<gt>offset += xbytes;\n"
3757 "    return xbytes;\n"
3758 "}\n"
3759 msgstr ""
3760 "    cookie-E<gt>offset += xbytes;\n"
3761 "    return xbytes;\n"
3762 "}\n"
3763
3764 #. type: Plain text
3765 #: build/C/man3/fopencookie.3:342
3766 #, no-wrap
3767 msgid ""
3768 "int\n"
3769 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3770 "{\n"
3771 "    off64_t new_offset;\n"
3772 "    struct memfile_cookie *cookie = c;\n"
3773 msgstr ""
3774 "int\n"
3775 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3776 "{\n"
3777 "    off64_t new_offset;\n"
3778 "    struct memfile_cookie *cookie = c;\n"
3779
3780 #. type: Plain text
3781 #: build/C/man3/fopencookie.3:351
3782 #, no-wrap
3783 msgid ""
3784 "    if (whence == SEEK_SET)\n"
3785 "        new_offset = *offset;\n"
3786 "    else if (whence == SEEK_END)\n"
3787 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3788 "    else if (whence == SEEK_CUR)\n"
3789 "        new_offset = cookie-E<gt>offset + *offset;\n"
3790 "    else\n"
3791 "        return -1;\n"
3792 msgstr ""
3793 "    if (whence == SEEK_SET)\n"
3794 "        new_offset = *offset;\n"
3795 "    else if (whence == SEEK_END)\n"
3796 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3797 "    else if (whence == SEEK_CUR)\n"
3798 "        new_offset = cookie-E<gt>offset + *offset;\n"
3799 "    else\n"
3800 "        return -1;\n"
3801
3802 #. type: Plain text
3803 #: build/C/man3/fopencookie.3:354
3804 #, no-wrap
3805 msgid ""
3806 "    if (new_offset E<lt> 0)\n"
3807 "        return -1;\n"
3808 msgstr ""
3809 "    if (new_offset E<lt> 0)\n"
3810 "        return -1;\n"
3811
3812 #. type: Plain text
3813 #: build/C/man3/fopencookie.3:359
3814 #, no-wrap
3815 msgid ""
3816 "    cookie-E<gt>offset = new_offset;\n"
3817 "    *offset = new_offset;\n"
3818 "    return 0;\n"
3819 "}\n"
3820 msgstr ""
3821 "    cookie-E<gt>offset = new_offset;\n"
3822 "    *offset = new_offset;\n"
3823 "    return 0;\n"
3824 "}\n"
3825
3826 #. type: Plain text
3827 #: build/C/man3/fopencookie.3:364
3828 #, no-wrap
3829 msgid ""
3830 "int\n"
3831 "memfile_close(void *c)\n"
3832 "{\n"
3833 "    struct memfile_cookie *cookie = c;\n"
3834 msgstr ""
3835 "int\n"
3836 "memfile_close(void *c)\n"
3837 "{\n"
3838 "    struct memfile_cookie *cookie = c;\n"
3839
3840 #. type: Plain text
3841 #: build/C/man3/fopencookie.3:368
3842 #, no-wrap
3843 msgid ""
3844 "    free(cookie-E<gt>buf);\n"
3845 "    cookie-E<gt>allocated = 0;\n"
3846 "    cookie-E<gt>buf = NULL;\n"
3847 msgstr ""
3848 "    free(cookie-E<gt>buf);\n"
3849 "    cookie-E<gt>allocated = 0;\n"
3850 "    cookie-E<gt>buf = NULL;\n"
3851
3852 #. type: Plain text
3853 #: build/C/man3/fopencookie.3:371
3854 #, no-wrap
3855 msgid ""
3856 "    return 0;\n"
3857 "}\n"
3858 msgstr ""
3859 "    return 0;\n"
3860 "}\n"
3861
3862 #. type: Plain text
3863 #: build/C/man3/fopencookie.3:387
3864 #, no-wrap
3865 msgid ""
3866 "int\n"
3867 "main(int argc, char *argv[])\n"
3868 "{\n"
3869 "    cookie_io_functions_t  memfile_func = {\n"
3870 "        .read  = memfile_read,\n"
3871 "        .write = memfile_write,\n"
3872 "        .seek  = memfile_seek,\n"
3873 "        .close = memfile_close\n"
3874 "    };\n"
3875 "    FILE *fp;\n"
3876 "    struct memfile_cookie mycookie;\n"
3877 "    ssize_t nread;\n"
3878 "    long p;\n"
3879 "    int j;\n"
3880 "    char buf[1000];\n"
3881 msgstr ""
3882 "int\n"
3883 "main(int argc, char *argv[])\n"
3884 "{\n"
3885 "    cookie_io_functions_t  memfile_func = {\n"
3886 "        .read  = memfile_read,\n"
3887 "        .write = memfile_write,\n"
3888 "        .seek  = memfile_seek,\n"
3889 "        .close = memfile_close\n"
3890 "    };\n"
3891 "    FILE *fp;\n"
3892 "    struct memfile_cookie mycookie;\n"
3893 "    ssize_t nread;\n"
3894 "    long p;\n"
3895 "    int j;\n"
3896 "    char buf[1000];\n"
3897
3898 #. type: Plain text
3899 #: build/C/man3/fopencookie.3:389
3900 #, no-wrap
3901 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3902 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3903
3904 #. type: Plain text
3905 #: build/C/man3/fopencookie.3:395
3906 #, no-wrap
3907 msgid ""
3908 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3909 "    if (mycookie.buf == NULL) {\n"
3910 "        perror(\"malloc\");\n"
3911 "        exit(EXIT_FAILURE);\n"
3912 "    }\n"
3913 msgstr ""
3914 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3915 "    if (mycookie.buf == NULL) {\n"
3916 "        perror(\"malloc\");\n"
3917 "        exit(EXIT_FAILURE);\n"
3918 "    }\n"
3919
3920 #. type: Plain text
3921 #: build/C/man3/fopencookie.3:399
3922 #, no-wrap
3923 msgid ""
3924 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3925 "    mycookie.offset = 0;\n"
3926 "    mycookie.endpos = 0;\n"
3927 msgstr ""
3928 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3929 "    mycookie.offset = 0;\n"
3930 "    mycookie.endpos = 0;\n"
3931
3932 #. type: Plain text
3933 #: build/C/man3/fopencookie.3:405
3934 #, no-wrap
3935 msgid ""
3936 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3937 "    if (fp == NULL) {\n"
3938 "        perror(\"fopencookie\");\n"
3939 "        exit(EXIT_FAILURE);\n"
3940 "    }\n"
3941 msgstr ""
3942 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3943 "    if (fp == NULL) {\n"
3944 "        perror(\"fopencookie\");\n"
3945 "        exit(EXIT_FAILURE);\n"
3946 "    }\n"
3947
3948 #. type: Plain text
3949 #: build/C/man3/fopencookie.3:407
3950 #, no-wrap
3951 msgid "    /* Write command-line arguments to our file */\n"
3952 msgstr "    /* Write command-line arguments to our file */\n"
3953
3954 #. type: Plain text
3955 #: build/C/man3/fopencookie.3:413
3956 #, no-wrap
3957 msgid ""
3958 "    for (j = 1; j E<lt> argc; j++)\n"
3959 "        if (fputs(argv[j], fp) == EOF) {\n"
3960 "            perror(\"fputs\");\n"
3961 "            exit(EXIT_FAILURE);\n"
3962 "        }\n"
3963 msgstr ""
3964 "    for (j = 1; j E<lt> argc; j++)\n"
3965 "        if (fputs(argv[j], fp) == EOF) {\n"
3966 "            perror(\"fputs\");\n"
3967 "            exit(EXIT_FAILURE);\n"
3968 "        }\n"
3969
3970 #. type: Plain text
3971 #: build/C/man3/fopencookie.3:415
3972 #, no-wrap
3973 msgid "    /* Read two bytes out of every five, until EOF */\n"
3974 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3975
3976 #. type: Plain text
3977 #: build/C/man3/fopencookie.3:430
3978 #, no-wrap
3979 msgid ""
3980 "    for (p = 0; ; p += 5) {\n"
3981 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3982 "            perror(\"fseek\");\n"
3983 "            exit(EXIT_FAILURE);\n"
3984 "        }\n"
3985 "        nread = fread(buf, 1, 2, fp);\n"
3986 "        if (nread == -1) {\n"
3987 "            perror(\"fread\");\n"
3988 "            exit(EXIT_FAILURE);\n"
3989 "        }\n"
3990 "        if (nread == 0) {\n"
3991 "            printf(\"Reached end of file\\en\");\n"
3992 "            break;\n"
3993 "        }\n"
3994 msgstr ""
3995 "    for (p = 0; ; p += 5) {\n"
3996 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3997 "            perror(\"fseek\");\n"
3998 "            exit(EXIT_FAILURE);\n"
3999 "        }\n"
4000 "        nread = fread(buf, 1, 2, fp);\n"
4001 "        if (nread == -1) {\n"
4002 "            perror(\"fread\");\n"
4003 "            exit(EXIT_FAILURE);\n"
4004 "        }\n"
4005 "        if (nread == 0) {\n"
4006 "            printf(\"Reached end of file\\en\");\n"
4007 "            break;\n"
4008 "        }\n"
4009
4010 #. type: Plain text
4011 #: build/C/man3/fopencookie.3:433
4012 #, no-wrap
4013 msgid ""
4014 "        printf(\"/%.*s/\\en\", nread, buf);\n"
4015 "    }\n"
4016 msgstr ""
4017 "        printf(\"/%.*s/\\en\", nread, buf);\n"
4018 "    }\n"
4019
4020 #. type: Plain text
4021 #: build/C/man3/fopencookie.3:436 build/C/man2/readlink.2:312
4022 #, no-wrap
4023 msgid ""
4024 "    exit(EXIT_SUCCESS);\n"
4025 "}\n"
4026 msgstr ""
4027 "    exit(EXIT_SUCCESS);\n"
4028 "}\n"
4029
4030 #. type: Plain text
4031 #: build/C/man3/fopencookie.3:442
4032 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
4033 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
4034
4035 #. type: TH
4036 #: build/C/man3/fpurge.3:25
4037 #, no-wrap
4038 msgid "FPURGE"
4039 msgstr "FPURGE"
4040
4041 #. type: TH
4042 #: build/C/man3/fpurge.3:25
4043 #, no-wrap
4044 msgid "2001-12-15"
4045 msgstr "2001-12-15"
4046
4047 #. type: Plain text
4048 #: build/C/man3/fpurge.3:28
4049 msgid "fpurge, __fpurge - purge a stream"
4050 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
4051
4052 #. type: Plain text
4053 #: build/C/man3/fpurge.3:32
4054 #, no-wrap
4055 msgid ""
4056 "/* unsupported */\n"
4057 "B<#include E<lt>stdio.hE<gt>>\n"
4058 msgstr ""
4059 "/* unsupported */\n"
4060 "B<#include E<lt>stdio.hE<gt>>\n"
4061
4062 #. type: Plain text
4063 #: build/C/man3/fpurge.3:34
4064 #, no-wrap
4065 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
4066 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
4067
4068 #. type: Plain text
4069 #: build/C/man3/fpurge.3:37
4070 #, no-wrap
4071 msgid ""
4072 "/* supported */\n"
4073 "B<#include E<lt>stdio.hE<gt>>\n"
4074 msgstr ""
4075 "/* supported */\n"
4076 "B<#include E<lt>stdio.hE<gt>>\n"
4077
4078 #. type: Plain text
4079 #: build/C/man3/fpurge.3:39
4080 #, no-wrap
4081 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
4082 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
4083
4084 #. type: Plain text
4085 #: build/C/man3/fpurge.3:41
4086 #, no-wrap
4087 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
4088 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
4089
4090 #. type: Plain text
4091 #: build/C/man3/fpurge.3:54
4092 msgid ""
4093 "The function B<fpurge>()  clears the buffers of the given stream.  For "
4094 "output streams this discards any unwritten output.  For input streams this "
4095 "discards any input read from the underlying object but not yet obtained via "
4096 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
4097 "B<fflush>(3)."
4098 msgstr ""
4099 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
4100 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
4101 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
4102 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
4103 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
4104
4105 #. type: Plain text
4106 #: build/C/man3/fpurge.3:58
4107 msgid ""
4108 "The function B<__fpurge>()  does precisely the same, but without returning a "
4109 "value."
4110 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
4111
4112 #. type: Plain text
4113 #: build/C/man3/fpurge.3:65
4114 msgid ""
4115 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
4116 "and sets I<errno> appropriately."
4117 msgstr ""
4118 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
4119 "を適切な値に設定する。"
4120
4121 #. type: Plain text
4122 #: build/C/man3/fpurge.3:70
4123 msgid "I<stream> is not an open stream."
4124 msgstr "I<stream> がオープンされていない。"
4125
4126 #. type: Plain text
4127 #: build/C/man3/fpurge.3:78
4128 msgid ""
4129 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
4130 "was introduced in 4.4BSD and is not available under Linux.  The function "
4131 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
4132 "later."
4133 msgstr ""
4134 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
4135 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
4136 "され、glibc 2.1.95 以降には存在している。"
4137
4138 #. type: Plain text
4139 #: build/C/man3/fpurge.3:80
4140 msgid "Usually it is a mistake to want to discard input buffers."
4141 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
4142
4143 #.  .BR fclean (3),
4144 #. type: Plain text
4145 #: build/C/man3/fpurge.3:85
4146 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
4147 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
4148
4149 #. type: TH
4150 #: build/C/man3/fputwc.3:16
4151 #, no-wrap
4152 msgid "FPUTWC"
4153 msgstr "FPUTWC"
4154
4155 #. type: Plain text
4156 #: build/C/man3/fputwc.3:19
4157 msgid "fputwc, putwc - write a wide character to a FILE stream"
4158 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
4159
4160 #. type: Plain text
4161 #: build/C/man3/fputwc.3:27
4162 #, no-wrap
4163 msgid ""
4164 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
4165 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
4166 msgstr ""
4167 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
4168 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
4169
4170 #. type: Plain text
4171 #: build/C/man3/fputwc.3:43
4172 msgid ""
4173 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
4174 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
4175 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
4176 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
4177 "it returns I<wc>."
4178 msgstr ""
4179 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
4180 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
4181 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
4182 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
4183 "関数は I<wc> を返す。"
4184
4185 #. type: Plain text
4186 #: build/C/man3/fputwc.3:51
4187 msgid ""
4188 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
4189 "may be implemented as a macro, and may evaluate its argument more than "
4190 "once.  There is no reason ever to use it."
4191 msgstr ""
4192 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
4193 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
4194 "ない。この関数を使う理由はもはや存在しない。"
4195
4196 #. type: Plain text
4197 #: build/C/man3/fputwc.3:63
4198 msgid ""
4199 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
4200 "indicate an error.  In the event of an error, I<errno> is set to indicate "
4201 "the cause."
4202 msgstr ""
4203 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
4204 "B<WEOF> が返り、 I<errno> にエラーの原因を示す値が設定される。"
4205
4206 #. type: Plain text
4207 #: build/C/man3/fputwc.3:68
4208 msgid "Conversion of I<wc> to the stream's encoding fails."
4209 msgstr "I<wc> からストリームの符号への変換に失敗した。"
4210
4211 #. type: Plain text
4212 #: build/C/man3/fputwc.3:77
4213 msgid ""
4214 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
4215 "current locale."
4216 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
4217
4218 #. type: Plain text
4219 #: build/C/man3/fputwc.3:85
4220 msgid ""
4221 "In the absence of additional information passed to the B<fopen>(3)  call, it "
4222 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
4223 "sequence corresponding to the wide character I<wc>."
4224 msgstr ""
4225 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
4226 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
4227 "よい。"
4228
4229 #. type: Plain text
4230 #: build/C/man3/fputwc.3:89
4231 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
4232 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
4233
4234 #. type: TH
4235 #: build/C/man3/fread.3:45
4236 #, no-wrap
4237 msgid "FREAD"
4238 msgstr "FREAD"
4239
4240 #. type: TH
4241 #: build/C/man3/fread.3:45
4242 #, no-wrap
4243 msgid "2012-03-30"
4244 msgstr "2012-03-30"
4245
4246 #. type: Plain text
4247 #: build/C/man3/fread.3:48
4248 msgid "fread, fwrite - binary stream input/output"
4249 msgstr "fread, fwrite - バイナリストリームの入出力"
4250
4251 #. type: Plain text
4252 #: build/C/man3/fread.3:54
4253 #, no-wrap
4254 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
4255 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
4256
4257 #. type: Plain text
4258 #: build/C/man3/fread.3:57
4259 #, no-wrap
4260 msgid ""
4261 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
4262 "B<              FILE *>I<stream>B<);>\n"
4263 msgstr ""
4264 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
4265 "B<              FILE *>I<stream>B<);>\n"
4266
4267 #. type: Plain text
4268 #: build/C/man3/fread.3:69
4269 msgid ""
4270 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
4271 "long, from the stream pointed to by I<stream>, storing them at the location "
4272 "given by I<ptr>."
4273 msgstr ""
4274 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
4275 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
4276 "I<size> バイトの長さを持つ。"
4277
4278 #. type: Plain text
4279 #: build/C/man3/fread.3:80
4280 msgid ""
4281 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
4282 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
4283 "location given by I<ptr>."
4284 msgstr ""
4285 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
4286 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
4287 "バイトの長さを持つ。"
4288
4289 #. type: Plain text
4290 #: build/C/man3/fread.3:96
4291 msgid ""
4292 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
4293 "or written.  This number equals the number of bytes transferred only when "
4294 "I<size> is 1.  If an error occurs, or the end of the file is reached, the "
4295 "return value is a short item count (or zero)."
4296 msgstr ""
4297 "成功すると、 B<fread>() と B<fwrite>() は読み書きを行った要素の個数を返す。\n"
4298 "I<size> が 1 の場合は、この数字は転送されたバイト数と等しい。\n"
4299 "エラーが生じた場合や、ファイルの末尾 (end-of-file) に達した場合、\n"
4300 "返り値は指定した個数よりも小さい値 (または 0) となる。"
4301
4302 #. type: Plain text
4303 #: build/C/man3/fread.3:103
4304 msgid ""
4305 "B<fread>()  does not distinguish between end-of-file and error, and callers "
4306 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
4307 msgstr ""
4308 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
4309 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
4310 "らない。"
4311
4312 #. type: Plain text
4313 #: build/C/man3/fread.3:105
4314 msgid "C89, POSIX.1-2001."
4315 msgstr "C89, POSIX.1-2001."
4316
4317 #. type: Plain text
4318 #: build/C/man3/fread.3:111
4319 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4320 msgstr ""
4321 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4322
4323 #. type: TH
4324 #: build/C/man3/fseek.3:42
4325 #, no-wrap
4326 msgid "FSEEK"
4327 msgstr "FSEEK"
4328
4329 #. type: TH
4330 #: build/C/man3/fseek.3:42
4331 #, no-wrap
4332 msgid "1993-11-29"
4333 msgstr "1993-11-29"
4334
4335 #. type: Plain text
4336 #: build/C/man3/fseek.3:45
4337 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
4338 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
4339
4340 #. type: Plain text
4341 #: build/C/man3/fseek.3:49
4342 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4343 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4344
4345 #. type: Plain text
4346 #: build/C/man3/fseek.3:51
4347 msgid "B<long ftell(FILE *>I<stream>B<);>"
4348 msgstr "B<long ftell(FILE *>I<stream>B<);>"
4349
4350 #. type: Plain text
4351 #: build/C/man3/fseek.3:53
4352 msgid "B<void rewind(FILE *>I<stream>B<);>"
4353 msgstr "B<void rewind(FILE *>I<stream>B<);>"
4354
4355 #. type: Plain text
4356 #: build/C/man3/fseek.3:55
4357 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4358 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4359
4360 #. type: Plain text
4361 #: build/C/man3/fseek.3:57
4362 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4363 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4364
4365 #. type: Plain text
4366 #: build/C/man3/fseek.3:81
4367 msgid ""
4368 "The B<fseek>()  function sets the file position indicator for the stream "
4369 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
4370 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4371 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4372 "relative to the start of the file, the current position indicator, or end-of-"
4373 "file, respectively.  A successful call to the B<fseek>()  function clears "
4374 "the end-of-file indicator for the stream and undoes any effects of the "
4375 "B<ungetc>(3)  function on the same stream."
4376 msgstr ""
4377 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4378 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4379 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4380 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4381 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4382 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4383 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4384 "かったことになる。"
4385
4386 #. type: Plain text
4387 #: build/C/man3/fseek.3:87
4388 msgid ""
4389 "The B<ftell>()  function obtains the current value of the file position "
4390 "indicator for the stream pointed to by I<stream>."
4391 msgstr ""
4392 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4393 "置表示子 の現時点での値を与える。"
4394
4395 #. type: Plain text
4396 #: build/C/man3/fseek.3:94
4397 msgid ""
4398 "The B<rewind>()  function sets the file position indicator for the stream "
4399 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4400 msgstr ""
4401 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4402 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4403
4404 #. type: Plain text
4405 #: build/C/man3/fseek.3:97
4406 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4407 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4408
4409 #. type: Plain text
4410 #: build/C/man3/fseek.3:101
4411 msgid ""
4412 "except that the error indicator for the stream is also cleared (see "
4413 "B<clearerr>(3))."
4414 msgstr ""
4415 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4416 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4417
4418 #. type: Plain text
4419 #: build/C/man3/fseek.3:121
4420 msgid ""
4421 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4422 "equivalent to B<ftell>()  and B<fseek>()  (with I<whence> set to "
4423 "B<SEEK_SET>), setting and storing the current value of the file offset into "
4424 "or from the object referenced by I<pos>.  On some non-UNIX systems, an "
4425 "I<fpos_t> object may be a complex object and these routines may be the only "
4426 "way to portably reposition a text stream."
4427 msgstr ""
4428 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4429 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4430 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4431 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4432 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4433 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4434 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4435
4436 #. type: Plain text
4437 #: build/C/man3/fseek.3:136
4438 msgid ""
4439 "The B<rewind>()  function returns no value.  Upon successful completion, "
4440 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4441 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4442 "indicate the error."
4443 msgstr ""
4444 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4445 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4446 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4447
4448 #. type: Plain text
4449 #: build/C/man3/fseek.3:142
4450 msgid "The I<stream> specified is not a seekable stream."
4451 msgstr "指定した I<stream> がシークできない。"
4452
4453 #. type: Plain text
4454 #: build/C/man3/fseek.3:153
4455 msgid ""
4456 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4457 "B<SEEK_CUR>."
4458 msgstr ""
4459 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4460 "B<SEEK_CUR> 以外の値であった。"
4461
4462 #. type: Plain text
4463 #: build/C/man3/fseek.3:168
4464 msgid ""
4465 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4466 "also fail and set I<errno> for any of the errors specified for the routines "
4467 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4468 msgstr ""
4469 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4470 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4471 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4472
4473 #. type: Plain text
4474 #: build/C/man3/fseek.3:173
4475 msgid "B<lseek>(2), B<fseeko>(3)"
4476 msgstr "B<lseek>(2), B<fseeko>(3)"
4477
4478 #. type: TH
4479 #: build/C/man3/fseeko.3:25
4480 #, no-wrap
4481 msgid "FSEEKO"
4482 msgstr "FSEEKO"
4483
4484 #. type: TH
4485 #: build/C/man3/fseeko.3:25
4486 #, no-wrap
4487 msgid "2001-11-05"
4488 msgstr "2001-11-05"
4489
4490 #. type: Plain text
4491 #: build/C/man3/fseeko.3:28
4492 msgid "fseeko, ftello - seek to or report file position"
4493 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4494
4495 #. type: Plain text
4496 #: build/C/man3/fseeko.3:33
4497 #, no-wrap
4498 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4499 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4500
4501 #. type: Plain text
4502 #: build/C/man3/fseeko.3:36
4503 #, no-wrap
4504 msgid ""
4505 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4506 "\n"
4507 msgstr ""
4508 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4509 "\n"
4510
4511 #. type: Plain text
4512 #: build/C/man3/fseeko.3:58
4513 msgid ""
4514 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4515 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4516 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4517 "I<off_t> instead of I<long>."
4518 msgstr ""
4519 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4520 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4521 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4522 "I<off_t> になっている。"
4523
4524 #. type: Plain text
4525 #: build/C/man3/fseeko.3:65
4526 msgid ""
4527 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4528 "compilation with"
4529 msgstr ""
4530 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4531
4532 #. type: Plain text
4533 #: build/C/man3/fseeko.3:69 build/C/man3/lseek64.3:81
4534 #, no-wrap
4535 msgid "#define _FILE_OFFSET_BITS 64\n"
4536 msgstr "#define _FILE_OFFSET_BITS 64\n"
4537
4538 #. type: Plain text
4539 #: build/C/man3/fseeko.3:75
4540 msgid "will turn I<off_t> into a 64-bit type."
4541 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4542
4543 #. type: Plain text
4544 #: build/C/man3/fseeko.3:84
4545 msgid ""
4546 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4547 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4548 "indicate the error."
4549 msgstr ""
4550 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4551 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4552
4553 #. type: Plain text
4554 #: build/C/man3/fseeko.3:87
4555 msgid "See the ERRORS in B<fseek>(3)."
4556 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4557
4558 #. type: Plain text
4559 #: build/C/man3/fseeko.3:89
4560 msgid "SUSv2, POSIX.1-2001."
4561 msgstr "SUSv2, POSIX.1-2001."
4562
4563 #. type: Plain text
4564 #: build/C/man3/fseeko.3:93
4565 msgid ""
4566 "These functions are found on System V-like systems.  They are not present in "
4567 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4568 msgstr ""
4569 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4570 "かったが、 glibc 2.1 から使えるようになった。"
4571
4572 #. type: Plain text
4573 #: build/C/man3/fseeko.3:95
4574 msgid "B<fseek>(3)"
4575 msgstr "B<fseek>(3)"
4576
4577 #. type: TH
4578 #: build/C/man3/getline.3:26
4579 #, no-wrap
4580 msgid "GETLINE"
4581 msgstr "GETLINE"
4582
4583 #. type: TH
4584 #: build/C/man3/getline.3:26
4585 #, fuzzy, no-wrap
4586 #| msgid "2012-01-18"
4587 msgid "2014-01-08"
4588 msgstr "2012-01-18"
4589
4590 #. type: Plain text
4591 #: build/C/man3/getline.3:29
4592 msgid "getline, getdelim - delimited string input"
4593 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4594
4595 #. type: Plain text
4596 #: build/C/man3/getline.3:34
4597 #, no-wrap
4598 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4599 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4600
4601 #. type: Plain text
4602 #: build/C/man3/getline.3:37
4603 #, no-wrap
4604 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4605 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4606
4607 #. type: Plain text
4608 #: build/C/man3/getline.3:47
4609 msgid "B<getline>(), B<getdelim>():"
4610 msgstr "B<getline>(), B<getdelim>():"
4611
4612 #. type: Plain text
4613 #: build/C/man3/getline.3:52
4614 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4615 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4616
4617 #. type: Plain text
4618 #: build/C/man3/getline.3:65
4619 msgid ""
4620 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4621 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4622 "terminated and includes the newline character, if one was found."
4623 msgstr ""
4624 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4625 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4626 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4627
4628 #. type: Plain text
4629 #: build/C/man3/getline.3:74
4630 #, fuzzy
4631 #| msgid ""
4632 #| "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4633 #| "storing the line, which should be freed by the user program.  (In this "
4634 #| "case, the value in I<*n> is ignored.)"
4635 msgid ""
4636 "If I<*lineptr> is set to NULL and I<*n> is set 0 before the call, then "
4637 "B<getline>()  will allocate a buffer for storing the line, which should be "
4638 "freed by the user program."
4639 msgstr ""
4640 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4641 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4642 "合、 I<*n> の値は無視される)。"
4643
4644 #. type: Plain text
4645 #: build/C/man3/getline.3:92
4646 msgid ""
4647 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4648 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4649 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4650 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4651 msgstr ""
4652 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4653 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4654 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4655 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4656 "I<*n> を更新する。"
4657
4658 #. type: Plain text
4659 #: build/C/man3/getline.3:98
4660 msgid ""
4661 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4662 "to reflect the buffer address and allocated size respectively."
4663 msgstr ""
4664 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4665 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4666
4667 #. type: Plain text
4668 #: build/C/man3/getline.3:109
4669 msgid ""
4670 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4671 "than newline can be specified as the I<delimiter> argument.  As with "
4672 "B<getline>(), a delimiter character is not added if one was not present in "
4673 "the input before end of file was reached."
4674 msgstr ""
4675 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4676 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4677 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4678 "ファに追加しない。"
4679
4680 #. type: Plain text
4681 #: build/C/man3/getline.3:118
4682 msgid ""
4683 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4684 "read, including the delimiter character, but not including the terminating "
4685 "null byte (\\(aq\\e0\\(aq).  This value can be used to handle embedded null "
4686 "bytes in the line read."
4687 msgstr ""
4688 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4689 "字数には区切り文字は含まれるが、終端に使う NULL バイト (\\(aq\\e0\\(aq) は含"
4690 "まれない。 この値によって、読み込んだ行に含まれる NULL バイトを操作することが"
4691 "できる。"
4692
4693 #. type: Plain text
4694 #: build/C/man3/getline.3:124
4695 msgid ""
4696 "Both functions return -1 on failure to read a line (including end-of-file "
4697 "condition).  In the event of an error, I<errno> is set to indicate the cause."
4698 msgstr ""
4699 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4700 "した場合にも -1 を返す)。 エラーが発生した場合には、 I<errno> にエラーの原因"
4701 "を示す値が設定される。"
4702
4703 #. type: Plain text
4704 #: build/C/man3/getline.3:134
4705 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4706 msgstr ""
4707 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4708 "I<stream> が有効でない)。"
4709
4710 #. type: Plain text
4711 #: build/C/man3/getline.3:136
4712 msgid "These functions are available since libc 4.6.27."
4713 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4714
4715 #. type: Plain text
4716 #: build/C/man3/getline.3:143
4717 msgid ""
4718 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4719 "were standardized in POSIX.1-2008."
4720 msgstr ""
4721 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4722 "POSIX.1-2008 で標準化された。"
4723
4724 #. type: Plain text
4725 #: build/C/man3/getline.3:148
4726 #, no-wrap
4727 msgid ""
4728 "#define _GNU_SOURCE\n"
4729 "#include E<lt>stdio.hE<gt>\n"
4730 "#include E<lt>stdlib.hE<gt>\n"
4731 msgstr ""
4732 "#define _GNU_SOURCE\n"
4733 "#include E<lt>stdio.hE<gt>\n"
4734 "#include E<lt>stdlib.hE<gt>\n"
4735
4736 #. type: Plain text
4737 #: build/C/man3/getline.3:156
4738 #, no-wrap
4739 msgid ""
4740 "int\n"
4741 "main(void)\n"
4742 "{\n"
4743 "    FILE *fp;\n"
4744 "    char *line = NULL;\n"
4745 "    size_t len = 0;\n"
4746 "    ssize_t read;\n"
4747 msgstr ""
4748 "int\n"
4749 "main(void)\n"
4750 "{\n"
4751 "    FILE *fp;\n"
4752 "    char *line = NULL;\n"
4753 "    size_t len = 0;\n"
4754 "    ssize_t read;\n"
4755
4756 #. type: Plain text
4757 #: build/C/man3/getline.3:160
4758 #, no-wrap
4759 msgid ""
4760 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4761 "    if (fp == NULL)\n"
4762 "        exit(EXIT_FAILURE);\n"
4763 msgstr ""
4764 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4765 "    if (fp == NULL)\n"
4766 "        exit(EXIT_FAILURE);\n"
4767
4768 #. type: Plain text
4769 #: build/C/man3/getline.3:165
4770 #, no-wrap
4771 msgid ""
4772 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4773 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4774 "        printf(\"%s\", line);\n"
4775 "    }\n"
4776 msgstr ""
4777 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4778 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4779 "        printf(\"%s\", line);\n"
4780 "    }\n"
4781
4782 #. type: Plain text
4783 #: build/C/man3/getline.3:169
4784 #, no-wrap
4785 msgid ""
4786 "    free(line);\n"
4787 "    exit(EXIT_SUCCESS);\n"
4788 "}\n"
4789 msgstr ""
4790 "    free(line);\n"
4791 "    exit(EXIT_SUCCESS);\n"
4792 "}\n"
4793
4794 #. type: Plain text
4795 #: build/C/man3/getline.3:176
4796 #, fuzzy
4797 #| msgid ""
4798 #| "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4799 msgid "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<scanf>(3)"
4800 msgstr ""
4801 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4802
4803 #. type: TH
4804 #: build/C/man3/gets.3:29
4805 #, no-wrap
4806 msgid "GETS"
4807 msgstr "GETS"
4808
4809 #. type: TH
4810 #: build/C/man3/gets.3:29
4811 #, fuzzy, no-wrap
4812 #| msgid "2013-01-27"
4813 msgid "2014-01-24"
4814 msgstr "2013-01-27"
4815
4816 #. type: Plain text
4817 #: build/C/man3/gets.3:32
4818 msgid "gets - get a string from standard input (DEPRECATED)"
4819 msgstr ""
4820
4821 #. type: Plain text
4822 #: build/C/man3/gets.3:37
4823 #, no-wrap
4824 msgid "B<char *gets(char *>I<s>B<);>\n"
4825 msgstr "B<char *gets(char *>I<s>B<);>\n"
4826
4827 #. type: Plain text
4828 #: build/C/man3/gets.3:40
4829 msgid "I<Never use this function>."
4830 msgstr ""
4831
4832 #. type: Plain text
4833 #: build/C/man3/gets.3:50
4834 msgid ""
4835 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4836 "until either a terminating newline or B<EOF>, which it replaces with a null "
4837 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4838 "below)."
4839 msgstr ""
4840 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4841 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4842 "\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
4843 "記の「バグ」を参照)。"
4844
4845 #. type: Plain text
4846 #: build/C/man3/gets.3:58
4847 #, fuzzy
4848 #| msgid ""
4849 #| "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or "
4850 #| "when end of file occurs while no characters have been read."
4851 msgid ""
4852 "B<gets>()  returns I<s> on success, and NULL on error or when end of file "
4853 "occurs while no characters have been read.  However, given the lack of "
4854 "buffer overrun checking, there can be no guarantees that the function will "
4855 "even return."
4856 msgstr ""
4857 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4858 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4859
4860 #. type: Plain text
4861 #: build/C/man3/gets.3:72
4862 msgid ""
4863 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4864 "C11 removes the specification of B<gets>()  from the C language, and since "
4865 "version 2.16, glibc header files don't expose the function declaration if "
4866 "the B<_ISOC11_SOURCE> feature test macro is defined."
4867 msgstr ""
4868 "LSB は B<gets>() を非推奨としている。\n"
4869 "POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
4870 "ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
4871 "glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
4872 "た\n"
4873 "場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
4874
4875 #. type: Plain text
4876 #: build/C/man3/gets.3:86
4877 msgid ""
4878 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4879 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4880 "()  will continue to store characters past the end of the buffer, it is "
4881 "extremely dangerous to use.  It has been used to break computer security.  "
4882 "Use B<fgets>()  instead."
4883 msgstr ""
4884 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4885 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4886 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4887 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4888 "と。"
4889
4890 #. type: Plain text
4891 #: build/C/man3/gets.3:90
4892 msgid ""
4893 "For more information, see CWE-242 (aka \"Use of Inherently Dangerous Function"
4894 "\") at http://cwe.mitre.org/data/definitions/242.html"
4895 msgstr ""
4896
4897 #. type: Plain text
4898 #: build/C/man3/gets.3:108
4899 #, fuzzy
4900 #| msgid ""
4901 #| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
4902 #| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
4903 #| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
4904 #| "B<feature_test_macros>(7)"
4905 msgid ""
4906 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetc>(3), B<fgets>(3), B<fgetwc>"
4907 "(3), B<fgetws>(3), B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), "
4908 "B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>"
4909 "(3), B<feature_test_macros>(7)"
4910 msgstr ""
4911 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
4912 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
4913 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
4914 "B<feature_test_macros>(7)"
4915
4916 #. type: TH
4917 #: build/C/man3/getw.3:25
4918 #, no-wrap
4919 msgid "GETW"
4920 msgstr "GETW"
4921
4922 #. type: TH
4923 #: build/C/man3/getw.3:25
4924 #, no-wrap
4925 msgid "2010-09-26"
4926 msgstr "2010-09-26"
4927
4928 #. type: Plain text
4929 #: build/C/man3/getw.3:28
4930 msgid "getw, putw - input and output of words (ints)"
4931 msgstr "getw, putw - ワード(int)の入出力"
4932
4933 #. type: Plain text
4934 #: build/C/man3/getw.3:33
4935 #, no-wrap
4936 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4937 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4938
4939 #. type: Plain text
4940 #: build/C/man3/getw.3:35
4941 #, no-wrap
4942 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4943 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4944
4945 #. type: Plain text
4946 #: build/C/man3/getw.3:44
4947 msgid "B<getw>(), B<putw>():"
4948 msgstr "B<getw>(), B<putw>():"
4949
4950 #. type: TP
4951 #: build/C/man3/getw.3:47
4952 #, no-wrap
4953 msgid "Since glibc 2.3.3:"
4954 msgstr "glibc 2.3.3 以降:"
4955
4956 #. type: Plain text
4957 #: build/C/man3/getw.3:50
4958 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4959 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4960
4961 #. type: Plain text
4962 #: build/C/man3/getw.3:53
4963 #, no-wrap
4964 msgid ""
4965 "(_XOPEN_SOURCE &&\n"
4966 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4967 msgstr ""
4968 "(_XOPEN_SOURCE &&\n"
4969 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4970
4971 #. type: TP
4972 #: build/C/man3/getw.3:53
4973 #, no-wrap
4974 msgid "Before glibc 2.3.3:"
4975 msgstr "glibc 2.3.3 より前:"
4976
4977 #. type: Plain text
4978 #: build/C/man3/getw.3:56
4979 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4980 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4981
4982 #. type: Plain text
4983 #: build/C/man3/getw.3:66
4984 msgid ""
4985 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4986 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4987 msgstr ""
4988 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4989 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4990 "ことを勧める。"
4991
4992 #. type: Plain text
4993 #: build/C/man3/getw.3:73
4994 msgid ""
4995 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4996 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4997 "instead."
4998 msgstr ""
4999 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
5000 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
5001 "使用することを勧める。"
5002
5003 #. type: Plain text
5004 #: build/C/man3/getw.3:80
5005 msgid ""
5006 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
5007 "error, they return B<EOF>."
5008 msgstr ""
5009 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
5010 "が発生した場合、これらの関数は B<EOF> を返す。"
5011
5012 #. type: Plain text
5013 #: build/C/man3/getw.3:83
5014 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
5015 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
5016
5017 #. type: Plain text
5018 #: build/C/man3/getw.3:87
5019 msgid ""
5020 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
5021 "can be used to distinguish between the two cases."
5022 msgstr ""
5023 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
5024 "(3)  を用いると、この二つの場合を区別することが出来る。"
5025
5026 #. type: Plain text
5027 #: build/C/man3/getw.3:93
5028 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
5029 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
5030
5031 #. type: TH
5032 #: build/C/man2/link.2:32
5033 #, no-wrap
5034 msgid "LINK"
5035 msgstr "LINK"
5036
5037 #. type: TH
5038 #: build/C/man2/link.2:32 build/C/man2/readlink.2:44 build/C/man2/rename.2:33
5039 #: build/C/man2/symlink.2:33 build/C/man2/unlink.2:33
5040 #, fuzzy, no-wrap
5041 #| msgid "2012-02-14"
5042 msgid "2014-02-21"
5043 msgstr "2012-02-14"
5044
5045 #. type: Plain text
5046 #: build/C/man2/link.2:35
5047 #, fuzzy
5048 #| msgid "link - make a new name for a file"
5049 msgid "link, linkat - make a new name for a file"
5050 msgstr "link - ファイルの新しい名前を作成する"
5051
5052 #. type: Plain text
5053 #: build/C/man2/link.2:38 build/C/man2/pipe.2:42 build/C/man2/read.2:41
5054 #: build/C/man2/readlink.2:50 build/C/man2/symlink.2:39
5055 #: build/C/man2/unlink.2:39
5056 #, no-wrap
5057 msgid "B<#include E<lt>unistd.hE<gt>>\n"
5058 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
5059
5060 #. type: Plain text
5061 #: build/C/man2/link.2:40
5062 #, fuzzy, no-wrap
5063 #| msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
5064 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
5065 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
5066
5067 #. type: Plain text
5068 #: build/C/man2/link.2:43 build/C/man2/readlink.2:56 build/C/man2/symlink.2:44
5069 #: build/C/man2/unlink.2:44
5070 #, fuzzy, no-wrap
5071 #| msgid ""
5072 #| "B<#include E<lt>sys/types.hE<gt>>\n"
5073 #| "B<#include E<lt>unistd.hE<gt>>\n"
5074 msgid ""
5075 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
5076 "B<#include E<lt>unistd.hE<gt>>\n"
5077 msgstr ""
5078 "B<#include E<lt>sys/types.hE<gt>>\n"
5079 "B<#include E<lt>unistd.hE<gt>>\n"
5080
5081 #. type: Plain text
5082 #: build/C/man2/link.2:46
5083 #, fuzzy, no-wrap
5084 #| msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
5085 msgid ""
5086 "B<int linkat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
5087 "B<           int >I<newdirfd>B<, const char *>I<newpath>B<, int >I<flags>B<);>\n"
5088 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
5089
5090 #. type: Plain text
5091 #: build/C/man2/link.2:54
5092 #, fuzzy
5093 #| msgid "B<symlink>():"
5094 msgid "B<linkat>():"
5095 msgstr "B<symlink>():"
5096
5097 #. type: Plain text
5098 #: build/C/man2/link.2:63 build/C/man2/open.2:85 build/C/man2/readlink.2:83
5099 #: build/C/man2/rename.2:64 build/C/man2/symlink.2:71 build/C/man2/unlink.2:63
5100 #, fuzzy
5101 #| msgid "_GNU_SOURCE"
5102 msgid "_ATFILE_SOURCE"
5103 msgstr "_GNU_SOURCE"
5104
5105 #. type: Plain text
5106 #: build/C/man2/link.2:69
5107 msgid ""
5108 "B<link>()  creates a new link (also known as a hard link) to an existing "
5109 "file."
5110 msgstr ""
5111 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハードリンク (hard "
5112 "link) ともいう) を作成する。"
5113
5114 #. type: Plain text
5115 #: build/C/man2/link.2:75
5116 msgid "If I<newpath> exists it will I<not> be overwritten."
5117 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
5118
5119 #. type: Plain text
5120 #: build/C/man2/link.2:80
5121 msgid ""
5122 "This new name may be used exactly as the old one for any operation; both "
5123 "names refer to the same file (and so have the same permissions and "
5124 "ownership) and it is impossible to tell which name was the \"original\"."
5125 msgstr ""
5126 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
5127 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
5128 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
5129
5130 #. type: SS
5131 #: build/C/man2/link.2:80
5132 #, no-wrap
5133 msgid "linkat()"
5134 msgstr ""
5135
5136 #. type: Plain text
5137 #: build/C/man2/link.2:86
5138 msgid ""
5139 "The B<linkat>()  system call operates in exactly the same way as B<link>(), "
5140 "except for the differences described here."
5141 msgstr ""
5142
5143 #. type: Plain text
5144 #: build/C/man2/link.2:96
5145 msgid ""
5146 "If the pathname given in I<oldpath> is relative, then it is interpreted "
5147 "relative to the directory referred to by the file descriptor I<olddirfd> "
5148 "(rather than relative to the current working directory of the calling "
5149 "process, as is done by B<link>()  for a relative pathname)."
5150 msgstr ""
5151
5152 #. type: Plain text
5153 #: build/C/man2/link.2:108
5154 msgid ""
5155 "If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
5156 "then I<oldpath> is interpreted relative to the current working directory of "
5157 "the calling process (like B<link>())."
5158 msgstr ""
5159
5160 #. type: Plain text
5161 #: build/C/man2/link.2:114 build/C/man2/rename.2:153
5162 msgid "If I<oldpath> is absolute, then I<olddirfd> is ignored."
5163 msgstr ""
5164
5165 #. type: Plain text
5166 #: build/C/man2/link.2:122 build/C/man2/rename.2:161
5167 msgid ""
5168 "The interpretation of I<newpath> is as for I<oldpath>, except that a "
5169 "relative pathname is interpreted relative to the directory referred to by "
5170 "the file descriptor I<newdirfd>."
5171 msgstr ""
5172
5173 #. type: Plain text
5174 #: build/C/man2/link.2:125
5175 msgid "The following values can be bitwise ORed in I<flags>:"
5176 msgstr ""
5177
5178 #. type: TP
5179 #: build/C/man2/link.2:125
5180 #, fuzzy, no-wrap
5181 #| msgid "B<O_PATH> (since Linux 2.6.39)"
5182 msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
5183 msgstr "B<O_PATH> (Linux 2.6.39 以降)"
5184
5185 #.  commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3
5186 #.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
5187 #. type: Plain text
5188 #: build/C/man2/link.2:152
5189 msgid ""
5190 "If I<oldpath> is an empty string, create a link to the file referenced by "
5191 "I<olddirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
5192 "flag).  In this case, I<olddirfd> can refer to any type of file, not just a "
5193 "directory.  The caller must have the B<CAP_DAC_READ_SEARCH> capability in "
5194 "order to use this flag; this prevents arbitrary users from creating hard "
5195 "links using file descriptors received via a UNIX domain socket (see the "
5196 "discussion of B<SCM_RIGHTS> in B<unix>(7)).  This flag is Linux-specific; "
5197 "define B<_GNU_SOURCE> to obtain its definition."
5198 msgstr ""
5199
5200 #. type: TP
5201 #: build/C/man2/link.2:152
5202 #, fuzzy, no-wrap
5203 #| msgid "B<O_NOATIME> (Since Linux 2.6.8)"
5204 msgid "B<AT_SYMLINK_FOLLOW> (since Linux 2.6.18)"
5205 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
5206
5207 #. type: Plain text
5208 #: build/C/man2/link.2:167
5209 msgid ""
5210 "By default, B<linkat>(), does not dereference I<oldpath> if it is a symbolic "
5211 "link (like B<link>()).  The flag B<AT_SYMLINK_FOLLOW> can be specified in "
5212 "I<flags> to cause I<oldpath> to be dereferenced if it is a symbolic link."
5213 msgstr ""
5214
5215 #. type: Plain text
5216 #: build/C/man2/link.2:171
5217 msgid ""
5218 "Before kernel 2.6.18, the I<flags> argument was unused, and had to be "
5219 "specified as 0."
5220 msgstr ""
5221
5222 #. type: Plain text
5223 #: build/C/man2/link.2:176
5224 msgid "See B<openat>(2)  for an explanation of the need for B<linkat>()."
5225 msgstr ""
5226
5227 #. type: Plain text
5228 #: build/C/man2/link.2:181 build/C/man2/pipe.2:134 build/C/man3/remove.3:65
5229 #: build/C/man2/rename.2:171 build/C/man2/rmdir.2:45
5230 #: build/C/man2/symlink.2:145 build/C/man2/unlink.2:158
5231 msgid ""
5232 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
5233 "appropriately."
5234 msgstr ""
5235 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
5236 "定される。"
5237
5238 #. type: TP
5239 #: build/C/man2/link.2:182 build/C/man2/open.2:769 build/C/man2/readlink.2:160
5240 #: build/C/man2/rename.2:172 build/C/man2/rmdir.2:46
5241 #: build/C/man2/symlink.2:146 build/C/man3/tmpfile.3:57
5242 #: build/C/man2/unlink.2:159
5243 #, no-wrap
5244 msgid "B<EACCES>"
5245 msgstr "B<EACCES>"
5246
5247 #. type: Plain text
5248 #: build/C/man2/link.2:193
5249 msgid ""
5250 "Write access to the directory containing I<newpath> is denied, or search "
5251 "permission is denied for one of the directories in the path prefix of "
5252 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
5253 msgstr ""
5254 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
5255 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
5256 "(B<path_resolution>(7)  を参照)。"
5257
5258 #. type: TP
5259 #: build/C/man2/link.2:193 build/C/man2/open.2:778 build/C/man2/rename.2:208
5260 #: build/C/man2/symlink.2:155 build/C/man2/write.2:135
5261 #, no-wrap
5262 msgid "B<EDQUOT>"
5263 msgstr "B<EDQUOT>"
5264
5265 #. type: Plain text
5266 #: build/C/man2/link.2:196 build/C/man2/rename.2:211
5267 msgid "The user's quota of disk blocks on the filesystem has been exhausted."
5268 msgstr ""
5269 "ディスクブロックか inode がそのファイルシステムのユーザクォータに達していた。"
5270
5271 #. type: TP
5272 #: build/C/man2/link.2:196 build/C/man2/open.2:784 build/C/man2/symlink.2:160
5273 #: build/C/man3/tmpfile.3:60
5274 #, no-wrap
5275 msgid "B<EEXIST>"
5276 msgstr "B<EEXIST>"
5277
5278 #. type: Plain text
5279 #: build/C/man2/link.2:200
5280 msgid "I<newpath> already exists."
5281 msgstr "I<newpath> が既に存在する。"
5282
5283 #. type: TP
5284 #: build/C/man2/link.2:200 build/C/man2/llseek.2:74 build/C/man2/open.2:790
5285 #: build/C/man2/pipe.2:135 build/C/man2/read.2:118 build/C/man2/readlink.2:165
5286 #: build/C/man2/rename.2:211 build/C/man2/rmdir.2:64
5287 #: build/C/man2/symlink.2:164 build/C/man2/unlink.2:178
5288 #: build/C/man2/write.2:141
5289 #, no-wrap
5290 msgid "B<EFAULT>"
5291 msgstr "B<EFAULT>"
5292
5293 #. type: Plain text
5294 #: build/C/man2/link.2:203 build/C/man2/rename.2:214
5295 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
5296 msgstr ""
5297 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
5298
5299 #. type: TP
5300 #: build/C/man2/link.2:203 build/C/man2/read.2:147 build/C/man2/readlink.2:181
5301 #: build/C/man2/symlink.2:167 build/C/man2/unlink.2:182
5302 #: build/C/man2/write.2:165
5303 #, no-wrap
5304 msgid "B<EIO>"
5305 msgstr "B<EIO>"
5306
5307 #. type: Plain text
5308 #: build/C/man2/link.2:206 build/C/man2/symlink.2:170
5309 #: build/C/man2/unlink.2:185
5310 msgid "An I/O error occurred."
5311 msgstr "I/O エラーが発生した。"
5312
5313 #. type: TP
5314 #: build/C/man2/link.2:206 build/C/man2/open.2:851 build/C/man2/open.2:855
5315 #: build/C/man2/readlink.2:184 build/C/man2/rename.2:224
5316 #: build/C/man2/rmdir.2:73 build/C/man2/symlink.2:170
5317 #: build/C/man2/unlink.2:190
5318 #, no-wrap
5319 msgid "B<ELOOP>"
5320 msgstr "B<ELOOP>"
5321
5322 #. type: Plain text
5323 #: build/C/man2/link.2:210 build/C/man2/rename.2:228
5324 msgid ""
5325 "Too many symbolic links were encountered in resolving I<oldpath> or "
5326 "I<newpath>."
5327 msgstr ""
5328 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎ"
5329 "る。"
5330
5331 #. type: TP
5332 #: build/C/man2/link.2:210 build/C/man2/rename.2:228
5333 #, no-wrap
5334 msgid "B<EMLINK>"
5335 msgstr "B<EMLINK>"
5336
5337 #. type: Plain text
5338 #: build/C/man2/link.2:215
5339 msgid ""
5340 "The file referred to by I<oldpath> already has the maximum number of links "
5341 "to it."
5342 msgstr ""
5343 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
5344
5345 #. type: TP
5346 #: build/C/man2/link.2:215 build/C/man2/open.2:867 build/C/man2/readlink.2:187
5347 #: build/C/man2/rename.2:235 build/C/man2/rmdir.2:77
5348 #: build/C/man2/symlink.2:174 build/C/man2/unlink.2:194
5349 #, no-wrap
5350 msgid "B<ENAMETOOLONG>"
5351 msgstr "B<ENAMETOOLONG>"
5352
5353 #. type: Plain text
5354 #: build/C/man2/link.2:218 build/C/man2/rename.2:238
5355 msgid "I<oldpath> or I<newpath> was too long."
5356 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
5357
5358 #. type: TP
5359 #: build/C/man2/link.2:218 build/C/man2/link.2:275 build/C/man2/link.2:283
5360 #: build/C/man2/open.2:881 build/C/man2/open.2:888 build/C/man2/readlink.2:190
5361 #: build/C/man2/rename.2:238 build/C/man2/rmdir.2:80
5362 #: build/C/man2/symlink.2:177 build/C/man2/unlink.2:197
5363 #, no-wrap
5364 msgid "B<ENOENT>"
5365 msgstr "B<ENOENT>"
5366
5367 #. type: Plain text
5368 #: build/C/man2/link.2:223
5369 msgid ""
5370 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
5371 "dangling symbolic link."
5372 msgstr ""
5373 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
5374 "(dangling)シンボリックリンクである。"
5375
5376 #. type: TP
5377 #: build/C/man2/link.2:223 build/C/man2/open.2:902 build/C/man2/readlink.2:193
5378 #: build/C/man2/rename.2:251 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:570
5379 #: build/C/man2/symlink.2:184 build/C/man3/tempnam.3:102
5380 #: build/C/man2/unlink.2:204
5381 #, no-wrap
5382 msgid "B<ENOMEM>"
5383 msgstr "B<ENOMEM>"
5384
5385 #. type: Plain text
5386 #: build/C/man2/link.2:226 build/C/man2/open.2:905 build/C/man2/readlink.2:196
5387 #: build/C/man2/rename.2:254 build/C/man2/rmdir.2:88
5388 #: build/C/man2/symlink.2:187 build/C/man2/unlink.2:207
5389 msgid "Insufficient kernel memory was available."
5390 msgstr "十分なカーネルメモリーがない。"
5391
5392 #. type: TP
5393 #: build/C/man2/link.2:226 build/C/man2/open.2:905 build/C/man2/rename.2:254
5394 #: build/C/man2/symlink.2:187 build/C/man3/tmpfile.3:72
5395 #: build/C/man2/write.2:168
5396 #, no-wrap
5397 msgid "B<ENOSPC>"
5398 msgstr "B<ENOSPC>"
5399
5400 #. type: Plain text
5401 #: build/C/man2/link.2:230 build/C/man2/rename.2:258
5402 #: build/C/man2/symlink.2:191
5403 msgid "The device containing the file has no room for the new directory entry."
5404 msgstr ""
5405 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
5406 "空きがない。"
5407
5408 #. type: TP
5409 #: build/C/man2/link.2:230 build/C/man2/link.2:293 build/C/man2/open.2:911
5410 #: build/C/man2/open.2:982 build/C/man2/readlink.2:196
5411 #: build/C/man2/readlink.2:206 build/C/man2/rename.2:258
5412 #: build/C/man2/rename.2:316 build/C/man2/rmdir.2:88
5413 #: build/C/man2/symlink.2:191 build/C/man2/symlink.2:212
5414 #: build/C/man2/unlink.2:207 build/C/man2/unlink.2:263
5415 #, no-wrap
5416 msgid "B<ENOTDIR>"
5417 msgstr "B<ENOTDIR>"
5418
5419 #. type: Plain text
5420 #: build/C/man2/link.2:235
5421 msgid ""
5422 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
5423 "a directory."
5424 msgstr ""
5425 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
5426 "い。"
5427
5428 #. type: TP
5429 #: build/C/man2/link.2:235 build/C/man2/link.2:239 build/C/man2/open.2:950
5430 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
5431 #: build/C/man2/symlink.2:196 build/C/man2/unlink.2:212
5432 #, no-wrap
5433 msgid "B<EPERM>"
5434 msgstr "B<EPERM>"
5435
5436 #. type: Plain text
5437 #: build/C/man2/link.2:239
5438 msgid "I<oldpath> is a directory."
5439 msgstr "I<oldpath> がディレクトリである。"
5440
5441 #. type: Plain text
5442 #: build/C/man2/link.2:244
5443 msgid ""
5444 "The filesystem containing I<oldpath> and I<newpath> does not support the "
5445 "creation of hard links."
5446 msgstr ""
5447 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
5448 "していない。"
5449
5450 #. type: TP
5451 #: build/C/man2/link.2:244
5452 #, no-wrap
5453 msgid "B<EPERM> (since Linux 3.6)"
5454 msgstr "B<EPERM> (Linux 3.6 以降)"
5455
5456 #. type: Plain text
5457 #: build/C/man2/link.2:251
5458 #, fuzzy
5459 #| msgid ""
5460 #| "The caller does not have permission to create a hard link to this file "
5461 #| "(see the description of I</proc/sys/fs/protected_hardlink> in B<proc>(5))."
5462 msgid ""
5463 "The caller does not have permission to create a hard link to this file (see "
5464 "the description of I</proc/sys/fs/protected_hardlinks> in B<proc>(5))."
5465 msgstr ""
5466 "呼び出し元にこのファイルへのハードリンクを作成する許可がなかった (B<proc>(5) "
5467 "の I</proc/sys/fs/protected_hardlink> の説明を参照)。"
5468
5469 #. type: TP
5470 #: build/C/man2/link.2:251 build/C/man2/open.2:958 build/C/man2/rename.2:296
5471 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:201
5472 #: build/C/man3/tmpfile.3:75 build/C/man2/unlink.2:235
5473 #, no-wrap
5474 msgid "B<EROFS>"
5475 msgstr "B<EROFS>"
5476
5477 #. type: Plain text
5478 #: build/C/man2/link.2:254 build/C/man2/rename.2:299
5479 msgid "The file is on a read-only filesystem."
5480 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
5481
5482 #. type: TP
5483 #: build/C/man2/link.2:254 build/C/man2/rename.2:299
5484 #, no-wrap
5485 msgid "B<EXDEV>"
5486 msgstr "B<EXDEV>"
5487
5488 #. type: Plain text
5489 #: build/C/man2/link.2:262
5490 msgid ""
5491 "I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
5492 "permits a filesystem to be mounted at multiple points, but B<link>()  does "
5493 "not work across different mount points, even if the same filesystem is "
5494 "mounted on both.)"
5495 msgstr ""
5496 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
5497 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
5498 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
5499 "のマウント位置を跨いでは動作しない。)"
5500
5501 #. type: Plain text
5502 #: build/C/man2/link.2:265
5503 #, fuzzy
5504 #| msgid "The following code sample demonstrates the use of B<writev>():"
5505 msgid "The following additional errors can occur for B<linkat>():"
5506 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
5507
5508 #. type: Plain text
5509 #: build/C/man2/link.2:271 build/C/man2/rename.2:316
5510 #, fuzzy
5511 #| msgid "I<fd> is not an open file descriptor."
5512 msgid "I<olddirfd> or I<newdirfd> is not a valid file descriptor."
5513 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5514
5515 #. type: Plain text
5516 #: build/C/man2/link.2:275 build/C/man2/unlink.2:256
5517 msgid "An invalid flag value was specified in I<flags>."
5518 msgstr ""
5519
5520 #. type: Plain text
5521 #: build/C/man2/link.2:283
5522 msgid ""
5523 "B<AT_EMPTY_PATH> was specified in I<flags>, but the caller did not have the "
5524 "B<CAP_DAC_READ_SEARCH> capability."
5525 msgstr ""
5526
5527 #. type: Plain text
5528 #: build/C/man2/link.2:288
5529 msgid ""
5530 "An attempt was made to link to the I</proc/self/fd/NN> file corresponding to "
5531 "a file descriptor created with"
5532 msgstr ""
5533
5534 #. type: Plain text
5535 #: build/C/man2/link.2:290
5536 #, no-wrap
5537 msgid "    open(path, O_TMPFILE | O_EXCL, mode);\n"
5538 msgstr ""
5539
5540 #. type: Plain text
5541 #: build/C/man2/link.2:293
5542 msgid "See B<open>(2)."
5543 msgstr ""
5544
5545 #. type: Plain text
5546 #: build/C/man2/link.2:303 build/C/man2/rename.2:326
5547 msgid ""
5548 "I<oldpath> is relative and I<olddirfd> is a file descriptor referring to a "
5549 "file other than a directory; or similar for I<newpath> and I<newdirfd>"
5550 msgstr ""
5551
5552 #. type: Plain text
5553 #: build/C/man2/link.2:307
5554 #, fuzzy
5555 #| msgid ""
5556 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
5557 #| "available starting with version 2.9."
5558 msgid ""
5559 "B<linkat>()  was added to Linux in kernel 2.6.16; library support was added "
5560 "to glibc in version 2.4."
5561 msgstr ""
5562 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
5563 "はバージョン 2.9 以降で利用できる。"
5564
5565 #.  SVr4 documents additional ENOLINK and
5566 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5567 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5568 #. type: Plain text
5569 #: build/C/man2/link.2:313
5570 #, fuzzy
5571 #| msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5572 msgid "B<link>(): SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008."
5573 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5574
5575 #. type: Plain text
5576 #: build/C/man2/link.2:316
5577 #, fuzzy
5578 #| msgid "B<pipe>(): POSIX.1-2001."
5579 msgid "B<linkat>(): POSIX.1-2008."
5580 msgstr "B<pipe>(): POSIX.1-2001."
5581
5582 #. type: Plain text
5583 #: build/C/man2/link.2:323
5584 msgid ""
5585 "Hard links, as created by B<link>(), cannot span filesystems.  Use B<symlink>"
5586 "(2)  if this is required."
5587 msgstr ""
5588 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
5589 "このような場合は B<symlink>(2)  を使用すること。"
5590
5591 #.  more precisely: since kernel 1.3.56
5592 #.  For example, the default Solaris compilation environment
5593 #.  behaves like Linux, and contributors to a March 2005
5594 #.  thread in the Austin mailing list reported that some
5595 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5596 #. type: Plain text
5597 #: build/C/man2/link.2:354
5598 #, fuzzy
5599 #| msgid ""
5600 #| "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is "
5601 #| "a symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5602 #| "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) "
5603 #| "link to the same symbolic link file (i.e., I<newpath> becomes a symbolic "
5604 #| "link to the same file that I<oldpath> refers to).  Some other "
5605 #| "implementations behave in the same manner as Linux.  POSIX.1-2008 changes "
5606 #| "the specification of B<link>(), making it implementation-dependent "
5607 #| "whether or not I<oldpath> is dereferenced if it is a symbolic link.  For "
5608 #| "precise control over the treatment of symbolic links when creating a "
5609 #| "link, see B<linkat>(2)."
5610 msgid ""
5611 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5612 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5613 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5614 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5615 "the same file that I<oldpath> refers to).  Some other implementations behave "
5616 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5617 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5618 "dereferenced if it is a symbolic link.  For precise control over the "
5619 "treatment of symbolic links when creating a link, use B<linkat>(2)."
5620 msgstr ""
5621 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
5622 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5623 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリックリンク"
5624 "である場合、 I<newpath> は同じシンボリックリンクファイルへの (ハード) リンク"
5625 "として作成される (つまり I<newpath> は I<oldpath> が参照していた同じファイル"
5626 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
5627 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
5628 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
5629 "なった。 リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関して"
5630 "は B<linkat>(2)  を参照のこと。"
5631
5632 #. type: Plain text
5633 #: build/C/man2/link.2:360
5634 msgid ""
5635 "On NFS filesystems, the return code may be wrong in case the NFS server "
5636 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5637 "to find out if the link got created."
5638 msgstr ""
5639 "NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前"
5640 "に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つける"
5641 "ためには B<stat>(2)  を使用すること。"
5642
5643 #. type: Plain text
5644 #: build/C/man2/link.2:369
5645 #, fuzzy
5646 #| msgid ""
5647 #| "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>"
5648 #| "(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5649 msgid ""
5650 "B<ln>(1), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), B<unlink>(2), "
5651 "B<path_resolution>(7), B<symlink>(7)"
5652 msgstr ""
5653 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5654 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5655
5656 #. type: TH
5657 #: build/C/man2/llseek.2:28
5658 #, no-wrap
5659 msgid "LLSEEK"
5660 msgstr "LLSEEK"
5661
5662 #. type: TH
5663 #: build/C/man2/llseek.2:28
5664 #, no-wrap
5665 msgid "2012-07-13"
5666 msgstr "2012-07-13"
5667
5668 #. type: Plain text
5669 #: build/C/man2/llseek.2:31
5670 msgid "_llseek - reposition read/write file offset"
5671 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5672
5673 #. type: Plain text
5674 #: build/C/man2/llseek.2:35
5675 #, no-wrap
5676 msgid ""
5677 "B<#include E<lt>sys/types.hE<gt>>\n"
5678 "B<#include E<lt>unistd.hE<gt>>\n"
5679 msgstr ""
5680 "B<#include E<lt>sys/types.hE<gt>>\n"
5681 "B<#include E<lt>unistd.hE<gt>>\n"
5682
5683 #. type: Plain text
5684 #: build/C/man2/llseek.2:39
5685 #, no-wrap
5686 msgid ""
5687 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5688 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5689 "B<            unsigned int >I<whence>B<);>\n"
5690 msgstr ""
5691 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5692 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5693 "B<            unsigned int >I<whence>B<);>\n"
5694
5695 #. type: Plain text
5696 #: build/C/man2/llseek.2:43
5697 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
5698 msgstr ""
5699 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
5700 "を参照。"
5701
5702 #. type: Plain text
5703 #: build/C/man2/llseek.2:62
5704 msgid ""
5705 "The B<_llseek>()  function repositions the offset of the open file "
5706 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5707 "offset_low> bytes relative to the beginning of the file, the current "
5708 "position in the file, or the end of the file, depending on whether I<whence> "
5709 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5710 "resulting file position in the argument I<result>."
5711 msgstr ""
5712 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
5713 "れたオープンされたファイルのオフセットの位置を、相対的に I<"
5714 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5715 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5716 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5717 "のファイル位置を I<result> 引き数に返す。"
5718
5719 #. type: Plain text
5720 #: build/C/man2/llseek.2:69
5721 msgid ""
5722 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5723 "-1 is returned and I<errno> is set to indicate the error."
5724 msgstr ""
5725 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5726 "エラーを示す I<errno> が設定される。"
5727
5728 #. type: Plain text
5729 #: build/C/man2/llseek.2:74 build/C/man2/lseek.2:192
5730 msgid "I<fd> is not an open file descriptor."
5731 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5732
5733 #. type: Plain text
5734 #: build/C/man2/llseek.2:77
5735 msgid "Problem with copying results to user space."
5736 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5737
5738 #. type: Plain text
5739 #: build/C/man2/llseek.2:81
5740 msgid "I<whence> is invalid."
5741 msgstr "I<whence> が不正である。"
5742
5743 #. type: Plain text
5744 #: build/C/man2/llseek.2:84
5745 msgid ""
5746 "This function is Linux-specific, and should not be used in programs intended "
5747 "to be portable."
5748 msgstr ""
5749 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5750
5751 #. type: Plain text
5752 #: build/C/man2/llseek.2:87
5753 msgid ""
5754 "Glibc does not provide a wrapper for this system call; call it using "
5755 "B<syscall>(2)."
5756 msgstr ""
5757 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5758 "(2)  を使って呼び出すこと。"
5759
5760 #. type: Plain text
5761 #: build/C/man2/llseek.2:90
5762 msgid "B<lseek>(2), B<lseek64>(3)"
5763 msgstr "B<lseek>(2), B<lseek64>(3)"
5764
5765 #. type: TH
5766 #: build/C/man2/lseek.2:47
5767 #, no-wrap
5768 msgid "LSEEK"
5769 msgstr "LSEEK"
5770
5771 #. type: TH
5772 #: build/C/man2/lseek.2:47
5773 #, fuzzy, no-wrap
5774 #| msgid "2013-01-27"
5775 msgid "2014-01-22"
5776 msgstr "2013-01-27"
5777
5778 #. type: Plain text
5779 #: build/C/man2/lseek.2:50
5780 msgid "lseek - reposition read/write file offset"
5781 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5782
5783 #. type: Plain text
5784 #: build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
5785 msgid "B<#include E<lt>sys/types.hE<gt>>"
5786 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5787
5788 #. type: Plain text
5789 #: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/rmdir.2:35
5790 #: build/C/man2/write.2:44
5791 msgid "B<#include E<lt>unistd.hE<gt>>"
5792 msgstr "B<#include E<lt>unistd.hE<gt>>"
5793
5794 #. type: Plain text
5795 #: build/C/man2/lseek.2:56
5796 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5797 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5798
5799 #. type: Plain text
5800 #: build/C/man2/lseek.2:67
5801 msgid ""
5802 "The B<lseek>()  function repositions the offset of the open file associated "
5803 "with the file descriptor I<fd> to the argument I<offset> according to the "
5804 "directive I<whence> as follows:"
5805 msgstr ""
5806 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5807 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5808 "へ以下のように変更する:"
5809
5810 #. type: Plain text
5811 #: build/C/man2/lseek.2:72
5812 msgid "The offset is set to I<offset> bytes."
5813 msgstr "オフセットは I<offset> バイトに設定される。"
5814
5815 #. type: Plain text
5816 #: build/C/man2/lseek.2:77
5817 msgid "The offset is set to its current location plus I<offset> bytes."
5818 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5819
5820 #. type: Plain text
5821 #: build/C/man2/lseek.2:82
5822 msgid "The offset is set to the size of the file plus I<offset> bytes."
5823 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5824
5825 #. type: Plain text
5826 #: build/C/man2/lseek.2:90
5827 msgid ""
5828 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5829 "the file (but this does not change the size of the file).  If data is later "
5830 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5831 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5832 "gap."
5833 msgstr ""
5834 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5835 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5836 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5837 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5838 "される。"
5839
5840 #. type: SS
5841 #: build/C/man2/lseek.2:90
5842 #, no-wrap
5843 msgid "Seeking file data and holes"
5844 msgstr "ファイルのデータとホールの探索"
5845
5846 #. type: Plain text
5847 #: build/C/man2/lseek.2:93
5848 msgid ""
5849 "Since version 3.1, Linux supports the following additional values for "
5850 "I<whence>:"
5851 msgstr ""
5852 "Linux バージョン 3.1 以降では、 I<whence> に以下の値も指定することができる。"
5853
5854 #. type: TP
5855 #: build/C/man2/lseek.2:93
5856 #, no-wrap
5857 msgid "B<SEEK_DATA>"
5858 msgstr "B<SEEK_DATA>"
5859
5860 #. type: Plain text
5861 #: build/C/man2/lseek.2:104
5862 msgid ""
5863 "Adjust the file offset to the next location in the file greater than or "
5864 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5865 "file offset is set to I<offset>."
5866 msgstr ""
5867 "ファイルオフセットを I<offset> 以上で次にデータがある位置に設定する。 "
5868 "I<offset> がデータを指している場合には、 ファイルオフセットは I<offset> に設"
5869 "定される。"
5870
5871 #. type: TP
5872 #: build/C/man2/lseek.2:104
5873 #, no-wrap
5874 msgid "B<SEEK_HOLE>"
5875 msgstr "B<SEEK_HOLE>"
5876
5877 #. type: Plain text
5878 #: build/C/man2/lseek.2:118
5879 msgid ""
5880 "Adjust the file offset to the next hole in the file greater than or equal to "
5881 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5882 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5883 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5884 "hole at the end of any file)."
5885 msgstr ""
5886 "ファイルオフセットを、 位置が I<offset> 以上の次のホール (hole) に設定する。 "
5887 "I<offset> がホールの内部にある場合は、ファイルシステムは I<offset> に設定され"
5888 "る。 I<offset> 以降にホールがない場合は、 ファイルオフセットはファイル末尾に"
5889 "設定される (つまり、 どのファイルの末尾にも暗黙のホールが存在するということ"
5890 "だ)。"
5891
5892 #. type: Plain text
5893 #: build/C/man2/lseek.2:124
5894 msgid ""
5895 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5896 "end of the file."
5897 msgstr ""
5898 "上記のどちらの場合も、 I<offset> がファイル末尾よりも先を指している場合には "
5899 "B<lseek>() は失敗する。"
5900
5901 #. type: Plain text
5902 #: build/C/man2/lseek.2:130
5903 msgid ""
5904 "These operations allow applications to map holes in a sparsely allocated "
5905 "file.  This can be useful for applications such as file backup tools, which "
5906 "can save space when creating backups and preserve holes, if they have a "
5907 "mechanism for discovering holes."
5908 msgstr ""
5909 "これらの操作を使うことで、 アプリケーションが、 まばら (sparse ) にページが割"
5910 "り当てられたファイルでホールをマップすることができる。 この機能はファイルバッ"
5911 "クアップツールなどのアプリケーションで有用である。 ホールを見つける仕組みがあ"
5912 "れば、 ファイルバックアップツールで、 バックアップを作成する際に保存領域を節"
5913 "約し、ホールを保持することができる。"
5914
5915 #.  https://lkml.org/lkml/2011/4/22/79
5916 #.  http://lwn.net/Articles/440255/
5917 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5918 #. type: Plain text
5919 #: build/C/man2/lseek.2:153
5920 msgid ""
5921 "For the purposes of these operations, a hole is a sequence of zeros that "
5922 "(normally) has not been allocated in the underlying file storage.  However, "
5923 "a filesystem is not obliged to report holes, so these operations are not a "
5924 "guaranteed mechanism for mapping the storage space actually allocated to a "
5925 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5926 "the underlying storage may not be reported as a hole.)  In the simplest "
5927 "implementation, a filesystem can support the operations by making "
5928 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5929 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5930 "by I<offset> is a hole, it can be considered to consist of data that is a "
5931 "sequence of zeros)."
5932 msgstr ""
5933 "これらの操作の目的としては、 ホールは (通常は) バックエンドのファイルストレー"
5934 "ジには割り当てられていない連続する 0 の列である。 しかし、ファイルシステムに"
5935 "はホールを報告する義務はなく、 そのため、 これらの操作は、 ファイルに実際に割"
5936 "り当てられたストレージ領域をマッピングする方法としては確実性のある仕組みでは"
5937 "ない。 (また、バックエンドのストレージに実際に書き込まれた連続する 0 の列は"
5938 "ホールとして報告されないこともある。) 最も単純な実装としては、 B<SEEK_HOLE> "
5939 "は常にファイル末尾のオフセットを返すようにし、 B<SEEK_DATA> は常に I<offset> "
5940 "を返すようにすることで、 ファイルシステムはこれらの操作をサポートすることがで"
5941 "きる (B<SEEK_DATA> は常に I<offset> を返すというのは、 I<offset> が参照する場"
5942 "所がホールであったとしても、 連続する 0 の列のデータで構成されているとみなす"
5943 "ということである)。"
5944
5945 #. type: Plain text
5946 #: build/C/man2/lseek.2:162
5947 msgid ""
5948 "The B<_GNU_SOURCE> feature test macro must be defined in order to obtain the "
5949 "definitions of B<SEEK_DATA> and B<SEEK_HOLE> from I<E<lt>unistd.hE<gt>>."
5950 msgstr ""
5951 "I<E<lt>unistd.hE<gt>> から B<SEEK_DATA> と B<SEEK_HOLE> の定義を得るには、 機"
5952 "能検査マクロ B<_GNU_SOURCE> を定義しなければならない。"
5953
5954 #. type: Plain text
5955 #: build/C/man2/lseek.2:168
5956 msgid ""
5957 "The B<SEEK_HOLE> and B<SEEK_DATA> operations are supported for the following "
5958 "filesystems:"
5959 msgstr ""
5960
5961 #. type: Plain text
5962 #: build/C/man2/lseek.2:170
5963 #, fuzzy
5964 #| msgid "B<EPERM> (since Linux 3.6)"
5965 msgid "Btrfs (since Linux 3.1)"
5966 msgstr "B<EPERM> (Linux 3.6 以降)"
5967
5968 #.  commit 93862d5e1ab875664c6cc95254fc365028a48bb1
5969 #. type: Plain text
5970 #: build/C/man2/lseek.2:173
5971 #, fuzzy
5972 #| msgid "B<EPERM> (since Linux 3.6)"
5973 msgid "OCFS (since Linux 3.2)"
5974 msgstr "B<EPERM> (Linux 3.6 以降)"
5975
5976 #. type: Plain text
5977 #: build/C/man2/lseek.2:175
5978 #, fuzzy
5979 #| msgid "B<EPERM> (since Linux 3.6)"
5980 msgid "XFS (since Linux 3.5)"
5981 msgstr "B<EPERM> (Linux 3.6 以降)"
5982
5983 #. type: Plain text
5984 #: build/C/man2/lseek.2:177
5985 #, fuzzy
5986 #| msgid "B<EPERM> (since Linux 3.6)"
5987 msgid "ext4 (since Linux 3.8)"
5988 msgstr "B<EPERM> (Linux 3.6 以降)"
5989
5990 #. type: Plain text
5991 #: build/C/man2/lseek.2:179
5992 #, fuzzy
5993 #| msgid "B<EPERM> (since Linux 3.6)"
5994 msgid "tmpfs (since Linux 3.8)"
5995 msgstr "B<EPERM> (Linux 3.6 以降)"
5996
5997 #. type: Plain text
5998 #: build/C/man2/lseek.2:187
5999 msgid ""
6000 "Upon successful completion, B<lseek>()  returns the resulting offset "
6001 "location as measured in bytes from the beginning of the file.  On error, the "
6002 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
6003 msgstr ""
6004 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
6005 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
6006 "される。"
6007
6008 #.  Some systems may allow negative offsets for character devices
6009 #.  and/or for remote filesystems.
6010 #. type: Plain text
6011 #: build/C/man2/lseek.2:200
6012 msgid ""
6013 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
6014 "beyond the end of a seekable device."
6015 msgstr ""
6016 "I<whence> が有効な値ではない。または、seek の結果、ファイルオフセットが負に\n"
6017 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
6018
6019 #. type: TP
6020 #: build/C/man2/lseek.2:200 build/C/man2/open.2:930
6021 #, no-wrap
6022 msgid "B<EOVERFLOW>"
6023 msgstr "B<EOVERFLOW>"
6024
6025 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
6026 #. type: Plain text
6027 #: build/C/man2/lseek.2:205
6028 msgid "The resulting file offset cannot be represented in an I<off_t>."
6029 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
6030
6031 #. type: TP
6032 #: build/C/man2/lseek.2:205
6033 #, no-wrap
6034 msgid "B<ESPIPE>"
6035 msgstr "B<ESPIPE>"
6036
6037 #. type: Plain text
6038 #: build/C/man2/lseek.2:209
6039 msgid "I<fd> is associated with a pipe, socket, or FIFO."
6040 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
6041
6042 #. type: TP
6043 #: build/C/man2/lseek.2:209 build/C/man2/open.2:918
6044 #, no-wrap
6045 msgid "B<ENXIO>"
6046 msgstr "B<ENXIO>"
6047
6048 #. type: Plain text
6049 #: build/C/man2/lseek.2:217
6050 msgid ""
6051 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
6052 "beyond the end of the file."
6053 msgstr ""
6054 "I<whence> が B<SEEK_DATA> か B<SEEK_HOLE> で、\n"
6055 "現在のファイルオフセットがファイルの末尾を超えた位置である。"
6056
6057 #.  SVr4 documents additional error
6058 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
6059 #. type: Plain text
6060 #: build/C/man2/lseek.2:219 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
6061 #: build/C/man2/write.2:189
6062 msgid "SVr4, 4.3BSD, POSIX.1-2001."
6063 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
6064
6065 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
6066 #. type: Plain text
6067 #: build/C/man2/lseek.2:227
6068 msgid ""
6069 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
6070 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
6071 "next POSIX revision (Issue 8)."
6072 msgstr ""
6073 "B<SEEK_DATA> と B<SEEK_HOLE> は非標準の拡張で、 Solaris, FreeBSD, DragonFly "
6074 "BSD にも存在する。 これらは POSIX の次の版 (Issue 8) に入れるよう提案されてい"
6075 "る。"
6076
6077 #. type: Plain text
6078 #: build/C/man2/lseek.2:231
6079 msgid ""
6080 "Some devices are incapable of seeking and POSIX does not specify which "
6081 "devices must support B<lseek>()."
6082 msgstr ""
6083 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
6084 "に対応すべきかは規定していない。"
6085
6086 #.  Other systems return the number of written characters,
6087 #.  using SEEK_SET to set the counter. (Of written characters.)
6088 #. type: Plain text
6089 #: build/C/man2/lseek.2:238
6090 msgid "On Linux, using B<lseek>()  on a terminal device returns B<ESPIPE>."
6091 msgstr ""
6092 "Linux では、端末 (terminal) デバイスに B<lseek>() を使用すると B<ESPIPE> が返"
6093 "る。"
6094
6095 #. type: Plain text
6096 #: build/C/man2/lseek.2:241
6097 msgid ""
6098 "When converting old code, substitute values for I<whence> with the following "
6099 "macros:"
6100 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
6101
6102 #. type: tbl table
6103 #: build/C/man2/lseek.2:244
6104 #, no-wrap
6105 msgid "old\tnew\n"
6106 msgstr "old \tnew\n"
6107
6108 #. type: tbl table
6109 #: build/C/man2/lseek.2:245
6110 #, no-wrap
6111 msgid "0\tSEEK_SET\n"
6112 msgstr "0\tSEEK_SET\n"
6113
6114 #. type: tbl table
6115 #: build/C/man2/lseek.2:246
6116 #, no-wrap
6117 msgid "1\tSEEK_CUR\n"
6118 msgstr "1\tSEEK_CUR\n"
6119
6120 #. type: tbl table
6121 #: build/C/man2/lseek.2:247
6122 #, no-wrap
6123 msgid "2\tSEEK_END\n"
6124 msgstr "2\tSEEK_END\n"
6125
6126 #. type: tbl table
6127 #: build/C/man2/lseek.2:248
6128 #, no-wrap
6129 msgid "L_SET\tSEEK_SET\n"
6130 msgstr "L_SET\tSEEK_SET\n"
6131
6132 #. type: tbl table
6133 #: build/C/man2/lseek.2:249
6134 #, no-wrap
6135 msgid "L_INCR\tSEEK_CUR\n"
6136 msgstr "L_INCR\tSEEK_CUR\n"
6137
6138 #. type: tbl table
6139 #: build/C/man2/lseek.2:250
6140 #, no-wrap
6141 msgid "L_XTND\tSEEK_END\n"
6142 msgstr "L_XTND\tSEEK_END\n"
6143
6144 #. type: Plain text
6145 #: build/C/man2/lseek.2:262
6146 msgid ""
6147 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
6148 "current file position pointer, so seeking on such files may be subject to "
6149 "race conditions."
6150 msgstr ""
6151 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
6152 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
6153 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
6154
6155 #. type: Plain text
6156 #: build/C/man2/lseek.2:269
6157 msgid ""
6158 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
6159 "B<posix_fallocate>(3)"
6160 msgstr ""
6161 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
6162 "B<posix_fallocate>(3)"
6163
6164 #. type: TH
6165 #: build/C/man3/lseek64.3:25
6166 #, no-wrap
6167 msgid "LSEEK64"
6168 msgstr "LSEEK64"
6169
6170 #. type: TH
6171 #: build/C/man3/lseek64.3:25
6172 #, no-wrap
6173 msgid "2013-08-19"
6174 msgstr "2013-08-19"
6175
6176 #. type: Plain text
6177 #: build/C/man3/lseek64.3:28
6178 msgid "lseek64 - reposition 64-bit read/write file offset"
6179 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
6180
6181 #. type: Plain text
6182 #: build/C/man3/lseek64.3:30
6183 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
6184 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
6185
6186 #. type: Plain text
6187 #: build/C/man3/lseek64.3:36
6188 msgid ""
6189 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
6190 msgstr ""
6191 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
6192
6193 #. type: Plain text
6194 #: build/C/man3/lseek64.3:53
6195 msgid ""
6196 "The B<lseek>(2)  family of functions reposition the offset of the open file "
6197 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
6198 "start, current position, or end of the file, when I<whence> has the value "
6199 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
6200 msgstr ""
6201 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
6202 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
6203 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
6204 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
6205
6206 #. type: Plain text
6207 #: build/C/man3/lseek64.3:56
6208 msgid "For more details, return value, and errors, see B<lseek>(2)."
6209 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
6210
6211 #. type: Plain text
6212 #: build/C/man3/lseek64.3:63
6213 msgid ""
6214 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
6215 "the raw system call B<_llseek>(2)."
6216 msgstr ""
6217 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
6218 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
6219
6220 #. type: SS
6221 #: build/C/man3/lseek64.3:63
6222 #, no-wrap
6223 msgid "lseek"
6224 msgstr "lseek"
6225
6226 #. type: Plain text
6227 #: build/C/man3/lseek64.3:65 build/C/man3/lseek64.3:87
6228 #: build/C/man3/lseek64.3:116
6229 msgid "Prototype:"
6230 msgstr "プロトタイプ:"
6231
6232 #. type: Plain text
6233 #: build/C/man3/lseek64.3:69
6234 #, no-wrap
6235 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
6236 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
6237
6238 #. type: Plain text
6239 #: build/C/man3/lseek64.3:77
6240 msgid ""
6241 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
6242 "architectures, unless one compiles with"
6243 msgstr ""
6244 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
6245 "ビット符号付き型である。 ただし、"
6246
6247 #. type: Plain text
6248 #: build/C/man3/lseek64.3:85
6249 msgid "in which case it is a 64-bit signed type."
6250 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
6251
6252 #. type: SS
6253 #: build/C/man3/lseek64.3:85
6254 #, no-wrap
6255 msgid "lseek64"
6256 msgstr "lseek64"
6257
6258 #. type: Plain text
6259 #: build/C/man3/lseek64.3:91
6260 #, no-wrap
6261 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
6262 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
6263
6264 #. type: Plain text
6265 #: build/C/man3/lseek64.3:102
6266 msgid ""
6267 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
6268 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
6269 "when one compiles with"
6270 msgstr ""
6271 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
6272 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
6273 "ルした場合にのみ使用可能である。"
6274
6275 #. type: Plain text
6276 #: build/C/man3/lseek64.3:106
6277 #, no-wrap
6278 msgid "#define _LARGEFILE64_SOURCE\n"
6279 msgstr "#define _LARGEFILE64_SOURCE\n"
6280
6281 #.  in glibc 2.0.94, not in 2.0.6
6282 #. type: Plain text
6283 #: build/C/man3/lseek64.3:114
6284 msgid ""
6285 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
6286 "be an alias for B<llseek>()."
6287 msgstr ""
6288 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
6289 "アスとして定義されている。"
6290
6291 #. type: SS
6292 #: build/C/man3/lseek64.3:114
6293 #, no-wrap
6294 msgid "llseek"
6295 msgstr "llseek"
6296
6297 #. type: Plain text
6298 #: build/C/man3/lseek64.3:120
6299 #, no-wrap
6300 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
6301 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
6302
6303 #.  in libc 5.0.9, not in 4.7.6
6304 #. type: Plain text
6305 #: build/C/man3/lseek64.3:139
6306 msgid ""
6307 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
6308 "()  is available in libc5 and glibc and works without special defines.  Its "
6309 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
6310 "provide a prototype.  This is bad, since a prototype is needed.  Users "
6311 "should add the above prototype, or something equivalent, to their own "
6312 "source.  When users complained about data loss caused by a miscompilation of "
6313 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
6314 msgstr ""
6315 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
6316 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
6317 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
6318 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
6319 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
6320 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
6321 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
6322
6323 #. type: Plain text
6324 #: build/C/man3/lseek64.3:142
6325 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
6326 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
6327
6328 #. type: Plain text
6329 #: build/C/man3/lseek64.3:146
6330 msgid ""
6331 "This makes this function unusable if one desires a warning-free compilation."
6332 msgstr ""
6333 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
6334
6335 #. type: SS
6336 #: build/C/man3/lseek64.3:146
6337 #, no-wrap
6338 msgid "_llseek"
6339 msgstr "_llseek"
6340
6341 #. type: Plain text
6342 #: build/C/man3/lseek64.3:149
6343 msgid ""
6344 "All the above functions are implemented in terms of this system call.  The "
6345 "prototype is:"
6346 msgstr ""
6347 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
6348 "下の通り:"
6349
6350 #. type: Plain text
6351 #: build/C/man3/lseek64.3:154
6352 #, no-wrap
6353 msgid ""
6354 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
6355 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
6356 msgstr ""
6357 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
6358 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
6359
6360 #. type: Plain text
6361 #: build/C/man3/lseek64.3:159
6362 msgid "For more details, see B<llseek>(2)."
6363 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
6364
6365 #. type: Plain text
6366 #: build/C/man3/lseek64.3:164
6367 msgid "The B<lseek64>()  function is thread-safe."
6368 msgstr "関数 B<lseek64>() はスレッドセーフである。"
6369
6370 #. type: Plain text
6371 #: build/C/man3/lseek64.3:167
6372 msgid "B<llseek>(2), B<lseek>(2)"
6373 msgstr "B<llseek>(2), B<lseek>(2)"
6374
6375 #. type: TH
6376 #: build/C/man2/open.2:51
6377 #, no-wrap
6378 msgid "OPEN"
6379 msgstr "OPEN"
6380
6381 #. type: TH
6382 #: build/C/man2/open.2:51
6383 #, fuzzy, no-wrap
6384 #| msgid "2013-03-17"
6385 msgid "2014-03-16"
6386 msgstr "2013-03-17"
6387
6388 #. type: Plain text
6389 #: build/C/man2/open.2:54
6390 #, fuzzy
6391 #| msgid "open, creat - open and possibly create a file or device"
6392 msgid "open, openat, creat - open and possibly create a file"
6393 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
6394
6395 #. type: Plain text
6396 #: build/C/man2/open.2:59
6397 #, no-wrap
6398 msgid ""
6399 "B<#include E<lt>sys/types.hE<gt>>\n"
6400 "B<#include E<lt>sys/stat.hE<gt>>\n"
6401 "B<#include E<lt>fcntl.hE<gt>>\n"
6402 msgstr ""
6403 "B<#include E<lt>sys/types.hE<gt>>\n"
6404 "B<#include E<lt>sys/stat.hE<gt>>\n"
6405 "B<#include E<lt>fcntl.hE<gt>>\n"
6406
6407 #. type: Plain text
6408 #: build/C/man2/open.2:62
6409 #, no-wrap
6410 msgid ""
6411 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6412 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6413 msgstr ""
6414 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6415 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6416
6417 #. type: Plain text
6418 #: build/C/man2/open.2:64
6419 #, no-wrap
6420 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
6421 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
6422
6423 #. type: Plain text
6424 #: build/C/man2/open.2:68
6425 #, fuzzy, no-wrap
6426 #| msgid ""
6427 #| "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6428 #| "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6429 msgid ""
6430 "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
6431 "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6432 msgstr ""
6433 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6434 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6435
6436 #. type: Plain text
6437 #: build/C/man2/open.2:76
6438 #, fuzzy
6439 #| msgid "B<readlink>():"
6440 msgid "B<openat>():"
6441 msgstr "B<readlink>():"
6442
6443 #. type: Plain text
6444 #: build/C/man2/open.2:98
6445 msgid ""
6446 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
6447 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
6448 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
6449 "by a successful call will be the lowest-numbered file descriptor not "
6450 "currently open for the process."
6451 msgstr ""
6452 "ファイルの I<pathname> を与えると、 B<open>()  はファイルディスクリプタを返"
6453 "す。 ファイルディスクリプタは、この後に続くシステムコール (B<read>(2), "
6454 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
6455 "る。 このシステムコールが成功した場合に返されるファイルディスクリプタは その"
6456 "プロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字"
6457 "のものとなる。"
6458
6459 #. type: Plain text
6460 #: build/C/man2/open.2:110
6461 msgid ""
6462 "By default, the new file descriptor is set to remain open across an B<execve>"
6463 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
6464 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
6465 "to change this default).  The file offset is set to the beginning of the "
6466 "file (see B<lseek>(2))."
6467 msgstr ""
6468 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
6469 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
6470 "ファイルディスクリプタフラグは最初は無効である; 後述の B<O_CLOEXEC> フラグ\n"
6471 "を使うとこのデフォルトを変更することができる)。 ファイルオフセット \n"
6472 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
6473
6474 #. type: Plain text
6475 #: build/C/man2/open.2:129
6476 msgid ""
6477 "A call to B<open>()  creates a new I<open file description>, an entry in the "
6478 "system-wide table of open files.  This entry records the file offset and the "
6479 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
6480 "file descriptor is a reference to one of these entries; this reference is "
6481 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
6482 "different file.  The new open file description is initially not shared with "
6483 "any other process, but sharing may arise via B<fork>(2)."
6484 msgstr ""
6485 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
6486 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
6487 "のエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ "
6488 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイルディスクリ"
6489 "プタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除され"
6490 "たり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けな"
6491 "い。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていない"
6492 "が、 B<fork>(2)  で共有が起こる場合がある。"
6493
6494 #. type: Plain text
6495 #: build/C/man2/open.2:137
6496 msgid ""
6497 "The argument I<flags> must include one of the following I<access modes>: "
6498 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
6499 "only, write-only, or read/write, respectively."
6500 msgstr ""
6501 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
6502 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
6503 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
6504
6505 #.  SUSv4 divides the flags into:
6506 #.  * Access mode
6507 #.  * File creation
6508 #.  * File status
6509 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
6510 #.  though it's not clear what the difference between "other" and
6511 #.  "File creation" flags is.  I raised an Aardvark to see if this
6512 #.  can be clarified in SUSv4; 10 Oct 2008.
6513 #.  http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67
6514 #.  TC1 (balloted in 2013), resolved this, so that those three constants
6515 #.  are also categorized" as file status flags.
6516 #. type: Plain text
6517 #: build/C/man2/open.2:176
6518 #, fuzzy
6519 #| msgid ""
6520 #| "In addition, zero or more file creation flags and file status flags can "
6521 #| "be bitwise-I<or>'d in I<flags>.  The I<file creation flags> are "
6522 #| "B<O_CLOEXEC>, B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, "
6523 #| "B<O_NOFOLLOW>, B<O_TRUNC>, and B<O_TTY_INIT>.  The I<file status flags> "
6524 #| "are all of the remaining flags listed below.  The distinction between "
6525 #| "these two groups of flags is that the file status flags can be retrieved "
6526 #| "and (in some cases)  modified using B<fcntl>(2).  The full list of file "
6527 #| "creation flags and file status flags is as follows:"
6528 msgid ""
6529 "In addition, zero or more file creation flags and file status flags can be "
6530 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CLOEXEC>, "
6531 "B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, "
6532 "B<O_TMPFILE>, B<O_TRUNC>, and B<O_TTY_INIT>.  The I<file status flags> are "
6533 "all of the remaining flags listed below.  The distinction between these two "
6534 "groups of flags is that the file status flags can be retrieved and (in some "
6535 "cases)  modified; see B<fcntl>(2)  for details."
6536 msgstr ""
6537 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
6538 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
6539 "定することができる。 I<ファイル作成フラグ> は B<O_CLOEXEC>, B<O_CREAT>, "
6540 "B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, B<O_TRUNC>, "
6541 "B<O_TTY_INIT> である。 I<ファイル状態フラグ> は以下のリストのうち上記以外の残"
6542 "りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は B<fcntl>"
6543 "(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点にあ"
6544 "る。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
6545
6546 #. type: Plain text
6547 #: build/C/man2/open.2:178
6548 msgid ""
6549 "The full list of file creation flags and file status flags is as follows:"
6550 msgstr ""
6551
6552 #. type: TP
6553 #: build/C/man2/open.2:178
6554 #, no-wrap
6555 msgid "B<O_APPEND>"
6556 msgstr "B<O_APPEND>"
6557
6558 #.  For more background, see
6559 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
6560 #.  http://nfs.sourceforge.net/
6561 #. type: Plain text
6562 #: build/C/man2/open.2:195
6563 msgid ""
6564 "The file is opened in append mode.  Before each B<write>(2), the file offset "
6565 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
6566 "may lead to corrupted files on NFS filesystems if more than one process "
6567 "appends data to a file at once.  This is because NFS does not support "
6568 "appending to a file, so the client kernel has to simulate it, which can't be "
6569 "done without a race condition."
6570 msgstr ""
6571 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
6572 "B<lseek>(2)  を行ったかのように、ファイルポインタをファイルの最後に移動す"
6573 "る。 NFS ファイルシステムで、 B<O_APPEND> を使用すると、複数のプロセスがひと"
6574 "つのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
6575 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
6576 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
6577 "とはできないからである。"
6578
6579 #. type: TP
6580 #: build/C/man2/open.2:195
6581 #, no-wrap
6582 msgid "B<O_ASYNC>"
6583 msgstr "B<O_ASYNC>"
6584
6585 #. type: Plain text
6586 #: build/C/man2/open.2:209
6587 #, fuzzy
6588 #| msgid ""
6589 #| "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but "
6590 #| "this can be changed via B<fcntl>(2))  when input or output becomes "
6591 #| "possible on this file descriptor.  This feature is available only for "
6592 #| "terminals, pseudoterminals, sockets, and (since Linux 2.6) pipes and "
6593 #| "FIFOs.  See B<fcntl>(2)  for further details."
6594 msgid ""
6595 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
6596 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
6597 "this file descriptor.  This feature is available only for terminals, "
6598 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
6599 "B<fcntl>(2)  for further details.  See also BUGS, below."
6600 msgstr ""
6601 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
6602 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
6603 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
6604 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
6605 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
6606
6607 #. type: TP
6608 #: build/C/man2/open.2:209
6609 #, fuzzy, no-wrap
6610 #| msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
6611 msgid "B<O_CLOEXEC> (since Linux 2.6.23)"
6612 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
6613
6614 #.  This flag fixes only one form of the race condition;
6615 #.  The race can also occur with, for example, descriptors
6616 #.  returned by accept(), pipe(), etc.
6617 #. type: Plain text
6618 #: build/C/man2/open.2:234
6619 msgid ""
6620 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
6621 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
6622 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
6623 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
6624 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
6625 "race conditions where one thread opens a file descriptor at the same time as "
6626 "another thread does a B<fork>(2)  plus B<execve>(2)."
6627 msgstr ""
6628 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
6629 "フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
6630 "B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
6631 "チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
6632 "B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
6633 "も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
6634 "が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
6635 "はないからである。"
6636
6637 #. type: TP
6638 #: build/C/man2/open.2:234
6639 #, no-wrap
6640 msgid "B<O_CREAT>"
6641 msgstr "B<O_CREAT>"
6642
6643 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
6644 #.  XFS (since 2.6.14).
6645 #. type: Plain text
6646 #: build/C/man2/open.2:250
6647 #, fuzzy
6648 #| msgid ""
6649 #| "If the file does not exist it will be created.  The owner (user ID) of "
6650 #| "the file is set to the effective user ID of the process.  The group "
6651 #| "ownership (group ID) is set either to the effective group ID of the "
6652 #| "process or to the group ID of the parent directory (depending on "
6653 #| "filesystem type and mount options, and the mode of the parent directory, "
6654 #| "see the mount options I<bsdgroups> and I<sysvgroups> described in B<mount>"
6655 #| "(8))."
6656 msgid ""
6657 "If the file does not exist it will be created.  The owner (user ID) of the "
6658 "file is set to the effective user ID of the process.  The group ownership "
6659 "(group ID) is set either to the effective group ID of the process or to the "
6660 "group ID of the parent directory (depending on filesystem type and mount "
6661 "options, and the mode of the parent directory; see the mount options "
6662 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
6663 msgstr ""
6664 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
6665 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
6666 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
6667 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
6668 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
6669 "I<bsdgroups> と I<sysvgroups> を参照)。"
6670
6671 #. type: Plain text
6672 #: build/C/man2/open.2:277
6673 #, fuzzy
6674 #| msgid ""
6675 #| "I<mode> specifies the permissions to use in case a new file is created.  "
6676 #| "This argument must be supplied when B<O_CREAT> is specified in I<flags>; "
6677 #| "if B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
6678 #| "permissions are modified by the process's I<umask> in the usual way: The "
6679 #| "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that "
6680 #| "this mode applies only to future accesses of the newly created file; the "
6681 #| "B<open>()  call that creates a read-only file may well return a read/"
6682 #| "write file descriptor."
6683 msgid ""
6684 "I<mode> specifies the permissions to use in case a new file is created.  "
6685 "This argument must be supplied when B<O_CREAT> or B<O_TMPFILE> is specified "
6686 "in I<flags>; if neither B<O_CREAT> nor B<O_TMPFILE> is specified, then "
6687 "I<mode> is ignored.  The effective permissions are modified by the process's "
6688 "I<umask> in the usual way: The permissions of the created file are I<(mode\\ "
6689 "&\\ ~umask)>.  Note that this mode applies only to future accesses of the "
6690 "newly created file; the B<open>()  call that creates a read-only file may "
6691 "well return a read/write file descriptor."
6692 msgstr ""
6693 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
6694 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
6695 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
6696 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
6697 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
6698 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
6699 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
6700 "可能なファイルディスクリプタを返すことがありうる。"
6701
6702 #. type: Plain text
6703 #: build/C/man2/open.2:280
6704 msgid "The following symbolic constants are provided for I<mode>:"
6705 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6706
6707 #. type: TP
6708 #: build/C/man2/open.2:280
6709 #, no-wrap
6710 msgid "B<S_IRWXU>"
6711 msgstr "B<S_IRWXU>"
6712
6713 #. type: Plain text
6714 #: build/C/man2/open.2:283
6715 msgid "00700 user (file owner) has read, write and execute permission"
6716 msgstr ""
6717 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6718
6719 #. type: TP
6720 #: build/C/man2/open.2:283
6721 #, no-wrap
6722 msgid "B<S_IRUSR>"
6723 msgstr "B<S_IRUSR>"
6724
6725 #. type: Plain text
6726 #: build/C/man2/open.2:286
6727 msgid "00400 user has read permission"
6728 msgstr "00400 ユーザーに読み込みの許可がある。"
6729
6730 #. type: TP
6731 #: build/C/man2/open.2:286
6732 #, no-wrap
6733 msgid "B<S_IWUSR>"
6734 msgstr "B<S_IWUSR>"
6735
6736 #. type: Plain text
6737 #: build/C/man2/open.2:289
6738 msgid "00200 user has write permission"
6739 msgstr "00200 ユーザーに書き込みの許可がある。"
6740
6741 #. type: TP
6742 #: build/C/man2/open.2:289
6743 #, no-wrap
6744 msgid "B<S_IXUSR>"
6745 msgstr "B<S_IXUSR>"
6746
6747 #. type: Plain text
6748 #: build/C/man2/open.2:292
6749 msgid "00100 user has execute permission"
6750 msgstr "00100 ユーザーに実行の許可がある。"
6751
6752 #. type: TP
6753 #: build/C/man2/open.2:292
6754 #, no-wrap
6755 msgid "B<S_IRWXG>"
6756 msgstr "B<S_IRWXG>"
6757
6758 #. type: Plain text
6759 #: build/C/man2/open.2:295
6760 msgid "00070 group has read, write and execute permission"
6761 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6762
6763 #. type: TP
6764 #: build/C/man2/open.2:295
6765 #, no-wrap
6766 msgid "B<S_IRGRP>"
6767 msgstr "B<S_IRGRP>"
6768
6769 #. type: Plain text
6770 #: build/C/man2/open.2:298
6771 msgid "00040 group has read permission"
6772 msgstr "00040 グループに読み込みの許可がある。"
6773
6774 #. type: TP
6775 #: build/C/man2/open.2:298
6776 #, no-wrap
6777 msgid "B<S_IWGRP>"
6778 msgstr "B<S_IWGRP>"
6779
6780 #. type: Plain text
6781 #: build/C/man2/open.2:301
6782 msgid "00020 group has write permission"
6783 msgstr "00020 グループに書き込みの許可がある。"
6784
6785 #. type: TP
6786 #: build/C/man2/open.2:301
6787 #, no-wrap
6788 msgid "B<S_IXGRP>"
6789 msgstr "B<S_IXGRP>"
6790
6791 #. type: Plain text
6792 #: build/C/man2/open.2:304
6793 msgid "00010 group has execute permission"
6794 msgstr "00010 グループに実行の許可がある。"
6795
6796 #. type: TP
6797 #: build/C/man2/open.2:304
6798 #, no-wrap
6799 msgid "B<S_IRWXO>"
6800 msgstr "B<S_IRWXO>"
6801
6802 #. type: Plain text
6803 #: build/C/man2/open.2:307
6804 msgid "00007 others have read, write and execute permission"
6805 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6806
6807 #. type: TP
6808 #: build/C/man2/open.2:307
6809 #, no-wrap
6810 msgid "B<S_IROTH>"
6811 msgstr "B<S_IROTH>"
6812
6813 #. type: Plain text
6814 #: build/C/man2/open.2:310
6815 msgid "00004 others have read permission"
6816 msgstr "00004 他人に読み込みの許可がある。"
6817
6818 #. type: TP
6819 #: build/C/man2/open.2:310
6820 #, no-wrap
6821 msgid "B<S_IWOTH>"
6822 msgstr "B<S_IWOTH>"
6823
6824 #. type: Plain text
6825 #: build/C/man2/open.2:313
6826 msgid "00002 others have write permission"
6827 msgstr "00002 他人に書き込みの許可がある。"
6828
6829 #. type: TP
6830 #: build/C/man2/open.2:313
6831 #, no-wrap
6832 msgid "B<S_IXOTH>"
6833 msgstr "B<S_IXOTH>"
6834
6835 #. type: Plain text
6836 #: build/C/man2/open.2:316
6837 msgid "00001 others have execute permission"
6838 msgstr "00001 他人に実行の許可がある。"
6839
6840 #. type: TP
6841 #: build/C/man2/open.2:317
6842 #, fuzzy, no-wrap
6843 #| msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6844 msgid "B<O_DIRECT> (since Linux 2.4.10)"
6845 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6846
6847 #. type: Plain text
6848 #: build/C/man2/open.2:334
6849 msgid ""
6850 "Try to minimize cache effects of the I/O to and from this file.  In general "
6851 "this will degrade performance, but it is useful in special situations, such "
6852 "as when applications do their own caching.  File I/O is done directly to/"
6853 "from user-space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6854 "transfer data synchronously, but does not give the guarantees of the "
6855 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6856 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6857 "B<O_DIRECT>.  See NOTES below for further discussion."
6858 msgstr ""
6859 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを"
6860 "使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを"
6861 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6862 "ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
6863 "はするが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証される"
6864 "わけではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を"
6865 "使用しなければならない。下記の「注意」の節の議論も参照。"
6866
6867 #. type: Plain text
6868 #: build/C/man2/open.2:338
6869 msgid ""
6870 "A semantically similar (but deprecated) interface for block devices is "
6871 "described in B<raw>(8)."
6872 msgstr ""
6873 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6874 "れている (但し、このインタフェースは非推奨である)。"
6875
6876 #. type: TP
6877 #: build/C/man2/open.2:338
6878 #, no-wrap
6879 msgid "B<O_DIRECTORY>"
6880 msgstr "B<O_DIRECTORY>"
6881
6882 #.  But see the following and its replies:
6883 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6884 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6885 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6886 #. type: Plain text
6887 #: build/C/man2/open.2:350
6888 msgid ""
6889 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6890 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6891 "service problems if B<opendir>(3)  is called on a FIFO or tape device."
6892 msgstr ""
6893 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6894 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6895 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6896 "加された。"
6897
6898 #. type: TP
6899 #: build/C/man2/open.2:350
6900 #, fuzzy, no-wrap
6901 #| msgid "B<O_SYNC>"
6902 msgid "B<O_DSYNC>"
6903 msgstr "B<O_SYNC>"
6904
6905 #. type: Plain text
6906 #: build/C/man2/open.2:356
6907 msgid ""
6908 "Write operations on the file will complete according to the requirements of "
6909 "synchronized I/O I<data> integrity completion."
6910 msgstr ""
6911
6912 #. type: Plain text
6913 #: build/C/man2/open.2:368
6914 msgid ""
6915 "By the time B<write>(2)  (and similar)  return, the output data has been "
6916 "transferred to the underlying hardware, along with any file metadata that "
6917 "would be required to retrieve that data (i.e., as though each B<write>(2)  "
6918 "was followed by a call to B<fdatasync>(2)).  I<See NOTES below>."
6919 msgstr ""
6920
6921 #. type: TP
6922 #: build/C/man2/open.2:368
6923 #, no-wrap
6924 msgid "B<O_EXCL>"
6925 msgstr "B<O_EXCL>"
6926
6927 #. type: Plain text
6928 #: build/C/man2/open.2:378
6929 msgid ""
6930 "Ensure that this call creates the file: if this flag is specified in "
6931 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6932 "will fail."
6933 msgstr ""
6934 "この呼び出しでファイルが作成されることを保証する。このフラグが B<O_CREAT> "
6935 "と\n"
6936 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>() は失"
6937 "敗\n"
6938 "する。"
6939
6940 #.  POSIX.1-2001 explicitly requires this behavior.
6941 #. type: Plain text
6942 #: build/C/man2/open.2:386
6943 msgid ""
6944 "When these two flags are specified, symbolic links are not followed: if "
6945 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6946 "the symbolic link points to."
6947 msgstr ""
6948 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6949 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6950 "かに関わらず B<open>()  は失敗する。"
6951
6952 #. type: Plain text
6953 #: build/C/man2/open.2:402
6954 msgid ""
6955 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6956 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6957 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6958 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6959 "the error B<EBUSY>."
6960 msgstr ""
6961 "一般的には、 B<O_CREAT> を指定せずに B<O_EXCL> を使用した場合の\n"
6962 "B<O_EXCL> の動作は規定されていない。\n"
6963 "これには一つ例外があり、Linux 2.6 以降では、\n"
6964 "I<pathname> がブロックデバイスを参照している場合、\n"
6965 "B<O_CREAT> なしで B<O_EXCL> を使用することができる。\n"
6966 "システムがそのブロックデバイスを使用中の場合 (例えば、\n"
6967 "マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
6968
6969 #. type: Plain text
6970 #: build/C/man2/open.2:424
6971 msgid ""
6972 "On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 "
6973 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6974 "programs that rely on it for performing locking tasks will contain a race "
6975 "condition.  Portable programs that want to perform atomic file locking using "
6976 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6977 "create a unique file on the same filesystem (e.g., incorporating hostname "
6978 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6979 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6980 "unique file to check if its link count has increased to 2, in which case the "
6981 "lock is also successful."
6982 msgstr ""
6983 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6984 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6985 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6986 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6987 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6988 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6989 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6990 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6991 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6992 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6993 "じくロックに成功しているということである。"
6994
6995 #. type: TP
6996 #: build/C/man2/open.2:424
6997 #, no-wrap
6998 msgid "B<O_LARGEFILE>"
6999 msgstr "B<O_LARGEFILE>"
7000
7001 #. type: Plain text
7002 #: build/C/man2/open.2:446
7003 msgid ""
7004 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
7005 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
7006 "macro must be defined (before including I<any> header files)  in order to "
7007 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
7008 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
7009 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
7010 msgstr ""
7011 "(LFS) I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる)"
7012 "ファ\n"
7013 "イルをオープン可能にする。この定義を有効にするためには、(I<どの>ヘッダファ"
7014 "イ\n"
7015 "ルをインクルードするよりも前に) B<_LARGEFILE64_SOURCE> マクロを定義しなけれ"
7016 "ば\n"
7017 "ならない。\n"
7018 "32 ビットシステムにおいて大きなファイルにアクセスしたい場合、\n"
7019 "(B<O_LARGEFILE> を使うよりも) B<_FILE_OFFSET_BITS> 機能検査マクロを 64 に\n"
7020 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
7021
7022 #. type: TP
7023 #: build/C/man2/open.2:446
7024 #, fuzzy, no-wrap
7025 #| msgid "B<O_NOATIME> (Since Linux 2.6.8)"
7026 msgid "B<O_NOATIME> (since Linux 2.6.8)"
7027 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
7028
7029 #.  The O_NOATIME flag also affects the treatment of st_atime
7030 #.  by mmap() and readdir(2), MTK, Dec 04.
7031 #. type: Plain text
7032 #: build/C/man2/open.2:459
7033 msgid ""
7034 "Do not update the file last access time (I<st_atime> in the inode)  when the "
7035 "file is B<read>(2).  This flag is intended for use by indexing or backup "
7036 "programs, where its use can significantly reduce the amount of disk "
7037 "activity.  This flag may not be effective on all filesystems.  One example "
7038 "is NFS, where the server maintains the access time."
7039 msgstr ""
7040 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
7041 "I<st_atime>) を更新しない。 このフラグはインデックス作成やバックアッププログ"
7042 "ラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らす"
7043 "ことができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
7044 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
7045
7046 #. type: TP
7047 #: build/C/man2/open.2:459
7048 #, no-wrap
7049 msgid "B<O_NOCTTY>"
7050 msgstr "B<O_NOCTTY>"
7051
7052 #. type: Plain text
7053 #: build/C/man2/open.2:467
7054 msgid ""
7055 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will not "
7056 "become the process's controlling terminal even if the process does not have "
7057 "one."
7058 msgstr ""
7059 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
7060 "る\n"
7061 "場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイ"
7062 "ル\n"
7063 "は制御端末にはならない。"
7064
7065 #. type: TP
7066 #: build/C/man2/open.2:467
7067 #, no-wrap
7068 msgid "B<O_NOFOLLOW>"
7069 msgstr "B<O_NOFOLLOW>"
7070
7071 #.  The headers from glibc 2.0.100 and later include a
7072 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
7073 #.  used\fP.
7074 #. type: Plain text
7075 #: build/C/man2/open.2:479
7076 #, fuzzy
7077 #| msgid ""
7078 #| "If I<pathname> is a symbolic link, then the open fails.  This is a "
7079 #| "FreeBSD extension, which was added to Linux in version 2.1.126.  Symbolic "
7080 #| "links in earlier components of the pathname will still be followed.  See "
7081 #| "also B<O_NOPATH> below."
7082 msgid ""
7083 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
7084 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
7085 "earlier components of the pathname will still be followed.  See also "
7086 "B<O_PATH> below."
7087 msgstr ""
7088 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
7089 "FreeBSD の拡張で、Linux には バージョン 2.1.126 で追加された。 このフラグが指"
7090 "定された場合でも I<pathname> の前の方の要素 (最後のディレクトリセパレータより"
7091 "前の部分) にあるシンボリックリンクについてはリンクが辿られる。 下記の "
7092 "B<O_PATH> も参照のこと。"
7093
7094 #. type: TP
7095 #: build/C/man2/open.2:479
7096 #, no-wrap
7097 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
7098 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
7099
7100 #. type: Plain text
7101 #: build/C/man2/open.2:492
7102 msgid ""
7103 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
7104 "()  nor any subsequent operations on the file descriptor which is returned "
7105 "will cause the calling process to wait.  For the handling of FIFOs (named "
7106 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
7107 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
7108 "see B<fcntl>(2)."
7109 msgstr ""
7110 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
7111 "B<open>() も、返したファイルディスクリプタに対する以後のすべての操作も呼び"
7112 "出\n"
7113 "したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
7114 "B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
7115 "イ\n"
7116 "ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
7117 "議論は、 B<fcntl>(2) を参照すること。"
7118
7119 #. type: TP
7120 #: build/C/man2/open.2:492
7121 #, no-wrap
7122 msgid "B<O_PATH> (since Linux 2.6.39)"
7123 msgstr "B<O_PATH> (Linux 2.6.39 以降)"
7124
7125 #
7126 #.  commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
7127 #.  commit 326be7b484843988afe57566b627fb7a70beac56
7128 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
7129 #.  http://thread.gmane.org/gmane.linux.man/2790/focus=3496
7130 #.      Subject: Re: [PATCH] open(2): document O_PATH
7131 #.      Newsgroups: gmane.linux.man, gmane.linux.kernel
7132 #. type: Plain text
7133 #: build/C/man2/open.2:514
7134 msgid ""
7135 "Obtain a file descriptor that can be used for two purposes: to indicate a "
7136 "location in the filesystem tree and to perform operations that act purely at "
7137 "the file descriptor level.  The file itself is not opened, and other file "
7138 "operations (e.g., B<read>(2), B<write>(2), B<fchmod>(2), B<fchown>(2), "
7139 "B<fgetxattr>(2), B<mmap>(2))  fail with the error B<EBADF>."
7140 msgstr ""
7141 "このフラグを指定して取得したファイルディスクリプタは、 ファイルシステムツリー"
7142 "内での場所を示すため、 純粋にファイルディスクリプタレベルでの作用する操作を実"
7143 "行するため、 の二つの目的で使用することができる。 ファイル自身はオープンされ"
7144 "ず、 他のファイル操作 (例えば B<read>(2), B<write>(2), B<fchmod>(2), "
7145 "B<fchown>(2), B<fgetxattr>(2), B<mmap>(2)) はエラー B<EBADF> で失敗する。"
7146
7147 #. type: Plain text
7148 #: build/C/man2/open.2:518
7149 msgid ""
7150 "The following operations I<can> be performed on the resulting file "
7151 "descriptor:"
7152 msgstr ""
7153 "取得したファイルディスクリプタに対して以下の操作を行うことが「できる」。"
7154
7155 #.  commit 332a2e1244bd08b9e3ecd378028513396a004a24
7156 #.  fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
7157 #. type: Plain text
7158 #: build/C/man2/open.2:527
7159 msgid ""
7160 "B<close>(2); B<fchdir>(2)  (since Linux 3.5); B<fstat>(2)  (since Linux 3.6)."
7161 msgstr ""
7162 "B<close>(2); B<fchdir>(2)  (Linux 3.5 以降); B<fstat>(2)  (Linux 3.6 以降)"
7163
7164 #. type: Plain text
7165 #: build/C/man2/open.2:533
7166 msgid ""
7167 "Duplicating the file descriptor (B<dup>(2), B<fcntl>(2)  B<F_DUPFD>, etc.)."
7168 msgstr "ファイルディスクリプタの複製 (B<dup>(2), B<fcntl>(2)  B<F_DUPFD> など)"
7169
7170 #. type: Plain text
7171 #: build/C/man2/open.2:539
7172 msgid ""
7173 "Getting and setting file descriptor flags (B<fcntl>(2)  B<F_GETFD> and "
7174 "B<F_SETFD>)."
7175 msgstr ""
7176 "ファイルディスクリプタフラグの取得と設定 (B<fcntl>(2) の B<F_GETFD> と "
7177 "B<F_SETFD>)"
7178
7179 #. type: Plain text
7180 #: build/C/man2/open.2:545
7181 msgid ""
7182 "Retrieving open file status flags using the B<fcntl>(2)  B<F_GETFL> "
7183 "operation: the returned flags will include the bit B<O_PATH>."
7184 msgstr ""
7185 "B<fcntl>(2) の B<F_GETFL> 操作を使ったオープンされたファイルの状態フラグの取"
7186 "得。 返されるフラグには B<O_PATH> ビットが含まれる。"
7187
7188 #. type: Plain text
7189 #: build/C/man2/open.2:552
7190 msgid ""
7191 "Passing the file descriptor as the I<dirfd> argument of B<openat>(2)  and "
7192 "the other \"*at()\" system calls."
7193 msgstr ""
7194 "B<openat>(2) や他の \"*at()\" 系のシステムコールの I<dirfd> 引数としてその"
7195 "ファイルディスクリプタを渡す。"
7196
7197 #. type: Plain text
7198 #: build/C/man2/open.2:558
7199 msgid ""
7200 "Passing the file descriptor to another process via a UNIX domain socket (see "
7201 "B<SCM_RIGHTS> in B<unix>(7))."
7202 msgstr ""
7203 "そのファイルディスクリプタを別のプロセスに UNIX ドメインソケット経由で渡す。 "
7204 "(B<unix>(7) の B<SCM_RIGHTS> を参照)"
7205
7206 #. type: Plain text
7207 #: build/C/man2/open.2:569
7208 msgid ""
7209 "When B<O_PATH> is specified in I<flags>, flag bits other than B<O_DIRECTORY> "
7210 "and B<O_NOFOLLOW> are ignored."
7211 msgstr ""
7212 "I<flags> に B<O_PATH> が指定された場合、 B<O_DIRECTORY> と B<O_NOFOLLOW> 以外"
7213 "のフラグビットは無視される。"
7214
7215 #. type: Plain text
7216 #: build/C/man2/open.2:585
7217 #, fuzzy
7218 #| msgid ""
7219 #| "If the B<O_NOFOLLOW> flag is also specified, then the call returns a file "
7220 #| "descriptor referring to the symbolic link.  This file descriptor can be "
7221 #| "used as the I<dirfd> argument in calls to B<fchownat>(2), B<fstatat>(2), "
7222 #| "B<linkat>(2), and B<readlinkat>(2)  with an empty pathname to have the "
7223 #| "calls operate on the symbolic link."
7224 msgid ""
7225 "If I<pathname> is a symbolic link and the B<O_NOFOLLOW> flag is also "
7226 "specified, then the call returns a file descriptor referring to the symbolic "
7227 "link.  This file descriptor can be used as the I<dirfd> argument in calls to "
7228 "B<fchownat>(2), B<fstatat>(2), B<linkat>(2), and B<readlinkat>(2)  with an "
7229 "empty pathname to have the calls operate on the symbolic link."
7230 msgstr ""
7231 "B<O_NOFOLLOW> フラグも合わせて指定された場合、 この呼び出しではシンボリックリ"
7232 "ンクを参照するファイルディスクリプタを返す。 このファイルディスクリプタは、 "
7233 "空のパス名を指定した B<fchownat>(2), B<fstatat>(2), B<linkat>(2), "
7234 "B<readlinkat>(2) の呼び出しで I<dirfd> 引数として使うことで、 そのシンボリッ"
7235 "クリンクに対して操作を行うことができる。"
7236
7237 #. type: TP
7238 #: build/C/man2/open.2:585
7239 #, no-wrap
7240 msgid "B<O_SYNC>"
7241 msgstr "B<O_SYNC>"
7242
7243 #. type: Plain text
7244 #: build/C/man2/open.2:597
7245 msgid ""
7246 "Write operations on the file will complete according to the requirements of "
7247 "synchronized I/O I<file> integrity completion (by contrast with contrast "
7248 "with the synchronized I/O I<data> integrity completion provided by "
7249 "B<O_DSYNC>.)"
7250 msgstr ""
7251
7252 #. type: Plain text
7253 #: build/C/man2/open.2:608
7254 msgid ""
7255 "By the time B<write>(2)  (and similar)  return, the output data and "
7256 "associated file metadata have been transferred to the underlying hardware (i."
7257 "e., as though each B<write>(2)  was followed by a call to B<fsync>(2)).  "
7258 "I<See NOTES below>."
7259 msgstr ""
7260
7261 #. type: TP
7262 #: build/C/man2/open.2:608
7263 #, fuzzy, no-wrap
7264 #| msgid "B<EPERM> (since Linux 3.6)"
7265 msgid "B<O_TMPFILE> (since Linux 3.11)"
7266 msgstr "B<EPERM> (Linux 3.6 以降)"
7267
7268 #.  commit 60545d0d4610b02e55f65d141c95b18ccf855b6e
7269 #.  commit f4e0c30c191f87851c4a53454abb55ee276f4a7e
7270 #.  commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd
7271 #. type: Plain text
7272 #: build/C/man2/open.2:620
7273 msgid ""
7274 "Create an unnamed temporary file.  The I<pathname> argument specifies a "
7275 "directory; an unnamed inode will be created in that directory's filesystem.  "
7276 "Anything written to the resulting file will be lost when the last file "
7277 "descriptor is closed, unless the file is given a name."
7278 msgstr ""
7279
7280 #. type: Plain text
7281 #: build/C/man2/open.2:634
7282 msgid ""
7283 "B<O_TMPFILE> must be specified with one of B<O_RDWR> or B<O_WRONLY> and, "
7284 "optionally, B<O_EXCL>.  If B<O_EXCL> is not specified, then B<linkat>(2)  "
7285 "can be used to link the temporary file into the filesystem, making it "
7286 "permanent, using code like the following:"
7287 msgstr ""
7288
7289 #. type: Plain text
7290 #: build/C/man2/open.2:640
7291 #, no-wrap
7292 msgid ""
7293 "char path[PATH_MAX];\n"
7294 "fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
7295 "                        S_IRUSR | S_IWUSR);\n"
7296 msgstr ""
7297
7298 #. type: Plain text
7299 #: build/C/man2/open.2:642
7300 #, no-wrap
7301 msgid "/* File I/O on 'fd'... */\n"
7302 msgstr ""
7303
7304 #. type: Plain text
7305 #: build/C/man2/open.2:646
7306 #, no-wrap
7307 msgid ""
7308 "snprintf(path, PATH_MAX,  \"/proc/self/fd/%d\", fd);\n"
7309 "linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
7310 "                        AT_SYMLINK_FOLLOW);\n"
7311 msgstr ""
7312
7313 #. type: Plain text
7314 #: build/C/man2/open.2:655
7315 msgid ""
7316 "In this case, the B<open>()  I<mode> argument determines the file permission "
7317 "mode, as with B<O_CREAT>."
7318 msgstr ""
7319
7320 #. type: Plain text
7321 #: build/C/man2/open.2:667
7322 msgid ""
7323 "Specifying B<O_EXCL> in conjunction with B<O_TMPFILE> prevents a temporary "
7324 "file from being linked into the filesystem in the above manner.  (Note that "
7325 "the meaning of B<O_EXCL> in this case is different from the meaning of "
7326 "B<O_EXCL> otherwise.)"
7327 msgstr ""
7328
7329 #.  Inspired by http://lwn.net/Articles/559147/
7330 #. type: Plain text
7331 #: build/C/man2/open.2:672
7332 msgid "There are two main use cases for B<O_TMPFILE>:"
7333 msgstr ""
7334
7335 #. type: Plain text
7336 #: build/C/man2/open.2:681
7337 msgid ""
7338 "Improved B<tmpfile>(3)  functionality: race-free creation of temporary files "
7339 "that (1) are automatically deleted when closed; (2) can never be reached via "
7340 "any pathname; (3) are not subject to symlink attacks; and (4) do not require "
7341 "the caller to devise unique names."
7342 msgstr ""
7343
7344 #. type: Plain text
7345 #: build/C/man2/open.2:692
7346 msgid ""
7347 "Creating a file that is initially invisible, which is then populated with "
7348 "data and adjusted to have appropriate filesystem attributes (B<chown>(2), "
7349 "B<chmod>(2), B<fsetxattr>(2), etc.)  before being atomically linked into the "
7350 "filesystem in a fully formed state (using B<linkat>(2)  as described above)."
7351 msgstr ""
7352
7353 #.  As at 3.13, there's support for at least ext2, ext3, ext4
7354 #. type: Plain text
7355 #: build/C/man2/open.2:698
7356 msgid ""
7357 "B<O_TMPFILE> requires support by the underlying filesystem; only a subset of "
7358 "Linux filesystems provide that support."
7359 msgstr ""
7360
7361 #. type: TP
7362 #: build/C/man2/open.2:698
7363 #, no-wrap
7364 msgid "B<O_TRUNC>"
7365 msgstr "B<O_TRUNC>"
7366
7367 #. type: Plain text
7368 #: build/C/man2/open.2:712
7369 #, fuzzy
7370 #| msgid ""
7371 #| "If the file already exists and is a regular file and the open mode allows "
7372 #| "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to "
7373 #| "length 0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> "
7374 #| "flag is ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
7375 msgid ""
7376 "If the file already exists and is a regular file and the access mode allows "
7377 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
7378 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
7379 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
7380 msgstr ""
7381 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
7382 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
7383 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
7384 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
7385 "ある。"
7386
7387 #. type: SS
7388 #: build/C/man2/open.2:712
7389 #, no-wrap
7390 msgid "creat()"
7391 msgstr ""
7392
7393 #. type: Plain text
7394 #: build/C/man2/open.2:720
7395 msgid ""
7396 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
7397 "O_WRONLY|O_TRUNC>."
7398 msgstr ""
7399 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
7400 "を行うのと等価である。"
7401
7402 #. type: SS
7403 #: build/C/man2/open.2:720
7404 #, no-wrap
7405 msgid "openat()"
7406 msgstr ""
7407
7408 #. type: Plain text
7409 #: build/C/man2/open.2:726
7410 msgid ""
7411 "The B<openat>()  system call operates in exactly the same way as B<open>(), "
7412 "except for the differences described here."
7413 msgstr ""
7414
7415 #. type: Plain text
7416 #: build/C/man2/open.2:736
7417 msgid ""
7418 "If the pathname given in I<pathname> is relative, then it is interpreted "
7419 "relative to the directory relative to by the file descriptor I<dirfd> "
7420 "(rather than relative to the current working directory of the calling "
7421 "process, as is done by B<open>()  for a relative pathname)."
7422 msgstr ""
7423
7424 #. type: Plain text
7425 #: build/C/man2/open.2:748
7426 msgid ""
7427 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
7428 "then I<pathname> is interpreted relative to the current working directory of "
7429 "the calling process (like B<open>())."
7430 msgstr ""
7431
7432 #. type: Plain text
7433 #: build/C/man2/open.2:754 build/C/man2/readlink.2:134
7434 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
7435 msgstr ""
7436
7437 #. type: Plain text
7438 #: build/C/man2/open.2:763
7439 #, fuzzy
7440 #| msgid ""
7441 #| "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an "
7442 #| "error occurred (in which case, I<errno> is set appropriately)."
7443 msgid ""
7444 "B<open>(), B<openat>(), and B<creat>()  return the new file descriptor, or "
7445 "-1 if an error occurred (in which case, I<errno> is set appropriately)."
7446 msgstr ""
7447 "B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
7448 "した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
7449
7450 #. type: Plain text
7451 #: build/C/man2/open.2:769
7452 msgid ""
7453 "B<open>(), B<openat>(), and B<creat>()  can fail with the following errors:"
7454 msgstr ""
7455
7456 #. type: Plain text
7457 #: build/C/man2/open.2:778
7458 msgid ""
7459 "The requested access to the file is not allowed, or search permission is "
7460 "denied for one of the directories in the path prefix of I<pathname>, or the "
7461 "file did not exist yet and write access to the parent directory is not "
7462 "allowed.  (See also B<path_resolution>(7).)"
7463 msgstr ""
7464 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
7465 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
7466 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
7467 "すること。)"
7468
7469 #. type: Plain text
7470 #: build/C/man2/open.2:784
7471 msgid ""
7472 "Where B<O_CREAT> is specified, the file does not exist, and the user's quota "
7473 "of disk blocks or inodes on the filesystem has been exhausted."
7474 msgstr ""
7475 "B<O_CREAT> が指定された場合で、そのファイルが存在せず、ディスクブロックか "
7476 "inode がそのファイルシステムのユーザクォータに達していた。"
7477
7478 #. type: Plain text
7479 #: build/C/man2/open.2:790
7480 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
7481 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
7482
7483 #. type: Plain text
7484 #: build/C/man2/open.2:794 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:182
7485 msgid "I<pathname> points outside your accessible address space."
7486 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
7487
7488 #. type: TP
7489 #: build/C/man2/open.2:794 build/C/man2/write.2:145
7490 #, no-wrap
7491 msgid "B<EFBIG>"
7492 msgstr "B<EFBIG>"
7493
7494 #. type: Plain text
7495 #: build/C/man2/open.2:798
7496 msgid "See B<EOVERFLOW>."
7497 msgstr "B<EOVERFLOW> 参照。"
7498
7499 #. type: TP
7500 #: build/C/man2/open.2:798 build/C/man2/read.2:122 build/C/man3/scanf.3:561
7501 #: build/C/man3/tmpfile.3:63 build/C/man2/write.2:150
7502 #, no-wrap
7503 msgid "B<EINTR>"
7504 msgstr "B<EINTR>"
7505
7506 #. type: Plain text
7507 #: build/C/man2/open.2:805
7508 msgid ""
7509 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
7510 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
7511 "(7)."
7512 msgstr ""
7513 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
7514 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
7515 "B<signal>(7)  参照。"
7516
7517 #. type: Plain text
7518 #: build/C/man2/open.2:813
7519 #, fuzzy
7520 #| msgid ""
7521 #| "The filesystem does not support the B<O_DIRECT> flag. See B<NOTES> for "
7522 #| "more information."
7523 msgid ""
7524 "The filesystem does not support the B<O_DIRECT> flag.  See B<NOTES> for more "
7525 "information."
7526 msgstr ""
7527 "ファイルシステムが B<O_DIRECT> フラグをサポートしていない。 詳細はB<注意>を参"
7528 "照。"
7529
7530 #.  In particular, __O_TMPFILE instead of O_TMPFILE
7531 #. type: Plain text
7532 #: build/C/man2/open.2:818
7533 #, fuzzy
7534 #| msgid "(B<pipe2>())  Invalid value in I<flags>."
7535 msgid "Invalid value in I<flags>."
7536 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7537
7538 #. type: Plain text
7539 #: build/C/man2/open.2:828
7540 #, fuzzy
7541 #| msgid ""
7542 #| "When B<O_PATH> is specified in I<flags>, flag bits other than "
7543 #| "B<O_DIRECTORY> and B<O_NOFOLLOW> are ignored."
7544 msgid ""
7545 "B<O_TMPFILE> was specified in I<flags>, but neither B<O_WRONLY> nor "
7546 "B<O_RDWR> was specified."
7547 msgstr ""
7548 "I<flags> に B<O_PATH> が指定された場合、 B<O_DIRECTORY> と B<O_NOFOLLOW> 以外"
7549 "のフラグビットは無視される。"
7550
7551 #. type: TP
7552 #: build/C/man2/open.2:828 build/C/man2/open.2:837 build/C/man2/read.2:158
7553 #: build/C/man2/rename.2:218 build/C/man2/unlink.2:185
7554 #: build/C/man2/unlink.2:256
7555 #, no-wrap
7556 msgid "B<EISDIR>"
7557 msgstr "B<EISDIR>"
7558
7559 #. type: Plain text
7560 #: build/C/man2/open.2:837
7561 msgid ""
7562 "I<pathname> refers to a directory and the access requested involved writing "
7563 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
7564 msgstr ""
7565 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
7566 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
7567
7568 #. type: Plain text
7569 #: build/C/man2/open.2:851
7570 msgid ""
7571 "I<pathname> refers to an existing directory, B<O_TMPFILE> and one of "
7572 "B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
7573 "does not provide the B<O_TMPFILE> functionality."
7574 msgstr ""
7575
7576 #. type: Plain text
7577 #: build/C/man2/open.2:855 build/C/man2/rmdir.2:77
7578 msgid "Too many symbolic links were encountered in resolving I<pathname>."
7579 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
7580
7581 #. type: Plain text
7582 #: build/C/man2/open.2:864
7583 msgid ""
7584 "I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but "
7585 "not B<O_PATH>."
7586 msgstr ""
7587
7588 #. type: TP
7589 #: build/C/man2/open.2:864 build/C/man2/pipe.2:144 build/C/man3/tmpfile.3:66
7590 #, no-wrap
7591 msgid "B<EMFILE>"
7592 msgstr "B<EMFILE>"
7593
7594 #. type: Plain text
7595 #: build/C/man2/open.2:867
7596 msgid "The process already has the maximum number of files open."
7597 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
7598
7599 #. type: Plain text
7600 #: build/C/man2/open.2:871 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:197
7601 msgid "I<pathname> was too long."
7602 msgstr "I<pathname> が長過ぎる。"
7603
7604 #. type: TP
7605 #: build/C/man2/open.2:871 build/C/man2/pipe.2:147 build/C/man3/tmpfile.3:69
7606 #, no-wrap
7607 msgid "B<ENFILE>"
7608 msgstr "B<ENFILE>"
7609
7610 #. type: Plain text
7611 #: build/C/man2/open.2:874 build/C/man2/pipe.2:150
7612 msgid "The system limit on the total number of open files has been reached."
7613 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
7614
7615 #. type: TP
7616 #: build/C/man2/open.2:874
7617 #, no-wrap
7618 msgid "B<ENODEV>"
7619 msgstr "B<ENODEV>"
7620
7621 #. type: Plain text
7622 #: build/C/man2/open.2:881
7623 msgid ""
7624 "I<pathname> refers to a device special file and no corresponding device "
7625 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
7626 "returned.)"
7627 msgstr ""
7628 "I<pathname> がデバイススペシャルファイルを参照しており、対応するデバイスが存"
7629 "在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返され"
7630 "るべきである)"
7631
7632 #. type: Plain text
7633 #: build/C/man2/open.2:888
7634 msgid ""
7635 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
7636 "component in I<pathname> does not exist or is a dangling symbolic link."
7637 msgstr ""
7638 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
7639 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリックリ"
7640 "ンクである。"
7641
7642 #. type: Plain text
7643 #: build/C/man2/open.2:902
7644 msgid ""
7645 "I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of "
7646 "B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
7647 "does not provide the B<O_TMPFILE> functionality."
7648 msgstr ""
7649
7650 #. type: Plain text
7651 #: build/C/man2/open.2:911
7652 msgid ""
7653 "I<pathname> was to be created but the device containing I<pathname> has no "
7654 "room for the new file."
7655 msgstr ""
7656 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
7657 "ファイルのための空き容量がない。"
7658
7659 #. type: Plain text
7660 #: build/C/man2/open.2:918
7661 msgid ""
7662 "A component used as a directory in I<pathname> is not, in fact, a directory, "
7663 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
7664 msgstr ""
7665 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
7666 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
7667
7668 #. type: Plain text
7669 #: build/C/man2/open.2:924
7670 msgid ""
7671 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
7672 "has the file open for reading.  Or, the file is a device special file and no "
7673 "corresponding device exists."
7674 msgstr ""
7675 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
7676 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
7677 "イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
7678
7679 #. type: TP
7680 #: build/C/man2/open.2:924
7681 #, no-wrap
7682 msgid "B<EOPNOTSUPP>"
7683 msgstr ""
7684
7685 #. type: Plain text
7686 #: build/C/man2/open.2:930
7687 #, fuzzy
7688 #| msgid ""
7689 #| "The filesystem containing I<pathname> does not support the removal of "
7690 #| "directories."
7691 msgid "The filesystem containing I<pathname> does not support B<O_TMPFILE>."
7692 msgstr ""
7693 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
7694 "ない。"
7695
7696 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
7697 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
7698 #.  Reported 2006-10-03
7699 #. type: Plain text
7700 #: build/C/man2/open.2:950
7701 msgid ""
7702 "I<pathname> refers to a regular file that is too large to be opened.  The "
7703 "usual scenario here is that an application compiled on a 32-bit platform "
7704 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
7705 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
7706 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
7707 "B<EFBIG> for this case."
7708 msgstr ""
7709 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
7710 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
7711 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
7712 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
7713 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
7714 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
7715 "いた。"
7716
7717 #.  Strictly speaking, it's the filesystem UID... (MTK)
7718 #. type: Plain text
7719 #: build/C/man2/open.2:958
7720 msgid ""
7721 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
7722 "did not match the owner of the file and the caller was not privileged "
7723 "(B<CAP_FOWNER>)."
7724 msgstr ""
7725 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
7726 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
7727
7728 #. type: Plain text
7729 #: build/C/man2/open.2:963
7730 msgid ""
7731 "I<pathname> refers to a file on a read-only filesystem and write access was "
7732 "requested."
7733 msgstr ""
7734 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
7735 "込みアクセスが要求された。"
7736
7737 #. type: TP
7738 #: build/C/man2/open.2:963
7739 #, no-wrap
7740 msgid "B<ETXTBSY>"
7741 msgstr "B<ETXTBSY>"
7742
7743 #. type: Plain text
7744 #: build/C/man2/open.2:968
7745 msgid ""
7746 "I<pathname> refers to an executable image which is currently being executed "
7747 "and write access was requested."
7748 msgstr ""
7749 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
7750
7751 #. type: TP
7752 #: build/C/man2/open.2:968
7753 #, no-wrap
7754 msgid "B<EWOULDBLOCK>"
7755 msgstr "B<EWOULDBLOCK>"
7756
7757 #. type: Plain text
7758 #: build/C/man2/open.2:975
7759 msgid ""
7760 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
7761 "the file (see B<fcntl>(2))."
7762 msgstr ""
7763 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
7764 "ていた (B<fcntl>(2)  参照)。"
7765
7766 #. type: Plain text
7767 #: build/C/man2/open.2:978
7768 msgid "The following additional errors can occur for B<openat>():"
7769 msgstr ""
7770
7771 #. type: Plain text
7772 #: build/C/man2/open.2:982 build/C/man2/readlink.2:206
7773 #: build/C/man2/unlink.2:252
7774 #, fuzzy
7775 #| msgid "I<fd> is not an open file descriptor."
7776 msgid "I<dirfd> is not a valid file descriptor."
7777 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
7778
7779 #. type: Plain text
7780 #: build/C/man2/open.2:988 build/C/man2/readlink.2:212
7781 #: build/C/man2/unlink.2:269
7782 msgid ""
7783 "I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
7784 "file other than a directory."
7785 msgstr ""
7786
7787 #. type: Plain text
7788 #: build/C/man2/open.2:992
7789 #, fuzzy
7790 #| msgid ""
7791 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
7792 #| "available starting with version 2.9."
7793 msgid ""
7794 "B<openat>()  was added to Linux in kernel 2.6.16; library support was added "
7795 "to glibc in version 2.4."
7796 msgstr ""
7797 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7798 "はバージョン 2.9 以降で利用できる。"
7799
7800 #. type: Plain text
7801 #: build/C/man2/open.2:996
7802 #, fuzzy
7803 #| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
7804 msgid "B<open>(), B<creat>()  SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
7805 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
7806
7807 #. type: Plain text
7808 #: build/C/man2/open.2:999
7809 #, fuzzy
7810 #| msgid "B<pipe>(): POSIX.1-2001."
7811 msgid "B<openat>(): POSIX.1-2008."
7812 msgstr "B<pipe>(): POSIX.1-2001."
7813
7814 #. type: Plain text
7815 #: build/C/man2/open.2:1010
7816 #, fuzzy
7817 #| msgid ""
7818 #| "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, "
7819 #| "B<O_NOFOLLOW>, and B<O_PATH> flags are Linux-specific, and one may need "
7820 #| "to define B<_GNU_SOURCE> (before including I<any> header files)  to "
7821 #| "obtain their definitions."
7822 msgid ""
7823 "The B<O_DIRECT>, B<O_NOATIME>, B<O_PATH>, and B<O_TMPFILE> flags are Linux-"
7824 "specific.  One must define B<_GNU_SOURCE> to obtain their definitions."
7825 msgstr ""
7826 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
7827 "B<O_NOFOLLOW>, B<O_PATH> は Linux 特有のものであり、 これらのフラグの定義を得"
7828 "るためには、 (「どの」ヘッダファイルをインクルードするよりも前に)  "
7829 "B<_GNU_SOURCE> を定義する必要があるかもしれない。"
7830
7831 #. type: Plain text
7832 #: build/C/man2/open.2:1025
7833 msgid ""
7834 "The B<O_CLOEXEC>, B<O_DIRECTORY>, and B<O_NOFOLLOW> flags are not specified "
7835 "in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc 2.12, one "
7836 "can obtain their definitions by defining either B<_POSIX_C_SOURCE> with a "
7837 "value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value "
7838 "greater than or equal to 700.  In glibc 2.11 and earlier, one obtains the "
7839 "definitions by defining B<_GNU_SOURCE>."
7840 msgstr ""
7841
7842 #. type: Plain text
7843 #: build/C/man2/open.2:1036
7844 msgid ""
7845 "As noted in B<feature_test_macros>(7), feature test macros such as "
7846 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined "
7847 "before including I<any> header files."
7848 msgstr ""
7849
7850 #. type: Plain text
7851 #: build/C/man2/open.2:1044
7852 msgid ""
7853 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
7854 "does not necessarily have the intention to read or write.  This is typically "
7855 "used to open devices in order to get a file descriptor for use with B<ioctl>"
7856 "(2)."
7857 msgstr ""
7858 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
7859 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
7860 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
7861 "られる。"
7862
7863 #.  Linux 2.0, 2.5: truncate
7864 #.  Solaris 5.7, 5.8: truncate
7865 #.  Irix 6.5: truncate
7866 #.  Tru64 5.1B: truncate
7867 #.  HP-UX 11.22: truncate
7868 #.  FreeBSD 4.7: truncate
7869 #. type: Plain text
7870 #: build/C/man2/open.2:1056
7871 msgid ""
7872 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
7873 "implementations.  On many systems the file is actually truncated."
7874 msgstr ""
7875 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
7876 "くのシステムではファイルは実際に切り詰められる。"
7877
7878 #. type: Plain text
7879 #: build/C/man2/open.2:1064
7880 msgid ""
7881 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
7882 "create them; use B<mknod>(2)  instead."
7883 msgstr ""
7884 "B<open>()  はスペシャルファイルをオープンすることができるが、 B<creat>()  で"
7885 "スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  を使"
7886 "用する。"
7887
7888 #. type: Plain text
7889 #: build/C/man2/open.2:1085
7890 msgid ""
7891 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
7892 "fields (respectively, time of last access, time of last status change, and "
7893 "time of last modification; see B<stat>(2))  are set to the current time, and "
7894 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
7895 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
7896 "st_ctime and st_mtime fields are set to the current time."
7897 msgstr ""
7898 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
7899 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
7900 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
7901 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
7902 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
7903 "I<st_mtime> フィールドが現在時刻に設定される。"
7904
7905 #. type: SS
7906 #: build/C/man2/open.2:1085
7907 #, no-wrap
7908 msgid "Synchronized I/O"
7909 msgstr ""
7910
7911 #. type: Plain text
7912 #: build/C/man2/open.2:1100
7913 msgid ""
7914 "The POSIX.1-2008 \"synchronized I/O\" option specifies different variants of "
7915 "synchronized I/O, and specifies the B<open>()  flags B<O_SYNC>, B<O_DSYNC>, "
7916 "and B<O_RSYNC> for controlling the behavior.  Regardless of whether an "
7917 "implementation supports this option, it must at least support the use of "
7918 "B<O_SYNC> for regular files."
7919 msgstr ""
7920
7921 #. type: Plain text
7922 #: build/C/man2/open.2:1111
7923 msgid ""
7924 "Linux implements B<O_SYNC> and B<O_DSYNC>, but not B<O_RSYNC>.  (Somewhat "
7925 "incorrectly, glibc defines B<O_RSYNC> to have the same value as B<O_SYNC>.)"
7926 msgstr ""
7927
7928 #. type: Plain text
7929 #: build/C/man2/open.2:1129
7930 msgid ""
7931 "B<O_SYNC> provides synchronized I/O I<file> integrity completion, meaning "
7932 "write operations will flush data and all associated metadata to the "
7933 "underlying hardware.  B<O_DSYNC> provides synchronized I/O I<data> integrity "
7934 "completion, meaning write operations will flush data to the underlying "
7935 "hardware, but will only flush metadata updates that are required to allow a "
7936 "subsequent read operation to complete successfully.  Data integrity "
7937 "completion can reduce the number of disk operations that are required for "
7938 "applications that don't need the guarantees of file integrity completion."
7939 msgstr ""
7940
7941 #. type: Plain text
7942 #: build/C/man2/open.2:1146
7943 msgid ""
7944 "To understand the difference between the the two types of completion, "
7945 "consider two pieces of file metadata: the file last modification timestamp "
7946 "(I<st_mtime>)  and the file length.  All write operations will update the "
7947 "last file modification timestamp, but only writes that add data to the end "
7948 "of the file will change the file length.  The last modification timestamp is "
7949 "not needed to ensure that a read completes successfully, but the file length "
7950 "is.  Thus, B<O_DSYNC> would only guarantee to flush updates to the file "
7951 "length metadata (whereas B<O_SYNC> would also always flush the last "
7952 "modification timestamp metadata)."
7953 msgstr ""
7954
7955 #. type: Plain text
7956 #: build/C/man2/open.2:1158
7957 msgid ""
7958 "Before Linux 2.6.33, Linux implemented only the B<O_SYNC> flag for B<open>"
7959 "().  However, when that flag was specified, most filesystems actually "
7960 "provided the equivalent of synchronized I/O I<data> integrity completion (i."
7961 "e., B<O_SYNC> was actually implemented as the equivalent of B<O_DSYNC>)."
7962 msgstr ""
7963
7964 #. type: Plain text
7965 #: build/C/man2/open.2:1177
7966 msgid ""
7967 "Since Linux 2.6.33, proper B<O_SYNC> support is provided.  However, to "
7968 "ensure backward binary compatibility, B<O_DSYNC> was defined with the same "
7969 "value as the historical B<O_SYNC>, and B<O_SYNC> was defined as a new (two-"
7970 "bit) flag value that includes the B<O_DSYNC> flag value.  This ensures that "
7971 "applications compiled against new headers get at least B<O_DSYNC> semantics "
7972 "on pre-2.6.33 kernels."
7973 msgstr ""
7974
7975 #. type: SS
7976 #: build/C/man2/open.2:1177
7977 #, no-wrap
7978 msgid "NFS"
7979 msgstr ""
7980
7981 #. type: Plain text
7982 #: build/C/man2/open.2:1181
7983 msgid ""
7984 "There are many infelicities in the protocol underlying NFS, affecting "
7985 "amongst others B<O_SYNC> and B<O_NDELAY>."
7986 msgstr ""
7987 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
7988 "B<O_NDELAY> に影響する。"
7989
7990 #. type: Plain text
7991 #: build/C/man2/open.2:1196
7992 msgid ""
7993 "On NFS filesystems with UID mapping enabled, B<open>()  may return a file "
7994 "descriptor but, for example, B<read>(2)  requests are denied with "
7995 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
7996 "permissions, but UID mapping is performed by the server upon read and write "
7997 "requests."
7998 msgstr ""
7999 "UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
8000 "ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
8001 "る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
8002 "が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
8003 "る。"
8004
8005 #. type: SS
8006 #: build/C/man2/open.2:1196
8007 #, no-wrap
8008 msgid "File access mode"
8009 msgstr ""
8010
8011 #. type: Plain text
8012 #: build/C/man2/open.2:1211
8013 #, fuzzy
8014 #| msgid ""
8015 #| "Unlike the other values that can be specified in I<flags>, the I<access "
8016 #| "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
8017 #| "individual bits.  Rather, they define the low order two bits of I<flags>, "
8018 #| "and are defined respectively as 0, 1, and 2.  In other words, the "
8019 #| "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
8020 #| "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
8021 #| "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
8022 #| "and write permission on the file and return a descriptor that can't be "
8023 #| "used for reading or writing.  This nonstandard access mode is used by "
8024 #| "some Linux drivers to return a descriptor that is to be used only for "
8025 #| "device-specific B<ioctl>(2)  operations."
8026 msgid ""
8027 "Unlike the other values that can be specified in I<flags>, the I<access "
8028 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR> do not specify "
8029 "individual bits.  Rather, they define the low order two bits of I<flags>, "
8030 "and are defined respectively as 0, 1, and 2.  In other words, the "
8031 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
8032 "not have the same meaning as B<O_RDWR>."
8033 msgstr ""
8034 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
8035 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
8036 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
8037 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
8038 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
8039 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
8040 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
8041 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
8042 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
8043 "ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
8044 "る。"
8045
8046 #.  See for example util-linux's disk-utils/setfdprm.c
8047 #.  For some background on access mode 3, see
8048 #.  http://thread.gmane.org/gmane.linux.kernel/653123
8049 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
8050 #.  LKML, 12 Mar 2008
8051 #. type: Plain text
8052 #: build/C/man2/open.2:1228
8053 #, fuzzy
8054 #| msgid ""
8055 #| "Unlike the other values that can be specified in I<flags>, the I<access "
8056 #| "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
8057 #| "individual bits.  Rather, they define the low order two bits of I<flags>, "
8058 #| "and are defined respectively as 0, 1, and 2.  In other words, the "
8059 #| "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
8060 #| "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
8061 #| "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
8062 #| "and write permission on the file and return a descriptor that can't be "
8063 #| "used for reading or writing.  This nonstandard access mode is used by "
8064 #| "some Linux drivers to return a descriptor that is to be used only for "
8065 #| "device-specific B<ioctl>(2)  operations."
8066 msgid ""
8067 "Linux reserves the special, nonstandard access mode 3 (binary 11) in "
8068 "I<flags> to mean: check for read and write permission on the file and return "
8069 "a descriptor that can't be used for reading or writing.  This nonstandard "
8070 "access mode is used by some Linux drivers to return a descriptor that is to "
8071 "be used only for device-specific B<ioctl>(2)  operations."
8072 msgstr ""
8073 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
8074 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
8075 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
8076 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
8077 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
8078 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
8079 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
8080 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
8081 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
8082 "ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
8083 "る。"
8084
8085 #. type: SS
8086 #: build/C/man2/open.2:1228
8087 #, no-wrap
8088 msgid "Rationale for openat() and other directory file descriptor APIs"
8089 msgstr ""
8090
8091 #. type: Plain text
8092 #: build/C/man2/open.2:1256
8093 msgid ""
8094 "B<openat>()  and the other system calls and library functions that take a "
8095 "directory file descriptor argument (i.e., B<faccessat>(2), B<fanotify_mark>"
8096 "(2), B<fchmodat>(2), B<fchownat>(2), B<fstatat>(2), B<futimesat>(2), "
8097 "B<linkat>(2), B<mkdirat>(2), B<mknodat>(2), B<name_to_handle_at>(2), "
8098 "B<readlinkat>(2), B<renameat>(2), B<symlinkat>(2), B<unlinkat>(2), "
8099 "B<utimensat>(2)  B<mkfifoat>(3), and B<scandirat>(3))  are supported for two "
8100 "reasons.  Here, the explanation is in terms of the B<openat>()  call, but "
8101 "the rationale is analogous for the other interfaces."
8102 msgstr ""
8103
8104 #. type: Plain text
8105 #: build/C/man2/open.2:1274
8106 msgid ""
8107 "First, B<openat>()  allows an application to avoid race conditions that "
8108 "could occur when using B<open>()  to open files in directories other than "
8109 "the current working directory.  These race conditions result from the fact "
8110 "that some component of the directory prefix given to B<open>()  could be "
8111 "changed in parallel with the call to B<open>().  Such races can be avoided "
8112 "by opening a file descriptor for the target directory, and then specifying "
8113 "that file descriptor as the I<dirfd> argument of B<openat>()."
8114 msgstr ""
8115
8116 #. type: Plain text
8117 #: build/C/man2/open.2:1285
8118 msgid ""
8119 "Second, B<openat>()  allows the implementation of a per-thread \"current "
8120 "working directory\", via file descriptor(s) maintained by the application.  "
8121 "(This functionality can also be obtained by tricks based on the use of I</"
8122 "proc/self/fd/>dirfd, but less efficiently.)"
8123 msgstr ""
8124
8125 #. type: SS
8126 #: build/C/man2/open.2:1285
8127 #, no-wrap
8128 msgid "O_DIRECT"
8129 msgstr "O_DIRECT"
8130
8131 #. type: Plain text
8132 #: build/C/man2/open.2:1302
8133 msgid ""
8134 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
8135 "address of user-space buffers and the file offset of I/Os.  In Linux "
8136 "alignment restrictions vary by filesystem and kernel version and might be "
8137 "absent entirely.  However there is currently no filesystem-independent "
8138 "interface for an application to discover these restrictions for a given file "
8139 "or filesystem.  Some filesystems provide their own interfaces for doing so, "
8140 "for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
8141 msgstr ""
8142 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
8143 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
8144 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
8145 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
8146 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
8147 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
8148 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
8149 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
8150
8151 #. type: Plain text
8152 #: build/C/man2/open.2:1307
8153 msgid ""
8154 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
8155 "the file offset must all be multiples of the logical block size of the "
8156 "filesystem.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
8157 msgstr ""
8158 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
8159 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
8160 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
8161
8162 #. type: Plain text
8163 #: build/C/man2/open.2:1341
8164 msgid ""
8165 "B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2)  "
8166 "system call, if the memory buffer is a private mapping (i.e., any mapping "
8167 "created with the B<mmap>(2)  B<MAP_PRIVATE> flag; this includes memory "
8168 "allocated on the heap and statically allocated buffers).  Any such I/Os, "
8169 "whether submitted via an asynchronous I/O interface or from another thread "
8170 "in the process, should be completed before B<fork>(2)  is called.  Failure "
8171 "to do so can result in data corruption and undefined behavior in parent and "
8172 "child processes.  This restriction does not apply when the memory buffer for "
8173 "the B<O_DIRECT> I/Os was created using B<shmat>(2)  or B<mmap>(2)  with the "
8174 "B<MAP_SHARED> flag.  Nor does this restriction apply when the memory buffer "
8175 "has been advised as B<MADV_DONTFORK> with B<madvise>(2), ensuring that it "
8176 "will not be available to the child after B<fork>(2)."
8177 msgstr ""
8178 "メモリバッファがプライベートマッピング (B<mmap>(2) の B<MAP_PRIVATE>\n"
8179 "フラグで作成されたマッピング) の場合には、B<O_DIRECT> I/O は\n"
8180 "B<fork>(2) システムコールと同時に決して実行すべきではない \n"
8181 "(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に\n"
8182 "割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由\n"
8183 "やプロセス内の他のスレッドから発行された、このような I/O は、\n"
8184 "B<fork>(2) が呼び出される前に完了されるべきである。\n"
8185 "そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない\n"
8186 "動作が起こる可能性がある。\n"
8187 "B<O_DIRECT> I/O 用のメモリバッファが B<shmat>(2) やB<MAP_SHARED> フラグ\n"
8188 "付きの B<mmap>(2) で作成された場合には、この制限はあてはまらない。\n"
8189 "B<madvise>(2) でメモリバッファにアドバイス B<MADV_DONTFORK> が設定され\n"
8190 "ている場合にも、この制限はあてはまらない(B<MADV_DONTFORK> はそのメモリ\n"
8191 "バッファが B<fork>(2) 後に子プロセスからは利用できないことを保証するも\n"
8192 "のである)。"
8193
8194 #. type: Plain text
8195 #: build/C/man2/open.2:1351
8196 msgid ""
8197 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
8198 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
8199 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
8200 "flag of the same name, but without alignment restrictions."
8201 msgstr ""
8202 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
8203 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
8204 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
8205 "ラグを導入したが、アラインメントの制限はない。"
8206
8207 #. type: Plain text
8208 #: build/C/man2/open.2:1360
8209 msgid ""
8210 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
8211 "Linux kernels simply ignore this flag.  Some filesystems may not implement "
8212 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
8213 msgstr ""
8214 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
8215 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
8216 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
8217 "と B<open>()  は B<EINVAL> で失敗する。"
8218
8219 #. type: Plain text
8220 #: build/C/man2/open.2:1371
8221 msgid ""
8222 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
8223 "file, and especially to overlapping byte regions in the same file.  Even "
8224 "when the filesystem correctly handles the coherency issues in this "
8225 "situation, overall I/O throughput is likely to be slower than using either "
8226 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
8227 "with direct I/O to the same files."
8228 msgstr ""
8229 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
8230 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
8231 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
8232 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
8233 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
8234 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
8235
8236 #. type: Plain text
8237 #: build/C/man2/open.2:1393
8238 msgid ""
8239 "The behaviour of B<O_DIRECT> with NFS will differ from local filesystems.  "
8240 "Older kernels, or kernels configured in certain ways, may not support this "
8241 "combination.  The NFS protocol does not support passing the flag to the "
8242 "server, so B<O_DIRECT> I/O will bypass the page cache only on the client; "
8243 "the server may still cache the I/O.  The client asks the server to make the "
8244 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
8245 "servers will perform poorly under these circumstances, especially if the I/O "
8246 "size is small.  Some servers may also be configured to lie to clients about "
8247 "the I/O having reached stable storage; this will avoid the performance "
8248 "penalty at some risk to data integrity in the event of server power "
8249 "failure.  The Linux NFS client places no alignment restrictions on "
8250 "B<O_DIRECT> I/O."
8251 msgstr ""
8252 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
8253 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
8254 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
8255 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
8256 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
8257 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
8258 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
8259 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
8260 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
8261 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
8262 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
8263 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
8264
8265 #. type: Plain text
8266 #: build/C/man2/open.2:1400
8267 msgid ""
8268 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
8269 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
8270 "as a performance option which is disabled by default."
8271 msgstr ""
8272 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
8273 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
8274 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
8275
8276 #. type: Plain text
8277 #: build/C/man2/open.2:1405
8278 msgid ""
8279 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
8280 "interface is just stupid, and was probably designed by a deranged monkey on "
8281 "some serious mind-controlling substances.\"\\(emLinus"
8282 msgstr ""
8283 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
8284 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
8285 "な」 \\(em Linus"
8286
8287 #.  FIXME . Check bugzilla report on open(O_ASYNC)
8288 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
8289 #. type: Plain text
8290 #: build/C/man2/open.2:1417
8291 msgid ""
8292 "Currently, it is not possible to enable signal-driven I/O by specifying "
8293 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
8294 msgstr ""
8295 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
8296 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
8297 "すること。"
8298
8299 #. type: Plain text
8300 #: build/C/man2/open.2:1425
8301 msgid ""
8302 "One must check for two different error codes, B<EISDIR> and B<ENOENT>, when "
8303 "trying to determine whether the kernel supports B<O_TMPFILE> functionality."
8304 msgstr ""
8305
8306 #. type: Plain text
8307 #: build/C/man2/open.2:1446
8308 #, fuzzy
8309 #| msgid ""
8310 #| "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>"
8311 #| "(2), B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), "
8312 #| "B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>"
8313 #| "(2), B<fopen>(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
8314 msgid ""
8315 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
8316 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<read>(2), B<socket>(2), "
8317 "B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>(3), B<fifo>(7), "
8318 "B<path_resolution>(7), B<symlink>(7)"
8319 msgstr ""
8320 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
8321 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
8322 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
8323 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
8324
8325 #. type: TH
8326 #: build/C/man3/perror.3:31
8327 #, no-wrap
8328 msgid "PERROR"
8329 msgstr "PERROR"
8330
8331 #. type: TH
8332 #: build/C/man3/perror.3:31
8333 #, no-wrap
8334 msgid "2012-04-17"
8335 msgstr "2012-04-17"
8336
8337 #. type: Plain text
8338 #: build/C/man3/perror.3:34
8339 msgid "perror - print a system error message"
8340 msgstr "perror - システムエラーメッセージを出力する"
8341
8342 #. type: Plain text
8343 #: build/C/man3/perror.3:38
8344 msgid "B<void perror(const char *>I<s>B<);>"
8345 msgstr "B<void perror(const char *>I<s>B<);>"
8346
8347 #. type: Plain text
8348 #: build/C/man3/perror.3:40
8349 msgid "B<#include E<lt>errno.hE<gt>>"
8350 msgstr "B<#include E<lt>errno.hE<gt>>"
8351
8352 #. type: Plain text
8353 #: build/C/man3/perror.3:42
8354 msgid "B<const char *>I<sys_errlist>B<[];>"
8355 msgstr "B<const char *>I<sys_errlist>B<[];>"
8356
8357 #. type: Plain text
8358 #: build/C/man3/perror.3:44
8359 msgid "B<int >I<sys_nerr>B<;>"
8360 msgstr "B<int >I<sys_nerr>B<;>"
8361
8362 #. type: Plain text
8363 #: build/C/man3/perror.3:46
8364 msgid "B<int >I<errno>B<;>"
8365 msgstr "B<int >I<errno>B<;>"
8366
8367 #. type: Plain text
8368 #: build/C/man3/perror.3:55
8369 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
8370 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
8371
8372 #. type: Plain text
8373 #: build/C/man3/perror.3:68
8374 msgid ""
8375 "The routine B<perror>()  produces a message on the standard error output, "
8376 "describing the last error encountered during a call to a system or library "
8377 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
8378 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
8379 "blank.  Then the message and a new-line."
8380 msgstr ""
8381 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
8382 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
8383 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
8384 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
8385 "メッセージと改行が出力される。"
8386
8387 #. type: Plain text
8388 #: build/C/man3/perror.3:76
8389 msgid ""
8390 "To be of most use, the argument string should include the name of the "
8391 "function that incurred the error.  The error number is taken from the "
8392 "external variable I<errno>, which is set when errors occur but not cleared "
8393 "when successful calls are made."
8394 msgstr ""
8395 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
8396 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
8397 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
8398
8399 #. type: Plain text
8400 #: build/C/man3/perror.3:90
8401 msgid ""
8402 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
8403 "obtain the error message without the newline.  The largest message number "
8404 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
8405 "this list because new error values may not have been added to I<sys_errlist>"
8406 "[].  The use of I<sys_errlist>[] is nowadays deprecated."
8407 msgstr ""
8408 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
8409 "の\n"
8410 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセー"
8411 "ジ\n"
8412 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意するこ"
8413 "と。\n"
8414 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
8415 "る。\n"
8416 "現在では、I<sys_errlist>[] の使用は非推奨となっている。"
8417
8418 #. type: Plain text
8419 #: build/C/man3/perror.3:111
8420 msgid ""
8421 "When a system call fails, it usually returns -1 and sets the variable "
8422 "I<errno> to a value describing what went wrong.  (These values can be found "
8423 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
8424 "B<perror>()  serves to translate this error code into human-readable form.  "
8425 "Note that I<errno> is undefined after a successful library call: this call "
8426 "may well change this variable, even though it succeeds, for example because "
8427 "it internally used some other library function that failed.  Thus, if a "
8428 "failing call is not immediately followed by a call to B<perror>(), the value "
8429 "of I<errno> should be saved."
8430 msgstr ""
8431 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
8432 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
8433 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
8434 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
8435 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
8436 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
8437 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
8438 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
8439 "い。"
8440
8441 #. type: Plain text
8442 #: build/C/man3/perror.3:124
8443 msgid ""
8444 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
8445 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
8446 "I<sys_errlist> conform to BSD."
8447 msgstr ""
8448 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
8449 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
8450 "に準拠している。"
8451
8452 #.  and only when _BSD_SOURCE is defined.
8453 #.  When
8454 #.  .B _GNU_SOURCE
8455 #.  is defined, the symbols
8456 #.  .I _sys_nerr
8457 #.  and
8458 #.  .I _sys_errlist
8459 #.  are provided.
8460 #. type: Plain text
8461 #: build/C/man3/perror.3:139
8462 msgid ""
8463 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
8464 "I<E<lt>stdio.hE<gt>>."
8465 msgstr ""
8466 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
8467 "I<E<lt>stdio.hE<gt>> に含まれている。"
8468
8469 #. type: Plain text
8470 #: build/C/man3/perror.3:144
8471 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
8472 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
8473
8474 #. type: TH
8475 #: build/C/man2/pipe.2:36
8476 #, no-wrap
8477 msgid "PIPE"
8478 msgstr "PIPE"
8479
8480 #. type: TH
8481 #: build/C/man2/pipe.2:36
8482 #, fuzzy, no-wrap
8483 #| msgid "2012-02-14"
8484 msgid "2014-02-11"
8485 msgstr "2012-02-14"
8486
8487 #. type: Plain text
8488 #: build/C/man2/pipe.2:39
8489 msgid "pipe, pipe2 - create pipe"
8490 msgstr "pipe, pipe2 - パイプを生成する"
8491
8492 #. type: Plain text
8493 #: build/C/man2/pipe.2:44
8494 #, no-wrap
8495 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
8496 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
8497
8498 #. type: Plain text
8499 #: build/C/man2/pipe.2:48
8500 #, no-wrap
8501 msgid ""
8502 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
8503 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
8504 "B<#include E<lt>unistd.hE<gt>>\n"
8505 msgstr ""
8506 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
8507 "B<#include E<lt>fcntl.hE<gt>>              /* O_* 定数の定義の取得 */\n"
8508 "B<#include E<lt>unistd.hE<gt>>\n"
8509
8510 #. type: Plain text
8511 #: build/C/man2/pipe.2:50
8512 #, no-wrap
8513 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
8514 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
8515
8516 #. type: Plain text
8517 #: build/C/man2/pipe.2:66
8518 msgid ""
8519 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
8520 "for interprocess communication.  The array I<pipefd> is used to return two "
8521 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
8522 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
8523 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
8524 "until it is read from the read end of the pipe.  For further details, see "
8525 "B<pipe>(7)."
8526 msgstr ""
8527 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
8528 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
8529 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
8530 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
8531 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
8532 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
8533
8534 #. type: Plain text
8535 #: build/C/man2/pipe.2:76
8536 msgid ""
8537 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
8538 "values can be bitwise ORed in I<flags> to obtain different behavior:"
8539 msgstr ""
8540 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
8541 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
8542 "きる。"
8543
8544 #. type: TP
8545 #: build/C/man2/pipe.2:76
8546 #, no-wrap
8547 msgid "B<O_CLOEXEC>"
8548 msgstr "B<O_CLOEXEC>"
8549
8550 #. type: Plain text
8551 #: build/C/man2/pipe.2:84
8552 msgid ""
8553 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
8554 "descriptors.  See the description of the same flag in B<open>(2)  for "
8555 "reasons why this may be useful."
8556 msgstr ""
8557 "新しく生成される二つのファイルディスクリプタの close-on-exec "
8558 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
8559 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
8560
8561 #. type: TP
8562 #: build/C/man2/pipe.2:84
8563 #, fuzzy, no-wrap
8564 #| msgid "B<O_DIRECT> (Since Linux 2.4.10)"
8565 msgid "B<O_DIRECT> (since Linux 3.4)"
8566 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
8567
8568 #.  commit 9883035ae7edef3ec62ad215611cb8e17d6a1a5d
8569 #. type: Plain text
8570 #: build/C/man2/pipe.2:94
8571 msgid ""
8572 "Create a pipe that performs I/O in \"packet\" mode.  Each B<write>(2)  to "
8573 "the pipe is dealt with as a separate packet, and B<read>(2)s from the pipe "
8574 "will read one packet at a time.  Note the following points:"
8575 msgstr ""
8576
8577 #. type: Plain text
8578 #: build/C/man2/pipe.2:101
8579 msgid ""
8580 "Writes of greater than B<PIPE_BUF> bytes (see B<pipe>(7))  will be split "
8581 "into multiple packets."
8582 msgstr ""
8583
8584 #. type: Plain text
8585 #: build/C/man2/pipe.2:111
8586 msgid ""
8587 "If a B<read>(2)  specifies a buffer size that is smaller than the next "
8588 "packet, then the requested number of bytes are read, and the excess bytes in "
8589 "the packet are discarded.  Specifying a buffer size of B<PIPE_BUF> will be "
8590 "sufficient to read the largest possible packets (see the previous point)."
8591 msgstr ""
8592
8593 #. type: Plain text
8594 #: build/C/man2/pipe.2:116
8595 msgid ""
8596 "Zero-length packets are not supported.  (A B<read>(2)  that specifies a "
8597 "buffer size of zero is a no-op, and returns 0.)"
8598 msgstr ""
8599
8600 #. type: Plain text
8601 #: build/C/man2/pipe.2:121
8602 msgid ""
8603 "Older kernels that do not support this flag will indicate this via an "
8604 "B<EINVAL> error."
8605 msgstr ""
8606
8607 #. type: TP
8608 #: build/C/man2/pipe.2:121
8609 #, no-wrap
8610 msgid "B<O_NONBLOCK>"
8611 msgstr "B<O_NONBLOCK>"
8612
8613 #. type: Plain text
8614 #: build/C/man2/pipe.2:129
8615 msgid ""
8616 "Set the B<O_NONBLOCK> file status flag on the two new open file "
8617 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
8618 "the same result."
8619 msgstr ""
8620 "新しく生成される二つのオープンファイル記述 (open file description) の "
8621 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
8622 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
8623 "なる。"
8624
8625 #. type: Plain text
8626 #: build/C/man2/pipe.2:139
8627 msgid "I<pipefd> is not valid."
8628 msgstr "I<pipefd> が無効な値である。"
8629
8630 #. type: Plain text
8631 #: build/C/man2/pipe.2:144
8632 msgid "(B<pipe2>())  Invalid value in I<flags>."
8633 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
8634
8635 #. type: Plain text
8636 #: build/C/man2/pipe.2:147
8637 msgid "Too many file descriptors are in use by the process."
8638 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
8639
8640 #. type: Plain text
8641 #: build/C/man2/pipe.2:155
8642 msgid ""
8643 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
8644 "starting with version 2.9."
8645 msgstr ""
8646 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
8647 "はバージョン 2.9 以降で利用できる。"
8648
8649 #. type: Plain text
8650 #: build/C/man2/pipe.2:158
8651 msgid "B<pipe>(): POSIX.1-2001."
8652 msgstr "B<pipe>(): POSIX.1-2001."
8653
8654 #. type: Plain text
8655 #: build/C/man2/pipe.2:161
8656 msgid "B<pipe2>()  is Linux-specific."
8657 msgstr "B<pipe2>()  は Linux 固有である。"
8658
8659 #.  fork.2 refers to this example program.
8660 #. type: Plain text
8661 #: build/C/man2/pipe.2:177
8662 msgid ""
8663 "The following program creates a pipe, and then B<fork>(2)s to create a child "
8664 "process; the child inherits a duplicate set of file descriptors that refer "
8665 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
8666 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
8667 "the string contained in the program's command-line argument to the pipe, and "
8668 "the child reads this string a byte at a time from the pipe and echoes it on "
8669 "standard output."
8670 msgstr ""
8671 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
8672 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
8673 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
8674 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
8675 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
8676 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
8677
8678 #. type: Plain text
8679 #: build/C/man2/pipe.2:185
8680 #, fuzzy, no-wrap
8681 #| msgid ""
8682 #| "#include E<lt>sys/wait.hE<gt>\n"
8683 #| "#include E<lt>stdio.hE<gt>\n"
8684 #| "#include E<lt>stdlib.hE<gt>\n"
8685 #| "#include E<lt>unistd.hE<gt>\n"
8686 #| "#include E<lt>string.hE<gt>\n"
8687 msgid ""
8688 "#include E<lt>sys/types.hE<gt>\n"
8689 "#include E<lt>sys/wait.hE<gt>\n"
8690 "#include E<lt>stdio.hE<gt>\n"
8691 "#include E<lt>stdlib.hE<gt>\n"
8692 "#include E<lt>unistd.hE<gt>\n"
8693 "#include E<lt>string.hE<gt>\n"
8694 msgstr ""
8695 "#include E<lt>sys/wait.hE<gt>\n"
8696 "#include E<lt>stdio.hE<gt>\n"
8697 "#include E<lt>stdlib.hE<gt>\n"
8698 "#include E<lt>unistd.hE<gt>\n"
8699 "#include E<lt>string.hE<gt>\n"
8700
8701 #. type: Plain text
8702 #: build/C/man2/pipe.2:192
8703 #, no-wrap
8704 msgid ""
8705 "int\n"
8706 "main(int argc, char *argv[])\n"
8707 "{\n"
8708 "    int pipefd[2];\n"
8709 "    pid_t cpid;\n"
8710 "    char buf;\n"
8711 msgstr ""
8712 "int\n"
8713 "main(int argc, char *argv[])\n"
8714 "{\n"
8715 "    int pipefd[2];\n"
8716 "    pid_t cpid;\n"
8717 "    char buf;\n"
8718
8719 #. type: Plain text
8720 #: build/C/man2/pipe.2:197
8721 #, fuzzy, no-wrap
8722 #| msgid ""
8723 #| "    if (argc != 2) {\n"
8724 #| "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
8725 #| "        exit(EXIT_FAILURE);\n"
8726 #| "    }\n"
8727 msgid ""
8728 "    if (argc != 2) {\n"
8729 "        fprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
8730 "        exit(EXIT_FAILURE);\n"
8731 "    }\n"
8732 msgstr ""
8733 "    if (argc != 2) {\n"
8734 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
8735 "        exit(EXIT_FAILURE);\n"
8736 "    }\n"
8737
8738 #. type: Plain text
8739 #: build/C/man2/pipe.2:202
8740 #, no-wrap
8741 msgid ""
8742 "    if (pipe(pipefd) == -1) {\n"
8743 "        perror(\"pipe\");\n"
8744 "        exit(EXIT_FAILURE);\n"
8745 "    }\n"
8746 msgstr ""
8747 "    if (pipe(pipefd) == -1) {\n"
8748 "        perror(\"pipe\");\n"
8749 "        exit(EXIT_FAILURE);\n"
8750 "    }\n"
8751
8752 #. type: Plain text
8753 #: build/C/man2/pipe.2:208
8754 #, no-wrap
8755 msgid ""
8756 "    cpid = fork();\n"
8757 "    if (cpid == -1) {\n"
8758 "        perror(\"fork\");\n"
8759 "        exit(EXIT_FAILURE);\n"
8760 "    }\n"
8761 msgstr ""
8762 "    cpid = fork();\n"
8763 "    if (cpid == -1) {\n"
8764 "        perror(\"fork\");\n"
8765 "        exit(EXIT_FAILURE);\n"
8766 "    }\n"
8767
8768 #. type: Plain text
8769 #: build/C/man2/pipe.2:211
8770 #, no-wrap
8771 msgid ""
8772 "    if (cpid == 0) {    /* Child reads from pipe */\n"
8773 "        close(pipefd[1]);          /* Close unused write end */\n"
8774 msgstr ""
8775 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
8776 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
8777
8778 #. type: Plain text
8779 #: build/C/man2/pipe.2:214
8780 #, no-wrap
8781 msgid ""
8782 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
8783 "            write(STDOUT_FILENO, &buf, 1);\n"
8784 msgstr ""
8785 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
8786 "            write(STDOUT_FILENO, &buf, 1);\n"
8787
8788 #. type: Plain text
8789 #: build/C/man2/pipe.2:218
8790 #, no-wrap
8791 msgid ""
8792 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
8793 "        close(pipefd[0]);\n"
8794 "        _exit(EXIT_SUCCESS);\n"
8795 msgstr ""
8796 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
8797 "        close(pipefd[0]);\n"
8798 "        _exit(EXIT_SUCCESS);\n"
8799
8800 #. type: Plain text
8801 #: build/C/man2/pipe.2:227
8802 #, no-wrap
8803 msgid ""
8804 "    } else {            /* Parent writes argv[1] to pipe */\n"
8805 "        close(pipefd[0]);          /* Close unused read end */\n"
8806 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
8807 "        close(pipefd[1]);          /* Reader will see EOF */\n"
8808 "        wait(NULL);                /* Wait for child */\n"
8809 "        exit(EXIT_SUCCESS);\n"
8810 "    }\n"
8811 "}\n"
8812 msgstr ""
8813 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
8814 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
8815 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
8816 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
8817 "        wait(NULL);                /* 子プロセスを待つ */\n"
8818 "        exit(EXIT_SUCCESS);\n"
8819 "    }\n"
8820 "}\n"
8821
8822 #. type: Plain text
8823 #: build/C/man2/pipe.2:235
8824 msgid ""
8825 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
8826 "(7)"
8827 msgstr ""
8828 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
8829 "(7)"
8830
8831 #. type: TH
8832 #: build/C/man3/popen.3:40
8833 #, no-wrap
8834 msgid "POPEN"
8835 msgstr "POPEN"
8836
8837 #. type: Plain text
8838 #: build/C/man3/popen.3:43
8839 msgid "popen, pclose - pipe stream to or from a process"
8840 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
8841
8842 #. type: Plain text
8843 #: build/C/man3/popen.3:48
8844 #, no-wrap
8845 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
8846 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
8847
8848 #. type: Plain text
8849 #: build/C/man3/popen.3:50
8850 #, no-wrap
8851 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
8852 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
8853
8854 #. type: Plain text
8855 #: build/C/man3/popen.3:60
8856 msgid "B<popen>(), B<pclose>():"
8857 msgstr "B<popen>(), B<pclose>():"
8858
8859 #. type: Plain text
8860 #: build/C/man3/popen.3:62
8861 msgid ""
8862 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
8863 msgstr ""
8864 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
8865
8866 #. type: Plain text
8867 #: build/C/man3/popen.3:73
8868 msgid ""
8869 "The B<popen>()  function opens a process by creating a pipe, forking, and "
8870 "invoking the shell.  Since a pipe is by definition unidirectional, the "
8871 "I<type> argument may specify only reading or writing, not both; the "
8872 "resulting stream is correspondingly read-only or write-only."
8873 msgstr ""
8874 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
8875 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
8876 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
8877 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
8878 "たは 書き込み専用のいずれかとなる。"
8879
8880 #. type: Plain text
8881 #: build/C/man3/popen.3:97
8882 msgid ""
8883 "The I<command> argument is a pointer to a null-terminated string containing "
8884 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
8885 "flag; interpretation, if any, is performed by the shell.  The I<type> "
8886 "argument is a pointer to a null-terminated string which must contain either "
8887 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
8888 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
8889 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
8890 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
8891 "B<open>(2)  for reasons why this may be useful."
8892 msgstr ""
8893 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
8894 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
8895 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
8896 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
8897 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
8898 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
8899 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
8900 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
8901 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
8902
8903 #. type: Plain text
8904 #: build/C/man3/popen.3:113
8905 msgid ""
8906 "The return value from B<popen>()  is a normal standard I/O stream in all "
8907 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
8908 "(3).  Writing to such a stream writes to the standard input of the command; "
8909 "the command's standard output is the same as that of the process that called "
8910 "B<popen>(), unless this is altered by the command itself.  Conversely, "
8911 "reading from a \"popened\" stream reads the command's standard output, and "
8912 "the command's standard input is the same as that of the process that called "
8913 "B<popen>()."
8914 msgstr ""
8915 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
8916 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
8917 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
8918 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
8919 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
8920 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
8921 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
8922 "セスの標準入力と同一である。"
8923
8924 #. type: Plain text
8925 #: build/C/man3/popen.3:117
8926 msgid "Note that output B<popen>()  streams are fully buffered by default."
8927 msgstr ""
8928 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
8929 "に注意しよう。"
8930
8931 #. type: Plain text
8932 #: build/C/man3/popen.3:123
8933 msgid ""
8934 "The B<pclose>()  function waits for the associated process to terminate and "
8935 "returns the exit status of the command as returned by B<wait4>(2)."
8936 msgstr ""
8937 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
8938 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
8939
8940 #. type: Plain text
8941 #: build/C/man3/popen.3:131
8942 msgid ""
8943 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
8944 "calls fail, or if it cannot allocate memory."
8945 msgstr ""
8946 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
8947 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
8948
8949 #.  These conditions actually give undefined results, so I commented
8950 #.  them out.
8951 #.  .I stream
8952 #.  is not associated with a "popen()ed" command, if
8953 #. .I stream
8954 #.  already "pclose()d", or if
8955 #. type: Plain text
8956 #: build/C/man3/popen.3:146
8957 msgid ""
8958 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
8959 "some other error is detected.  In the event of an error, these functions set "
8960 "I<errno> to indicate the cause of the error."
8961 msgstr ""
8962 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
8963 "かった場合、 -1 を返す。 その場合、 I<errno> にエラーの原因を示す値が設定され"
8964 "る。"
8965
8966 #. type: Plain text
8967 #: build/C/man3/popen.3:165
8968 msgid ""
8969 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
8970 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
8971 "appropriately.  If the I<type> argument is invalid, and this condition is "
8972 "detected, I<errno> is set to B<EINVAL>."
8973 msgstr ""
8974 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
8975 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
8976 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
8977 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
8978
8979 #. type: Plain text
8980 #: build/C/man3/popen.3:172
8981 msgid ""
8982 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
8983 msgstr ""
8984 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
8985 "B<ECHILD> にセットされる。"
8986
8987 #. type: Plain text
8988 #: build/C/man3/popen.3:178
8989 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
8990 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
8991
8992 #. type: Plain text
8993 #: build/C/man3/popen.3:191
8994 msgid ""
8995 "Since the standard input of a command opened for reading shares its seek "
8996 "offset with the process that called B<popen>(), if the original process has "
8997 "done a buffered read, the command's input position may not be as expected.  "
8998 "Similarly, the output from a command opened for writing may become "
8999 "intermingled with that of the original process.  The latter can be avoided "
9000 "by calling B<fflush>(3)  before B<popen>()."
9001 msgstr ""
9002 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
9003 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
9004 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
9005 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
9006 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
9007 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
9008
9009 #.  .SH HISTORY
9010 #.  A
9011 #.  .BR popen ()
9012 #.  and a
9013 #.  .BR pclose ()
9014 #.  function appeared in Version 7 AT&T UNIX.
9015 #. type: Plain text
9016 #: build/C/man3/popen.3:201
9017 msgid ""
9018 "Failure to execute the shell is indistinguishable from the shell's failure "
9019 "to execute command, or an immediate exit of the command.  The only hint is "
9020 "an exit status of 127."
9021 msgstr ""
9022 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
9023 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
9024 "なることである。"
9025
9026 #. type: Plain text
9027 #: build/C/man3/popen.3:211
9028 msgid ""
9029 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
9030 "B<fopen>(3), B<stdio>(3), B<system>(3)"
9031 msgstr ""
9032 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
9033 "B<fopen>(3), B<stdio>(3), B<system>(3)"
9034
9035 #. type: TH
9036 #: build/C/man3/printf.3:34
9037 #, no-wrap
9038 msgid "PRINTF"
9039 msgstr "PRINTF"
9040
9041 #. type: TH
9042 #: build/C/man3/printf.3:34
9043 #, fuzzy, no-wrap
9044 #| msgid "2013-01-30"
9045 msgid "2013-12-30"
9046 msgstr "2013-01-30"
9047
9048 #. type: Plain text
9049 #: build/C/man3/printf.3:38
9050 msgid ""
9051 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
9052 "formatted output conversion"
9053 msgstr ""
9054 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
9055 "指定された書式に変換して出力を行う"
9056
9057 #. type: Plain text
9058 #: build/C/man3/printf.3:42
9059 msgid "B<int printf(const char *>I<format>B<, ...);>"
9060 msgstr "B<int printf(const char *>I<format>B<, ...);>"
9061
9062 #. type: Plain text
9063 #: build/C/man3/printf.3:44
9064 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
9065 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
9066
9067 #. type: Plain text
9068 #: build/C/man3/printf.3:46
9069 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
9070 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
9071
9072 #. type: Plain text
9073 #: build/C/man3/printf.3:48
9074 msgid ""
9075 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
9076 "*>I<format>B<, ...);>"
9077 msgstr ""
9078 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
9079 "*>I<format>B<, ...);>"
9080
9081 #. type: Plain text
9082 #: build/C/man3/printf.3:50
9083 msgid "B<#include E<lt>stdarg.hE<gt>>"
9084 msgstr "B<#include E<lt>stdarg.hE<gt>>"
9085
9086 #. type: Plain text
9087 #: build/C/man3/printf.3:52
9088 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
9089 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
9090
9091 #. type: Plain text
9092 #: build/C/man3/printf.3:54
9093 msgid ""
9094 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
9095 ">I<ap>B<);>"
9096 msgstr ""
9097 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
9098 ">I<ap>B<);>"
9099
9100 #. type: Plain text
9101 #: build/C/man3/printf.3:56
9102 msgid ""
9103 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
9104 msgstr ""
9105 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
9106
9107 #. type: Plain text
9108 #: build/C/man3/printf.3:59
9109 msgid ""
9110 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
9111 "*>I<format>B<, va_list >I<ap>B<);>"
9112 msgstr ""
9113 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
9114 "*>I<format>B<, va_list >I<ap>B<);>"
9115
9116 #. type: Plain text
9117 #: build/C/man3/printf.3:68
9118 msgid "B<snprintf>(), B<vsnprintf>():"
9119 msgstr "B<snprintf>(), B<vsnprintf>():"
9120
9121 #. type: Plain text
9122 #: build/C/man3/printf.3:71
9123 msgid ""
9124 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
9125 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
9126 msgstr ""
9127 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
9128 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
9129
9130 #. type: Plain text
9131 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:85
9132 msgid "or I<cc -std=c99>"
9133 msgstr "or I<cc -std=c99>"
9134
9135 #. type: Plain text
9136 #: build/C/man3/printf.3:101
9137 msgid ""
9138 "The functions in the B<printf>()  family produce output according to a "
9139 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
9140 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
9141 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
9142 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
9143 "string I<str>."
9144 msgstr ""
9145 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
9146 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
9147 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
9148 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
9149 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
9150
9151 #. type: Plain text
9152 #: build/C/man3/printf.3:110
9153 msgid ""
9154 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
9155 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
9156 msgstr ""
9157 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
9158 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
9159
9160 #. type: Plain text
9161 #: build/C/man3/printf.3:134
9162 msgid ""
9163 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
9164 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
9165 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
9166 "instead of a variable number of arguments.  These functions do not call the "
9167 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
9168 "I<ap> is undefined after the call.  See B<stdarg>(3)."
9169 msgstr ""
9170 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
9171 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
9172 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
9173 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
9174 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
9175 "(3)  を参照のこと。"
9176
9177 #. type: Plain text
9178 #: build/C/man3/printf.3:141
9179 msgid ""
9180 "These eight functions write the output under the control of a I<format> "
9181 "string that specifies how subsequent arguments (or arguments accessed via "
9182 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
9183 "output."
9184 msgstr ""
9185 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
9186 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
9187 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
9188
9189 #. type: Plain text
9190 #: build/C/man3/printf.3:152
9191 msgid ""
9192 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
9193 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
9194 "copying to take place between objects that overlap (e.g., if the target "
9195 "string array and one of the supplied input arguments refer to the same "
9196 "buffer).  See NOTES."
9197 msgstr ""
9198 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
9199 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
9200 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
9201 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
9202 "照。"
9203
9204 #. type: SS
9205 #: build/C/man3/printf.3:152
9206 #, no-wrap
9207 msgid "Return value"
9208 msgstr "Return Values"
9209
9210 #. type: Plain text
9211 #: build/C/man3/printf.3:155
9212 msgid ""
9213 "Upon successful return, these functions return the number of characters "
9214 "printed (excluding the null byte used to end output to strings)."
9215 msgstr ""
9216 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
9217 "用する NULL バイトは数に含まれない)。"
9218
9219 #. type: Plain text
9220 #: build/C/man3/printf.3:171
9221 #, fuzzy
9222 #| msgid ""
9223 #| "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
9224 #| "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
9225 #| "the output was truncated due to this limit then the return value is the "
9226 #| "number of characters (excluding the terminating null byte)  which would "
9227 #| "have been written to the final string if enough space had been "
9228 #| "available.  Thus, a return value of I<size> or more means that the output "
9229 #| "was truncated.  (See also below under NOTES.)"
9230 msgid ""
9231 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
9232 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
9233 "the output was truncated due to this limit, then the return value is the "
9234 "number of characters (excluding the terminating null byte)  which would have "
9235 "been written to the final string if enough space had been available.  Thus, "
9236 "a return value of I<size> or more means that the output was truncated.  (See "
9237 "also below under NOTES.)"
9238 msgstr ""
9239 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
9240 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
9241 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
9242 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
9243 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
9244 "する (後述の注意も参照のこと)。"
9245
9246 #. type: Plain text
9247 #: build/C/man3/printf.3:173
9248 msgid "If an output error is encountered, a negative value is returned."
9249 msgstr "エラーが発生した場合は、負の数を返す。"
9250
9251 #. type: SS
9252 #: build/C/man3/printf.3:173
9253 #, no-wrap
9254 msgid "Format of the format string"
9255 msgstr "フォーマット文字列のフォーマット"
9256
9257 #. type: Plain text
9258 #: build/C/man3/printf.3:195
9259 msgid ""
9260 "The format string is a character string, beginning and ending in its initial "
9261 "shift state, if any.  The format string is composed of zero or more "
9262 "directives: ordinary characters (not B<%>), which are copied unchanged to "
9263 "the output stream; and conversion specifications, each of which results in "
9264 "fetching zero or more subsequent arguments.  Each conversion specification "
9265 "is introduced by the character B<%>, and ends with a I<conversion "
9266 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
9267 "an optional minimum I<field width>, an optional I<precision> and an optional "
9268 "I<length modifier>."
9269 msgstr ""
9270 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
9271 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
9272 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
9273 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
9274 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
9275 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
9276 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
9277 "子> を (この順序で) 置くことができる。"
9278
9279 #. type: Plain text
9280 #: build/C/man3/printf.3:208
9281 msgid ""
9282 "The arguments must correspond properly (after type promotion) with the "
9283 "conversion specifier.  By default, the arguments are used in the order "
9284 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
9285 "next argument (and it is an error if insufficiently many arguments are "
9286 "given).  One can also specify explicitly which argument is taken, at each "
9287 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
9288 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
9289 "denotes the position in the argument list of the desired argument, indexed "
9290 "starting from 1.  Thus,"
9291 msgstr ""
9292 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
9293 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
9294 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
9295 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
9296 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
9297 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
9298 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
9299
9300 #. type: Plain text
9301 #: build/C/man3/printf.3:212
9302 #, no-wrap
9303 msgid "printf(\"%*d\", width, num);\n"
9304 msgstr "printf(\"%*d\", width, num);\n"
9305
9306 #. type: Plain text
9307 #: build/C/man3/printf.3:216
9308 msgid "and"
9309 msgstr "と"
9310
9311 #. type: Plain text
9312 #: build/C/man3/printf.3:220
9313 #, no-wrap
9314 msgid "printf(\"%2$*1$d\", width, num);\n"
9315 msgstr "printf(\"%2$*1$d\", width, num);\n"
9316
9317 #. type: Plain text
9318 #: build/C/man3/printf.3:236
9319 msgid ""
9320 "are equivalent.  The second style allows repeated references to the same "
9321 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
9322 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
9323 "\\(aq is used, it must be used throughout for all conversions taking an "
9324 "argument and all width and precision arguments, but it may be mixed with \"%%"
9325 "\" formats which do not consume an argument.  There may be no gaps in the "
9326 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
9327 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
9328 "format string."
9329 msgstr ""
9330 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
9331 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
9332 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
9333 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
9334 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
9335 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
9336 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
9337
9338 #. type: Plain text
9339 #: build/C/man3/printf.3:246
9340 msgid ""
9341 "For some numeric conversions a radix character (\"decimal point\") or "
9342 "thousands' grouping character is used.  The actual character used depends on "
9343 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
9344 "radix character, and does not have a grouping character.  Thus,"
9345 msgstr ""
9346 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
9347 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
9348 "\\(aq を用い、 区切り文字は使わない。 従って、"
9349
9350 #. type: Plain text
9351 #: build/C/man3/printf.3:250
9352 #, no-wrap
9353 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
9354 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
9355
9356 #. type: Plain text
9357 #: build/C/man3/printf.3:255
9358 msgid ""
9359 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
9360 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
9361 msgstr ""
9362 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
9363 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
9364
9365 #. type: SS
9366 #: build/C/man3/printf.3:255
9367 #, no-wrap
9368 msgid "The flag characters"
9369 msgstr "フラグ文字"
9370
9371 #. type: Plain text
9372 #: build/C/man3/printf.3:257
9373 msgid "The character % is followed by zero or more of the following flags:"
9374 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
9375
9376 #. type: TP
9377 #: build/C/man3/printf.3:257
9378 #, no-wrap
9379 msgid "B<#>"
9380 msgstr "B<#>"
9381
9382 #. type: Plain text
9383 #: build/C/man3/printf.3:291
9384 msgid ""
9385 "The value should be converted to an \"alternate form\".  For B<o> "
9386 "conversions, the first character of the output string is made zero (by "
9387 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
9388 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
9389 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
9390 "conversions, the result will always contain a decimal point, even if no "
9391 "digits follow it (normally, a decimal point appears in the results of those "
9392 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
9393 "trailing zeros are not removed from the result as they would otherwise be.  "
9394 "For other conversions, the result is undefined."
9395 msgstr ""
9396 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
9397 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
9398 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
9399 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
9400 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
9401 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
9402 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
9403 "変換では、結果は未定義である。"
9404
9405 #. type: TP
9406 #: build/C/man3/printf.3:291
9407 #, no-wrap
9408 msgid "B<\\&0>"
9409 msgstr "B<\\&0>"
9410
9411 #. type: Plain text
9412 #: build/C/man3/printf.3:331
9413 msgid ""
9414 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
9415 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
9416 "converted value is padded on the left with zeros rather than blanks.  If the "
9417 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
9418 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
9419 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
9420 "is undefined."
9421 msgstr ""
9422 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
9423 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
9424 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
9425 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
9426 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
9427 "である。"
9428
9429 #. type: TP
9430 #: build/C/man3/printf.3:331
9431 #, no-wrap
9432 msgid "B<->"
9433 msgstr "B<->"
9434
9435 #. type: Plain text
9436 #: build/C/man3/printf.3:344
9437 msgid ""
9438 "The converted value is to be left adjusted on the field boundary.  (The "
9439 "default is right justification.)  Except for B<n> conversions, the converted "
9440 "value is padded on the right with blanks, rather than on the left with "
9441 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
9442 msgstr ""
9443 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
9444 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
9445 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
9446
9447 #. type: TP
9448 #: build/C/man3/printf.3:344
9449 #, no-wrap
9450 msgid "B<\\(aq \\(aq>"
9451 msgstr "B<' '>"
9452
9453 #. type: Plain text
9454 #: build/C/man3/printf.3:348
9455 msgid ""
9456 "(a space) A blank should be left before a positive number (or empty string) "
9457 "produced by a signed conversion."
9458 msgstr ""
9459 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
9460 "列) が置かれる。"
9461
9462 #. type: TP
9463 #: build/C/man3/printf.3:348
9464 #, no-wrap
9465 msgid "B<+>"
9466 msgstr "B<+>"
9467
9468 #. type: Plain text
9469 #: build/C/man3/printf.3:356
9470 msgid ""
9471 "A sign (+ or -) should always be placed before a number produced by a signed "
9472 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
9473 "overrides a space if both are used."
9474 msgstr ""
9475 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
9476 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
9477 "が使われている場合には、 B<+> が優先される。"
9478
9479 #. type: Plain text
9480 #: build/C/man3/printf.3:359
9481 msgid ""
9482 "The five flag characters above are defined in the C standard.  The SUSv2 "
9483 "specifies one further flag character."
9484 msgstr ""
9485 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
9486 "グ文字が規定されている。"
9487
9488 #. type: TP
9489 #: build/C/man3/printf.3:359
9490 #, no-wrap
9491 msgid "B<\\(aq>"
9492 msgstr "B<\\(aq>"
9493
9494 #. type: Plain text
9495 #: build/C/man3/printf.3:376
9496 msgid ""
9497 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
9498 "output is to be grouped with thousands' grouping characters if the locale "
9499 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
9500 "parse this option and will issue a warning.  SUSv2 does not include I<%"
9501 "\\(aqF>."
9502 msgstr ""
9503 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
9504 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
9505 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
9506 "\\(aqF は SUSv2 には含まれていない。"
9507
9508 #. type: Plain text
9509 #: build/C/man3/printf.3:378
9510 msgid "glibc 2.2 adds one further flag character."
9511 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
9512
9513 #. type: TP
9514 #: build/C/man3/printf.3:378
9515 #, no-wrap
9516 msgid "B<I>"
9517 msgstr "B<I>"
9518
9519 #.  outdigits keyword in locale file
9520 #. type: Plain text
9521 #: build/C/man3/printf.3:388
9522 msgid ""
9523 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
9524 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
9525 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
9526 msgstr ""
9527 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
9528 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
9529 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
9530
9531 #. type: SS
9532 #: build/C/man3/printf.3:388
9533 #, no-wrap
9534 msgid "The field width"
9535 msgstr "フィールド幅"
9536
9537 #. type: Plain text
9538 #: build/C/man3/printf.3:404
9539 msgid ""
9540 "An optional decimal digit string (with nonzero first digit) specifying a "
9541 "minimum field width.  If the converted value has fewer characters than the "
9542 "field width, it will be padded with spaces on the left (or right, if the "
9543 "left-adjustment flag has been given).  Instead of a decimal digit string one "
9544 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
9545 "the field width is given in the next argument, or in the I<m>-th argument, "
9546 "respectively, which must be of type I<int>.  A negative field width is taken "
9547 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
9548 "nonexistent or small field width cause truncation of a field; if the result "
9549 "of a conversion is wider than the field width, the field is expanded to "
9550 "contain the conversion result."
9551 msgstr ""
9552 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
9553 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
9554 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
9555 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
9556 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
9557 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
9558 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
9559 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
9560 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
9561 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
9562
9563 #. type: SS
9564 #: build/C/man3/printf.3:404
9565 #, no-wrap
9566 msgid "The precision"
9567 msgstr "精度"
9568
9569 #. type: Plain text
9570 #: build/C/man3/printf.3:441
9571 msgid ""
9572 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
9573 "optional decimal digit string.  Instead of a decimal digit string one may "
9574 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
9575 "precision is given in the next argument, or in the m-th argument, "
9576 "respectively, which must be of type I<int>.  If the precision is given as "
9577 "just \\(aq.\\(aq, the precision is taken to be zero.  A negative precision "
9578 "is taken as if the precision were omitted.  This gives the minimum number of "
9579 "digits to appear for B<d>, B<i>, B<o>, B<u>, B<x>, and B<X> conversions, the "
9580 "number of digits to appear after the radix character for B<a>, B<A>, B<e>, "
9581 "B<E>, B<f>, and B<F> conversions, the maximum number of significant digits "
9582 "for B<g> and B<G> conversions, or the maximum number of characters to be "
9583 "printed from a string for B<s> and B<S> conversions."
9584 msgstr ""
9585 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
9586 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
9587 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
9588 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
9589 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定された場合、 精度は"
9590 "ゼロとみなされる。 精度が負の数だった場合、 精度は指定されなかったものとみな"
9591 "される。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換では、表示される最小の桁数を"
9592 "指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> 変換では、小数点以下に表示され"
9593 "る数字の桁数を指定する。 B<g> と B<G> 変換では、有効数字の最大桁数を指定す"
9594 "る。 B<s> と B<S> 変換では、文字列から出力される最大文字数を指定する。"
9595
9596 #. type: SS
9597 #: build/C/man3/printf.3:441
9598 #, no-wrap
9599 msgid "The length modifier"
9600 msgstr "長さ修飾子"
9601
9602 #. type: Plain text
9603 #: build/C/man3/printf.3:451
9604 msgid ""
9605 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
9606 "B<X> conversion."
9607 msgstr ""
9608 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
9609
9610 #. type: TP
9611 #: build/C/man3/printf.3:451 build/C/man3/scanf.3:294
9612 #, no-wrap
9613 msgid "B<hh>"
9614 msgstr "B<hh>"
9615
9616 #. type: Plain text
9617 #: build/C/man3/printf.3:462
9618 msgid ""
9619 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
9620 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
9621 "I<signed char> argument."
9622 msgstr ""
9623 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
9624 "に対応する引き数が I<signed char> へのポインタであることを示す。"
9625
9626 #. type: TP
9627 #: build/C/man3/printf.3:462 build/C/man3/scanf.3:284
9628 #, no-wrap
9629 msgid "B<h>"
9630 msgstr "B<h>"
9631
9632 #. type: Plain text
9633 #: build/C/man3/printf.3:473
9634 msgid ""
9635 "A following integer conversion corresponds to a I<short int> or I<unsigned "
9636 "short int> argument, or a following B<n> conversion corresponds to a pointer "
9637 "to a I<short int> argument."
9638 msgstr ""
9639 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
9640 "換に対応する引き数が I<short int> へのポインタであることを示す。"
9641
9642 #. type: TP
9643 #: build/C/man3/printf.3:473 build/C/man3/scanf.3:311
9644 #, no-wrap
9645 msgid "B<l>"
9646 msgstr "B<l>"
9647
9648 #. type: Plain text
9649 #: build/C/man3/printf.3:492
9650 msgid ""
9651 "(ell) A following integer conversion corresponds to a I<long int> or "
9652 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
9653 "a pointer to a I<long int> argument, or a following B<c> conversion "
9654 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
9655 "corresponds to a pointer to I<wchar_t> argument."
9656 msgstr ""
9657 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
9658 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
9659 "変換では I<wchar_t> へのポインタであることを示す。"
9660
9661 #. type: TP
9662 #: build/C/man3/printf.3:492
9663 #, no-wrap
9664 msgid "B<ll>"
9665 msgstr "B<ll> (エルエル)"
9666
9667 #. type: Plain text
9668 #: build/C/man3/printf.3:504
9669 msgid ""
9670 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
9671 "or I<unsigned long long int> argument, or a following B<n> conversion "
9672 "corresponds to a pointer to a I<long long int> argument."
9673 msgstr ""
9674 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
9675 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
9676
9677 #. type: TP
9678 #: build/C/man3/printf.3:504 build/C/man3/scanf.3:338
9679 #, no-wrap
9680 msgid "B<L>"
9681 msgstr "B<L>"
9682
9683 #. type: Plain text
9684 #: build/C/man3/printf.3:520
9685 msgid ""
9686 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
9687 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
9688 "not.)"
9689 msgstr ""
9690 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
9691 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
9692 "認められていない。)"
9693
9694 #. type: TP
9695 #: build/C/man3/printf.3:520 build/C/man3/scanf.3:354
9696 #, no-wrap
9697 msgid "B<q>"
9698 msgstr "B<q>"
9699
9700 #. type: Plain text
9701 #: build/C/man3/printf.3:526
9702 msgid ""
9703 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
9704 "B<ll>."
9705 msgstr ""
9706 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
9707 "意味である。"
9708
9709 #. type: TP
9710 #: build/C/man3/printf.3:526 build/C/man3/scanf.3:302
9711 #, no-wrap
9712 msgid "B<j>"
9713 msgstr "B<j>"
9714
9715 #. type: Plain text
9716 #: build/C/man3/printf.3:533
9717 msgid ""
9718 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
9719 "argument."
9720 msgstr ""
9721 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
9722
9723 #. type: TP
9724 #: build/C/man3/printf.3:533 build/C/man3/scanf.3:366
9725 #, no-wrap
9726 msgid "B<z>"
9727 msgstr "B<z>"
9728
9729 #. type: Plain text
9730 #: build/C/man3/printf.3:544
9731 msgid ""
9732 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
9733 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
9734 msgstr ""
9735 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
9736 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
9737
9738 #. type: TP
9739 #: build/C/man3/printf.3:544 build/C/man3/scanf.3:359
9740 #, no-wrap
9741 msgid "B<t>"
9742 msgstr "B<t>"
9743
9744 #. type: Plain text
9745 #: build/C/man3/printf.3:549
9746 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
9747 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
9748
9749 #. type: Plain text
9750 #: build/C/man3/printf.3:578
9751 msgid ""
9752 "The SUSv2 knows about only the length modifiers B<h> (in B<hd>, B<hi>, "
9753 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
9754 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
9755 msgstr ""
9756 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
9757 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
9758 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
9759
9760 #. type: SS
9761 #: build/C/man3/printf.3:578
9762 #, no-wrap
9763 msgid "The conversion specifier"
9764 msgstr "変換指定子"
9765
9766 #. type: Plain text
9767 #: build/C/man3/printf.3:581
9768 msgid ""
9769 "A character that specifies the type of conversion to be applied.  The "
9770 "conversion specifiers and their meanings are:"
9771 msgstr ""
9772 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
9773
9774 #. type: TP
9775 #: build/C/man3/printf.3:581
9776 #, no-wrap
9777 msgid "B<d>, B<i>"
9778 msgstr "B<d>, B<i>"
9779
9780 #. type: Plain text
9781 #: build/C/man3/printf.3:591
9782 msgid ""
9783 "The I<int> argument is converted to signed decimal notation.  The precision, "
9784 "if any, gives the minimum number of digits that must appear; if the "
9785 "converted value requires fewer digits, it is padded on the left with zeros.  "
9786 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
9787 "the output is empty."
9788 msgstr ""
9789 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
9790 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
9791 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
9792 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
9793
9794 #. type: TP
9795 #: build/C/man3/printf.3:591
9796 #, no-wrap
9797 msgid "B<o>, B<u>, B<x>, B<X>"
9798 msgstr "B<o>, B<u>, B<x>, B<X>"
9799
9800 #. type: Plain text
9801 #: build/C/man3/printf.3:618
9802 msgid ""
9803 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
9804 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
9805 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
9806 "used for B<X> conversions.  The precision, if any, gives the minimum number "
9807 "of digits that must appear; if the converted value requires fewer digits, it "
9808 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
9809 "printed with an explicit precision 0, the output is empty."
9810 msgstr ""
9811 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
9812 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
9813 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
9814 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
9815 "られる。"
9816
9817 #. type: TP
9818 #: build/C/man3/printf.3:618
9819 #, no-wrap
9820 msgid "B<e>, B<E>"
9821 msgstr "B<e>, B<E>"
9822
9823 #. type: Plain text
9824 #: build/C/man3/printf.3:637
9825 msgid ""
9826 "The I<double> argument is rounded and converted in the style [-]dB<\\&."
9827 ">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
9828 "and the number of digits after it is equal to the precision; if the "
9829 "precision is missing, it is taken as 6; if the precision is zero, no decimal-"
9830 "point character appears.  An B<E> conversion uses the letter B<E> (rather "
9831 "than B<e>)  to introduce the exponent.  The exponent always contains at "
9832 "least two digits; if the value is zero, the exponent is 00."
9833 msgstr ""
9834 "I<double> 引き数を丸めて [-]dB<\\&.>dddB<e>\\(+-dd の形に変換する。\n"
9835 "小数点の前には一桁の数字があり、小数点以下の桁数は精度で指定された桁数\n"
9836 "になる。精度は指定されなかった場合 6 とみなされる。 精度が 0 の場合には、\n"
9837 "小数点以下は表示されない。B<E> 変換では、指数を表現するときに (B<e> で\n"
9838 "はなく) B<E> が使われる。指数部分は少なくとも 2桁表示される。つまり、\n"
9839 "指数の値が 0 の場合には、00 と表示される。"
9840
9841 #. type: TP
9842 #: build/C/man3/printf.3:637
9843 #, no-wrap
9844 msgid "B<f>, B<F>"
9845 msgstr "B<f>, B<F>"
9846
9847 #. type: Plain text
9848 #: build/C/man3/printf.3:648
9849 msgid ""
9850 "The I<double> argument is rounded and converted to decimal notation in the "
9851 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
9852 "character is equal to the precision specification.  If the precision is "
9853 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
9854 "point character appears.  If a decimal point appears, at least one digit "
9855 "appears before it."
9856 msgstr ""
9857 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
9858 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
9859 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
9860 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
9861
9862 #. type: Plain text
9863 #: build/C/man3/printf.3:659
9864 msgid ""
9865 "(The SUSv2 does not know about B<F> and says that character string "
9866 "representations for infinity and NaN may be made available.  The C99 "
9867 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
9868 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
9869 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
9870 msgstr ""
9871 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
9872 "行ってもよいことになっている。\n"
9873 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示"
9874 "し、\n"
9875 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
9876 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
9877
9878 #. type: TP
9879 #: build/C/man3/printf.3:659
9880 #, no-wrap
9881 msgid "B<g>, B<G>"
9882 msgstr "B<g>, B<G>"
9883
9884 #. type: Plain text
9885 #: build/C/man3/printf.3:684
9886 msgid ""
9887 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
9888 "for B<G> conversions).  The precision specifies the number of significant "
9889 "digits.  If the precision is missing, 6 digits are given; if the precision "
9890 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
9891 "conversion is less than -4 or greater than or equal to the precision.  "
9892 "Trailing zeros are removed from the fractional part of the result; a decimal "
9893 "point appears only if it is followed by at least one digit."
9894 msgstr ""
9895 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
9896 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
9897 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
9898 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
9899 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
9900 "一つある場合にだけである。"
9901
9902 #. type: TP
9903 #: build/C/man3/printf.3:684
9904 #, no-wrap
9905 msgid "B<a>, B<A>"
9906 msgstr "B<a>, B<A>"
9907
9908 #. type: Plain text
9909 #: build/C/man3/printf.3:708
9910 msgid ""
9911 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
9912 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
9913 "\\&.>hhhhB<p>\\(+-; for B<A> conversion the prefix B<0X>, the letters "
9914 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
9915 "digit before the decimal point, and the number of digits after it is equal "
9916 "to the precision.  The default precision suffices for an exact "
9917 "representation of the value if an exact representation in base 2 exists and "
9918 "otherwise is sufficiently large to distinguish values of type I<double>.  "
9919 "The digit before the decimal point is unspecified for nonnormalized numbers, "
9920 "and nonzero but otherwise unspecified for normalized numbers."
9921 msgstr ""
9922 "(C99 にはあるが SUSv2 にはない) B<a> 変換では、 I<double> 引き数を\n"
9923 "(abcdef の文字を使って) [-]B<0x>hB<\\&.>hhhhB<p>\\(+- 形式の\n"
9924 "16 進表記に変換する。\n"
9925 "B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。\n"
9926 "小数点の前には 1 桁の 16 進数が置かれ、小数点の後ろの桁数は 精度で指定\n"
9927 "された値となる。デフォルトの精度は、その値が 2 進数で正確に表現できる\n"
9928 "場合には、その値を正確に表現できる桁数となる。それ以外の場合は、\n"
9929 "I<double> 型の値を区別するのに十分な大きさとなる。 小数点の前の数字は、\n"
9930 "正規化されていない数の場合はいくつになるか分からない。 正規化された数の\n"
9931 "場合は、 0 以外の値になるが、いくつになるかは分からない。"
9932
9933 #. type: TP
9934 #: build/C/man3/printf.3:708 build/C/man3/scanf.3:459
9935 #: build/C/man3/wprintf.3:151
9936 #, no-wrap
9937 msgid "B<c>"
9938 msgstr "B<c>"
9939
9940 #. type: Plain text
9941 #: build/C/man3/printf.3:726
9942 msgid ""
9943 "If no B<l> modifier is present, the I<int> argument is converted to an "
9944 "I<unsigned char>, and the resulting character is written.  If an B<l> "
9945 "modifier is present, the I<wint_t> (wide character) argument is converted to "
9946 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
9947 "conversion state starting in the initial state, and the resulting multibyte "
9948 "string is written."
9949 msgstr ""
9950 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
9951 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
9952 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
9953 "換し、 変換されたマルチバイト文字列を出力する。"
9954
9955 #. type: TP
9956 #: build/C/man3/printf.3:726 build/C/man3/scanf.3:451
9957 #: build/C/man3/wprintf.3:165
9958 #, no-wrap
9959 msgid "B<s>"
9960 msgstr "B<s>"
9961
9962 #. type: Plain text
9963 #: build/C/man3/printf.3:741
9964 msgid ""
9965 "If no B<l> modifier is present: The I<const char\\ *> argument is expected "
9966 "to be a pointer to an array of character type (pointer to a string).  "
9967 "Characters from the array are written up to (but not including) a "
9968 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
9969 "than the number specified are written.  If a precision is given, no null "
9970 "byte need be present; if the precision is not specified, or is greater than "
9971 "the size of the array, the array must contain a terminating null byte."
9972 msgstr ""
9973 "B<l> 修飾子がない場合、 引き数は I<const char\\ *> 型で文字型の配列へのポイン"
9974 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
9975 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
9976 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
9977 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
9978 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
9979 "なければならない。"
9980
9981 #. type: Plain text
9982 #: build/C/man3/printf.3:768
9983 msgid ""
9984 "If an B<l> modifier is present: The I<const wchar_t\\ *> argument is "
9985 "expected to be a pointer to an array of wide characters.  Wide characters "
9986 "from the array are converted to multibyte characters (each by a call to the "
9987 "B<wcrtomb>(3)  function, with a conversion state starting in the initial "
9988 "state before the first wide character), up to and including a terminating "
9989 "null wide character.  The resulting multibyte characters are written up to "
9990 "(but not including) the terminating null byte.  If a precision is specified, "
9991 "no more bytes than the number specified are written, but no partial "
9992 "multibyte characters are written.  Note that the precision determines the "
9993 "number of I<bytes> written, not the number of I<wide characters> or I<screen "
9994 "positions>.  The array must contain a terminating null wide character, "
9995 "unless a precision is given and it is so small that the number of bytes "
9996 "written exceeds it before the end of the array is reached."
9997 msgstr ""
9998 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t\\ *> 型でワイド文"
9999 "字の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字"
10000 "毎に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド"
10001 "文字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
10002 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
10003 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
10004 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
10005 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
10006 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
10007 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
10008 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
10009 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
10010 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
10011 "い。"
10012
10013 #. type: TP
10014 #: build/C/man3/printf.3:768
10015 #, no-wrap
10016 msgid "B<C>"
10017 msgstr "B<C>"
10018
10019 #. type: Plain text
10020 #: build/C/man3/printf.3:774
10021 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
10022 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
10023
10024 #. type: TP
10025 #: build/C/man3/printf.3:774
10026 #, no-wrap
10027 msgid "B<S>"
10028 msgstr "B<S>"
10029
10030 #. type: Plain text
10031 #: build/C/man3/printf.3:780
10032 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
10033 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
10034
10035 #. type: TP
10036 #: build/C/man3/printf.3:780 build/C/man3/scanf.3:502
10037 #, no-wrap
10038 msgid "B<p>"
10039 msgstr "B<p>"
10040
10041 #. type: Plain text
10042 #: build/C/man3/printf.3:788
10043 msgid ""
10044 "The I<void\\ *> pointer argument is printed in hexadecimal (as if by B<%#x> "
10045 "or B<%#lx>)."
10046 msgstr ""
10047 "I<void\\ *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
10048
10049 #. type: TP
10050 #: build/C/man3/printf.3:788 build/C/man3/scanf.3:510
10051 #, no-wrap
10052 msgid "B<n>"
10053 msgstr "B<n>"
10054
10055 #. type: Plain text
10056 #: build/C/man3/printf.3:795
10057 msgid ""
10058 "The number of characters written so far is stored into the integer indicated "
10059 "by the I<int\\ *> (or variant) pointer argument.  No argument is converted."
10060 msgstr ""
10061 "これまでに出力された文字数を I<int\\ *> (または類似の型) のポインタ引き数が指"
10062 "す整数に保存する。 引き数の変換は行われない。"
10063
10064 #. type: TP
10065 #: build/C/man3/printf.3:795
10066 #, no-wrap
10067 msgid "B<m>"
10068 msgstr "B<m>"
10069
10070 #. type: Plain text
10071 #: build/C/man3/printf.3:801
10072 msgid ""
10073 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
10074 "required."
10075 msgstr ""
10076 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
10077
10078 #. type: TP
10079 #: build/C/man3/printf.3:801 build/C/man3/scanf.3:377
10080 #, no-wrap
10081 msgid "B<%>"
10082 msgstr "B<%>"
10083
10084 #. type: Plain text
10085 #: build/C/man3/printf.3:807
10086 msgid ""
10087 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
10088 "conversion specification is \\(aq%%\\(aq."
10089 msgstr ""
10090 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
10091 "%\" となる。"
10092
10093 #. type: Plain text
10094 #: build/C/man3/printf.3:822
10095 msgid ""
10096 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
10097 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
10098 "B<vsnprintf>()  functions conform to C99."
10099 msgstr ""
10100 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
10101 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
10102 "B<vsnprintf>()  は C99 に準拠している。"
10103
10104 #. type: Plain text
10105 #: build/C/man3/printf.3:835
10106 msgid ""
10107 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
10108 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
10109 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
10110 "this case, and gives the return value (as always)  as the number of "
10111 "characters that would have been written in case the output string has been "
10112 "large enough."
10113 msgstr ""
10114 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
10115 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
10116 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
10117 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
10118 "出力されるであろう文字数を返す。"
10119
10120 #. type: Plain text
10121 #: build/C/man3/printf.3:849
10122 msgid ""
10123 "Linux libc4 knows about the five C standard flags.  It knows about the "
10124 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
10125 "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 "
10126 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
10127 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
10128 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
10129 "dependent radix character, no thousands' separator, no NaN or infinity, no "
10130 "\"%m$\" and \"*m$\"."
10131 msgstr ""
10132 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
10133 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
10134 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
10135 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
10136 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
10137 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
10138 "えない。"
10139
10140 #. type: Plain text
10141 #: build/C/man3/printf.3:860
10142 msgid ""
10143 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
10144 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
10145 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
10146 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
10147 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
10148 "outputs I<strerror(errno)>."
10149 msgstr ""
10150 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
10151 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
10152 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
10153 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
10154 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
10155 "ある。"
10156
10157 #. type: Plain text
10158 #: build/C/man3/printf.3:862
10159 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
10160 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
10161
10162 #. type: Plain text
10163 #: build/C/man3/printf.3:865
10164 msgid ""
10165 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
10166 "characters B<a> and B<A>."
10167 msgstr ""
10168 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
10169 "加された。"
10170
10171 #. type: Plain text
10172 #: build/C/man3/printf.3:868
10173 msgid ""
10174 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
10175 "flag character B<I>."
10176 msgstr ""
10177 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
10178 "追加された。"
10179
10180 #. type: Plain text
10181 #: build/C/man3/printf.3:870
10182 msgid "Some programs imprudently rely on code such as the following"
10183 msgstr ""
10184 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
10185 "ラムがある。"
10186
10187 #. type: Plain text
10188 #: build/C/man3/printf.3:872
10189 #, no-wrap
10190 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
10191 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
10192
10193 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
10194 #. type: Plain text
10195 #: build/C/man3/printf.3:888
10196 msgid ""
10197 "to append text to I<buf>.  However, the standards explicitly note that the "
10198 "results are undefined if source and destination buffers overlap when calling "
10199 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
10200 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
10201 "such as the above will B<not> produce the expected results."
10202 msgstr ""
10203 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
10204 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
10205 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
10206 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
10207 "結果が得られ「ない」ことがある。"
10208
10209 #.  .SH HISTORY
10210 #.  UNIX V7 defines the three routines
10211 #.  .BR printf (),
10212 #.  .BR fprintf (),
10213 #.  .BR sprintf (),
10214 #.  and has the flag \-, the width or precision *, the length modifier l,
10215 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
10216 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
10217 #.  #, + and <space> and no longer mentions D,O,U,X.
10218 #.  2.11BSD has
10219 #.  .BR vprintf (),
10220 #.  .BR vfprintf (),
10221 #.  .BR vsprintf (),
10222 #.  and warns not to use D,O,U,X.
10223 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
10224 #.  and the conversions n, p, E, G, X (with current meaning)
10225 #.  and deprecates D,O,U.
10226 #.  4.4BSD introduces the functions
10227 #.  .BR snprintf ()
10228 #.  and
10229 #.  .BR vsnprintf (),
10230 #.  and the length modifier q.
10231 #.  FreeBSD also has functions
10232 #.  .BR asprintf ()
10233 #.  and
10234 #.  .BR vasprintf (),
10235 #.  that allocate a buffer large enough for
10236 #.  .BR sprintf ().
10237 #.  In glibc there are functions
10238 #.  .BR dprintf ()
10239 #.  and
10240 #.  .BR vdprintf ()
10241 #.  that print to a file descriptor instead of a stream.
10242 #. type: Plain text
10243 #: build/C/man3/printf.3:930
10244 msgid ""
10245 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
10246 "conforms to the C99 standard, that is, behaves as described above, since "
10247 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
10248 "was truncated."
10249 msgstr ""
10250 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
10251 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
10252 "切り詰められた場合は -1 を返す。"
10253
10254 #. type: Plain text
10255 #: build/C/man3/printf.3:947
10256 msgid ""
10257 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
10258 "callers must be careful not to overflow the actual space; this is often "
10259 "impossible to assure.  Note that the length of the strings produced is "
10260 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
10261 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
10262 msgstr ""
10263 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
10264 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
10265 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
10266 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
10267 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
10268
10269 #. type: Plain text
10270 #: build/C/man3/printf.3:960
10271 msgid ""
10272 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
10273 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
10274 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
10275 "libc4 leads to serious security problems."
10276 msgstr ""
10277 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
10278 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
10279 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
10280 "深刻なセキュリティ問題を引き起こすことがある。"
10281
10282 #.  .PP
10283 #.  Some floating-point conversions under early libc4
10284 #.  caused memory leaks.
10285 #. type: Plain text
10286 #: build/C/man3/printf.3:974
10287 msgid ""
10288 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
10289 "contain a % character.  If I<foo> comes from untrusted user input, it may "
10290 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
10291 "a security hole."
10292 msgstr ""
10293 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
10294 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
10295 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
10296 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
10297 "ルを作ることになるかもしれない。"
10298
10299 #. type: Plain text
10300 #: build/C/man3/printf.3:978
10301 msgid "To print I<Pi> to five decimal places:"
10302 msgstr "I<Pi> を 5 桁で出力する。"
10303
10304 #. type: Plain text
10305 #: build/C/man3/printf.3:984
10306 #, no-wrap
10307 msgid ""
10308 "#include E<lt>math.hE<gt>\n"
10309 "#include E<lt>stdio.hE<gt>\n"
10310 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
10311 msgstr ""
10312 "#include E<lt>math.hE<gt>\n"
10313 "#include E<lt>stdio.hE<gt>\n"
10314 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
10315
10316 #. type: Plain text
10317 #: build/C/man3/printf.3:993
10318 msgid ""
10319 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
10320 "I<weekday> and I<month> are pointers to strings:"
10321 msgstr ""
10322 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
10323 "I<month> は文字列へのポインタである)"
10324
10325 #. type: Plain text
10326 #: build/C/man3/printf.3:999
10327 #, no-wrap
10328 msgid ""
10329 "#include E<lt>stdio.hE<gt>\n"
10330 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
10331 "        weekday, month, day, hour, min);\n"
10332 msgstr ""
10333 "#include E<lt>stdio.hE<gt>\n"
10334 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
10335 "\tweekday, month, day, hour, min);\n"
10336
10337 #. type: Plain text
10338 #: build/C/man3/printf.3:1005
10339 msgid ""
10340 "Many countries use the day-month-year order.  Hence, an internationalized "
10341 "version must be able to print the arguments in an order specified by the "
10342 "format:"
10343 msgstr ""
10344 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
10345 "順番で 引き数を表示できなければならない。"
10346
10347 #. type: Plain text
10348 #: build/C/man3/printf.3:1011
10349 #, no-wrap
10350 msgid ""
10351 "#include E<lt>stdio.hE<gt>\n"
10352 "fprintf(stdout, format,\n"
10353 "        weekday, month, day, hour, min);\n"
10354 msgstr ""
10355 "#include E<lt>stdio.hE<gt>\n"
10356 "fprintf(stdout, format,\n"
10357 "\tweekday, month, day, hour, min);\n"
10358
10359 #. type: Plain text
10360 #: build/C/man3/printf.3:1018
10361 msgid ""
10362 "where I<format> depends on locale, and may permute the arguments.  With the "
10363 "value:"
10364 msgstr ""
10365 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
10366 "I<format> が"
10367
10368 #. type: Plain text
10369 #: build/C/man3/printf.3:1022
10370 #, no-wrap
10371 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
10372 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
10373
10374 #. type: Plain text
10375 #: build/C/man3/printf.3:1026
10376 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
10377 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
10378
10379 #. type: Plain text
10380 #: build/C/man3/printf.3:1029
10381 msgid ""
10382 "To allocate a sufficiently large string and print into it (code correct for "
10383 "both glibc 2.0 and glibc 2.1):"
10384 msgstr ""
10385 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
10386 "と glibc 2.1 の両方で正しく動作するコード):"
10387
10388 #. type: Plain text
10389 #: build/C/man3/printf.3:1034
10390 #, no-wrap
10391 msgid ""
10392 "#include E<lt>stdio.hE<gt>\n"
10393 "#include E<lt>stdlib.hE<gt>\n"
10394 "#include E<lt>stdarg.hE<gt>\n"
10395 msgstr ""
10396 "#include E<lt>stdio.hE<gt>\n"
10397 "#include E<lt>stdlib.hE<gt>\n"
10398 "#include E<lt>stdarg.hE<gt>\n"
10399
10400 #. type: Plain text
10401 #: build/C/man3/printf.3:1042
10402 #, no-wrap
10403 msgid ""
10404 "char *\n"
10405 "make_message(const char *fmt, ...)\n"
10406 "{\n"
10407 "    int n;\n"
10408 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
10409 "    char *p, *np;\n"
10410 "    va_list ap;\n"
10411 msgstr ""
10412 "char *\n"
10413 "make_message(const char *fmt, ...)\n"
10414 "{\n"
10415 "    int n;\n"
10416 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
10417 "    char *p, *np;\n"
10418 "    va_list ap;\n"
10419
10420 #. type: Plain text
10421 #: build/C/man3/printf.3:1046
10422 #, fuzzy, no-wrap
10423 #| msgid ""
10424 #| "    if ((p = malloc(size)) == NULL)\n"
10425 #| "        return NULL;\n"
10426 msgid ""
10427 "    p = malloc(size);\n"
10428 "    if (p == NULL)\n"
10429 "        return NULL;\n"
10430 msgstr ""
10431 "    if ((p = malloc(size)) == NULL)\n"
10432 "        return NULL;\n"
10433
10434 #. type: Plain text
10435 #: build/C/man3/printf.3:1048
10436 #, no-wrap
10437 msgid "    while (1) {\n"
10438 msgstr "    while (1) {\n"
10439
10440 #. type: Plain text
10441 #: build/C/man3/printf.3:1050
10442 #, no-wrap
10443 msgid "        /* Try to print in the allocated space */\n"
10444 msgstr "        /* Try to print in the allocated space */\n"
10445
10446 #. type: Plain text
10447 #: build/C/man3/printf.3:1054
10448 #, no-wrap
10449 msgid ""
10450 "        va_start(ap, fmt);\n"
10451 "        n = vsnprintf(p, size, fmt, ap);\n"
10452 "        va_end(ap);\n"
10453 msgstr ""
10454 "        va_start(ap, fmt);\n"
10455 "        n = vsnprintf(p, size, fmt, ap);\n"
10456 "        va_end(ap);\n"
10457
10458 #. type: Plain text
10459 #: build/C/man3/printf.3:1056
10460 #, no-wrap
10461 msgid "        /* Check error code */\n"
10462 msgstr "        /* Check error code */\n"
10463
10464 #. type: Plain text
10465 #: build/C/man3/printf.3:1061
10466 #, fuzzy, no-wrap
10467 #| msgid ""
10468 #| "        if (n E<lt> 0)\n"
10469 #| "            return NULL;\n"
10470 msgid ""
10471 "        if (n E<lt> 0) {\n"
10472 "            free(p);\n"
10473 "            return NULL;\n"
10474 "        }\n"
10475 msgstr ""
10476 "        if (n E<lt> 0)\n"
10477 "            return NULL;\n"
10478
10479 #. type: Plain text
10480 #: build/C/man3/printf.3:1063
10481 #, no-wrap
10482 msgid "        /* If that worked, return the string */\n"
10483 msgstr "        /* If that worked, return the string */\n"
10484
10485 #. type: Plain text
10486 #: build/C/man3/printf.3:1066
10487 #, no-wrap
10488 msgid ""
10489 "        if (n E<lt> size)\n"
10490 "            return p;\n"
10491 msgstr ""
10492 "        if (n E<lt> size)\n"
10493 "            return p;\n"
10494
10495 #. type: Plain text
10496 #: build/C/man3/printf.3:1068
10497 #, no-wrap
10498 msgid "        /* Else try again with more space */\n"
10499 msgstr "        /* Else try again with more space */\n"
10500
10501 #. type: Plain text
10502 #: build/C/man3/printf.3:1070
10503 #, no-wrap
10504 msgid "        size = n + 1;       /* Precisely what is needed */\n"
10505 msgstr "        size = n + 1;       /* Precisely what is needed */\n"
10506
10507 #. type: Plain text
10508 #: build/C/man3/printf.3:1081
10509 #, fuzzy, no-wrap
10510 #| msgid ""
10511 #| "        if ((np = realloc (p, size)) == NULL) {\n"
10512 #| "            free(p);\n"
10513 #| "            return NULL;\n"
10514 #| "        } else {\n"
10515 #| "            p = np;\n"
10516 #| "        }\n"
10517 #| "    }\n"
10518 #| "}\n"
10519 msgid ""
10520 "        np = realloc(p, size);\n"
10521 "        if (np == NULL) {\n"
10522 "            free(p);\n"
10523 "            return NULL;\n"
10524 "        } else {\n"
10525 "            p = np;\n"
10526 "        }\n"
10527 "    }\n"
10528 "}\n"
10529 msgstr ""
10530 "        if ((np = realloc (p, size)) == NULL) {\n"
10531 "            free(p);\n"
10532 "            return NULL;\n"
10533 "        } else {\n"
10534 "            p = np;\n"
10535 "        }\n"
10536 "    }\n"
10537 "}\n"
10538
10539 #. type: Plain text
10540 #: build/C/man3/printf.3:1085
10541 msgid ""
10542 "If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
10543 "error instead of being handled gracefully."
10544 msgstr ""
10545 "バージョン 2.0.6 より前の glibc で切り詰めが起こった場合、切り詰めは適切に処"
10546 "理されず、エラーとして扱われる。"
10547
10548 #. type: Plain text
10549 #: build/C/man3/printf.3:1094
10550 msgid ""
10551 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
10552 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
10553 msgstr ""
10554 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
10555 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
10556
10557 #. type: TH
10558 #: build/C/man3/puts.3:26
10559 #, no-wrap
10560 msgid "PUTS"
10561 msgstr "PUTS"
10562
10563 #. type: TH
10564 #: build/C/man3/puts.3:26 build/C/man3/scanf.3:52
10565 #, fuzzy, no-wrap
10566 #| msgid "2012-01-18"
10567 msgid "2014-01-11"
10568 msgstr "2012-01-18"
10569
10570 #. type: Plain text
10571 #: build/C/man3/puts.3:29
10572 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
10573 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
10574
10575 #. type: Plain text
10576 #: build/C/man3/puts.3:34
10577 #, no-wrap
10578 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
10579 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
10580
10581 #. type: Plain text
10582 #: build/C/man3/puts.3:36
10583 #, no-wrap
10584 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
10585 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
10586
10587 #. type: Plain text
10588 #: build/C/man3/puts.3:38
10589 #, no-wrap
10590 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
10591 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
10592
10593 #. type: Plain text
10594 #: build/C/man3/puts.3:40
10595 #, no-wrap
10596 msgid "B<int putchar(int >I<c>B<);>\n"
10597 msgstr "B<int putchar(int >I<c>B<);>\n"
10598
10599 #. type: Plain text
10600 #: build/C/man3/puts.3:42
10601 #, no-wrap
10602 msgid "B<int puts(const char *>I<s>B<);>\n"
10603 msgstr "B<int puts(const char *>I<s>B<);>\n"
10604
10605 #. type: Plain text
10606 #: build/C/man3/puts.3:51
10607 msgid ""
10608 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
10609 "I<stream>."
10610 msgstr ""
10611 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
10612 "に書き込む。"
10613
10614 #. type: Plain text
10615 #: build/C/man3/puts.3:58
10616 msgid ""
10617 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
10618 "null byte (\\(aq\\e0\\(aq)."
10619 msgstr ""
10620 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
10621 "ト (\\(aq\\e0\\(aq) は出力しない。"
10622
10623 #. type: Plain text
10624 #: build/C/man3/puts.3:65
10625 msgid ""
10626 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
10627 "a macro which evaluates I<stream> more than once."
10628 msgstr ""
10629 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
10630 "れないという点を除き、 B<fputc>()  と同じである。"
10631
10632 #. type: Plain text
10633 #: build/C/man3/puts.3:69
10634 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
10635 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
10636
10637 #. type: Plain text
10638 #: build/C/man3/puts.3:76
10639 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
10640 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
10641
10642 #. type: Plain text
10643 #: build/C/man3/puts.3:81
10644 msgid ""
10645 "Calls to the functions described here can be mixed with each other and with "
10646 "calls to other output functions from the I<stdio> library for the same "
10647 "output stream."
10648 msgstr ""
10649 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
10650 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
10651 "る。"
10652
10653 #. type: Plain text
10654 #: build/C/man3/puts.3:96
10655 msgid ""
10656 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
10657 "I<unsigned char> cast to an I<int> or B<EOF> on error."
10658 msgstr ""
10659 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
10660 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
10661
10662 #. type: Plain text
10663 #: build/C/man3/puts.3:103
10664 msgid ""
10665 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
10666 "on error."
10667 msgstr ""
10668 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
10669 "は B<EOF> を返す。"
10670
10671 #. type: Plain text
10672 #: build/C/man3/puts.3:112
10673 msgid ""
10674 "It is not advisable to mix calls to output functions from the I<stdio> "
10675 "library with low-level calls to B<write>(2)  for the file descriptor "
10676 "associated with the same output stream; the results will be undefined and "
10677 "very probably not what you want."
10678 msgstr ""
10679 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
10680 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
10681 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
10682 "性が高い。"
10683
10684 #. type: Plain text
10685 #: build/C/man3/puts.3:124
10686 #, fuzzy
10687 #| msgid ""
10688 #| "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), "
10689 #| "B<fseek>(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), "
10690 #| "B<unlocked_stdio>(3)"
10691 msgid ""
10692 "B<write>(2), B<ferror>(3), B<fgets>(3), B<fopen>(3), B<fputwc>(3), B<fputws>"
10693 "(3), B<fseek>(3), B<fwrite>(3), B<putwchar>(3), B<scanf>(3), "
10694 "B<unlocked_stdio>(3)"
10695 msgstr ""
10696 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
10697 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
10698 "(3)"
10699
10700 #. type: TH
10701 #: build/C/man2/read.2:35
10702 #, no-wrap
10703 msgid "READ"
10704 msgstr "READ"
10705
10706 #. type: TH
10707 #: build/C/man2/read.2:35
10708 #, no-wrap
10709 msgid "2013-02-12"
10710 msgstr "2013-02-12"
10711
10712 #. type: Plain text
10713 #: build/C/man2/read.2:38
10714 msgid "read - read from a file descriptor"
10715 msgstr "read - ファイルディスクリプタから読み込む"
10716
10717 #. type: Plain text
10718 #: build/C/man2/read.2:43
10719 #, no-wrap
10720 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
10721 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
10722
10723 #. type: Plain text
10724 #: build/C/man2/read.2:52
10725 msgid ""
10726 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
10727 "into the buffer starting at I<buf>."
10728 msgstr ""
10729 "B<read>()  はファイルディスクリプタ (file descriptor)  I<fd> から最大 "
10730 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
10731
10732 #. type: Plain text
10733 #: build/C/man2/read.2:60
10734 msgid ""
10735 "On files that support seeking, the read operation commences at the current "
10736 "file offset, and the file offset is incremented by the number of bytes "
10737 "read.  If the current file offset is at or past the end of file, no bytes "
10738 "are read, and B<read>()  returns zero."
10739 msgstr ""
10740 "seek に対応しているファイルでは、read は現在のファイルオフセットから行われ、"
10741 "ファイルオフセットは読み込んだバイト数分だけ進められる。現在のファイルオフ"
10742 "セットがファイル末尾かそれより先の場合は、読み出しは行われず、 B<read>() は "
10743 "0 を返す。"
10744
10745 #. type: Plain text
10746 #: build/C/man2/read.2:75
10747 msgid ""
10748 "If I<count> is zero, B<read>()  I<may> detect the errors described below.  "
10749 "In the absence of any errors, or if B<read>()  does not check for errors, a "
10750 "B<read>()  with a I<count> of 0 returns zero and has no other effects."
10751 msgstr ""
10752 "I<count> が 0 の場合、 B<read>() は以下で説明するエラーを検出するI<場合がある"
10753 ">。 どのエラーもなかった場合、もしくは B<read>() がエラーのチェックを行わない"
10754 "場合、 I<count> が 0 で呼び出された B<read>() は 0 を返し、何も行わない。"
10755
10756 #. type: Plain text
10757 #: build/C/man2/read.2:81
10758 msgid "If I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
10759 msgstr "I<count> が B<SSIZE_MAX> より大きければ、結果は規定できない。"
10760
10761 #. type: Plain text
10762 #: build/C/man2/read.2:95
10763 msgid ""
10764 "On success, the number of bytes read is returned (zero indicates end of "
10765 "file), and the file position is advanced by this number.  It is not an error "
10766 "if this number is smaller than the number of bytes requested; this may "
10767 "happen for example because fewer bytes are actually available right now "
10768 "(maybe because we were close to end-of-file, or because we are reading from "
10769 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
10770 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
10771 "this case it is left unspecified whether the file position (if any) changes."
10772 msgstr ""
10773 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
10774 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
10775 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
10776 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
10777 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
10778 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
10779 "の場合はファイル位置が変更されるかどうかは 不定である。"
10780
10781 #. type: TP
10782 #: build/C/man2/read.2:96 build/C/man3/scanf.3:548 build/C/man2/write.2:108
10783 #, no-wrap
10784 msgid "B<EAGAIN>"
10785 msgstr "B<EAGAIN>"
10786
10787 #. type: Plain text
10788 #: build/C/man2/read.2:103
10789 msgid ""
10790 "The file descriptor I<fd> refers to a file other than a socket and has been "
10791 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
10792 msgstr ""
10793 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
10794 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
10795 "する状況にある。"
10796
10797 #. type: TP
10798 #: build/C/man2/read.2:103 build/C/man2/write.2:115
10799 #, no-wrap
10800 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
10801 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
10802
10803 #.  Actually EAGAIN on Linux
10804 #. type: Plain text
10805 #: build/C/man2/read.2:114
10806 msgid ""
10807 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
10808 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
10809 "to be returned for this case, and does not require these constants to have "
10810 "the same value, so a portable application should check for both "
10811 "possibilities."
10812 msgstr ""
10813 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
10814 "モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にあ"
10815 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
10816 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
10817 "プリケーションでは、両方の可能性を 確認すべきである。"
10818
10819 #. type: Plain text
10820 #: build/C/man2/read.2:118
10821 msgid "I<fd> is not a valid file descriptor or is not open for reading."
10822 msgstr ""
10823 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
10824 "(open) されていない。"
10825
10826 #. type: Plain text
10827 #: build/C/man2/read.2:122 build/C/man2/write.2:145
10828 msgid "I<buf> is outside your accessible address space."
10829 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
10830
10831 #. type: Plain text
10832 #: build/C/man2/read.2:126
10833 msgid ""
10834 "The call was interrupted by a signal before any data was read; see B<signal>"
10835 "(7)."
10836 msgstr ""
10837 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
10838
10839 #. type: Plain text
10840 #: build/C/man2/read.2:137
10841 msgid ""
10842 "I<fd> is attached to an object which is unsuitable for reading; or the file "
10843 "was opened with the B<O_DIRECT> flag, and either the address specified in "
10844 "I<buf>, the value specified in I<count>, or the current file offset is not "
10845 "suitably aligned."
10846 msgstr ""
10847 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
10848 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
10849 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
10850 "ンメントが不適切である。"
10851
10852 #. type: Plain text
10853 #: build/C/man2/read.2:147
10854 msgid ""
10855 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
10856 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
10857 "information."
10858 msgstr ""
10859 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
10860 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
10861 "こと。"
10862
10863 #. type: Plain text
10864 #: build/C/man2/read.2:158
10865 msgid ""
10866 "I/O error.  This will happen for example when the process is in a background "
10867 "process group, tries to read from its controlling terminal, and either it is "
10868 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
10869 "also occur when there is a low-level I/O error while reading from a disk or "
10870 "tape."
10871 msgstr ""
10872 "I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、それを"
10873 "制御している端末から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
10874 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
10875 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
10876 "た場合にも起こる。"
10877
10878 #. type: Plain text
10879 #: build/C/man2/read.2:162
10880 msgid "I<fd> refers to a directory."
10881 msgstr "I<fd> がディレクトリを参照している。"
10882
10883 #. type: Plain text
10884 #: build/C/man2/read.2:173
10885 msgid ""
10886 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
10887 "allows a B<read>()  that is interrupted after reading some data to return -1 "
10888 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
10889 "read."
10890 msgstr ""
10891 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
10892 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
10893 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
10894 "数を返してもよい。"
10895
10896 #. type: Plain text
10897 #: build/C/man2/read.2:187
10898 msgid ""
10899 "On NFS filesystems, reading small amounts of data will update the timestamp "
10900 "only the first time, subsequent calls may not do so.  This is caused by "
10901 "client side attribute caching, because most if not all NFS clients leave "
10902 "st_atime (last file access time)  updates to the server and client side "
10903 "reads satisfied from the client's cache will not cause st_atime updates on "
10904 "the server as there are no server side reads.  UNIX semantics can be "
10905 "obtained by disabling client side attribute caching, but in most situations "
10906 "this will substantially increase server load and decrease performance."
10907 msgstr ""
10908 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
10909 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
10910 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
10911 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
10912 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
10913 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
10914 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
10915 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
10916
10917 #. type: Plain text
10918 #: build/C/man2/read.2:200
10919 msgid ""
10920 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
10921 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
10922 "B<fread>(3)"
10923 msgstr ""
10924 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
10925 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
10926 "B<fread>(3)"
10927
10928 #. type: TH
10929 #: build/C/man2/readlink.2:44
10930 #, no-wrap
10931 msgid "READLINK"
10932 msgstr "READLINK"
10933
10934 #. type: Plain text
10935 #: build/C/man2/readlink.2:47
10936 #, fuzzy
10937 #| msgid "readlink - read value of a symbolic link"
10938 msgid "readlink, readlinkat - read value of a symbolic link"
10939 msgstr "readlink - シンボリックリンクの値を読む"
10940
10941 #. type: Plain text
10942 #: build/C/man2/readlink.2:53
10943 #, fuzzy, no-wrap
10944 #| msgid "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
10945 msgid "B<ssize_t readlink(const char *>I<pathname>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
10946 msgstr "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
10947
10948 #. type: Plain text
10949 #: build/C/man2/readlink.2:59
10950 #, fuzzy, no-wrap
10951 #| msgid "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
10952 msgid ""
10953 "B<int readlinkat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
10954 "B<               char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
10955 msgstr "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
10956
10957 #. type: Plain text
10958 #: build/C/man2/readlink.2:68
10959 msgid "B<readlink>():"
10960 msgstr "B<readlink>():"
10961
10962 #. type: Plain text
10963 #: build/C/man2/readlink.2:71 build/C/man2/symlink.2:59
10964 msgid ""
10965 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10966 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
10967 msgstr ""
10968 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10969 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
10970
10971 #. type: Plain text
10972 #: build/C/man2/readlink.2:74
10973 #, fuzzy
10974 #| msgid "B<readlink>():"
10975 msgid "B<readlinkat>():"
10976 msgstr "B<readlink>():"
10977
10978 #. type: Plain text
10979 #: build/C/man2/readlink.2:100
10980 #, fuzzy
10981 #| msgid ""
10982 #| "B<readlink>()  places the contents of the symbolic link I<path> in the "
10983 #| "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append "
10984 #| "a null byte to I<buf>.  It will truncate the contents (to a length of "
10985 #| "I<bufsiz> characters), in case the buffer is too small to hold all of the "
10986 #| "contents."
10987 msgid ""
10988 "B<readlink>()  places the contents of the symbolic link I<pathname> in the "
10989 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
10990 "null byte to I<buf>.  It will truncate the contents (to a length of "
10991 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
10992 "contents."
10993 msgstr ""
10994 "B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
10995 "ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
10996 "NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
10997 "さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
10998
10999 #. type: SS
11000 #: build/C/man2/readlink.2:100
11001 #, fuzzy, no-wrap
11002 #| msgid "B<readlink>():"
11003 msgid "readlinkat()"
11004 msgstr "B<readlink>():"
11005
11006 #. type: Plain text
11007 #: build/C/man2/readlink.2:106
11008 #, fuzzy
11009 #| msgid ""
11010 #| "The B<readv>()  system call works just like B<read>(2)  except that "
11011 #| "multiple buffers are filled."
11012 msgid ""
11013 "The B<readlinkat>()  system call operates in exactly the same way as "
11014 "B<readlink>(), except for the differences described here."
11015 msgstr ""
11016 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
11017 "B<read>(2) と全く同様の動作を行う。"
11018
11019 #. type: Plain text
11020 #: build/C/man2/readlink.2:116
11021 msgid ""
11022 "If the pathname given in I<pathname> is relative, then it is interpreted "
11023 "relative to the directory referred to by the file descriptor I<dirfd> "
11024 "(rather than relative to the current working directory of the calling "
11025 "process, as is done by B<readlink>()  for a relative pathname)."
11026 msgstr ""
11027
11028 #. type: Plain text
11029 #: build/C/man2/readlink.2:128
11030 msgid ""
11031 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
11032 "then I<pathname> is interpreted relative to the current working directory of "
11033 "the calling process (like B<readlink>())."
11034 msgstr ""
11035
11036 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
11037 #. type: Plain text
11038 #: build/C/man2/readlink.2:148
11039 msgid ""
11040 "Since Linux 2.6.39, I<pathname> can be an empty string, in which case the "
11041 "call operates on the file referred to by I<dirfd> (which may have been "
11042 "obtained using the B<open>(2)  B<O_PATH> flag).  In this case, I<dirfd> can "
11043 "refer to any type of file, not just a directory."
11044 msgstr ""
11045
11046 #. type: Plain text
11047 #: build/C/man2/readlink.2:153
11048 msgid "See B<openat>(2)  for an explanation of the need for B<readlinkat>()."
11049 msgstr ""
11050
11051 #. type: Plain text
11052 #: build/C/man2/readlink.2:159
11053 #, fuzzy
11054 #| msgid ""
11055 #| "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  "
11056 #| "On error, -1 is returned and I<errno> is set to indicate the error."
11057 msgid ""
11058 "On success, these calls return the number of bytes placed in I<buf>.  On "
11059 "error, -1 is returned and I<errno> is set to indicate the error."
11060 msgstr ""
11061 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
11062 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11063
11064 #. type: Plain text
11065 #: build/C/man2/readlink.2:165
11066 msgid ""
11067 "Search permission is denied for a component of the path prefix.  (See also "
11068 "B<path_resolution>(7).)"
11069 msgstr ""
11070 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
11071 "参照すること)。"
11072
11073 #. type: Plain text
11074 #: build/C/man2/readlink.2:169
11075 msgid "I<buf> extends outside the process's allocated address space."
11076 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
11077
11078 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
11079 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
11080 #.  and this error can also occur if bufsiz < 0.
11081 #.  See: http://thread.gmane.org/gmane.linux.man/380
11082 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
11083 #. type: Plain text
11084 #: build/C/man2/readlink.2:178
11085 msgid "I<bufsiz> is not positive."
11086 msgstr "I<bufsiz> が正でない。"
11087
11088 #. type: Plain text
11089 #: build/C/man2/readlink.2:181
11090 msgid "The named file is not a symbolic link."
11091 msgstr "指定したファイルがシンボリックリンクでない。"
11092
11093 #. type: Plain text
11094 #: build/C/man2/readlink.2:184
11095 msgid "An I/O error occurred while reading from the filesystem."
11096 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
11097
11098 #. type: Plain text
11099 #: build/C/man2/readlink.2:187
11100 msgid "Too many symbolic links were encountered in translating the pathname."
11101 msgstr "パス名にシンボリックリンクが多すぎる。"
11102
11103 #. type: Plain text
11104 #: build/C/man2/readlink.2:190
11105 msgid "A pathname, or a component of a pathname, was too long."
11106 msgstr "パス名かパス名の一部分が長過ぎる。"
11107
11108 #. type: Plain text
11109 #: build/C/man2/readlink.2:193
11110 msgid "The named file does not exist."
11111 msgstr "その名前のファイルが存在しない。"
11112
11113 #. type: Plain text
11114 #: build/C/man2/readlink.2:199
11115 msgid "A component of the path prefix is not a directory."
11116 msgstr "パスのディレクトリ部分がディレクトリでない。"
11117
11118 #. type: Plain text
11119 #: build/C/man2/readlink.2:202
11120 msgid "The following additional errors can occur for B<readlinkat>():"
11121 msgstr ""
11122
11123 #. type: Plain text
11124 #: build/C/man2/readlink.2:216
11125 #, fuzzy
11126 #| msgid ""
11127 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
11128 #| "available starting with version 2.9."
11129 msgid ""
11130 "B<readlinkat>()  was added to Linux in kernel 2.6.16; library support was "
11131 "added to glibc in version 2.4."
11132 msgstr ""
11133 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
11134 "はバージョン 2.9 以降で利用できる。"
11135
11136 #. type: Plain text
11137 #: build/C/man2/readlink.2:222
11138 #, fuzzy
11139 #| msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
11140 msgid ""
11141 "B<readlink>(): 4.4BSD (B<readlink>()  first appeared in 4.2BSD), "
11142 "POSIX.1-2001, POSIX.1-2008."
11143 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
11144
11145 #. type: Plain text
11146 #: build/C/man2/readlink.2:225
11147 #, fuzzy
11148 #| msgid "B<pipe>(): POSIX.1-2001."
11149 msgid "B<readlinkat>(): POSIX.1-2008."
11150 msgstr "B<pipe>(): POSIX.1-2001."
11151
11152 #. type: Plain text
11153 #: build/C/man2/readlink.2:233
11154 msgid ""
11155 "In versions of glibc up to and including glibc 2.4, the return type of "
11156 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
11157 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
11158 msgstr ""
11159 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
11160 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
11161 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
11162
11163 #. type: Plain text
11164 #: build/C/man2/readlink.2:256
11165 #, fuzzy
11166 #| msgid ""
11167 #| "Using a statically sized buffer might not provide enough room for the "
11168 #| "symbolic link contents.  The required size for the buffer can be obtained "
11169 #| "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
11170 #| "link.  However, the number of bytes written by B<readlink>()  should be "
11171 #| "checked to make sure that the size of the symbolic link did not increase "
11172 #| "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
11173 #| "also addresses a common portability problem when using I<PATH_MAX> for "
11174 #| "the buffer size, as this constant is not guaranteed to be defined per "
11175 #| "POSIX if the system does not have such limit."
11176 msgid ""
11177 "Using a statically sized buffer might not provide enough room for the "
11178 "symbolic link contents.  The required size for the buffer can be obtained "
11179 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
11180 "link.  However, the number of bytes written by B<readlink>()  and "
11181 "B<readlinkat>()  should be checked to make sure that the size of the "
11182 "symbolic link did not increase between the calls.  Dynamically allocating "
11183 "the buffer for B<readlink>()  and B<readlinkat>()  also addresses a common "
11184 "portability problem when using I<PATH_MAX> for the buffer size, as this "
11185 "constant is not guaranteed to be defined per POSIX if the system does not "
11186 "have such limit."
11187 msgstr ""
11188 "静的な大きさのバッファを使うと、シンボリックリンクの内容を\n"
11189 "格納するのに十分な領域がない場合がある。\n"
11190 "バッファに必要なサイズは、そのシンボリックリンクに対して B<lstat>(2)\n"
11191 "の呼び出しで返される I<stat.st_size> の値から取得できる。\n"
11192 "ただし、 B<readlink>() が書き込んだバイト数をチェックして、\n"
11193 "シンボリックリンクのサイズが B<lstat>(2) と B<readlink>() の呼び出し\n"
11194 "の間で増えていないことを確認すべきである。\n"
11195 "B<readlink>() 用のバッファを動的に割り当てる方法でも、\n"
11196 "バッファサイズとして I<PATH_MAX> を使用する場合に共通する移植性の\n"
11197 "問題を解決することができる。なぜなら、POSIX では、\n"
11198 "システムがそのような上限値を定義していない場合には、\n"
11199 "I<PATH_MAX> が定義されることが保証されていないからである。"
11200
11201 #. type: Plain text
11202 #: build/C/man2/readlink.2:262
11203 msgid ""
11204 "The following program allocates the buffer needed by B<readlink>()  "
11205 "dynamically from the information provided by B<lstat>(), making sure there's "
11206 "no race condition between the calls."
11207 msgstr ""
11208 "以下のプログラムは、 B<readlink>() が必要とするバッファを、\n"
11209 "B<lstat>() が提供する情報に基づいて動的に割り当てる。\n"
11210 "また、両方の呼び出し間で競合条件がないことを保証している。"
11211
11212 #. type: Plain text
11213 #: build/C/man2/readlink.2:269
11214 #, no-wrap
11215 msgid ""
11216 "#include E<lt>sys/types.hE<gt>\n"
11217 "#include E<lt>sys/stat.hE<gt>\n"
11218 "#include E<lt>stdio.hE<gt>\n"
11219 "#include E<lt>stdlib.hE<gt>\n"
11220 "#include E<lt>unistd.hE<gt>\n"
11221 msgstr ""
11222 "#include E<lt>sys/types.hE<gt>\n"
11223 "#include E<lt>sys/stat.hE<gt>\n"
11224 "#include E<lt>stdio.hE<gt>\n"
11225 "#include E<lt>stdlib.hE<gt>\n"
11226 "#include E<lt>unistd.hE<gt>\n"
11227
11228 #. type: Plain text
11229 #: build/C/man2/readlink.2:276
11230 #, no-wrap
11231 msgid ""
11232 "int\n"
11233 "main(int argc, char *argv[])\n"
11234 "{\n"
11235 "    struct stat sb;\n"
11236 "    char *linkname;\n"
11237 "    ssize_t r;\n"
11238 msgstr ""
11239 "int\n"
11240 "main(int argc, char *argv[])\n"
11241 "{\n"
11242 "    struct stat sb;\n"
11243 "    char *linkname;\n"
11244 "    ssize_t r;\n"
11245
11246 #. type: Plain text
11247 #: build/C/man2/readlink.2:281
11248 #, no-wrap
11249 msgid ""
11250 "    if (argc != 2) {\n"
11251 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
11252 "        exit(EXIT_FAILURE);\n"
11253 "    }\n"
11254 msgstr ""
11255 "    if (argc != 2) {\n"
11256 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
11257 "        exit(EXIT_FAILURE);\n"
11258 "    }\n"
11259
11260 #. type: Plain text
11261 #: build/C/man2/readlink.2:286
11262 #, no-wrap
11263 msgid ""
11264 "    if (lstat(argv[1], &sb) == -1) {\n"
11265 "        perror(\"lstat\");\n"
11266 "        exit(EXIT_FAILURE);\n"
11267 "    }\n"
11268 msgstr ""
11269 "    if (lstat(argv[1], &sb) == -1) {\n"
11270 "        perror(\"lstat\");\n"
11271 "        exit(EXIT_FAILURE);\n"
11272 "    }\n"
11273
11274 #. type: Plain text
11275 #: build/C/man2/readlink.2:292
11276 #, no-wrap
11277 msgid ""
11278 "    linkname = malloc(sb.st_size + 1);\n"
11279 "    if (linkname == NULL) {\n"
11280 "        fprintf(stderr, \"insufficient memory\\en\");\n"
11281 "        exit(EXIT_FAILURE);\n"
11282 "    }\n"
11283 msgstr ""
11284 "    linkname = malloc(sb.st_size + 1);\n"
11285 "    if (linkname == NULL) {\n"
11286 "        fprintf(stderr, \"insufficient memory\\en\");\n"
11287 "        exit(EXIT_FAILURE);\n"
11288 "    }\n"
11289
11290 #. type: Plain text
11291 #: build/C/man2/readlink.2:294
11292 #, no-wrap
11293 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
11294 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
11295
11296 #. type: Plain text
11297 #: build/C/man2/readlink.2:299
11298 #, fuzzy, no-wrap
11299 #| msgid ""
11300 #| "    if (r == -1) {\n"
11301 #| "        perror(\"lstat\");\n"
11302 #| "        exit(EXIT_FAILURE);\n"
11303 #| "    }\n"
11304 msgid ""
11305 "    if (r == -1) {\n"
11306 "        perror(\"readlink\");\n"
11307 "        exit(EXIT_FAILURE);\n"
11308 "    }\n"
11309 msgstr ""
11310 "    if (r == -1) {\n"
11311 "        perror(\"lstat\");\n"
11312 "        exit(EXIT_FAILURE);\n"
11313 "    }\n"
11314
11315 #. type: Plain text
11316 #: build/C/man2/readlink.2:305
11317 #, no-wrap
11318 msgid ""
11319 "    if (r E<gt> sb.st_size) {\n"
11320 "        fprintf(stderr, \"symlink increased in size \"\n"
11321 "                        \"between lstat() and readlink()\\en\");\n"
11322 "        exit(EXIT_FAILURE);\n"
11323 "    }\n"
11324 msgstr ""
11325 "    if (r E<gt> sb.st_size) {\n"
11326 "        fprintf(stderr, \"symlink increased in size \"\n"
11327 "                        \"between lstat() and readlink()\\en\");\n"
11328 "        exit(EXIT_FAILURE);\n"
11329 "    }\n"
11330
11331 #. type: Plain text
11332 #: build/C/man2/readlink.2:307
11333 #, no-wrap
11334 msgid "    linkname[r] = \\(aq\\e0\\(aq;\n"
11335 msgstr "    linkname[r] = \\(aq\\e0\\(aq;\n"
11336
11337 #. type: Plain text
11338 #: build/C/man2/readlink.2:309
11339 #, no-wrap
11340 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
11341 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
11342
11343 #. type: Plain text
11344 #: build/C/man2/readlink.2:320
11345 #, fuzzy
11346 #| msgid ""
11347 #| "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
11348 #| "B<path_resolution>(7), B<symlink>(7)"
11349 msgid ""
11350 "B<readlink>(1), B<lstat>(2), B<stat>(2), B<symlink>(2), B<path_resolution>"
11351 "(7), B<symlink>(7)"
11352 msgstr ""
11353 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
11354 "B<path_resolution>(7), B<symlink>(7)"
11355
11356 #. type: TH
11357 #: build/C/man2/readv.2:32
11358 #, no-wrap
11359 msgid "READV"
11360 msgstr "READV"
11361
11362 #. type: TH
11363 #: build/C/man2/readv.2:32
11364 #, no-wrap
11365 msgid "2010-11-17"
11366 msgstr "2010-11-17"
11367
11368 #. type: Plain text
11369 #: build/C/man2/readv.2:35
11370 msgid ""
11371 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
11372 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
11373
11374 #. type: Plain text
11375 #: build/C/man2/readv.2:38
11376 #, no-wrap
11377 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
11378 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
11379
11380 #. type: Plain text
11381 #: build/C/man2/readv.2:40
11382 #, no-wrap
11383 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
11384 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
11385
11386 #. type: Plain text
11387 #: build/C/man2/readv.2:42
11388 #, no-wrap
11389 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
11390 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
11391
11392 #. type: Plain text
11393 #: build/C/man2/readv.2:45
11394 #, no-wrap
11395 msgid ""
11396 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
11397 "B<               off_t >I<offset>B<);>\n"
11398 msgstr ""
11399 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
11400 "B<               off_t >I<offset>B<);>\n"
11401
11402 #. type: Plain text
11403 #: build/C/man2/readv.2:48
11404 #, no-wrap
11405 msgid ""
11406 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
11407 "B<                off_t >I<offset>B<);>\n"
11408 msgstr ""
11409 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
11410 "B<                off_t >I<offset>B<);>\n"
11411
11412 #. type: Plain text
11413 #: build/C/man2/readv.2:58
11414 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
11415 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
11416
11417 #. type: Plain text
11418 #: build/C/man2/readv.2:68
11419 msgid ""
11420 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
11421 "with the file descriptor I<fd> into the buffers described by I<iov> "
11422 "(\"scatter input\")."
11423 msgstr ""
11424 "B<readv>() システムコールは、ファイルディスクリプタ I<fd> に関連付けられた\n"
11425 "ファイルから、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定\n"
11426 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
11427
11428 #. type: Plain text
11429 #: build/C/man2/readv.2:78
11430 msgid ""
11431 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
11432 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
11433 "\")."
11434 msgstr ""
11435 "B<writev>() システムコールは、 I<iov> で指定されたバッファから最大 "
11436 "I<iovcnt>\n"
11437 "個のバッファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付け"
11438 "ら\n"
11439 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
11440
11441 #. type: Plain text
11442 #: build/C/man2/readv.2:87
11443 msgid ""
11444 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
11445 "I<E<lt>sys/uio.hE<gt>> as:"
11446 msgstr ""
11447 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
11448 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
11449
11450 #. type: Plain text
11451 #: build/C/man2/readv.2:95
11452 #, no-wrap
11453 msgid ""
11454 "struct iovec {\n"
11455 "    void  *iov_base;    /* Starting address */\n"
11456 "    size_t iov_len;     /* Number of bytes to transfer */\n"
11457 "};\n"
11458 msgstr ""
11459 "struct iovec {\n"
11460 "    void  *iov_base;    /* Starting address */\n"
11461 "    size_t iov_len;     /* Number of bytes to transfer */\n"
11462 "};\n"
11463
11464 #. type: Plain text
11465 #: build/C/man2/readv.2:103
11466 msgid ""
11467 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
11468 "buffers are filled."
11469 msgstr ""
11470 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
11471 "B<read>(2) と全く同様の動作を行う。"
11472
11473 #. type: Plain text
11474 #: build/C/man2/readv.2:109
11475 msgid ""
11476 "The B<writev>()  system call works just like B<write>(2)  except that "
11477 "multiple buffers are written out."
11478 msgstr ""
11479 "B<writev>() システムコールは、複数のバッファのデータを書き出す点以外は\n"
11480 "B<write>(2) と全く同様の動作を行う。"
11481
11482 #. type: Plain text
11483 #: build/C/man2/readv.2:128
11484 msgid ""
11485 "Buffers are processed in array order.  This means that B<readv>()  "
11486 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
11487 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
11488 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
11489 "[0] before proceeding to I<iov>[1], and so on."
11490 msgstr ""
11491 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
11492 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
11493 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
11494 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
11495
11496 #. type: Plain text
11497 #: build/C/man2/readv.2:146
11498 msgid ""
11499 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
11500 "data written by B<writev>()  is written as a single block that is not "
11501 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
11502 "for an exception); analogously, B<readv>()  is guaranteed to read a "
11503 "contiguous block of data from the file, regardless of read operations "
11504 "performed in other threads or processes that have file descriptors referring "
11505 "to the same open file description (see B<open>(2))."
11506 msgstr ""
11507 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
11508 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
11509 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
11510 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
11511 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
11512 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
11513 "作の影響を受けることはない。"
11514
11515 #. type: SS
11516 #: build/C/man2/readv.2:146
11517 #, no-wrap
11518 msgid "preadv() and pwritev()"
11519 msgstr "preadv() と pwritev()"
11520
11521 #. type: Plain text
11522 #: build/C/man2/readv.2:159
11523 msgid ""
11524 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
11525 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
11526 "argument, I<offset>, which specifies the file offset at which the input "
11527 "operation is to be performed."
11528 msgstr ""
11529 "B<preadv>() システムコールは B<readv>() と B<preadv>(2) の機能を\n"
11530 "組み合わせたものである。\n"
11531 "B<readv>() と同じ処理を実行するが、\n"
11532 "4 番目の引き数 I<offset> が追加されており、\n"
11533 "この引き数は入力操作を行うファイルオフセットを指定する。"
11534
11535 #. type: Plain text
11536 #: build/C/man2/readv.2:172
11537 msgid ""
11538 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
11539 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
11540 "argument, I<offset>, which specifies the file offset at which the output "
11541 "operation is to be performed."
11542 msgstr ""
11543 "B<pwritev>() システムコールは B<writev>() と B<pwrite>(2) の機能を\n"
11544 "組み合わせたものである。\n"
11545 "B<writev>() と同じ処理を実行するが、\n"
11546 "4 番目の引き数 I<offset> が追加されており、\n"
11547 "この引き数は出力操作を行うファイルオフセットを指定する。"
11548
11549 #. type: Plain text
11550 #: build/C/man2/readv.2:177
11551 msgid ""
11552 "The file offset is not changed by these system calls.  The file referred to "
11553 "by I<fd> must be capable of seeking."
11554 msgstr ""
11555 "これらのシステムコールで、ファイルオフセットは変更されない。\n"
11556 "I<fd> が参照するファイルは seek 可能でなければならない。"
11557
11558 #. type: Plain text
11559 #: build/C/man2/readv.2:188
11560 msgid ""
11561 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
11562 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
11563 "error, -1 is returned, and I<errno> is set appropriately."
11564 msgstr ""
11565 "成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
11566 "B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
11567 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
11568
11569 #. type: Plain text
11570 #: build/C/man2/readv.2:200
11571 msgid ""
11572 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
11573 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
11574 "(2).  Additionally, the following error is defined:"
11575 msgstr ""
11576 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
11577 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
11578 "る。\n"
11579 "また、追加で以下のエラーが定義されている:"
11580
11581 #. type: Plain text
11582 #: build/C/man2/readv.2:209
11583 msgid ""
11584 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
11585 "vector count I<iovcnt> is less than zero or greater than the permitted "
11586 "maximum."
11587 msgstr ""
11588 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
11589 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
11590
11591 #. type: Plain text
11592 #: build/C/man2/readv.2:214
11593 msgid ""
11594 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
11595 "support was added in glibc 2.10."
11596 msgstr ""
11597 "B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
11598 "ライブラリによるサポートは glibc 2.10 で追加された。"
11599
11600 #.  The readv/writev system calls were buggy before Linux 1.3.40.
11601 #.  (Says release.libc.)
11602 #. type: Plain text
11603 #: build/C/man2/readv.2:222
11604 msgid ""
11605 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
11606 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
11607 "I<iovcnt> argument, and I<int> as the return type."
11608 msgstr ""
11609 "B<readv>(), B<writev>(): \n"
11610 "4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1-2001。 \n"
11611 "Linux libc5 では、 I<iovcnt> 引き数の型として I<size_t> を、\n"
11612 "返り値の型として I<int> を使用していた。"
11613
11614 #. type: Plain text
11615 #: build/C/man2/readv.2:226
11616 msgid ""
11617 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
11618 msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
11619
11620 #. type: SS
11621 #: build/C/man2/readv.2:227
11622 #, no-wrap
11623 msgid "Linux notes"
11624 msgstr "Linux での注意"
11625
11626 #. type: Plain text
11627 #: build/C/man2/readv.2:258
11628 msgid ""
11629 "POSIX.1-2001 allows an implementation to place a limit on the number of "
11630 "items that can be passed in I<iov>.  An implementation can advertise its "
11631 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
11632 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
11633 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
11634 "glibc wrapper functions do some extra work if they detect that the "
11635 "underlying kernel system call failed because this limit was exceeded.  In "
11636 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
11637 "large enough for all of the items specified by I<iov>, passes that buffer in "
11638 "a call to B<read>(2), copies data from the buffer to the locations specified "
11639 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
11640 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
11641 "using a temporary buffer and a call to B<write>(2)."
11642 msgstr ""
11643 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
11644 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
11645 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
11646 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
11647 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
11648 "呼ばれるカーネル システムコールがこの上限を超過して失敗したことを検出する"
11649 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
11650 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
11651 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
11652 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
11653 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
11654 "(2)  を呼び出す。"
11655
11656 #. type: Plain text
11657 #: build/C/man2/readv.2:265
11658 msgid ""
11659 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
11660 "operate on file descriptors, with the functions from the stdio library; the "
11661 "results will be undefined and probably not what you want."
11662 msgstr ""
11663 "ファイルディスクリプタに対する操作を行う B<readv>() や B<writev>() と、\n"
11664 "標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。\n"
11665 "どんな結果になるかは定義されておらず、おそらく期待する結果は\n"
11666 "得られないだろう。"
11667
11668 #. type: Plain text
11669 #: build/C/man2/readv.2:268
11670 msgid "The following code sample demonstrates the use of B<writev>():"
11671 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
11672
11673 #. type: Plain text
11674 #: build/C/man2/readv.2:275
11675 #, no-wrap
11676 msgid ""
11677 "char *str0 = \"hello \";\n"
11678 "char *str1 = \"world\\en\";\n"
11679 "struct iovec iov[2];\n"
11680 "ssize_t nwritten;\n"
11681 msgstr ""
11682 "char *str0 = \"hello \";\n"
11683 "char *str1 = \"world\\en\";\n"
11684 "struct iovec iov[2];\n"
11685 "ssize_t nwritten;\n"
11686
11687 #. type: Plain text
11688 #: build/C/man2/readv.2:280
11689 #, no-wrap
11690 msgid ""
11691 "iov[0].iov_base = str0;\n"
11692 "iov[0].iov_len = strlen(str0);\n"
11693 "iov[1].iov_base = str1;\n"
11694 "iov[1].iov_len = strlen(str1);\n"
11695 msgstr ""
11696 "iov[0].iov_base = str0;\n"
11697 "iov[0].iov_len = strlen(str0);\n"
11698 "iov[1].iov_base = str1;\n"
11699 "iov[1].iov_len = strlen(str1);\n"
11700
11701 #. type: Plain text
11702 #: build/C/man2/readv.2:282
11703 #, no-wrap
11704 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
11705 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
11706
11707 #. type: Plain text
11708 #: build/C/man2/readv.2:288
11709 msgid "B<pread>(2), B<read>(2), B<write>(2)"
11710 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
11711
11712 #. type: TH
11713 #: build/C/man3/remove.3:31
11714 #, no-wrap
11715 msgid "REMOVE"
11716 msgstr "REMOVE"
11717
11718 #. type: TH
11719 #: build/C/man3/remove.3:31
11720 #, fuzzy, no-wrap
11721 #| msgid "2013-03-17"
11722 msgid "2014-03-10"
11723 msgstr "2013-03-17"
11724
11725 #. type: Plain text
11726 #: build/C/man3/remove.3:34
11727 msgid "remove - remove a file or directory"
11728 msgstr "remove - ファイルやディレクトリを削除する"
11729
11730 #. type: Plain text
11731 #: build/C/man3/remove.3:38
11732 msgid "B<int remove(const char *>I<pathname>B<);>"
11733 msgstr "B<int remove(const char *>I<pathname>B<);>"
11734
11735 #. type: Plain text
11736 #: build/C/man3/remove.3:46
11737 msgid ""
11738 "B<remove>()  deletes a name from the filesystem.  It calls B<unlink>(2)  for "
11739 "files, and B<rmdir>(2)  for directories."
11740 msgstr ""
11741 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
11742 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
11743
11744 #. type: Plain text
11745 #: build/C/man3/remove.3:50
11746 msgid ""
11747 "If the removed name was the last link to a file and no processes have the "
11748 "file open, the file is deleted and the space it was using is made available "
11749 "for reuse."
11750 msgstr ""
11751 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
11752 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
11753 "ことができるようになる。"
11754
11755 #. type: Plain text
11756 #: build/C/man3/remove.3:55
11757 msgid ""
11758 "If the name was the last link to a file, but any processes still have the "
11759 "file open, the file will remain in existence until the last file descriptor "
11760 "referring to it is closed."
11761 msgstr ""
11762 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
11763 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
11764 "でファイルは存在し続ける。"
11765
11766 #. type: Plain text
11767 #: build/C/man3/remove.3:57
11768 msgid "If the name referred to a symbolic link, the link is removed."
11769 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
11770
11771 #. type: Plain text
11772 #: build/C/man3/remove.3:60
11773 msgid ""
11774 "If the name referred to a socket, FIFO, or device, the name is removed, but "
11775 "processes which have the object open may continue to use it."
11776 msgstr ""
11777 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
11778 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
11779
11780 #. type: Plain text
11781 #: build/C/man3/remove.3:70
11782 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
11783 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
11784
11785 #. type: Plain text
11786 #: build/C/man3/remove.3:75
11787 #, fuzzy
11788 #| msgid "The B<lseek64>()  function is thread-safe."
11789 msgid "The B<remove>()  function is thread-safe."
11790 msgstr "関数 B<lseek64>() はスレッドセーフである。"
11791
11792 #. type: Plain text
11793 #: build/C/man3/remove.3:77
11794 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
11795 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
11796
11797 #. type: Plain text
11798 #: build/C/man3/remove.3:83
11799 msgid ""
11800 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
11801 "hence would not remove directories)."
11802 msgstr ""
11803 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
11804 "(従ってディレクトリを削除できなかった)。"
11805
11806 #. type: Plain text
11807 #: build/C/man3/remove.3:86 build/C/man2/unlink.2:284
11808 msgid ""
11809 "Infelicities in the protocol underlying NFS can cause the unexpected "
11810 "disappearance of files which are still being used."
11811 msgstr ""
11812 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
11813 "うことがありえる。"
11814
11815 #. type: Plain text
11816 #: build/C/man3/remove.3:97
11817 msgid ""
11818 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
11819 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
11820 msgstr ""
11821 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
11822 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
11823
11824 #. type: TH
11825 #: build/C/man2/rename.2:33
11826 #, no-wrap
11827 msgid "RENAME"
11828 msgstr "RENAME"
11829
11830 #. type: Plain text
11831 #: build/C/man2/rename.2:36
11832 #, fuzzy
11833 #| msgid "rename - change the name or location of a file"
11834 msgid "rename, renameat - change the name or location of a file"
11835 msgstr "rename - ファイルの名前や位置を変更する"
11836
11837 #. type: Plain text
11838 #: build/C/man2/rename.2:41
11839 #, fuzzy, no-wrap
11840 #| msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
11841 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
11842 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
11843
11844 #. type: Plain text
11845 #: build/C/man2/rename.2:44
11846 #, fuzzy, no-wrap
11847 #| msgid ""
11848 #| "B<#include E<lt>sys/types.hE<gt>>\n"
11849 #| "B<#include E<lt>unistd.hE<gt>>\n"
11850 msgid ""
11851 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
11852 "B<#include E<lt>stdio.hE<gt>>\n"
11853 msgstr ""
11854 "B<#include E<lt>sys/types.hE<gt>>\n"
11855 "B<#include E<lt>unistd.hE<gt>>\n"
11856
11857 #. type: Plain text
11858 #: build/C/man2/rename.2:47
11859 #, fuzzy, no-wrap
11860 #| msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
11861 msgid ""
11862 "B<int renameat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
11863 "B<             int >I<newdirfd>B<, const char *>I<newpath>B<);>\n"
11864 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
11865
11866 #. type: Plain text
11867 #: build/C/man2/rename.2:55
11868 #, fuzzy
11869 #| msgid "B<ttyname>(3)"
11870 msgid "B<renameat>():"
11871 msgstr "B<ttyname>(3)"
11872
11873 #. type: Plain text
11874 #: build/C/man2/rename.2:76
11875 msgid ""
11876 "B<rename>()  renames a file, moving it between directories if required.  Any "
11877 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
11878 "Open file descriptors for I<oldpath> are also unaffected."
11879 msgstr ""
11880 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
11881 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
11882 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
11883 "リプタにも影響はない。"
11884
11885 #. type: Plain text
11886 #: build/C/man2/rename.2:84
11887 #, fuzzy
11888 #| msgid ""
11889 #| "If I<newpath> already exists it will be atomically replaced (subject to a "
11890 #| "few conditions; see ERRORS below), so that there is no point at which "
11891 #| "another process attempting to access I<newpath> will find it missing."
11892 msgid ""
11893 "If I<newpath> already exists, it will be atomically replaced (subject to a "
11894 "few conditions; see ERRORS below), so that there is no point at which "
11895 "another process attempting to access I<newpath> will find it missing."
11896 msgstr ""
11897 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
11898 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
11899 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
11900 "とはない (訳註: 常にアクセス可能である)。"
11901
11902 #. type: Plain text
11903 #: build/C/man2/rename.2:92
11904 msgid ""
11905 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
11906 "file, then B<rename>()  does nothing, and returns a success status."
11907 msgstr ""
11908 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
11909 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
11910
11911 #. type: Plain text
11912 #: build/C/man2/rename.2:100
11913 #, fuzzy
11914 #| msgid ""
11915 #| "If I<newpath> exists but the operation fails for some reason B<rename>()  "
11916 #| "guarantees to leave an instance of I<newpath> in place."
11917 msgid ""
11918 "If I<newpath> exists but the operation fails for some reason, B<rename>()  "
11919 "guarantees to leave an instance of I<newpath> in place."
11920 msgstr ""
11921 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
11922 "I<newpath> の実体を元のまま残すことを保証する。"
11923
11924 #. type: Plain text
11925 #: build/C/man2/rename.2:106
11926 msgid ""
11927 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
11928 "not exist, or it must specify an empty directory."
11929 msgstr ""
11930 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
11931 "存在しないか、空のディレクトリでなければならない。"
11932
11933 #. type: Plain text
11934 #: build/C/man2/rename.2:113
11935 msgid ""
11936 "However, when overwriting there will probably be a window in which both "
11937 "I<oldpath> and I<newpath> refer to the file being renamed."
11938 msgstr ""
11939 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
11940 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
11941
11942 #. type: Plain text
11943 #: build/C/man2/rename.2:119
11944 #, fuzzy
11945 #| msgid ""
11946 #| "If I<oldpath> refers to a symbolic link the link is renamed; if "
11947 #| "I<newpath> refers to a symbolic link the link will be overwritten."
11948 msgid ""
11949 "If I<oldpath> refers to a symbolic link, the link is renamed; if I<newpath> "
11950 "refers to a symbolic link, the link will be overwritten."
11951 msgstr ""
11952 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
11953 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
11954 "は、リンクが上書きされる。"
11955
11956 #. type: SS
11957 #: build/C/man2/rename.2:119
11958 #, no-wrap
11959 msgid "renameat ()"
11960 msgstr ""
11961
11962 #. type: Plain text
11963 #: build/C/man2/rename.2:125
11964 msgid ""
11965 "The B<renameat>()  system call operates in exactly the same way as B<rename>"
11966 "(), except for the differences described here."
11967 msgstr ""
11968
11969 #. type: Plain text
11970 #: build/C/man2/rename.2:135
11971 msgid ""
11972 "If the pathname given in I<oldpath> is relative, then it is interpreted "
11973 "relative to the directory referred to by the file descriptor I<olddirfd> "
11974 "(rather than relative to the current working directory of the calling "
11975 "process, as is done by B<rename>()  for a relative pathname)."
11976 msgstr ""
11977
11978 #. type: Plain text
11979 #: build/C/man2/rename.2:147
11980 msgid ""
11981 "If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
11982 "then I<oldpath> is interpreted relative to the current working directory of "
11983 "the calling process (like B<rename>())."
11984 msgstr ""
11985
11986 #. type: Plain text
11987 #: build/C/man2/rename.2:166
11988 msgid "See B<openat>(2)  for an explanation of the need for B<renameat>()."
11989 msgstr ""
11990
11991 #. type: Plain text
11992 #: build/C/man2/rename.2:191
11993 msgid ""
11994 "Write permission is denied for the directory containing I<oldpath> or "
11995 "I<newpath>, or, search permission is denied for one of the directories in "
11996 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
11997 "and does not allow write permission (needed to update the I<..> entry).  "
11998 "(See also B<path_resolution>(7).)"
11999 msgstr ""
12000 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
12001 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
12002 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
12003 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
12004
12005 #. type: TP
12006 #: build/C/man2/rename.2:191 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:169
12007 #, no-wrap
12008 msgid "B<EBUSY>"
12009 msgstr "B<EBUSY>"
12010
12011 #. type: Plain text
12012 #: build/C/man2/rename.2:208
12013 msgid ""
12014 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
12015 "use by some process (perhaps as current working directory, or as root "
12016 "directory, or because it was open for reading) or is in use by the system "
12017 "(for example as mount point), while the system considers this an error.  "
12018 "(Note that there is no requirement to return B<EBUSY> in such cases"
12019 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
12020 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
12021 "situations.)"
12022 msgstr ""
12023 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
12024 "分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのために"
12025 "オープンされているかでろう)  もしくは、システムが使用中 (例えばマウントポイン"
12026 "トである)  であり、システムがこれをエラーであると判断したために rename が失敗"
12027 "した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない点に注"
12028 "意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もな"
12029 "い。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
12030 "B<EBUSY> を返すことが許されている。)"
12031
12032 #. type: Plain text
12033 #: build/C/man2/rename.2:218
12034 msgid ""
12035 "The new pathname contained a path prefix of the old, or, more generally, an "
12036 "attempt was made to make a directory a subdirectory of itself."
12037 msgstr ""
12038 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
12039 "ディレクトリに 変更しようとした場合がほとんどである。"
12040
12041 #. type: Plain text
12042 #: build/C/man2/rename.2:224
12043 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
12044 msgstr ""
12045 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
12046 "い。"
12047
12048 #. type: Plain text
12049 #: build/C/man2/rename.2:235
12050 msgid ""
12051 "I<oldpath> already has the maximum number of links to it, or it was a "
12052 "directory and the directory containing I<newpath> has the maximum number of "
12053 "links."
12054 msgstr ""
12055 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
12056 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
12057
12058 #. type: Plain text
12059 #: build/C/man2/rename.2:251
12060 msgid ""
12061 "The link named by I<oldpath> does not exist; or, a directory component in "
12062 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
12063 msgstr ""
12064 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
12065 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
12066
12067 #. type: Plain text
12068 #: build/C/man2/rename.2:268
12069 msgid ""
12070 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
12071 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
12072 "not a directory."
12073 msgstr ""
12074 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
12075 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
12076 "トリでない。"
12077
12078 #. type: TP
12079 #: build/C/man2/rename.2:268
12080 #, no-wrap
12081 msgid "B<ENOTEMPTY> or B<EEXIST>"
12082 msgstr "B<ENOTEMPTY  または  EEXIST>"
12083
12084 #. type: Plain text
12085 #: build/C/man2/rename.2:272
12086 msgid ""
12087 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
12088 "\" and \"..\"."
12089 msgstr ""
12090 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
12091 "でいる。"
12092
12093 #. type: TP
12094 #: build/C/man2/rename.2:272 build/C/man2/unlink.2:224
12095 #, no-wrap
12096 msgid "B<EPERM> or B<EACCES>"
12097 msgstr "B<EPERM> または B<EACCES>"
12098
12099 #. type: Plain text
12100 #: build/C/man2/rename.2:296
12101 msgid ""
12102 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
12103 "the process's effective user ID is neither the user ID of the file to be "
12104 "deleted nor that of the directory containing it, and the process is not "
12105 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
12106 "I<newpath> is an existing file and the directory containing it has the "
12107 "sticky bit set and the process's effective user ID is neither the user ID of "
12108 "the file to be replaced nor that of the directory containing it, and the "
12109 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
12110 "capability); or the filesystem containing I<pathname> does not support "
12111 "renaming of the type requested."
12112 msgstr ""
12113 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
12114 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
12115 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
12116 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
12117 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
12118 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
12119 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
12120 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
12121 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
12122 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
12123
12124 #. type: Plain text
12125 #: build/C/man2/rename.2:307
12126 msgid ""
12127 "I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
12128 "permits a filesystem to be mounted at multiple points, but B<rename>()  does "
12129 "not work across different mount points, even if the same filesystem is "
12130 "mounted on both.)"
12131 msgstr ""
12132 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
12133 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
12134 "している。 しかし B<rename>()  は、たとえ同じファイルシステムであっても、 "
12135 "別々のマウント位置を跨いでは動作しない。)"
12136
12137 #. type: Plain text
12138 #: build/C/man2/rename.2:310
12139 msgid "The following additional errors can occur for B<renameat>():"
12140 msgstr ""
12141
12142 #. type: Plain text
12143 #: build/C/man2/rename.2:330
12144 #, fuzzy
12145 #| msgid ""
12146 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
12147 #| "available starting with version 2.9."
12148 msgid ""
12149 "B<renameat>()  was added to Linux in kernel 2.6.16; library support was "
12150 "added to glibc in version 2.4."
12151 msgstr ""
12152 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
12153 "はバージョン 2.9 以降で利用できる。"
12154
12155 #. type: Plain text
12156 #: build/C/man2/rename.2:333
12157 #, fuzzy
12158 #| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
12159 msgid "B<rename>(): 4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008."
12160 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
12161
12162 #. type: Plain text
12163 #: build/C/man2/rename.2:336
12164 #, fuzzy
12165 #| msgid "B<pipe>(): POSIX.1-2001."
12166 msgid "B<renameat>(): POSIX.1-2008."
12167 msgstr "B<pipe>(): POSIX.1-2001."
12168
12169 #. type: Plain text
12170 #: build/C/man2/rename.2:347
12171 #, fuzzy
12172 #| msgid ""
12173 #| "On NFS filesystems, you can not assume that if the operation failed the "
12174 #| "file was not renamed.  If the server does the rename operation and then "
12175 #| "crashes, the retransmitted RPC which will be processed when the server is "
12176 #| "up again causes a failure.  The application is expected to deal with "
12177 #| "this.  See B<link>(2)  for a similar problem."
12178 msgid ""
12179 "On NFS filesystems, you can not assume that if the operation failed, the "
12180 "file was not renamed.  If the server does the rename operation and then "
12181 "crashes, the retransmitted RPC which will be processed when the server is up "
12182 "again causes a failure.  The application is expected to deal with this.  See "
12183 "B<link>(2)  for a similar problem."
12184 msgstr ""
12185 "NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更で"
12186 "きなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
12187 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
12188 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
12189 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
12190
12191 #. type: Plain text
12192 #: build/C/man2/rename.2:355
12193 #, fuzzy
12194 #| msgid ""
12195 #| "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), "
12196 #| "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
12197 msgid ""
12198 "B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
12199 "B<path_resolution>(7), B<symlink>(7)"
12200 msgstr ""
12201 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
12202 "(2), B<path_resolution>(7), B<symlink>(7)"
12203
12204 #. type: TH
12205 #: build/C/man2/rmdir.2:30
12206 #, no-wrap
12207 msgid "RMDIR"
12208 msgstr "RMDIR"
12209
12210 #. type: TH
12211 #: build/C/man2/rmdir.2:30
12212 #, no-wrap
12213 msgid "2008-05-08"
12214 msgstr "2008-05-08"
12215
12216 #. type: Plain text
12217 #: build/C/man2/rmdir.2:33
12218 msgid "rmdir - delete a directory"
12219 msgstr "rmdir - ディレクトリを削除する"
12220
12221 #. type: Plain text
12222 #: build/C/man2/rmdir.2:37
12223 msgid "B<int rmdir(const char *>I<pathname>B<);>"
12224 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
12225
12226 #. type: Plain text
12227 #: build/C/man2/rmdir.2:40
12228 msgid "B<rmdir>()  deletes a directory, which must be empty."
12229 msgstr ""
12230 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
12231 "ない。"
12232
12233 #. type: Plain text
12234 #: build/C/man2/rmdir.2:55
12235 msgid ""
12236 "Write access to the directory containing I<pathname> was not allowed, or one "
12237 "of the directories in the path prefix of I<pathname> did not allow search "
12238 "permission.  (See also B<path_resolution>(7)."
12239 msgstr ""
12240 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
12241 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
12242 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
12243 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
12244 "と)"
12245
12246 #. type: Plain text
12247 #: build/C/man2/rmdir.2:64
12248 msgid ""
12249 "I<pathname> is currently in use by the system or some process that prevents "
12250 "its removal.  On Linux this means I<pathname> is currently used as a mount "
12251 "point or is the root directory of the calling process."
12252 msgstr ""
12253 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
12254 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
12255 "たプロセスのルートディレクトリであることを意味する。"
12256
12257 #. type: Plain text
12258 #: build/C/man2/rmdir.2:73
12259 msgid "I<pathname> has I<.> as last component."
12260 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
12261
12262 #. type: Plain text
12263 #: build/C/man2/rmdir.2:85
12264 msgid ""
12265 "A directory component in I<pathname> does not exist or is a dangling "
12266 "symbolic link."
12267 msgstr ""
12268 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
12269 "リックリンク (symbolic link) である。"
12270
12271 #. type: Plain text
12272 #: build/C/man2/rmdir.2:94
12273 msgid ""
12274 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
12275 "fact, a directory."
12276 msgstr ""
12277 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
12278 "クトリでない。"
12279
12280 #. type: TP
12281 #: build/C/man2/rmdir.2:94
12282 #, no-wrap
12283 msgid "B<ENOTEMPTY>"
12284 msgstr "B<ENOTEMPTY>"
12285
12286 #. type: Plain text
12287 #: build/C/man2/rmdir.2:107
12288 msgid ""
12289 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
12290 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
12291 "condition."
12292 msgstr ""
12293 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
12294 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
12295 "で B<EEXIST> を返すことを認めている。"
12296
12297 #. type: Plain text
12298 #: build/C/man2/rmdir.2:118
12299 msgid ""
12300 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
12301 "and the process's effective user ID is neither the user ID of the file to be "
12302 "deleted nor that of the directory containing it, and the process is not "
12303 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
12304 msgstr ""
12305 "I<pathname> を含んでいるディレクトリにスティッキービット(sticky-bit)  "
12306 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
12307 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
12308 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
12309
12310 #. type: Plain text
12311 #: build/C/man2/rmdir.2:123
12312 msgid ""
12313 "The filesystem containing I<pathname> does not support the removal of "
12314 "directories."
12315 msgstr ""
12316 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
12317 "ない。"
12318
12319 #. type: Plain text
12320 #: build/C/man2/rmdir.2:127
12321 msgid "I<pathname> refers to a directory on a read-only filesystem."
12322 msgstr ""
12323 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
12324
12325 #. type: Plain text
12326 #: build/C/man2/rmdir.2:132
12327 msgid ""
12328 "Infelicities in the protocol underlying NFS can cause the unexpected "
12329 "disappearance of directories which are still being used."
12330 msgstr ""
12331 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
12332 "する現象が引き起こされることがある。"
12333
12334 #. type: Plain text
12335 #: build/C/man2/rmdir.2:141
12336 msgid ""
12337 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
12338 "B<unlink>(2), B<unlinkat>(2)"
12339 msgstr ""
12340 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
12341 "B<unlink>(2), B<unlinkat>(2)"
12342
12343 #. type: TH
12344 #: build/C/man3/scanf.3:52
12345 #, no-wrap
12346 msgid "SCANF"
12347 msgstr "SCANF"
12348
12349 #. type: Plain text
12350 #: build/C/man3/scanf.3:55
12351 msgid ""
12352 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
12353 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
12354
12355 #. type: Plain text
12356 #: build/C/man3/scanf.3:62
12357 #, no-wrap
12358 msgid ""
12359 "B<int scanf(const char *>I<format>B<, ...);>\n"
12360 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
12361 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
12362 msgstr ""
12363 "B<int scanf(const char *>I<format>B<, ...);>\n"
12364 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
12365 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
12366
12367 #. type: Plain text
12368 #: build/C/man3/scanf.3:64
12369 #, no-wrap
12370 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
12371 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
12372
12373 #. type: Plain text
12374 #: build/C/man3/scanf.3:68
12375 #, no-wrap
12376 msgid ""
12377 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
12378 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
12379 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
12380 msgstr ""
12381 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
12382 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
12383 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
12384
12385 #. type: Plain text
12386 #: build/C/man3/scanf.3:79
12387 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
12388 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
12389
12390 #. type: Plain text
12391 #: build/C/man3/scanf.3:82
12392 msgid ""
12393 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
12394 "200112L;"
12395 msgstr ""
12396 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
12397 "200112L;"
12398
12399 #. type: Plain text
12400 #: build/C/man3/scanf.3:104
12401 msgid ""
12402 "The B<scanf>()  family of functions scans input according to I<format> as "
12403 "described below.  This format may contain I<conversion specifications>; the "
12404 "results from such conversions, if any, are stored in the locations pointed "
12405 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
12406 "argument must be of a type that is appropriate for the value returned by the "
12407 "corresponding conversion specification."
12408 msgstr ""
12409 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
12410 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
12411 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
12412 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
12413 "は、対応する変換指定が返す値に 適合していなければならない。"
12414
12415 #. type: Plain text
12416 #: build/C/man3/scanf.3:115
12417 msgid ""
12418 "If the number of conversion specifications in I<format> exceeds the number "
12419 "of I<pointer> arguments, the results are undefined.  If the number of "
12420 "I<pointer> arguments exceeds the number of conversion specifications, then "
12421 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
12422 msgstr ""
12423 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
12424 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
12425 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
12426
12427 #. type: Plain text
12428 #: build/C/man3/scanf.3:127
12429 msgid ""
12430 "The B<scanf>()  function reads input from the standard input stream "
12431 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
12432 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
12433 msgstr ""
12434 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
12435 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
12436 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
12437
12438 #. type: Plain text
12439 #: build/C/man3/scanf.3:145
12440 msgid ""
12441 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
12442 "from the stream pointer I<stream> using a variable argument list of pointers "
12443 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
12444 "from the standard input and the B<vsscanf>()  function scans it from a "
12445 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
12446 "functions respectively."
12447 msgstr ""
12448 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
12449 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
12450 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
12451 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
12452 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
12453
12454 #. type: Plain text
12455 #: build/C/man3/scanf.3:159
12456 msgid ""
12457 "The I<format> string consists of a sequence of I<directives> which describe "
12458 "how to process the sequence of input characters.  If processing of a "
12459 "directive fails, no further input is read, and B<scanf>()  returns.  A "
12460 "\"failure\" can be either of the following: I<input failure>, meaning that "
12461 "input characters were unavailable, or I<matching failure>, meaning that the "
12462 "input was inappropriate (see below)."
12463 msgstr ""
12464 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
12465 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
12466 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
12467 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
12468 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
12469 "であったこと (下記参照) を意味する。"
12470
12471 #. type: Plain text
12472 #: build/C/man3/scanf.3:161
12473 msgid "A directive is one of the following:"
12474 msgstr "命令は以下のいずれかである:"
12475
12476 #. type: TP
12477 #: build/C/man3/scanf.3:161 build/C/man3/scanf.3:167 build/C/man3/scanf.3:171
12478 #: build/C/man3/scanf.3:190 build/C/man3/scanf.3:201 build/C/man3/scanf.3:220
12479 #: build/C/man3/scanf.3:232 build/C/man3/scanf.3:246
12480 #, no-wrap
12481 msgid "\\(bu"
12482 msgstr "\\(bu"
12483
12484 #. type: Plain text
12485 #: build/C/man3/scanf.3:167
12486 msgid ""
12487 "A sequence of white-space characters (space, tab, newline, etc.; see "
12488 "B<isspace>(3)).  This directive matches any amount of white space, including "
12489 "none, in the input."
12490 msgstr ""
12491 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
12492 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
12493 "致する)。"
12494
12495 #. type: Plain text
12496 #: build/C/man3/scanf.3:171
12497 msgid ""
12498 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
12499 "This character must exactly match the next character of input."
12500 msgstr ""
12501 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
12502 "の次の文字に正確に一致しなければならない。"
12503
12504 #. type: Plain text
12505 #: build/C/man3/scanf.3:182
12506 msgid ""
12507 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
12508 "character.  A sequence of characters from the input is converted according "
12509 "to this specification, and the result is placed in the corresponding "
12510 "I<pointer> argument.  If the next item of input does not match the "
12511 "conversion specification, the conversion fails\\(emthis is a I<matching "
12512 "failure>."
12513 msgstr ""
12514 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
12515 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
12516 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
12517 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
12518
12519 #. type: Plain text
12520 #: build/C/man3/scanf.3:190
12521 msgid ""
12522 "Each I<conversion specification> in I<format> begins with either the "
12523 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
12524 "for the distinction) followed by:"
12525 msgstr ""
12526 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
12527 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
12528
12529 #. type: Plain text
12530 #: build/C/man3/scanf.3:201
12531 msgid ""
12532 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
12533 "input as directed by the conversion specification, but discards the input.  "
12534 "No corresponding I<pointer> argument is required, and this specification is "
12535 "not included in the count of successful assignments returned by B<scanf>()."
12536 msgstr ""
12537 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
12538 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
12539 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
12540
12541 #. type: Plain text
12542 #: build/C/man3/scanf.3:220
12543 msgid ""
12544 "An optional \\(aqm\\(aq character.  This is used with string conversions (I<"
12545 "%s>, I<%c>, I<%[>), and relieves the caller of the need to allocate a "
12546 "corresponding buffer to hold the input: instead, B<scanf>()  allocates a "
12547 "buffer of sufficient size, and assigns the address of this buffer to the "
12548 "corresponding I<pointer> argument, which should be a pointer to a I<char\\ "
12549 "*> variable (this variable does not need to be initialized before the "
12550 "call).  The caller should subsequently B<free>(3)  this buffer when it is no "
12551 "longer required."
12552 msgstr ""
12553 "文字 \\(aqm\\(aq (省略可能)。これは文字列変換 (I<%s>, I<%c>, I<%[>) とともに"
12554 "使用され、これを使うと 呼び出し元が入力を保持する対応するバッファを確保する必"
12555 "要がなくなる。 代わりに B<scanf>()  が必要な大きさのバッファを確保し、この"
12556 "バッファのアドレスを 対応する I<pointer> 引き数に代入する。 I<pointer> 引き数"
12557 "は I<char\\ *> 型の変数へのポインタでなければならない (変数自体は呼び出し前に"
12558 "初期化されている必要はない)。 呼び出し元は、不要になった時点で、このバッファ"
12559 "を B<free>(3) すべきである。"
12560
12561 #. type: Plain text
12562 #: build/C/man3/scanf.3:232
12563 msgid ""
12564 "An optional decimal integer which specifies the I<maximum field width>.  "
12565 "Reading of characters stops either when this maximum is reached or when a "
12566 "nonmatching character is found, whichever happens first.  Most conversions "
12567 "discard initial white space characters (the exceptions are noted below), and "
12568 "these discarded characters don't count toward the maximum field width.  "
12569 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
12570 "mark the end of the input; the maximum field width does not include this "
12571 "terminator."
12572 msgstr ""
12573 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
12574 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
12575 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
12576 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
12577 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
12578 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
12579
12580 #. type: Plain text
12581 #: build/C/man3/scanf.3:246
12582 msgid ""
12583 "An optional I<type modifier character>.  For example, the B<l> type modifier "
12584 "is used with integer conversions such as B<%d> to specify that the "
12585 "corresponding I<pointer> argument refers to a I<long int> rather than a "
12586 "pointer to an I<int>."
12587 msgstr ""
12588 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
12589 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
12590 "I<int> ではなく I<long int> を参照していることを指定できる。"
12591
12592 #. type: Plain text
12593 #: build/C/man3/scanf.3:251
12594 msgid ""
12595 "A I<conversion specifier> that specifies the type of input conversion to be "
12596 "performed."
12597 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
12598
12599 #. type: Plain text
12600 #: build/C/man3/scanf.3:280
12601 msgid ""
12602 "The conversion specifications in I<format> are of two forms, either "
12603 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
12604 "forms should not be mixed in the same I<format> string, except that a string "
12605 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
12606 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
12607 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
12608 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
12609 "specifies that the converted input should be placed in the location referred "
12610 "to by the I<n>-th I<pointer> argument following I<format>."
12611 msgstr ""
12612 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
12613 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
12614 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
12615 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
12616 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
12617 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
12618 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
12619 "I<pointer> 引き数が参照する場所に格納することを指定する。"
12620
12621 #. type: SS
12622 #: build/C/man3/scanf.3:280
12623 #, no-wrap
12624 msgid "Conversions"
12625 msgstr "変換"
12626
12627 #. type: Plain text
12628 #: build/C/man3/scanf.3:284
12629 msgid ""
12630 "The following I<type modifier characters> can appear in a conversion "
12631 "specification:"
12632 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
12633
12634 #. type: Plain text
12635 #: build/C/man3/scanf.3:294
12636 msgid ""
12637 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
12638 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
12639 "I<unsigned short int> (rather than I<int>)."
12640 msgstr ""
12641 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
12642 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
12643 "あることを示す。"
12644
12645 #. type: Plain text
12646 #: build/C/man3/scanf.3:302
12647 msgid ""
12648 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
12649 "I<unsigned char>."
12650 msgstr ""
12651 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
12652 "タであることを示す。"
12653
12654 #. type: Plain text
12655 #: build/C/man3/scanf.3:311
12656 msgid ""
12657 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
12658 "I<uintmax_t>.  This modifier was introduced in C99."
12659 msgstr ""
12660 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
12661 "ることを示す。 この修飾子は C99 で導入された。"
12662
12663 #.  This use of l was introduced in Amendment 1 to ISO C90.
12664 #. type: Plain text
12665 #: build/C/man3/scanf.3:338
12666 msgid ""
12667 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
12668 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
12669 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
12670 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
12671 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
12672 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
12673 "as a pointer to a wide character or wide-character string respectively."
12674 msgstr ""
12675 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
12676 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
12677 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
12678 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
12679 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
12680 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
12681 "ンタであると みなされる。"
12682
12683 #.  MTK, Jul 05: The following is no longer true for modern
12684 #.  ANSI C (i.e., C99):
12685 #.  (Note that long long is not an
12686 #.  ANSI C
12687 #.  type. Any program using this will not be portable to all
12688 #.  architectures).
12689 #. type: Plain text
12690 #: build/C/man3/scanf.3:354
12691 msgid ""
12692 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
12693 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
12694 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
12695 msgstr ""
12696 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
12697 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
12698 "I<long long> へのポインタであることのいずれかであることを示す。"
12699
12700 #. type: Plain text
12701 #: build/C/man3/scanf.3:359
12702 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
12703 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
12704
12705 #. type: Plain text
12706 #: build/C/man3/scanf.3:366
12707 msgid ""
12708 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
12709 "modifier was introduced in C99."
12710 msgstr ""
12711 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
12712 "この修飾子は C99 で導入された。"
12713
12714 #. type: Plain text
12715 #: build/C/man3/scanf.3:373
12716 msgid ""
12717 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
12718 "modifier was introduced in C99."
12719 msgstr ""
12720 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
12721 "修飾子は C99 で導入された。"
12722
12723 #. type: Plain text
12724 #: build/C/man3/scanf.3:377
12725 msgid "The following I<conversion specifiers> are available:"
12726 msgstr "以下の I<「変換指定子」> が利用可能である。"
12727
12728 #. type: Plain text
12729 #: build/C/man3/scanf.3:386
12730 msgid ""
12731 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
12732 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
12733 "initial white space characters are discarded), and assignment does not occur."
12734 msgstr ""
12735 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
12736 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
12737 "る)、 変数への代入は生じない。"
12738
12739 #. type: TP
12740 #: build/C/man3/scanf.3:386
12741 #, no-wrap
12742 msgid "B<d>"
12743 msgstr "B<d>"
12744
12745 #. type: Plain text
12746 #: build/C/man3/scanf.3:391
12747 msgid ""
12748 "Matches an optionally signed decimal integer; the next pointer must be a "
12749 "pointer to I<int>."
12750 msgstr ""
12751 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
12752 "ばならない。"
12753
12754 #. type: TP
12755 #: build/C/man3/scanf.3:391
12756 #, no-wrap
12757 msgid "B<D>"
12758 msgstr "B<D>"
12759
12760 #. type: Plain text
12761 #: build/C/man3/scanf.3:400
12762 msgid ""
12763 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
12764 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
12765 "causing old programs to fail mysteriously.)"
12766 msgstr ""
12767 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
12768 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
12769 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
12770
12771 #. type: TP
12772 #: build/C/man3/scanf.3:400
12773 #, no-wrap
12774 msgid "B<i>"
12775 msgstr "B<i>"
12776
12777 #. type: Plain text
12778 #: build/C/man3/scanf.3:412
12779 msgid ""
12780 "Matches an optionally signed integer; the next pointer must be a pointer to "
12781 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
12782 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
12783 "that correspond to the base are used."
12784 msgstr ""
12785 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
12786 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
12787 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
12788 "される文字は、これらの基数に対応しているものだけである。"
12789
12790 #. type: TP
12791 #: build/C/man3/scanf.3:412
12792 #, no-wrap
12793 msgid "B<o>"
12794 msgstr "B<o>"
12795
12796 #. type: Plain text
12797 #: build/C/man3/scanf.3:416
12798 msgid ""
12799 "Matches an unsigned octal integer; the next pointer must be a pointer to "
12800 "I<unsigned int>."
12801 msgstr ""
12802 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
12803 "らない。"
12804
12805 #. type: TP
12806 #: build/C/man3/scanf.3:416
12807 #, no-wrap
12808 msgid "B<u>"
12809 msgstr "B<u>"
12810
12811 #. type: Plain text
12812 #: build/C/man3/scanf.3:421
12813 msgid ""
12814 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
12815 "I<unsigned int>."
12816 msgstr ""
12817 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
12818 "でなければならない。"
12819
12820 #. type: Plain text
12821 #: build/C/man3/scanf.3:426
12822 msgid ""
12823 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
12824 "to I<unsigned int>."
12825 msgstr ""
12826 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
12827 "タでなければならない。"
12828
12829 #. type: TP
12830 #: build/C/man3/scanf.3:426
12831 #, no-wrap
12832 msgid "B<X>"
12833 msgstr "B<X>"
12834
12835 #. type: Plain text
12836 #: build/C/man3/scanf.3:430
12837 msgid "Equivalent to B<x>."
12838 msgstr "B<x> と同一である。"
12839
12840 #. type: TP
12841 #: build/C/man3/scanf.3:430
12842 #, no-wrap
12843 msgid "B<f>"
12844 msgstr "B<f>"
12845
12846 #. type: Plain text
12847 #: build/C/man3/scanf.3:435
12848 msgid ""
12849 "Matches an optionally signed floating-point number; the next pointer must be "
12850 "a pointer to I<float>."
12851 msgstr ""
12852 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
12853 "ればならない。"
12854
12855 #. type: TP
12856 #: build/C/man3/scanf.3:435
12857 #, no-wrap
12858 msgid "B<e>"
12859 msgstr "B<e>"
12860
12861 #. type: Plain text
12862 #: build/C/man3/scanf.3:439 build/C/man3/scanf.3:443 build/C/man3/scanf.3:447
12863 msgid "Equivalent to B<f>."
12864 msgstr "B<f> と同一である。"
12865
12866 #. type: TP
12867 #: build/C/man3/scanf.3:439
12868 #, no-wrap
12869 msgid "B<g>"
12870 msgstr "B<g>"
12871
12872 #. type: TP
12873 #: build/C/man3/scanf.3:443
12874 #, no-wrap
12875 msgid "B<E>"
12876 msgstr "B<E>"
12877
12878 #. type: Plain text
12879 #: build/C/man3/scanf.3:451
12880 msgid "(C99) Equivalent to B<f>."
12881 msgstr "(C99)  B<f> と同一である。"
12882
12883 #. type: Plain text
12884 #: build/C/man3/scanf.3:459
12885 msgid ""
12886 "Matches a sequence of non-white-space characters; the next pointer must be a "
12887 "pointer to character array that is long enough to hold the input sequence "
12888 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
12889 "automatically.  The input string stops at white space or at the maximum "
12890 "field width, whichever occurs first."
12891 msgstr ""
12892 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
12893 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
12894 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
12895 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
12896 "フィールド幅に 達するか、のどちらかが起こると停止される。"
12897
12898 #. type: Plain text
12899 #: build/C/man3/scanf.3:469
12900 msgid ""
12901 "Matches a sequence of characters whose length is specified by the I<maximum "
12902 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
12903 "there must be enough room for all the characters (no terminating null byte "
12904 "is added).  The usual skip of leading white space is suppressed.  To skip "
12905 "white space first, use an explicit space in the format."
12906 msgstr ""
12907 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
12908 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
12909 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
12910 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
12911 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
12912
12913 #. type: TP
12914 #: build/C/man3/scanf.3:469
12915 #, no-wrap
12916 msgid "B<\\&[>"
12917 msgstr "B<\\&[>"
12918
12919 #. type: Plain text
12920 #: build/C/man3/scanf.3:502
12921 msgid ""
12922 "Matches a nonempty sequence of characters from the specified set of accepted "
12923 "characters; the next pointer must be a pointer to I<char>, and there must be "
12924 "enough room for all the characters in the string, plus a terminating null "
12925 "byte.  The usual skip of leading white space is suppressed.  The string is "
12926 "to be made up of characters in (or not in) a particular set; the set is "
12927 "defined by the characters between the open bracket B<[> character and a "
12928 "close bracket B<]> character.  The set I<excludes> those characters if the "
12929 "first character after the open bracket is a circumflex (B<^>).  To include a "
12930 "close bracket in the set, make it the first character after the open bracket "
12931 "or the circumflex; any other position will end the set.  The hyphen "
12932 "character B<-> is also special; when placed between two other characters, it "
12933 "adds all intervening characters to the set.  To include a hyphen, make it "
12934 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
12935 "> means the set \"everything except close bracket, zero through nine, and "
12936 "hyphen\".  The string ends with the appearance of a character not in the "
12937 "(or, with a circumflex, in) set or when the field width runs out."
12938 msgstr ""
12939 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
12940 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
12941 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
12942 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
12943 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
12944 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
12945 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
12946 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
12947 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
12948 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
12949 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
12950 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
12951 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
12952 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
12953 "文字の 出現または確保された領域が使い切られた時に終了する。"
12954
12955 #. type: Plain text
12956 #: build/C/man3/scanf.3:510
12957 msgid ""
12958 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
12959 "pointer must be a pointer to a pointer to I<void>."
12960 msgstr ""
12961 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
12962 "タは I<void> へのポインタへのポインタでなければならない。"
12963
12964 #. type: Plain text
12965 #: build/C/man3/scanf.3:530
12966 msgid ""
12967 "Nothing is expected; instead, the number of characters consumed thus far "
12968 "from the input is stored through the next pointer, which must be a pointer "
12969 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
12970 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
12971 "of a B<%n> directive does not increment the assignment count returned at the "
12972 "completion of execution\" but the Corrigendum seems to contradict this.  "
12973 "Probably it is wise not to make any assumptions on the effect of B<%n> "
12974 "conversions on the return value."
12975 msgstr ""
12976 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
12977 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
12978 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
12979 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
12980 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
12981 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
12982 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
12983
12984 #. type: Plain text
12985 #: build/C/man3/scanf.3:535
12986 msgid ""
12987 "These functions return the number of input items successfully matched and "
12988 "assigned, which can be fewer than provided for, or even zero in the event of "
12989 "an early matching failure."
12990 msgstr ""
12991 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
12992 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
12993 "ることもある。"
12994
12995 #. type: Plain text
12996 #: build/C/man3/scanf.3:547
12997 msgid ""
12998 "The value B<EOF> is returned if the end of input is reached before either "
12999 "the first successful conversion or a matching failure occurs.  B<EOF> is "
13000 "also returned if a read error occurs, in which case the error indicator for "
13001 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
13002 "error."
13003 msgstr ""
13004 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
13005 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
13006 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
13007 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
13008
13009 #. type: Plain text
13010 #: build/C/man3/scanf.3:553
13011 msgid ""
13012 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
13013 "operation would block."
13014 msgstr ""
13015 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
13016 "込み操作は停止 (block) することになる。"
13017
13018 #. type: Plain text
13019 #: build/C/man3/scanf.3:558
13020 msgid ""
13021 "The file descriptor underlying I<stream> is invalid, or not open for reading."
13022 msgstr ""
13023 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
13024 "ンされていない。"
13025
13026 #. type: Plain text
13027 #: build/C/man3/scanf.3:561
13028 msgid "Input byte sequence does not form a valid character."
13029 msgstr "入力されたバイト列が有効な文字を構成していない。"
13030
13031 #. type: Plain text
13032 #: build/C/man3/scanf.3:565
13033 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
13034 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
13035
13036 #. type: Plain text
13037 #: build/C/man3/scanf.3:570
13038 msgid "Not enough arguments; or I<format> is NULL."
13039 msgstr "引き数が十分でない。または I<format> が NULL である。"
13040
13041 #. type: Plain text
13042 #: build/C/man3/scanf.3:573
13043 msgid "Out of memory."
13044 msgstr "メモリ不足。"
13045
13046 #. type: TP
13047 #: build/C/man3/scanf.3:573
13048 #, no-wrap
13049 msgid "B<ERANGE>"
13050 msgstr "B<ERANGE>"
13051
13052 #. type: Plain text
13053 #: build/C/man3/scanf.3:577
13054 msgid ""
13055 "The result of an integer conversion would exceed the size that can be stored "
13056 "in the corresponding integer type."
13057 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
13058
13059 #. type: Plain text
13060 #: build/C/man3/scanf.3:587
13061 msgid ""
13062 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
13063 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
13064 msgstr ""
13065 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
13066 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
13067
13068 #. type: Plain text
13069 #: build/C/man3/scanf.3:597
13070 msgid ""
13071 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
13072 "the usage of B<L> in integer conversions is the GNU notation."
13073 msgstr ""
13074 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
13075 "B<ll> または B<L> の使用は GNU での拡張である。"
13076
13077 #. type: Plain text
13078 #: build/C/man3/scanf.3:608
13079 msgid ""
13080 "The Linux version of these functions is based on the I<GNU> I<libio> "
13081 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
13082 "(glibc-1.08)> for a more concise description."
13083 msgstr ""
13084 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
13085 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
13086
13087 #. type: SS
13088 #: build/C/man3/scanf.3:609
13089 #, no-wrap
13090 msgid "The 'a' assignment-allocation modifier"
13091 msgstr ""
13092
13093 #. type: Plain text
13094 #: build/C/man3/scanf.3:620
13095 #, fuzzy
13096 #| msgid ""
13097 #| "The GNU C library supported the dynamic allocation conversion specifier "
13098 #| "(as a nonstandard extension) via the B<a> character.  This feature seems "
13099 #| "to be present at least as far back as glibc 2.0."
13100 msgid ""
13101 "Originally, the GNU C library supported dynamic allocation for string inputs "
13102 "(as a nonstandard extension) via the B<a> character.  (This feature is "
13103 "present at least as far back as glibc 2.0.)  Thus, one could write the "
13104 "following to have B<scanf>()  allocate a buffer for an input string, with a "
13105 "pointer to that buffer being returned in I<*buf>:"
13106 msgstr ""
13107 "GNU C ライブラリ (glibc) では、 B<a> 文字による動的割り当て変換指定子 "
13108 "(dynamic allocation conversion specifier) を (非標準の拡張として) サポートし"
13109 "ている。この機能は少なくとも glibc 2.0 以降で存在しているようである。"
13110
13111 #. type: Plain text
13112 #: build/C/man3/scanf.3:623
13113 #, no-wrap
13114 msgid ""
13115 "    char *buf;\n"
13116 "    scanf(\"%as\", &buf);\n"
13117 msgstr ""
13118
13119 #. type: Plain text
13120 #: build/C/man3/scanf.3:634
13121 msgid ""
13122 "The use of the letter B<a> for this purpose was problematic, since B<a> is "
13123 "also specified by the ISO C standard as a synonym for B<f> (floating-point "
13124 "input).  POSIX.1-2008 instead specifies the B<m> modifier for assignment "
13125 "allocation (as documented in DESCRIPTION, above)."
13126 msgstr ""
13127
13128 #. type: Plain text
13129 #: build/C/man3/scanf.3:646
13130 #, fuzzy
13131 #| msgid ""
13132 #| "It is not available if the program is compiled with I<gcc -std=c99> or "
13133 #| "I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also specified), in "
13134 #| "which case the B<a> is interpreted as a specifier for floating-point "
13135 #| "numbers (see above)."
13136 msgid ""
13137 "Note that the B<a> modifier is not available if the program is compiled with "
13138 "I<gcc -std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
13139 "specified), in which case the B<a> is interpreted as a specifier for "
13140 "floating-point numbers (see above)."
13141 msgstr ""
13142 "この修飾子は I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプロ"
13143 "グラムでは (B<_GNU_SOURCE> も同時に指定していない場合) 利用できない。この場"
13144 "合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
13145
13146 #. type: Plain text
13147 #: build/C/man3/scanf.3:652
13148 msgid ""
13149 "Support for the B<m> modifier was added to glibc starting with version 2.7, "
13150 "and new programs should use that modifier instead of B<a>."
13151 msgstr ""
13152
13153 #. type: Plain text
13154 #: build/C/man3/scanf.3:658
13155 msgid ""
13156 "As well as being standardized by POSIX, the B<m> modifier has the following "
13157 "further advantages over the use of B<a:>"
13158 msgstr ""
13159
13160 #. type: Plain text
13161 #: build/C/man3/scanf.3:663
13162 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
13163 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
13164
13165 #. type: Plain text
13166 #: build/C/man3/scanf.3:669
13167 #, fuzzy
13168 #| msgid ""
13169 #| "It avoids ambiguity with respect to the B<%a> floating-point conversion "
13170 #| "specifier (and is unaffected by I<gcc -std=c99> etc.)"
13171 msgid ""
13172 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
13173 "specifier (and is unaffected by I<gcc -std=c99> etc.)."
13174 msgstr ""
13175 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
13176 "std=c99> などの影響も避けられる)。"
13177
13178 #. type: Plain text
13179 #: build/C/man3/scanf.3:682
13180 msgid ""
13181 "All functions are fully C89 conformant, but provide the additional "
13182 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
13183 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
13184 "the behavior of specifiers defined in C89."
13185 msgstr ""
13186 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
13187 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
13188 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
13189 "れない。"
13190
13191 #. type: Plain text
13192 #: build/C/man3/scanf.3:698
13193 msgid ""
13194 "Some combinations of the type modifiers and conversion specifiers defined by "
13195 "ANSI C do not make sense (e.g., B<%Ld>).  While they may have a well-defined "
13196 "behavior on Linux, this need not to be so on other architectures.  Therefore "
13197 "it usually is better to use modifiers that are not defined by ANSI C at all, "
13198 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
13199 "B<u>, B<x>, and B<X> conversions or B<ll>."
13200 msgstr ""
13201 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を\n"
13202 "なさないものがある (例えば、 B<%Ld>)。 これらが指定された場合、 \n"
13203 "Linux 上でははっきりと定義された振る舞いをするかもしれないが、\n"
13204 "他のアーキテクチャでも同様になっているとは限らない。\n"
13205 "それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した\n"
13206 "方が良い。すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や B<ll>\n"
13207 "と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
13208
13209 #. type: Plain text
13210 #: build/C/man3/scanf.3:704
13211 msgid ""
13212 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
13213 "conversions equivalently to B<L>."
13214 msgstr ""
13215 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
13216 "動小数の変換に使用される。"
13217
13218 #. type: Plain text
13219 #: build/C/man3/scanf.3:714
13220 msgid ""
13221 "To use the dynamic allocation conversion specifier, specify B<m> as a length "
13222 "modifier (thus B<%ms> or B<%m[>I<range>B<]>).  The caller must B<free>(3)  "
13223 "the returned string, as in the following example:"
13224 msgstr ""
13225 "動的割り当て変換指定子を使用するには、長さ修飾子として B<m> を指定する (つま"
13226 "り、全体としては B<%ms> や B<%m[>I<range>B<]> となる)。以下の例にあるように、"
13227 "呼び出し側は返された文字列を B<free>(3) しなければならない。"
13228
13229 #. type: Plain text
13230 #: build/C/man3/scanf.3:719
13231 #, no-wrap
13232 msgid ""
13233 "char *p;\n"
13234 "int n;\n"
13235 msgstr ""
13236 "char *p;\n"
13237 "int n;\n"
13238
13239 #. type: Plain text
13240 #: build/C/man3/scanf.3:730
13241 #, no-wrap
13242 msgid ""
13243 "errno = 0;\n"
13244 "n = scanf(\"%m[a-z]\", &p);\n"
13245 "if (n == 1) {\n"
13246 "    printf(\"read: %s\\en\", p);\n"
13247 "    free(p);\n"
13248 "} else if (errno != 0) {\n"
13249 "    perror(\"scanf\");\n"
13250 "} else {\n"
13251 "    fprintf(stderr, \"No matching characters\\en\");\n"
13252 "}\n"
13253 msgstr ""
13254 "errno = 0;\n"
13255 "n = scanf(\"%m[a-z]\", &p);\n"
13256 "if (n == 1) {\n"
13257 "    printf(\"read: %s\\en\", p);\n"
13258 "    free(p);\n"
13259 "} else if (errno != 0) {\n"
13260 "    perror(\"scanf\");\n"
13261 "} else {\n"
13262 "    fprintf(stderr, \"No matching characters\\en\");\n"
13263 "}\n"
13264
13265 #. type: Plain text
13266 #: build/C/man3/scanf.3:738
13267 msgid ""
13268 "As shown in the above example, it is necessary to call B<free>(3)  only if "
13269 "the B<scanf>()  call successfully read a string."
13270 msgstr ""
13271 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
13272 "B<free>(3)  を呼び出す必要がある。"
13273
13274 #. type: Plain text
13275 #: build/C/man3/scanf.3:745
13276 msgid ""
13277 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
13278 "B<strtoul>(3)"
13279 msgstr ""
13280 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
13281 "B<strtoul>(3),"
13282
13283 #. type: TH
13284 #: build/C/man3/setbuf.3:48
13285 #, no-wrap
13286 msgid "SETBUF"
13287 msgstr "SETBUF"
13288
13289 #. type: TH
13290 #: build/C/man3/setbuf.3:48
13291 #, fuzzy, no-wrap
13292 #| msgid "2012-02-14"
13293 msgid "2014-02-18"
13294 msgstr "2012-02-14"
13295
13296 #. type: Plain text
13297 #: build/C/man3/setbuf.3:51
13298 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
13299 msgstr ""
13300 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
13301
13302 #. type: Plain text
13303 #: build/C/man3/setbuf.3:56
13304 #, no-wrap
13305 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
13306 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
13307
13308 #. type: Plain text
13309 #: build/C/man3/setbuf.3:58
13310 #, no-wrap
13311 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
13312 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
13313
13314 #. type: Plain text
13315 #: build/C/man3/setbuf.3:60
13316 #, no-wrap
13317 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
13318 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
13319
13320 #. type: Plain text
13321 #: build/C/man3/setbuf.3:63
13322 #, no-wrap
13323 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
13324 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
13325
13326 #. type: Plain text
13327 #: build/C/man3/setbuf.3:73
13328 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
13329 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
13330
13331 #. type: Plain text
13332 #: build/C/man3/setbuf.3:96
13333 msgid ""
13334 "The three types of buffering available are unbuffered, block buffered, and "
13335 "line buffered.  When an output stream is unbuffered, information appears on "
13336 "the destination file or terminal as soon as written; when it is block "
13337 "buffered many characters are saved up and written as a block; when it is "
13338 "line buffered characters are saved up until a newline is output or input is "
13339 "read from any stream attached to a terminal device (typically I<stdin>).  "
13340 "The function B<fflush>(3)  may be used to force the block out early.  (See "
13341 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
13342 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
13343 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
13344 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
13345 "by default."
13346 msgstr ""
13347 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
13348 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
13349 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
13350 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
13351 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
13352 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
13353 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
13354 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
13355 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
13356 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
13357 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
13358 "unbuffered である。"
13359
13360 #. type: Plain text
13361 #: build/C/man3/setbuf.3:103
13362 msgid ""
13363 "The B<setvbuf>()  function may be used on any open stream to change its "
13364 "buffer.  The I<mode> argument must be one of the following three macros:"
13365 msgstr ""
13366 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
13367 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
13368
13369 #. type: TP
13370 #: build/C/man3/setbuf.3:104
13371 #, no-wrap
13372 msgid "B<_IONBF>"
13373 msgstr "B<_IONBF>"
13374
13375 #. type: Plain text
13376 #: build/C/man3/setbuf.3:107
13377 msgid "unbuffered"
13378 msgstr "unbuffered"
13379
13380 #. type: TP
13381 #: build/C/man3/setbuf.3:107
13382 #, no-wrap
13383 msgid "B<_IOLBF>"
13384 msgstr "B<_IOLBF>"
13385
13386 #. type: Plain text
13387 #: build/C/man3/setbuf.3:110
13388 msgid "line buffered"
13389 msgstr "line buffered"
13390
13391 #. type: TP
13392 #: build/C/man3/setbuf.3:110
13393 #, no-wrap
13394 msgid "B<_IOFBF>"
13395 msgstr "B<_IOFBF>"
13396
13397 #. type: Plain text
13398 #: build/C/man3/setbuf.3:113
13399 msgid "fully buffered"
13400 msgstr "fully buffered"
13401
13402 #. type: Plain text
13403 #: build/C/man3/setbuf.3:129
13404 msgid ""
13405 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
13406 "least I<size> bytes long; this buffer will be used instead of the current "
13407 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
13408 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
13409 "()  function may be used only after opening a stream and before any other "
13410 "operations have been performed on it."
13411 msgstr ""
13412 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
13413 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
13414 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
13415 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
13416 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
13417
13418 #. type: Plain text
13419 #: build/C/man3/setbuf.3:135
13420 msgid ""
13421 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
13422 "().  The B<setbuf>()  function is exactly equivalent to the call"
13423 msgstr ""
13424 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
13425 "B<setbuf>()  関数は、"
13426
13427 #. type: Plain text
13428 #: build/C/man3/setbuf.3:138
13429 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
13430 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
13431
13432 #. type: Plain text
13433 #: build/C/man3/setbuf.3:148
13434 msgid ""
13435 "The B<setbuffer>()  function is the same, except that the size of the buffer "
13436 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
13437 "The B<setlinebuf>()  function is exactly equivalent to the call:"
13438 msgstr ""
13439 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
13440 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
13441 "は以下と同じである。"
13442
13443 #. type: Plain text
13444 #: build/C/man3/setbuf.3:151
13445 msgid "setvbuf(stream, NULL, _IOLBF, 0);"
13446 msgstr "setvbuf(stream, NULL, _IOLBF, 0);"
13447
13448 #. type: Plain text
13449 #: build/C/man3/setbuf.3:162
13450 msgid ""
13451 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
13452 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
13453 "I<errno> on failure."
13454 msgstr ""
13455 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
13456 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
13457 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
13458
13459 #. type: Plain text
13460 #: build/C/man3/setbuf.3:164
13461 msgid "The other functions do not return a value."
13462 msgstr "その他の関数は値を返さない。"
13463
13464 #. type: Plain text
13465 #: build/C/man3/setbuf.3:173
13466 #, fuzzy
13467 #| msgid ""
13468 #| "The B<clearerr>(), B<feof>(), B<ferror>(), and B<fileno>()  functions are "
13469 #| "thread-safe."
13470 msgid ""
13471 "The B<setbuf>(), B<setbuffer>(), B<setlinebuf>(), and B<setvbuf>()  "
13472 "functions are thread-safe."
13473 msgstr ""
13474 "関数 B<clearerr>(), B<feof>(), B<ferror>(), B<fileno>() はスレッドセーフであ"
13475 "る。"
13476
13477 #. type: Plain text
13478 #: build/C/man3/setbuf.3:179
13479 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
13480 msgstr ""
13481 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
13482
13483 #. type: Plain text
13484 #: build/C/man3/setbuf.3:189
13485 msgid ""
13486 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
13487 "versions of BSD before 4.2BSD, and are available under Linux since libc "
13488 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
13489 "buffer size and should be avoided."
13490 msgstr ""
13491 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
13492 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
13493 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
13494 "ズを使用するので、これも使うべきでない。"
13495
13496 #. type: Plain text
13497 #: build/C/man3/setbuf.3:196
13498 msgid ""
13499 "You must make sure that the space that I<buf> points to still exists by the "
13500 "time I<stream> is closed, which also happens at program termination.  For "
13501 "example, the following is invalid:"
13502 msgstr ""
13503 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
13504 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
13505 "な使い方は許されない:"
13506
13507 #. type: Plain text
13508 #: build/C/man3/setbuf.3:199
13509 #, no-wrap
13510 msgid "#include E<lt>stdio.hE<gt>\n"
13511 msgstr "#include E<lt>stdio.hE<gt>\n"
13512
13513 #. type: Plain text
13514 #: build/C/man3/setbuf.3:208
13515 #, no-wrap
13516 msgid ""
13517 "int\n"
13518 "main(void)\n"
13519 "{\n"
13520 "    char buf[BUFSIZ];\n"
13521 "    setbuf(stdin, buf);\n"
13522 "    printf(\"Hello, world!\\en\");\n"
13523 "    return 0;\n"
13524 "}\n"
13525 msgstr ""
13526 "int\n"
13527 "main(void)\n"
13528 "{\n"
13529 "    char buf[BUFSIZ];\n"
13530 "    setbuf(stdin, buf);\n"
13531 "    printf(\"Hello, world!\\en\");\n"
13532 "    return 0;\n"
13533 "}\n"
13534
13535 #. type: Plain text
13536 #: build/C/man3/setbuf.3:217
13537 msgid ""
13538 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
13539 "(3), B<puts>(3)"
13540 msgstr ""
13541 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
13542 "(3), B<puts>(3)"
13543
13544 #. type: TH
13545 #: build/C/man3/stdin.3:13
13546 #, no-wrap
13547 msgid "STDIN"
13548 msgstr "STDIN"
13549
13550 #. type: TH
13551 #: build/C/man3/stdin.3:13 build/C/man3/tmpfile.3:31
13552 #, no-wrap
13553 msgid "2008-07-14"
13554 msgstr "2008-07-14"
13555
13556 #. type: Plain text
13557 #: build/C/man3/stdin.3:16
13558 msgid "stdin, stdout, stderr - standard I/O streams"
13559 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
13560
13561 #. type: Plain text
13562 #: build/C/man3/stdin.3:23
13563 #, no-wrap
13564 msgid ""
13565 "B<extern FILE *>I<stdin>B<;>\n"
13566 "B<extern FILE *>I<stdout>B<;>\n"
13567 "B<extern FILE *>I<stderr>B<;>\n"
13568 msgstr ""
13569 "B<extern FILE *>I<stdin>B<;>\n"
13570 "B<extern FILE *>I<stdout>B<;>\n"
13571 "B<extern FILE *>I<stderr>B<;>\n"
13572
13573 #. type: Plain text
13574 #: build/C/man3/stdin.3:35
13575 msgid ""
13576 "Under normal circumstances every UNIX program has three streams opened for "
13577 "it when it starts up, one for input, one for output, and one for printing "
13578 "diagnostic or error messages.  These are typically attached to the user's "
13579 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
13580 "depending on what the parent process chose to set up.  (See also the "
13581 "\"Redirection\" section of B<sh>(1).)"
13582 msgstr ""
13583 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
13584 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
13585 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
13586 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
13587 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
13588
13589 #. type: Plain text
13590 #: build/C/man3/stdin.3:45
13591 msgid ""
13592 "The input stream is referred to as \"standard input\"; the output stream is "
13593 "referred to as \"standard output\"; and the error stream is referred to as "
13594 "\"standard error\".  These terms are abbreviated to form the symbols used to "
13595 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
13596 msgstr ""
13597 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
13598 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
13599 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
13600 "I<stdout>, I<stderr> である。"
13601
13602 #. type: Plain text
13603 #: build/C/man3/stdin.3:54
13604 msgid ""
13605 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
13606 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
13607 msgstr ""
13608 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
13609 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
13610
13611 #. type: Plain text
13612 #: build/C/man3/stdin.3:63
13613 msgid ""
13614 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
13615 "same underlying files may also be accessed using the raw UNIX file "
13616 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
13617 msgstr ""
13618 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
13619 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
13620 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
13621 "る。"
13622
13623 #. type: Plain text
13624 #: build/C/man3/stdin.3:82
13625 msgid ""
13626 "On program startup, the integer file descriptors associated with the streams "
13627 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
13628 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
13629 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
13630 "(3)  to one of these streams can change the file descriptor number "
13631 "associated with the stream.)"
13632 msgstr ""
13633 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
13634 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
13635 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
13636 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
13637 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
13638 "たファイルディスクリプタ の番号を変更することができる。)"
13639
13640 #. type: Plain text
13641 #: build/C/man3/stdin.3:95
13642 msgid ""
13643 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
13644 "unexpected results and should generally be avoided.  (For the masochistic "
13645 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
13646 "is supposed to work.)  A general rule is that file descriptors are handled "
13647 "in the kernel, while stdio is just a library.  This means for example, that "
13648 "after an B<exec>(3), the child inherits all open file descriptors, but all "
13649 "old streams have become inaccessible."
13650 msgstr ""
13651 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
13652 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
13653 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
13654 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
13655 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
13656 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
13657 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
13658
13659 #. type: Plain text
13660 #: build/C/man3/stdin.3:113
13661 msgid ""
13662 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
13663 "macros, assigning to them is nonportable.  The standard streams can be made "
13664 "to refer to different files with help of the library function B<freopen>(3), "
13665 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
13666 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
13667 "by normal program termination."
13668 msgstr ""
13669 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
13670 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
13671 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
13672 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
13673 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
13674 "グラムの正常終了によってクローズされる。"
13675
13676 #. type: Plain text
13677 #: build/C/man3/stdin.3:122
13678 msgid ""
13679 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
13680 "standard also stipulates that these three streams shall be open at program "
13681 "startup."
13682 msgstr ""
13683 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
13684 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
13685 "とが規定されている。"
13686
13687 #. type: Plain text
13688 #: build/C/man3/stdin.3:154
13689 msgid ""
13690 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
13691 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
13692 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
13693 "unexpected results, especially with debugging output.  The buffering mode of "
13694 "the standard streams (or any other stream)  can be changed using the "
13695 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
13696 "associated with a terminal, there may also be input buffering in the "
13697 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
13698 "terminal input is line buffered in the kernel.)  This kernel input handling "
13699 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
13700 "B<termios>(3)."
13701 msgstr ""
13702 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
13703 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
13704 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
13705 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
13706 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
13707 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
13708 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
13709 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
13710 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
13711 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
13712 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
13713 "B<termios>(3)  も参照すること。"
13714
13715 #. type: Plain text
13716 #: build/C/man3/stdin.3:160
13717 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
13718 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
13719
13720 #. type: TH
13721 #: build/C/man3/stdio.3:39
13722 #, no-wrap
13723 msgid "STDIO"
13724 msgstr "STDIO"
13725
13726 #. type: TH
13727 #: build/C/man3/stdio.3:39
13728 #, no-wrap
13729 msgid "2001-12-26"
13730 msgstr "2001-12-26"
13731
13732 #. type: Plain text
13733 #: build/C/man3/stdio.3:42
13734 msgid "stdio - standard input/output library functions"
13735 msgstr "stdio - 標準入出力ライブラリ関数"
13736
13737 #. type: Plain text
13738 #: build/C/man3/stdio.3:46
13739 msgid "B<FILE *>I<stdin>B<;>"
13740 msgstr "B<FILE *>I<stdin>B<;>"
13741
13742 #. type: Plain text
13743 #: build/C/man3/stdio.3:48
13744 msgid "B<FILE *>I<stdout>B<;>"
13745 msgstr "B<FILE *>I<stdout>B<;>"
13746
13747 #. type: Plain text
13748 #: build/C/man3/stdio.3:50
13749 msgid "B<FILE *>I<stderr>B<;>"
13750 msgstr "B<FILE *>I<stderr>B<;>"
13751
13752 #. type: Plain text
13753 #: build/C/man3/stdio.3:57
13754 msgid ""
13755 "The standard I/O library provides a simple and efficient buffered stream I/O "
13756 "interface.  Input and output is mapped into logical data streams and the "
13757 "physical I/O characteristics are concealed.  The functions and macros are "
13758 "listed below; more information is available from the individual man pages."
13759 msgstr ""
13760 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
13761 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
13762 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
13763 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
13764
13765 #. type: Plain text
13766 #: build/C/man3/stdio.3:80
13767 msgid ""
13768 "A stream is associated with an external file (which may be a physical "
13769 "device) by I<opening> a file, which may involve creating a new file.  "
13770 "Creating an existing file causes its former contents to be discarded.  If a "
13771 "file can support positioning requests (such as a disk file, as opposed to a "
13772 "terminal) then a I<file position indicator> associated with the stream is "
13773 "positioned at the start of the file (byte zero), unless the file is opened "
13774 "with append mode.  If append mode is used, it is unspecified whether the "
13775 "position indicator will be placed at the start or the end of the file.  The "
13776 "position indicator is maintained by subsequent reads, writes and positioning "
13777 "requests.  All input occurs as if the characters were read by successive "
13778 "calls to the B<fgetc>(3)  function; all output takes place as if all "
13779 "characters were written by successive calls to the B<fputc>(3)  function."
13780 msgstr ""
13781 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
13782 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
13783 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
13784 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
13785 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
13786 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
13787 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
13788 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
13789 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
13790 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
13791 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
13792 "字を書き込んだかのように行われる。"
13793
13794 #. type: Plain text
13795 #: build/C/man3/stdio.3:90
13796 msgid ""
13797 "A file is disassociated from a stream by I<closing> the file.  Output "
13798 "streams are flushed (any unwritten buffer contents are transferred to the "
13799 "host environment) before the stream is disassociated from the file.  The "
13800 "value of a pointer to a I<FILE> object is indeterminate after a file is "
13801 "closed (garbage)."
13802 msgstr ""
13803 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
13804 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
13805 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
13806 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
13807 "確定になる (ゴミになってしまう)。"
13808
13809 #. type: Plain text
13810 #: build/C/man3/stdio.3:103
13811 msgid ""
13812 "A file may be subsequently reopened, by the same or another program "
13813 "execution, and its contents reclaimed or modified (if it can be repositioned "
13814 "at the start).  If the main function returns to its original caller, or the "
13815 "B<exit>(3)  function is called, all open files are closed (hence all output "
13816 "streams are flushed) before program termination.  Other methods of program "
13817 "termination, such as B<abort>(3)  do not bother about closing files properly."
13818 msgstr ""
13819 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
13820 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
13821 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
13822 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
13823 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
13824 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
13825 "保証はない。"
13826
13827 #. type: Plain text
13828 #: build/C/man3/stdio.3:119
13829 msgid ""
13830 "At program startup, three text streams are predefined and need not be opened "
13831 "explicitly: I<standard input> (for reading conventional input), I<standard "
13832 "output> (for writing conventional input), and I<standard error> (for writing "
13833 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
13834 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
13835 "the standard input and output streams are fully buffered if and only if the "
13836 "streams do not refer to an interactive device."
13837 msgstr ""
13838 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
13839 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
13840 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
13841 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
13842 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
13843 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
13844 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
13845 "スを参照していなければ、 完全にバッファリングされている。"
13846
13847 #. type: Plain text
13848 #: build/C/man3/stdio.3:129
13849 msgid ""
13850 "Output streams that refer to terminal devices are always line buffered by "
13851 "default; pending output to such streams is written automatically whenever an "
13852 "input stream that refers to a terminal device is read.  In cases where a "
13853 "large amount of computation is done after printing part of a line on an "
13854 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
13855 "going off and computing so that the output will appear."
13856 msgstr ""
13857 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
13858 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
13859 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
13860 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
13861 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
13862 "必要がある。"
13863
13864 #. type: Plain text
13865 #: build/C/man3/stdio.3:143
13866 msgid ""
13867 "The I<stdio> library is a part of the library B<libc> and routines are "
13868 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
13869 "SYNOPSIS sections of the following manual pages indicate which include files "
13870 "are to be used, what the compiler declaration for the function looks like "
13871 "and which external variables are of interest."
13872 msgstr ""
13873 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
13874 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
13875 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
13876 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
13877 "数が関係するのかが示されている。"
13878
13879 #.  Not on Linux: .BR fropen ,
13880 #.  Not on Linux: .BR fwopen ,
13881 #. type: Plain text
13882 #: build/C/man3/stdio.3:183
13883 msgid ""
13884 "The following are defined as macros; these names may not be reused without "
13885 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
13886 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
13887 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
13888 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
13889 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
13890 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
13891 "and B<putchar> exist and will be used if the macros definitions are "
13892 "explicitly removed."
13893 msgstr ""
13894 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
13895 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
13896 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
13897 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
13898 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
13899 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
13900 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
13901 "示的に消去されている場合には、 これらを使用することになるだろう。"
13902
13903 #. type: SS
13904 #: build/C/man3/stdio.3:183
13905 #, no-wrap
13906 msgid "List of functions"
13907 msgstr "関数のリスト"
13908
13909 #. type: tbl table
13910 #: build/C/man3/stdio.3:188
13911 #, no-wrap
13912 msgid "Function\tDescription\n"
13913 msgstr "関数\t説明\n"
13914
13915 #. type: tbl table
13916 #: build/C/man3/stdio.3:189
13917 #, no-wrap
13918 msgid "_\n"
13919 msgstr "_\n"
13920
13921 #. type: tbl table
13922 #: build/C/man3/stdio.3:190
13923 #, no-wrap
13924 msgid "clearerr\tcheck and reset stream status\n"
13925 msgstr "clearerr\tストリームの状態の確認とリセット\n"
13926
13927 #. type: tbl table
13928 #: build/C/man3/stdio.3:191
13929 #, no-wrap
13930 msgid "fclose\tclose a stream\n"
13931 msgstr "fclose\tストリームをクローズする\n"
13932
13933 #. type: tbl table
13934 #: build/C/man3/stdio.3:192
13935 #, no-wrap
13936 msgid "fdopen\tstream open functions\n"
13937 msgstr "fdopen\tストリームをオープンする\n"
13938
13939 #. type: tbl table
13940 #: build/C/man3/stdio.3:193
13941 #, no-wrap
13942 msgid "feof\tcheck and reset stream status\n"
13943 msgstr "feof\tストリームの状態の確認とリセット\n"
13944
13945 #. type: tbl table
13946 #: build/C/man3/stdio.3:194
13947 #, no-wrap
13948 msgid "ferror\tcheck and reset stream status\n"
13949 msgstr "ferror\tストリームの状態の確認とリセット\n"
13950
13951 #. type: tbl table
13952 #: build/C/man3/stdio.3:195
13953 #, no-wrap
13954 msgid "fflush\tflush a stream\n"
13955 msgstr "fflush\tストリームをフラッシュする\n"
13956
13957 #. type: tbl table
13958 #: build/C/man3/stdio.3:196
13959 #, no-wrap
13960 msgid "fgetc\tget next character or word from input stream\n"
13961 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
13962
13963 #. type: tbl table
13964 #: build/C/man3/stdio.3:197
13965 #, no-wrap
13966 msgid "fgetpos\treposition a stream\n"
13967 msgstr "fgetpos\tストリームの位置を取得する\n"
13968
13969 #. type: tbl table
13970 #: build/C/man3/stdio.3:198
13971 #, no-wrap
13972 msgid "fgets\tget a line from a stream\n"
13973 msgstr "fgets\tストリームから行を取得する\n"
13974
13975 #. type: tbl table
13976 #: build/C/man3/stdio.3:199
13977 #, no-wrap
13978 msgid "fileno\treturn the integer descriptor of the argument stream\n"
13979 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
13980
13981 #. type: tbl table
13982 #: build/C/man3/stdio.3:200
13983 #, no-wrap
13984 msgid "fopen\tstream open functions\n"
13985 msgstr "fopen\tストリームをオープンする\n"
13986
13987 #. type: tbl table
13988 #: build/C/man3/stdio.3:201
13989 #, no-wrap
13990 msgid "fprintf\tformatted output conversion\n"
13991 msgstr "fprintf\t書式付き出力変換\n"
13992
13993 #. type: tbl table
13994 #: build/C/man3/stdio.3:202
13995 #, no-wrap
13996 msgid "fpurge\tflush a stream\n"
13997 msgstr "fpurge\tストリームをフラッシュする\n"
13998
13999 #. type: tbl table
14000 #: build/C/man3/stdio.3:203
14001 #, no-wrap
14002 msgid "fputc\toutput a character or word to a stream\n"
14003 msgstr "fputc\t文字または語をストリームに出力する\n"
14004
14005 #. type: tbl table
14006 #: build/C/man3/stdio.3:204
14007 #, no-wrap
14008 msgid "fputs\toutput a line to a stream\n"
14009 msgstr "fputs\t行をストリームに出力する\n"
14010
14011 #. type: tbl table
14012 #: build/C/man3/stdio.3:205
14013 #, no-wrap
14014 msgid "fread\tbinary stream input/output\n"
14015 msgstr "fread\tバイナリーストリーム入出力\n"
14016
14017 #. type: tbl table
14018 #: build/C/man3/stdio.3:206
14019 #, no-wrap
14020 msgid "freopen\tstream open functions\n"
14021 msgstr "freopen\tストリームをオープンする\n"
14022
14023 #. type: tbl table
14024 #: build/C/man3/stdio.3:207
14025 #, no-wrap
14026 msgid "fscanf\tinput format conversion\n"
14027 msgstr "fscanf\t書式付き入力変換\n"
14028
14029 #. type: tbl table
14030 #: build/C/man3/stdio.3:208
14031 #, no-wrap
14032 msgid "fseek\treposition a stream\n"
14033 msgstr "fseek\tストリームの位置指示子を移動する\n"
14034
14035 #. type: tbl table
14036 #: build/C/man3/stdio.3:209
14037 #, no-wrap
14038 msgid "fsetpos\treposition a stream\n"
14039 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
14040
14041 #. type: tbl table
14042 #: build/C/man3/stdio.3:210
14043 #, no-wrap
14044 msgid "ftell\treposition a stream\n"
14045 msgstr "ftell\tストリームの位置を取得する\n"
14046
14047 #. type: tbl table
14048 #: build/C/man3/stdio.3:211
14049 #, no-wrap
14050 msgid "fwrite\tbinary stream input/output\n"
14051 msgstr "fwrite\tバイナリーストリーム入出力\n"
14052
14053 #. type: tbl table
14054 #: build/C/man3/stdio.3:212
14055 #, no-wrap
14056 msgid "getc\tget next character or word from input stream\n"
14057 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
14058
14059 #. type: tbl table
14060 #: build/C/man3/stdio.3:213
14061 #, no-wrap
14062 msgid "getchar\tget next character or word from input stream\n"
14063 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
14064
14065 #. type: tbl table
14066 #: build/C/man3/stdio.3:214
14067 #, no-wrap
14068 msgid "gets\tget a line from a stream\n"
14069 msgstr "gets\t行を入力ストリームから取得する\n"
14070
14071 #. type: tbl table
14072 #: build/C/man3/stdio.3:215
14073 #, no-wrap
14074 msgid "getw\tget next character or word from input stream\n"
14075 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
14076
14077 #. type: tbl table
14078 #: build/C/man3/stdio.3:216
14079 #, no-wrap
14080 msgid "mktemp\tmake temporary filename (unique)\n"
14081 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
14082
14083 #. type: tbl table
14084 #: build/C/man3/stdio.3:217
14085 #, no-wrap
14086 msgid "perror\tsystem error messages\n"
14087 msgstr "perror\tシステムエラーメッセージ\n"
14088
14089 #. type: tbl table
14090 #: build/C/man3/stdio.3:218
14091 #, no-wrap
14092 msgid "printf\tformatted output conversion\n"
14093 msgstr "printf\t書式付き出力変換\n"
14094
14095 #. type: tbl table
14096 #: build/C/man3/stdio.3:219
14097 #, no-wrap
14098 msgid "putc\toutput a character or word to a stream\n"
14099 msgstr "putc\t文字または語をストリームに出力する\n"
14100
14101 #. type: tbl table
14102 #: build/C/man3/stdio.3:220
14103 #, no-wrap
14104 msgid "putchar\toutput a character or word to a stream\n"
14105 msgstr "putchar\t文字または語をストリームに出力する\n"
14106
14107 #. type: tbl table
14108 #: build/C/man3/stdio.3:221
14109 #, no-wrap
14110 msgid "puts\toutput a line to a stream\n"
14111 msgstr "puts\t行をストリームに出力する\n"
14112
14113 #. type: tbl table
14114 #: build/C/man3/stdio.3:222
14115 #, no-wrap
14116 msgid "putw\toutput a character or word to a stream\n"
14117 msgstr "putw\t文字または語をストリームに出力する\n"
14118
14119 #. type: tbl table
14120 #: build/C/man3/stdio.3:223
14121 #, no-wrap
14122 msgid "remove\tremove directory entry\n"
14123 msgstr "remove\tディレクトリエントリを削除する\n"
14124
14125 #. type: tbl table
14126 #: build/C/man3/stdio.3:224
14127 #, no-wrap
14128 msgid "rewind\treposition a stream\n"
14129 msgstr "rewind\tストリームの位置指示子を移動する\n"
14130
14131 #. type: tbl table
14132 #: build/C/man3/stdio.3:225
14133 #, no-wrap
14134 msgid "scanf\tinput format conversion\n"
14135 msgstr "scanf\t書式付き入力変換\n"
14136
14137 #. type: tbl table
14138 #: build/C/man3/stdio.3:226
14139 #, no-wrap
14140 msgid "setbuf\tstream buffering operations\n"
14141 msgstr "setbuf\tストリームのバッファリングの操作\n"
14142
14143 #. type: tbl table
14144 #: build/C/man3/stdio.3:227
14145 #, no-wrap
14146 msgid "setbuffer\tstream buffering operations\n"
14147 msgstr "setbuffer\tストリームのバッファリングの操作\n"
14148
14149 #. type: tbl table
14150 #: build/C/man3/stdio.3:228
14151 #, no-wrap
14152 msgid "setlinebuf\tstream buffering operations\n"
14153 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
14154
14155 #. type: tbl table
14156 #: build/C/man3/stdio.3:229
14157 #, no-wrap
14158 msgid "setvbuf\tstream buffering operations\n"
14159 msgstr "setvbuf\tストリームのバッファリングの操作\n"
14160
14161 #. type: tbl table
14162 #: build/C/man3/stdio.3:230
14163 #, no-wrap
14164 msgid "sprintf\tformatted output conversion\n"
14165 msgstr "sprintf\t書式付き出力変換\n"
14166
14167 #. type: tbl table
14168 #: build/C/man3/stdio.3:231
14169 #, no-wrap
14170 msgid "sscanf\tinput format conversion\n"
14171 msgstr "sscanf\t書式付き入力変換\n"
14172
14173 #. type: tbl table
14174 #: build/C/man3/stdio.3:232
14175 #, no-wrap
14176 msgid "strerror\tsystem error messages\n"
14177 msgstr "strerror\tシステムエラーメッセージ\n"
14178
14179 #. type: tbl table
14180 #: build/C/man3/stdio.3:233
14181 #, no-wrap
14182 msgid "sys_errlist\tsystem error messages\n"
14183 msgstr "sys_errlist\tシステムエラーメッセージ\n"
14184
14185 #. type: tbl table
14186 #: build/C/man3/stdio.3:234
14187 #, no-wrap
14188 msgid "sys_nerr\tsystem error messages\n"
14189 msgstr "sys_nerr\tシステムエラーメッセージ\n"
14190
14191 #. type: tbl table
14192 #: build/C/man3/stdio.3:235
14193 #, no-wrap
14194 msgid "tempnam\ttemporary file routines\n"
14195 msgstr "tempnam\tテンポラリファイルの操作\n"
14196
14197 #. type: tbl table
14198 #: build/C/man3/stdio.3:236
14199 #, no-wrap
14200 msgid "tmpfile\ttemporary file routines\n"
14201 msgstr "tmpfile\tテンポラリファイルの操作\n"
14202
14203 #. type: tbl table
14204 #: build/C/man3/stdio.3:237
14205 #, no-wrap
14206 msgid "tmpnam\ttemporary file routines\n"
14207 msgstr "tmpnam\tテンポラリファイルの操作\n"
14208
14209 #. type: tbl table
14210 #: build/C/man3/stdio.3:238
14211 #, no-wrap
14212 msgid "ungetc\tun-get character from input stream\n"
14213 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
14214
14215 #. type: tbl table
14216 #: build/C/man3/stdio.3:239
14217 #, no-wrap
14218 msgid "vfprintf\tformatted output conversion\n"
14219 msgstr "vfprintf\t書式付き出力変換\n"
14220
14221 #. type: tbl table
14222 #: build/C/man3/stdio.3:240
14223 #, no-wrap
14224 msgid "vfscanf\tinput format conversion\n"
14225 msgstr "vfscanf\t書式付き入力変換\n"
14226
14227 #. type: tbl table
14228 #: build/C/man3/stdio.3:241
14229 #, no-wrap
14230 msgid "vprintf\tformatted output conversion\n"
14231 msgstr "vprintf\t書式付き出力変換\n"
14232
14233 #. type: tbl table
14234 #: build/C/man3/stdio.3:242
14235 #, no-wrap
14236 msgid "vscanf\tinput format conversion\n"
14237 msgstr "vscanf\t書式付き入力変換\n"
14238
14239 #. type: tbl table
14240 #: build/C/man3/stdio.3:243
14241 #, no-wrap
14242 msgid "vsprintf\tformatted output conversion\n"
14243 msgstr "vsprintf\t書式付き出力変換\n"
14244
14245 #. type: tbl table
14246 #: build/C/man3/stdio.3:244
14247 #, no-wrap
14248 msgid "vsscanf\tinput format conversion\n"
14249 msgstr "vsscanf\t書式付き入力変換\n"
14250
14251 #. type: Plain text
14252 #: build/C/man3/stdio.3:250
14253 msgid "The I<stdio> library conforms to C89."
14254 msgstr "I<stdio> ライブラリは C89 に準拠している。"
14255
14256 #. type: Plain text
14257 #: build/C/man3/stdio.3:257
14258 msgid ""
14259 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
14260 "B<unlocked_stdio>(3)"
14261 msgstr ""
14262 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
14263 "B<unlocked_stdio>(3)"
14264
14265 #. type: TH
14266 #: build/C/man3/stdio_ext.3:25
14267 #, no-wrap
14268 msgid "STDIO_EXT"
14269 msgstr "STDIO_EXT"
14270
14271 #. type: Plain text
14272 #: build/C/man3/stdio_ext.3:30
14273 msgid ""
14274 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
14275 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
14276 "structure"
14277 msgstr ""
14278 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
14279 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
14280 "へのインタフェース"
14281
14282 #. type: Plain text
14283 #: build/C/man3/stdio_ext.3:34
14284 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
14285 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
14286
14287 #. type: Plain text
14288 #: build/C/man3/stdio_ext.3:36
14289 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
14290 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
14291
14292 #. type: Plain text
14293 #: build/C/man3/stdio_ext.3:38
14294 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
14295 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
14296
14297 #. type: Plain text
14298 #: build/C/man3/stdio_ext.3:40
14299 msgid "B<int __flbf(FILE *>I<stream>B<);>"
14300 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
14301
14302 #. type: Plain text
14303 #: build/C/man3/stdio_ext.3:42
14304 msgid "B<int __freadable(FILE *>I<stream>B<);>"
14305 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
14306
14307 #. type: Plain text
14308 #: build/C/man3/stdio_ext.3:44
14309 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
14310 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
14311
14312 #. type: Plain text
14313 #: build/C/man3/stdio_ext.3:46
14314 msgid "B<int __freading(FILE *>I<stream>B<);>"
14315 msgstr "B<int __freading(FILE *>I<stream>B<);>"
14316
14317 #. type: Plain text
14318 #: build/C/man3/stdio_ext.3:48
14319 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
14320 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
14321
14322 #. type: Plain text
14323 #: build/C/man3/stdio_ext.3:50
14324 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
14325 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
14326
14327 #. type: Plain text
14328 #: build/C/man3/stdio_ext.3:52
14329 msgid "B<void _flushlbf(void);>"
14330 msgstr "B<void _flushlbf(void);>"
14331
14332 #. type: Plain text
14333 #: build/C/man3/stdio_ext.3:54
14334 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
14335 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
14336
14337 #. type: Plain text
14338 #: build/C/man3/stdio_ext.3:59
14339 msgid ""
14340 "Solaris introduced routines to allow portable access to the internals of the "
14341 "I<FILE> structure, and glibc also implemented these."
14342 msgstr ""
14343 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
14344 "が導入されており、これらは glibc でも実装されている。"
14345
14346 #. type: Plain text
14347 #: build/C/man3/stdio_ext.3:64
14348 msgid ""
14349 "The B<__fbufsize>()  function returns the size of the buffer currently used "
14350 "by the given stream."
14351 msgstr ""
14352 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファサイズを返"
14353 "す。"
14354
14355 #. type: Plain text
14356 #: build/C/man3/stdio_ext.3:71
14357 msgid ""
14358 "The B<__fpending>()  function returns the number of bytes in the output "
14359 "buffer.  For wide-oriented streams the unit is wide characters.  This "
14360 "function is undefined on buffers in reading mode, or opened read-only."
14361 msgstr ""
14362 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
14363 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
14364 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
14365 "は未定義である。"
14366
14367 #. type: Plain text
14368 #: build/C/man3/stdio_ext.3:76
14369 msgid ""
14370 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
14371 "buffered, and zero otherwise."
14372 msgstr ""
14373 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
14374 "場合は 0 を返す。"
14375
14376 #. type: Plain text
14377 #: build/C/man3/stdio_ext.3:81
14378 msgid ""
14379 "The B<__freadable>()  function returns a nonzero value if the stream allows "
14380 "reading, and zero otherwise."
14381 msgstr ""
14382 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
14383 "外の場合は 0 を返す。"
14384
14385 #. type: Plain text
14386 #: build/C/man3/stdio_ext.3:86
14387 msgid ""
14388 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
14389 "writing, and zero otherwise."
14390 msgstr ""
14391 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
14392 "外の場合は 0 を返す。"
14393
14394 #. type: Plain text
14395 #: build/C/man3/stdio_ext.3:92
14396 msgid ""
14397 "The B<__freading>()  function returns a nonzero value if the stream is read-"
14398 "only, or if the last operation on the stream was a read operation, and zero "
14399 "otherwise."
14400 msgstr ""
14401 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
14402 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
14403 "を返す。"
14404
14405 #. type: Plain text
14406 #: build/C/man3/stdio_ext.3:98
14407 msgid ""
14408 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
14409 "only (or append-only), or if the last operation on the stream was a write "
14410 "operation, and zero otherwise."
14411 msgstr ""
14412 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
14413 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
14414 "し、 それ以外の場合は 0 を返す。"
14415
14416 #. type: Plain text
14417 #: build/C/man3/stdio_ext.3:106
14418 msgid ""
14419 "The B<__fsetlocking>()  function can be used to select the desired type of "
14420 "locking on the stream.  It returns the current type.  The I<type> argument "
14421 "can take the following three values:"
14422 msgstr ""
14423 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
14424 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
14425 "ることができる :"
14426
14427 #. type: TP
14428 #: build/C/man3/stdio_ext.3:106
14429 #, no-wrap
14430 msgid "B<FSETLOCKING_INTERNAL>"
14431 msgstr "B<FSETLOCKING_INTERNAL>"
14432
14433 #. type: Plain text
14434 #: build/C/man3/stdio_ext.3:111
14435 msgid ""
14436 "Perform implicit locking around every operation on the given stream (except "
14437 "for the *_unlocked ones).  This is the default."
14438 msgstr ""
14439 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
14440 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
14441 "である)。 これがデフォルトのロック形式である。"
14442
14443 #. type: TP
14444 #: build/C/man3/stdio_ext.3:111
14445 #, no-wrap
14446 msgid "B<FSETLOCKING_BYCALLER>"
14447 msgstr "B<FSETLOCKING_BYCALLER>"
14448
14449 #. type: Plain text
14450 #: build/C/man3/stdio_ext.3:118
14451 msgid ""
14452 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
14453 "case there is more than one thread), and the stdio routines will not do "
14454 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
14455 msgstr ""
14456 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
14457 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
14458 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
14459 "理を行わない。"
14460
14461 #. type: TP
14462 #: build/C/man3/stdio_ext.3:118
14463 #, no-wrap
14464 msgid "B<FSETLOCKING_QUERY>"
14465 msgstr "B<FSETLOCKING_QUERY>"
14466
14467 #. type: Plain text
14468 #: build/C/man3/stdio_ext.3:122
14469 msgid "Don't change the type of locking.  (Only return it.)"
14470 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
14471
14472 #. type: Plain text
14473 #: build/C/man3/stdio_ext.3:128
14474 msgid ""
14475 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
14476 "so that output to a terminal is forced out, say before reading keyboard "
14477 "input.)"
14478 msgstr ""
14479 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
14480 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
14481 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
14482 "いだろう)"
14483
14484 #. type: Plain text
14485 #: build/C/man3/stdio_ext.3:132
14486 msgid ""
14487 "The B<__fpurge>()  function discards the contents of the stream's buffer."
14488 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
14489
14490 #. type: Plain text
14491 #: build/C/man3/stdio_ext.3:141
14492 msgid ""
14493 "The B<__fbufsize>(), B<__fpending>(), B<__fpurge>()  and B<__fsetlocking>()  "
14494 "functions do not lock the stream, so they are not thread-safe."
14495 msgstr ""
14496 "関数 B<__fbufsize>(), B<__fpending>(), B<__fpurge>(), B<__fsetlocking>() "
14497 "は、 ストリームのロックを行わない。 そのため、スレッドセーフではない。"
14498
14499 #. type: Plain text
14500 #: build/C/man3/stdio_ext.3:151
14501 msgid ""
14502 "The B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
14503 "B<__fwriting>()  and B<_flushlbf>()  functions are thread-safe."
14504 msgstr ""
14505 "関数 B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
14506 "B<__fwriting>(), B<_flushlbf>() はスレッドセーフである。"
14507
14508 #. type: Plain text
14509 #: build/C/man3/stdio_ext.3:154
14510 msgid "B<flockfile>(3), B<fpurge>(3)"
14511 msgstr "B<flockfile>(3), B<fpurge>(3)"
14512
14513 #. type: TH
14514 #: build/C/man2/symlink.2:33 build/C/man7/symlink.7:36
14515 #, no-wrap
14516 msgid "SYMLINK"
14517 msgstr "SYMLINK"
14518
14519 #. type: Plain text
14520 #: build/C/man2/symlink.2:36
14521 #, fuzzy
14522 #| msgid "symlink - make a new name for a file"
14523 msgid "symlink, symlinkat - make a new name for a file"
14524 msgstr "symlink - ファイルに新しい名前を付ける"
14525
14526 #. type: Plain text
14527 #: build/C/man2/symlink.2:41
14528 #, fuzzy, no-wrap
14529 #| msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
14530 msgid "B<int symlink(const char *>I<target>B<, const char *>I<linkpath>B<);>\n"
14531 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
14532
14533 #. type: Plain text
14534 #: build/C/man2/symlink.2:47
14535 #, fuzzy, no-wrap
14536 #| msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
14537 msgid "B<int symlinkat(const char *>I<target>B<, int >I<newdirfd>B<, const char *>I<linkpath>B<);>\n"
14538 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
14539
14540 #. type: Plain text
14541 #: build/C/man2/symlink.2:56
14542 msgid "B<symlink>():"
14543 msgstr "B<symlink>():"
14544
14545 #. type: Plain text
14546 #: build/C/man2/symlink.2:62
14547 #, fuzzy
14548 #| msgid "B<symlink>():"
14549 msgid "B<symlinkat>():"
14550 msgstr "B<symlink>():"
14551
14552 #. type: Plain text
14553 #: build/C/man2/symlink.2:80
14554 #, fuzzy
14555 #| msgid ""
14556 #| "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
14557 #| "string I<oldpath>."
14558 msgid ""
14559 "B<symlink>()  creates a symbolic link named I<linkpath> which contains the "
14560 "string I<target>."
14561 msgstr ""
14562 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
14563 "I<newpath> というシンボリックリンク (symbolic link) を作成する。"
14564
14565 #. type: Plain text
14566 #: build/C/man2/symlink.2:84
14567 msgid ""
14568 "Symbolic links are interpreted at run time as if the contents of the link "
14569 "had been substituted into the path being followed to find a file or "
14570 "directory."
14571 msgstr ""
14572 "シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
14573 "スを辿ることで、 ファイルやディレクトリに到達する。"
14574
14575 #. type: Plain text
14576 #: build/C/man2/symlink.2:89
14577 msgid ""
14578 "Symbolic links may contain I<..> path components, which (if used at the "
14579 "start of the link) refer to the parent directories of that in which the link "
14580 "resides."
14581 msgstr ""
14582 "シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
14583 "の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
14584 "される。"
14585
14586 #. type: Plain text
14587 #: build/C/man2/symlink.2:93
14588 msgid ""
14589 "A symbolic link (also known as a soft link) may point to an existing file or "
14590 "to a nonexistent one; the latter case is known as a dangling link."
14591 msgstr ""
14592 "シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
14593 "を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
14594 "の場合は壊れたリンク (dangling link) とも呼ばれる。"
14595
14596 #. type: Plain text
14597 #: build/C/man2/symlink.2:100
14598 msgid ""
14599 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
14600 "when following the link, but is checked when removal or renaming of the link "
14601 "is requested and the link is in a directory with the sticky bit "
14602 "(B<S_ISVTX>)  set."
14603 msgstr ""
14604 "シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
14605 "は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
14606 "れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
14607 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
14608
14609 #. type: Plain text
14610 #: build/C/man2/symlink.2:106
14611 #, fuzzy
14612 #| msgid "If I<newpath> exists it will I<not> be overwritten."
14613 msgid "If I<linkpath> exists it will I<not> be overwritten."
14614 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
14615
14616 #. type: SS
14617 #: build/C/man2/symlink.2:106
14618 #, fuzzy, no-wrap
14619 #| msgid "B<symlink>():"
14620 msgid "symlinkat()"
14621 msgstr "B<symlink>():"
14622
14623 #. type: Plain text
14624 #: build/C/man2/symlink.2:112
14625 msgid ""
14626 "The B<symlinkat>()  system call operates in exactly the same way as "
14627 "B<symlink>(), except for the differences described here."
14628 msgstr ""
14629
14630 #. type: Plain text
14631 #: build/C/man2/symlink.2:122
14632 msgid ""
14633 "If the pathname given in I<linkpath> is relative, then it is interpreted "
14634 "relative to the directory referred to by the file descriptor I<newdirfd> "
14635 "(rather than relative to the current working directory of the calling "
14636 "process, as is done by B<symlink>()  for a relative pathname)."
14637 msgstr ""
14638
14639 #. type: Plain text
14640 #: build/C/man2/symlink.2:134
14641 msgid ""
14642 "If I<linkpath> is relative and I<newdirfd> is the special value B<AT_FDCWD>, "
14643 "then I<linkpath> is interpreted relative to the current working directory of "
14644 "the calling process (like B<symlink>())."
14645 msgstr ""
14646
14647 #. type: Plain text
14648 #: build/C/man2/symlink.2:140
14649 msgid "If I<linkpath> is absolute, then I<newdirfd> is ignored."
14650 msgstr ""
14651
14652 #. type: Plain text
14653 #: build/C/man2/symlink.2:155
14654 #, fuzzy
14655 #| msgid ""
14656 #| "Write access to the directory containing I<newpath> is denied, or one of "
14657 #| "the directories in the path prefix of I<newpath> did not allow search "
14658 #| "permission.  (See also B<path_resolution>(7).)"
14659 msgid ""
14660 "Write access to the directory containing I<linkpath> is denied, or one of "
14661 "the directories in the path prefix of I<linkpath> did not allow search "
14662 "permission.  (See also B<path_resolution>(7).)"
14663 msgstr ""
14664 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
14665 "含まれているディレクトリのどれかに検索許可が与えられていない "
14666 "(B<path_resolution>(7)  も参照すること)。"
14667
14668 #. type: Plain text
14669 #: build/C/man2/symlink.2:160
14670 msgid ""
14671 "The user's quota of resources on the filesystem has been exhausted.  The "
14672 "resources could be inodes or disk blocks, depending on the filesystem "
14673 "implementation."
14674 msgstr ""
14675 "そのファイルシステムのリソース使用量がユーザクォータに達している。対象となる"
14676 "リソースは inode かディスクブロックで、どちらになるかはファイルシステムの実装"
14677 "依存である。"
14678
14679 #. type: Plain text
14680 #: build/C/man2/symlink.2:164
14681 #, fuzzy
14682 #| msgid "I<newpath> already exists."
14683 msgid "I<linkpath> already exists."
14684 msgstr "I<newpath> が既に存在する。"
14685
14686 #. type: Plain text
14687 #: build/C/man2/symlink.2:167
14688 #, fuzzy
14689 #| msgid ""
14690 #| "I<oldpath> or I<newpath> points outside your accessible address space."
14691 msgid "I<target> or I<linkpath> points outside your accessible address space."
14692 msgstr ""
14693 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
14694
14695 #. type: Plain text
14696 #: build/C/man2/symlink.2:174
14697 #, fuzzy
14698 #| msgid "Too many symbolic links were encountered in resolving I<newpath>."
14699 msgid "Too many symbolic links were encountered in resolving I<linkpath>."
14700 msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
14701
14702 #. type: Plain text
14703 #: build/C/man2/symlink.2:177
14704 #, fuzzy
14705 #| msgid "I<oldpath> or I<newpath> was too long."
14706 msgid "I<target> or I<linkpath> was too long."
14707 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
14708
14709 #. type: Plain text
14710 #: build/C/man2/symlink.2:184
14711 #, fuzzy
14712 #| msgid ""
14713 #| "A directory component in I<newpath> does not exist or is a dangling "
14714 #| "symbolic link, or I<oldpath> is the empty string."
14715 msgid ""
14716 "A directory component in I<linkpath> does not exist or is a dangling "
14717 "symbolic link, or I<target> is the empty string."
14718 msgstr ""
14719 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
14720 "I<oldpath> が空文字列である。"
14721
14722 #. type: Plain text
14723 #: build/C/man2/symlink.2:196
14724 #, fuzzy
14725 #| msgid ""
14726 #| "A component used as a directory in I<newpath> is not, in fact, a "
14727 #| "directory."
14728 msgid ""
14729 "A component used as a directory in I<linkpath> is not, in fact, a directory."
14730 msgstr ""
14731 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
14732
14733 #. type: Plain text
14734 #: build/C/man2/symlink.2:201
14735 #, fuzzy
14736 #| msgid ""
14737 #| "The filesystem containing I<newpath> does not support the creation of "
14738 #| "symbolic links."
14739 msgid ""
14740 "The filesystem containing I<linkpath> does not support the creation of "
14741 "symbolic links."
14742 msgstr ""
14743 "I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
14744 "作成をサポートしていない。"
14745
14746 #. type: Plain text
14747 #: build/C/man2/symlink.2:205
14748 #, fuzzy
14749 #| msgid "I<newpath> is on a read-only filesystem."
14750 msgid "I<linkpath> is on a read-only filesystem."
14751 msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
14752
14753 #. type: Plain text
14754 #: build/C/man2/symlink.2:208
14755 msgid "The following additional errors can occur for B<symlinkat>():"
14756 msgstr ""
14757
14758 #. type: Plain text
14759 #: build/C/man2/symlink.2:212
14760 #, fuzzy
14761 #| msgid "I<fd> is not an open file descriptor."
14762 msgid "I<newdirfd> is not a valid file descriptor."
14763 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
14764
14765 #. type: Plain text
14766 #: build/C/man2/symlink.2:218
14767 msgid ""
14768 "I<linkpath> is relative and I<newdirfd> is a file descriptor referring to a "
14769 "file other than a directory."
14770 msgstr ""
14771
14772 #. type: Plain text
14773 #: build/C/man2/symlink.2:222
14774 #, fuzzy
14775 #| msgid ""
14776 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
14777 #| "available starting with version 2.9."
14778 msgid ""
14779 "B<symlinkat>()  was added to Linux in kernel 2.6.16; library support was "
14780 "added to glibc in version 2.4."
14781 msgstr ""
14782 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
14783 "はバージョン 2.9 以降で利用できる。"
14784
14785 #.  SVr4 documents additional error codes EDQUOT and ENOSYS.
14786 #.  See
14787 #.  .BR open (2)
14788 #.  re multiple files with the same name, and NFS.
14789 #. type: Plain text
14790 #: build/C/man2/symlink.2:229
14791 #, fuzzy
14792 #| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
14793 msgid "B<symlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
14794 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
14795
14796 #. type: Plain text
14797 #: build/C/man2/symlink.2:232
14798 #, fuzzy
14799 #| msgid "B<pipe>(): POSIX.1-2001."
14800 msgid "B<symlinkat>(): POSIX.1-2008."
14801 msgstr "B<pipe>(): POSIX.1-2001."
14802
14803 #. type: Plain text
14804 #: build/C/man2/symlink.2:236
14805 #, fuzzy
14806 #| msgid "No checking of I<oldpath> is done."
14807 msgid "No checking of I<target> is done."
14808 msgstr "I<oldpath> についてのチェックは行なわれない。"
14809
14810 #. type: Plain text
14811 #: build/C/man2/symlink.2:241
14812 #, fuzzy
14813 #| msgid ""
14814 #| "Deleting the name referred to by a symlink will actually delete the file "
14815 #| "(unless it also has other hard links).  If this behavior is not desired, "
14816 #| "use B<link>(2)."
14817 msgid ""
14818 "Deleting the name referred to by a symbolic link will actually delete the "
14819 "file (unless it also has other hard links).  If this behavior is not "
14820 "desired, use B<link>(2)."
14821 msgstr ""
14822 "symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
14823 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
14824 "場合は、 B<link>(2)  を使用すること。"
14825
14826 #. type: Plain text
14827 #: build/C/man2/symlink.2:252
14828 #, fuzzy
14829 #| msgid ""
14830 #| "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>"
14831 #| "(2), B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
14832 #| "B<symlink>(7)"
14833 msgid ""
14834 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
14835 "B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
14836 msgstr ""
14837 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
14838 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
14839 "B<symlink>(7)"
14840
14841 #. type: TH
14842 #: build/C/man7/symlink.7:36
14843 #, no-wrap
14844 msgid "2008-06-18"
14845 msgstr "2008-06-18"
14846
14847 #. type: Plain text
14848 #: build/C/man7/symlink.7:39
14849 msgid "symlink - symbolic link handling"
14850 msgstr "symlink - シンボリックリンクの取り扱い"
14851
14852 #. type: SH
14853 #: build/C/man7/symlink.7:39
14854 #, no-wrap
14855 msgid "SYMBOLIC LINK HANDLING"
14856 msgstr "シンボリックリンクの取り扱い"
14857
14858 #. type: Plain text
14859 #: build/C/man7/symlink.7:43
14860 msgid ""
14861 "Symbolic links are files that act as pointers to other files.  To understand "
14862 "their behavior, you must first understand how hard links work."
14863 msgstr ""
14864 "シンボリックリンクは他のファイルへのポインタとして振る舞うファイルである。 そ"
14865 "の挙動を理解するには、まずハードリンクがどのように機能するかを理解しておかな"
14866 "ければならない。"
14867
14868 #. type: Plain text
14869 #: build/C/man7/symlink.7:59
14870 msgid ""
14871 "A hard link to a file is indistinguishable from the original file because it "
14872 "is a reference to the object underlying the original filename.  (To be "
14873 "precise: each of the hard links to a file is a reference to the same I<i-"
14874 "node number>, where an i-node number is an index into the i-node table, "
14875 "which contains metadata about all files on a filesystem.  See B<stat>(2).)  "
14876 "Changes to a file are independent of the name used to reference the file.  "
14877 "Hard links may not refer to directories (to prevent the possibility of loops "
14878 "within the filesystem tree, which would confuse many programs)  and may not "
14879 "refer to files on different filesystems (because i-node numbers are not "
14880 "unique across filesystems)."
14881 msgstr ""
14882 "あるファイルへのハードリンクは、 元々のファイルと区別することができない。 な"
14883 "ぜなら、 ハードリンクは元々のファイル名の裏にあるオブジェクトへの参照だからで"
14884 "ある。 (より正確には、 あるファイルへのハードリンクはそれぞれ同じ I<i-node 番"
14885 "号> への参照である。 i-node 番号は i-node テーブルへのインデックスで、 i-"
14886 "node テーブルはファイルシステム上のすべてのファイルについてのメタデータを保持"
14887 "している。 B<stat>(2) 参照。) ファイルへの変更は、ファイルの参照に使用された"
14888 "名前とは独立に行われる。 ハードリンクはディレクトリを参照することはできない "
14889 "(これはファイルシステムツリー内でループが発生する可能性を防止するためであ"
14890 "り、 ループが発生すると、 多くのプログラムが混乱してしまうことだろう)。 ま"
14891 "た、 ハードリンクは異なるファイルシステム上のファイルを参照することもできな"
14892 "い (i-node 番号はファイルシステムをまたがると一意ではないからである)。"
14893
14894 #. type: Plain text
14895 #: build/C/man7/symlink.7:66
14896 #, fuzzy
14897 #| msgid ""
14898 #| "A symbolic link is a special type of file whose contents are a string "
14899 #| "that is the pathname another file, the file to which the link refers.  In "
14900 #| "other words, a symbolic link is a pointer to another name, and not to an "
14901 #| "underlying object.  For this reason, symbolic links may refer to "
14902 #| "directories and may cross filesystem boundaries."
14903 msgid ""
14904 "A symbolic link is a special type of file whose contents are a string that "
14905 "is the pathname of another file, the file to which the link refers.  In "
14906 "other words, a symbolic link is a pointer to another name, and not to an "
14907 "underlying object.  For this reason, symbolic links may refer to directories "
14908 "and may cross filesystem boundaries."
14909 msgstr ""
14910 "シンボリックリンクは特別な種類のファイルで、 ファイルの内容はそのリンクの参照"
14911 "先の別のファイルのパス名を示す文字列である。 言い換えると、 シンボリックリン"
14912 "クは別の名前へ\n"
14913 "のポインタであり、 ファイルの裏にあるオブジェクトへのポインタではない。 この"
14914 "理由から、 シンボリックリンクではディレクトリへの参照やファイルシステム境界を"
14915 "越える参照を行うことができる。"
14916
14917 #. type: Plain text
14918 #: build/C/man7/symlink.7:72
14919 msgid ""
14920 "There is no requirement that the pathname referred to by a symbolic link "
14921 "should exist.  A symbolic link that refers to a pathname that does not exist "
14922 "is said to be a I<dangling link>."
14923 msgstr ""
14924 "シンボリックリンクが参照する先のパス名が存在しないといけないという要件はな"
14925 "い。 存在しないパス名を参照するシンボリックリンクは「壊れた (dangling) リン"
14926 "ク」と呼ばれる。"
14927
14928 #. type: Plain text
14929 #: build/C/man7/symlink.7:84
14930 msgid ""
14931 "Because a symbolic link and its referenced object coexist in the filesystem "
14932 "name space, confusion can arise in distinguishing between the link itself "
14933 "and the referenced object.  On historical systems, commands and system calls "
14934 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
14935 "Rules for a more uniform approach, as they are implemented on Linux and "
14936 "other systems, are outlined here.  It is important that site-local "
14937 "applications also conform to these rules, so that the user interface can be "
14938 "as consistent as possible."
14939 msgstr ""
14940 "シンボリックリンクとその参照先のオブジェクトは一つのファイルシステムの名前空"
14941 "間内に共存するので、 リンクそのものと参照先のオブジェクトの間で混乱が生じる可"
14942 "能性がある。 かなり昔からあるシステムでは、 コマンドやシステムコールはいくら"
14943 "かアドホックな方法の独自のリンクの辿り方の決まり事を採用している。 ここで"
14944 "は、 Linux や他のシステムで実装されている、 もっと広く使われている方法のルー"
14945 "ルについて概要を説明する。 サイト固有のアプリケーションもこれらのルールに準拠"
14946 "し、 可能な限りユーザインターフェースが一貫したものになるようにすることが重要"
14947 "である。"
14948
14949 #. type: SS
14950 #: build/C/man7/symlink.7:84
14951 #, no-wrap
14952 msgid "Symbolic link ownership, permissions, and timestamps"
14953 msgstr "シンボリックリンクの所有権、アクセス許可、タイムスタンプ"
14954
14955 #. type: Plain text
14956 #: build/C/man7/symlink.7:92
14957 msgid ""
14958 "The owner and group of an existing symbolic link can be changed using "
14959 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
14960 "is when the link is being removed or renamed in a directory that has the "
14961 "sticky bit set (see B<stat>(2))."
14962 msgstr ""
14963 "既存のシンボリックリンクの所有者とグループは B<lchown>(2) を使って変更するこ"
14964 "とができる。 シンボリックリンクの所有権が問題となる場面は、 スティッキービッ"
14965 "ト (B<stat>(2) 参照) がセットされたディレクトリで、 そのリンクの削除や名前の"
14966 "変更を行おうとしている場合だけである。"
14967
14968 #. type: Plain text
14969 #: build/C/man7/symlink.7:98
14970 msgid ""
14971 "The last access and last modification timestamps of a symbolic link can be "
14972 "changed using B<utimensat>(2)  or B<lutimes>(3)."
14973 msgstr ""
14974 "シンボリックリンクの最終アクセス時刻と最終修正時刻は B<utimensat>(2) や "
14975 "B<lutimes>(3) で変更できる。"
14976
14977 #.  Linux does not currently implement an lchmod(2).
14978 #.  The
14979 #.  4.4BSD
14980 #.  system differs from historical
14981 #.  4BSD
14982 #.  systems in that the system call
14983 #.  .BR chown (2)
14984 #.  has been changed to follow symbolic links.
14985 #.  The
14986 #.  .BR lchown (2)
14987 #.  system call was added later when the limitations of the new
14988 #.  .BR chown (2)
14989 #.  became apparent.
14990 #. type: Plain text
14991 #: build/C/man7/symlink.7:117
14992 msgid ""
14993 "On Linux, the permissions of a symbolic link are not used in any operations; "
14994 "the permissions are always 0777 (read, write, and execute for all user "
14995 "categories), and can't be changed."
14996 msgstr ""
14997 "Linux では、シンボリックリンクのアクセス許可 (permission) はどの操作でも使用"
14998 "されない。 アクセス許可は常に 0777 (すべてのユーザカテゴリにおいて読み出し、"
14999 "書き込み、実行が可能) で、変更できない。"
15000
15001 #. type: SS
15002 #: build/C/man7/symlink.7:117
15003 #, no-wrap
15004 msgid "Handling of symbolic links by system calls and commands"
15005 msgstr "システムコールやコマンドによるシンボリックリンクの取り扱い"
15006
15007 #. type: Plain text
15008 #: build/C/man7/symlink.7:132
15009 msgid ""
15010 "Symbolic links are handled either by operating on the link itself, or by "
15011 "operating on the object referred to by the link.  In the latter case, an "
15012 "application or system call is said to I<follow> the link.  Symbolic links "
15013 "may refer to other symbolic links, in which case the links are dereferenced "
15014 "until an object that is not a symbolic link is found, a symbolic link that "
15015 "refers to a file which does not exist is found, or a loop is detected.  "
15016 "(Loop detection is done by placing an upper limit on the number of links "
15017 "that may be followed, and an error results if this limit is exceeded.)"
15018 msgstr ""
15019
15020 #. type: Plain text
15021 #: build/C/man7/symlink.7:135
15022 msgid ""
15023 "There are three separate areas that need to be discussed.  They are as "
15024 "follows:"
15025 msgstr "3 つの領域に分けて議論する必要がある。以下の 3 つである。"
15026
15027 #. type: IP
15028 #: build/C/man7/symlink.7:135
15029 #, no-wrap
15030 msgid "1."
15031 msgstr "1."
15032
15033 #. type: Plain text
15034 #: build/C/man7/symlink.7:137
15035 msgid "Symbolic links used as filename arguments for system calls."
15036 msgstr ""
15037 "システムコールのファイル名引き数としてシンボリックリンクが使用される場合。"
15038
15039 #. type: IP
15040 #: build/C/man7/symlink.7:137
15041 #, no-wrap
15042 msgid "2."
15043 msgstr "2."
15044
15045 #. type: Plain text
15046 #: build/C/man7/symlink.7:140
15047 msgid ""
15048 "Symbolic links specified as command-line arguments to utilities that are not "
15049 "traversing a file tree."
15050 msgstr ""
15051 "ファイルツリーを辿っていないユーティリティのコマンドライン引き数としてシンボ"
15052 "リックリンクが指定される場合。"
15053
15054 #. type: IP
15055 #: build/C/man7/symlink.7:140
15056 #, no-wrap
15057 msgid "3."
15058 msgstr "3."
15059
15060 #. type: Plain text
15061 #: build/C/man7/symlink.7:144
15062 msgid ""
15063 "Symbolic links encountered by utilities that are traversing a file tree "
15064 "(either specified on the command line or encountered as part of the file "
15065 "hierarchy walk)."
15066 msgstr ""
15067 "ファイルツリーを辿っているユーティリティがシンボリックリンクを見つけた場合 "
15068 "(コマンドラインで指定される場合もあれば、 ファイル階層を辿っている途中で遭遇"
15069 "する場合もある)。"
15070
15071 #. type: SS
15072 #: build/C/man7/symlink.7:144
15073 #, no-wrap
15074 msgid "System calls"
15075 msgstr "システムコール"
15076
15077 #. type: Plain text
15078 #: build/C/man7/symlink.7:147
15079 msgid ""
15080 "The first area is symbolic links used as filename arguments for system calls."
15081 msgstr ""
15082 "最初の領域は、システムコールのファイル名引き数としてシンボリックリンクが使用"
15083 "される場合である。"
15084
15085 #. type: Plain text
15086 #: build/C/man7/symlink.7:157
15087 msgid ""
15088 "Except as noted below, all system calls follow symbolic links.  For example, "
15089 "if there were a symbolic link I<slink> which pointed to a file named "
15090 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
15091 "descriptor referring to the file I<afile>."
15092 msgstr ""
15093 "以下に述べる場合を除くと、 すべてのシステムコールはシンボリックリンクを辿"
15094 "る。 例えば、 I<afile> という名前のファイルを指しているシンボリックリンク "
15095 "I<slink> があったとすると、 システムコール I<open(\"slink\" ...\\&)> はファイ"
15096 "ル I<afile> を参照するファイルディスクリプタを返す。"
15097
15098 #.  Maybe one day: .BR fchownat (2)
15099 #. type: Plain text
15100 #: build/C/man7/symlink.7:207
15101 msgid ""
15102 "Various system calls do not follow links, and operate on the symbolic link "
15103 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
15104 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
15105 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
15106 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
15107 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
15108 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
15109 "(2), that library function also does not follow symbolic links.  When "
15110 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
15111 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
15112 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
15113 "link.  However, Linux does not do this.  (By default Solaris is the same, "
15114 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
15115 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
15116 "to allow either behavior in an implementation."
15117 msgstr ""
15118 "いくつかのシステムコールは、 シンボリックリンクを辿らず、 シンボリックリンク"
15119 "自身に対して操作を行う。 B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
15120 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
15121 "(2), B<rmdir>(2), B<unlink>(2) が該当する。 他のいくつかのシステムコールは、 "
15122 "シンボリックリンクを辿る場合と辿らない場合がある。 該当するのは B<faccessat>"
15123 "(2), B<fchownat>(2), B<fstatat>(2), B<linkat>(2), B<open>(2), B<openat>(2), "
15124 "B<utimensat>(2) である。 詳細はそれぞれのマニュアルページを参照。 ライブラリ"
15125 "関数 B<remove>(3) は B<unlink>(2) の別名なので、 この関数もシンボリックリンク"
15126 "を辿らない。 B<rmdir>(2) をシンボリックリンクに対して行った場合、 エラー "
15127 "B<ENOTDIR> で失敗する。 B<link>(2) は特別に議論が必要である。 POSIX.1-2001 "
15128 "は、 B<link>(2) は I<oldpath> がシンボリックリンクの場合にはこのリンクを展開"
15129 "すべきだと規定している。 しかし、 Linux はこれを行っていない。 (デフォルトで"
15130 "は Solaris も同じだが、 適切なコンパイルオプションを指定することで "
15131 "POSIX.1-2001 で規定された動作にすることもできる。) POSIX.1-2001 の次の版で"
15132 "は、仕様が変更され、 どちらの動作の実装も認められるようになる。"
15133
15134 #. type: SS
15135 #: build/C/man7/symlink.7:207
15136 #, no-wrap
15137 msgid "Commands not traversing a file tree"
15138 msgstr "ファイルツリーを辿らないコマンド"
15139
15140 #. type: Plain text
15141 #: build/C/man7/symlink.7:210
15142 msgid ""
15143 "The second area is symbolic links, specified as command-line filename "
15144 "arguments, to commands which are not traversing a file tree."
15145 msgstr ""
15146 "二つ目の領域は、ファイルツリーを辿らないコマンドの、コマンドライン引き数の"
15147 "ファイル名としてシンボリックリンクが指定される場合である。"
15148
15149 #. type: Plain text
15150 #: build/C/man7/symlink.7:221
15151 msgid ""
15152 "Except as noted below, commands follow symbolic links named as command-line "
15153 "arguments.  For example, if there were a symbolic link I<slink> which "
15154 "pointed to a file named I<afile>, the command I<cat slink> would display the "
15155 "contents of the file I<afile>."
15156 msgstr ""
15157 "以下に述べる場合を除くと、 コマンドはコマンドライン引き数で指定された名前のシ"
15158 "ンボリックリンクを辿る。 例えば、 I<afile> という名前のファイルを指しているシ"
15159 "ンボリックリンク I<slink> があったとすると、 コマンド I<cat slink> は "
15160 "I<afile> の内容を表示することになる。"
15161
15162 #. type: Plain text
15163 #: build/C/man7/symlink.7:229
15164 msgid ""
15165 "It is important to realize that this rule includes commands which may "
15166 "optionally traverse file trees; for example, the command I<chown file> is "
15167 "included in this rule, while the command I<chown\\ -R file>, which performs "
15168 "a tree traversal, is not.  (The latter is described in the third area, "
15169 "below.)"
15170 msgstr ""
15171
15172 #. type: Plain text
15173 #: build/C/man7/symlink.7:247
15174 msgid ""
15175 "If it is explicitly intended that the command operate on the symbolic link "
15176 "instead of following the symbolic link\\(emfor example, it is desired that "
15177 "I<chown slink> change the ownership of the file that I<slink> is, whether it "
15178 "is a symbolic link or not\\(emthe I<-h> option should be used.  In the above "
15179 "example, I<chown root slink> would change the ownership of the file referred "
15180 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
15181 "I<slink> itself."
15182 msgstr ""
15183
15184 #. type: Plain text
15185 #: build/C/man7/symlink.7:249
15186 msgid "There are some exceptions to this rule:"
15187 msgstr "このルールにはいくつかの例外がある。"
15188
15189 #. type: Plain text
15190 #: build/C/man7/symlink.7:259
15191 msgid ""
15192 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
15193 "arguments, but respectively attempt to rename and delete them.  (Note, if "
15194 "the symbolic link references a file via a relative path, moving it to "
15195 "another directory may very well cause it to stop working, since the path may "
15196 "no longer be correct.)"
15197 msgstr ""
15198 "コマンド B<mv>(1) と B<rm>(1) は引き数で指定された名前のシンボリックリンクを"
15199 "辿らないが、 それぞれシンボリックリンク自身の名前変更と削除を行おうとする。 "
15200 "(シンボリックリンクが相対パスでファイルを参照している場合、 そのシンボリック"
15201 "リンクを別のディレクトリに移動すると、動かなくなることが非常によくある。 移動"
15202 "の結果、 パスが正しくないものになってしまうからである。)"
15203
15204 #. type: Plain text
15205 #: build/C/man7/symlink.7:289
15206 msgid ""
15207 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
15208 "with historic systems (when B<ls>(1)  is not doing a tree walk\\(emthat is, "
15209 "I<-R> option is not specified), the B<ls>(1)  command follows symbolic links "
15210 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
15211 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
15212 "the only command where the I<-H> and I<-L> options affect its behavior even "
15213 "though it is not doing a walk of a file tree.)"
15214 msgstr ""
15215
15216 #. The 4.4BSD system differs from historical 4BSD systems in that the
15217 #. .BR chown (1)
15218 #. and
15219 #. .BR chgrp (1)
15220 #. commands follow symbolic links specified on the command line.
15221 #. type: Plain text
15222 #: build/C/man7/symlink.7:307
15223 msgid ""
15224 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
15225 "command does not follow symbolic links named as argument by default.  The "
15226 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
15227 "L> option is specified."
15228 msgstr ""
15229
15230 #. type: SS
15231 #: build/C/man7/symlink.7:307
15232 #, no-wrap
15233 msgid "Commands traversing a file tree"
15234 msgstr "ファイルツリーを辿るコマンド"
15235
15236 #. type: Plain text
15237 #: build/C/man7/symlink.7:320
15238 msgid ""
15239 "The following commands either optionally or always traverse file trees: "
15240 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
15241 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
15242 msgstr ""
15243
15244 #. type: Plain text
15245 #: build/C/man7/symlink.7:324
15246 msgid ""
15247 "It is important to realize that the following rules apply equally to "
15248 "symbolic links encountered during the file tree traversal and symbolic links "
15249 "listed as command-line arguments."
15250 msgstr ""
15251
15252 #. type: Plain text
15253 #: build/C/man7/symlink.7:329
15254 msgid ""
15255 "The I<first rule> applies to symbolic links that reference files other than "
15256 "directories.  Operations that apply to symbolic links are performed on the "
15257 "links themselves, but otherwise the links are ignored."
15258 msgstr ""
15259
15260 #. type: Plain text
15261 #: build/C/man7/symlink.7:341
15262 msgid ""
15263 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
15264 "symbolic links encountered in the tree traversal of I<directory>, because "
15265 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
15266 "referred to by I<slink>."
15267 msgstr ""
15268
15269 #. type: Plain text
15270 #: build/C/man7/symlink.7:346
15271 msgid ""
15272 "The I<second rule> applies to symbolic links that refer to directories.  "
15273 "Symbolic links that refer to directories are never followed by default.  "
15274 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
15275 "\" walk (where symbolic links the refer to directories are followed)."
15276 msgstr ""
15277
15278 #. type: Plain text
15279 #: build/C/man7/symlink.7:349
15280 msgid ""
15281 "Certain conventions are (should be) followed as consistently as possible by "
15282 "commands that perform file tree walks:"
15283 msgstr ""
15284
15285 #. type: Plain text
15286 #: build/C/man7/symlink.7:362
15287 msgid ""
15288 "A command can be made to follow any symbolic links named on the command "
15289 "line, regardless of the type of file they reference, by specifying the I<-H> "
15290 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
15291 "name space look like the logical name space.  (Note, for commands that do "
15292 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
15293 "R> flag is not also specified.)"
15294 msgstr ""
15295
15296 #. type: Plain text
15297 #: build/C/man7/symlink.7:378
15298 msgid ""
15299 "For example, the command I<chown\\ -HR user slink> will traverse the file "
15300 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
15301 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
15302 "symbolic links specified on the command line to be dereferenced for the "
15303 "purposes of both the action to be performed and the tree walk, and it is as "
15304 "if the user had specified the name of the file to which the symbolic link "
15305 "pointed."
15306 msgstr ""
15307
15308 #. type: Plain text
15309 #: build/C/man7/symlink.7:392
15310 msgid ""
15311 "A command can be made to follow any symbolic links named on the command "
15312 "line, as well as any symbolic links encountered during the traversal, "
15313 "regardless of the type of file they reference, by specifying the I<-L> (for "
15314 "\"logical\") flag.  This flag is intended to make the entire name space look "
15315 "like the logical name space.  (Note, for commands that do not always do file "
15316 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
15317 "also specified.)"
15318 msgstr ""
15319
15320 #. type: Plain text
15321 #: build/C/man7/symlink.7:407
15322 msgid ""
15323 "For example, the command I<chown\\ -LR user slink> will change the owner of "
15324 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
15325 "B<chown> will traverse the file hierarchy rooted in the directory that it "
15326 "references.  In addition, if any symbolic links are encountered in any file "
15327 "tree that B<chown> traverses, they will be treated in the same fashion as "
15328 "I<slink>."
15329 msgstr ""
15330
15331 #. type: Plain text
15332 #: build/C/man7/symlink.7:414
15333 msgid ""
15334 "A command can be made to provide the default behavior by specifying the I<-"
15335 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
15336 "space look like the physical name space."
15337 msgstr ""
15338
15339 #. type: Plain text
15340 #: build/C/man7/symlink.7:432
15341 msgid ""
15342 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
15343 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
15344 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
15345 "once; the last one specified determines the command's behavior.  This is "
15346 "intended to permit you to alias commands to behave one way or the other, and "
15347 "then override that behavior on the command line."
15348 msgstr ""
15349
15350 #. type: Plain text
15351 #: build/C/man7/symlink.7:438
15352 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
15353 msgstr ""
15354 "コマンド B<ls>(1) と B<rm>(1) には、 これらのルールに対する例外がある。"
15355
15356 #. type: Plain text
15357 #: build/C/man7/symlink.7:451
15358 msgid ""
15359 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
15360 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
15361 "command does not support the I<-H>, I<-L>, or I<-P> options."
15362 msgstr ""
15363 "B<rm>(1) コマンドは、 参照先のファイルではなく、シンボリックリンクに対して操"
15364 "作を行う。 したがって、 シンボリックリンクを辿ることはない。 B<rm>(1) コマン"
15365 "ドはオプション I<-H>, I<-L>, I<-P> をサポートしていない。"
15366
15367 #. type: Plain text
15368 #: build/C/man7/symlink.7:471
15369 msgid ""
15370 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
15371 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
15372 "options, B<ls>(1)  will follow symbolic links specified on the command "
15373 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
15374 "regardless of their type, whether specified on the command line or "
15375 "encountered in the tree walk."
15376 msgstr ""
15377
15378 #. type: Plain text
15379 #: build/C/man7/symlink.7:489
15380 msgid ""
15381 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
15382 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
15383 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
15384 "B<path_resolution>(7)"
15385 msgstr ""
15386 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1),\n"
15387 "B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2),\n"
15388 "B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2),\n"
15389 "B<lutimes>(3), B<path_resolution>(7)"
15390
15391 #. type: TH
15392 #: build/C/man3/tempnam.3:25
15393 #, no-wrap
15394 msgid "TEMPNAM"
15395 msgstr "TEMPNAM"
15396
15397 #. type: TH
15398 #: build/C/man3/tempnam.3:25 build/C/man3/tmpnam.3:27
15399 #, fuzzy, no-wrap
15400 #| msgid "2013-02-12"
15401 msgid "2014-02-27"
15402 msgstr "2013-02-12"
15403
15404 #. type: Plain text
15405 #: build/C/man3/tempnam.3:28
15406 msgid "tempnam - create a name for a temporary file"
15407 msgstr "tempnam - テンポラリファイルの名前を作成する"
15408
15409 #. type: Plain text
15410 #: build/C/man3/tempnam.3:33
15411 #, no-wrap
15412 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
15413 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
15414
15415 #. type: Plain text
15416 #: build/C/man3/tempnam.3:42
15417 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
15418 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
15419
15420 #. type: Plain text
15421 #: build/C/man3/tempnam.3:49
15422 #, fuzzy
15423 #| msgid ""
15424 #| "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
15425 msgid ""
15426 "I<Never use this function.> Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
15427 msgstr ""
15428 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
15429 "を使うこと。"
15430
15431 #. type: Plain text
15432 #: build/C/man3/tempnam.3:63
15433 msgid ""
15434 "The B<tempnam>()  function returns a pointer to a string that is a valid "
15435 "filename, and such that a file with this name did not exist when B<tempnam>"
15436 "()  checked.  The filename suffix of the pathname generated will start with "
15437 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
15438 "directory prefix part of the pathname generated is required to be "
15439 "\"appropriate\" (often that at least implies writable)."
15440 msgstr ""
15441 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
15442 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
15443 "い (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成さ"
15444 "れるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成される"
15445 "ディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」である"
15446 "ためにはまず少なくとも 書き込み可能でなければならない)。"
15447
15448 #. type: Plain text
15449 #: build/C/man3/tempnam.3:66
15450 msgid ""
15451 "Attempts to find an appropriate directory go through the following steps:"
15452 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
15453
15454 #. type: TP
15455 #: build/C/man3/tempnam.3:66
15456 #, no-wrap
15457 msgid "a)"
15458 msgstr "a)"
15459
15460 #. type: Plain text
15461 #: build/C/man3/tempnam.3:72
15462 msgid ""
15463 "In case the environment variable B<TMPDIR> exists and contains the name of "
15464 "an appropriate directory, that is used."
15465 msgstr ""
15466 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
15467 "ら、それを用いる。"
15468
15469 #. type: TP
15470 #: build/C/man3/tempnam.3:72
15471 #, no-wrap
15472 msgid "b)"
15473 msgstr "b)"
15474
15475 #. type: Plain text
15476 #: build/C/man3/tempnam.3:77
15477 msgid ""
15478 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
15479 msgstr ""
15480 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
15481 "る。"
15482
15483 #. type: TP
15484 #: build/C/man3/tempnam.3:77
15485 #, no-wrap
15486 msgid "c)"
15487 msgstr "c)"
15488
15489 #. type: Plain text
15490 #: build/C/man3/tempnam.3:84
15491 msgid ""
15492 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
15493 "appropriate."
15494 msgstr ""
15495 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
15496 "なら、それを用いる。"
15497
15498 #. type: TP
15499 #: build/C/man3/tempnam.3:84
15500 #, no-wrap
15501 msgid "d)"
15502 msgstr "d)"
15503
15504 #. type: Plain text
15505 #: build/C/man3/tempnam.3:87
15506 msgid "Finally an implementation-defined directory may be used."
15507 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
15508
15509 #. type: Plain text
15510 #: build/C/man3/tempnam.3:94
15511 msgid ""
15512 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
15513 "hence should be freed by B<free>(3)."
15514 msgstr ""
15515 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
15516 "B<free>(3)  で解放すべきである。"
15517
15518 #. type: Plain text
15519 #: build/C/man3/tempnam.3:101
15520 msgid ""
15521 "On success, the B<tempnam>()  function returns a pointer to a unique "
15522 "temporary filename.  It returns NULL if a unique name cannot be generated, "
15523 "with I<errno> set to indicate the cause of the error."
15524 msgstr ""
15525 "成功すると B<tempnam>()  関数は、一意なテンポラリファイル名へのポインタを返"
15526 "す。 一意な名前が生成できなければ NULL を返し、 I<errno> にエラーの原因を示す"
15527 "値を設定する。"
15528
15529 #. type: Plain text
15530 #: build/C/man3/tempnam.3:105
15531 msgid "Allocation of storage failed."
15532 msgstr "保存領域の割り当てに失敗した。"
15533
15534 #. type: Plain text
15535 #: build/C/man3/tempnam.3:110
15536 msgid ""
15537 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
15538 msgstr ""
15539 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
15540 "る。"
15541
15542 #. type: Plain text
15543 #: build/C/man3/tempnam.3:129
15544 msgid ""
15545 "Although B<tempnam>()  generates names that are difficult to guess, it is "
15546 "nevertheless possible that between the time that B<tempnam>()  returns a "
15547 "pathname, and the time that the program opens it, another program might "
15548 "create that pathname using B<open>(2), or create it as a symbolic link.  "
15549 "This can lead to security holes.  To avoid such possibilities, use the "
15550 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
15551 "B<mkstemp>(3)  or B<tmpfile>(3)."
15552 msgstr ""
15553 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
15554 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
15555 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
15556 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
15557 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
15558 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
15559 "B<tmpfile>(3)  を使うことである。"
15560
15561 #. type: Plain text
15562 #: build/C/man3/tempnam.3:137
15563 msgid ""
15564 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
15565 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
15566 "tmp> (and this is what glibc does)."
15567 msgstr ""
15568 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
15569 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
15570 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
15571
15572 #. type: Plain text
15573 #: build/C/man3/tempnam.3:142
15574 msgid ""
15575 "Because it dynamically allocates memory used to return the pathname, "
15576 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
15577 msgstr ""
15578 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
15579 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
15580
15581 #. type: Plain text
15582 #: build/C/man3/tempnam.3:155
15583 msgid ""
15584 "The B<tempnam>()  function generates a different string each time it is "
15585 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
15586 "called more than B<TMP_MAX> times, the behavior is implementation defined."
15587 msgstr ""
15588 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
15589 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
15590 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
15591
15592 #. type: Plain text
15593 #: build/C/man3/tempnam.3:159
15594 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
15595 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
15596
15597 #. type: Plain text
15598 #: build/C/man3/tempnam.3:165
15599 msgid ""
15600 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
15601 "upon failure to find a unique name."
15602 msgstr ""
15603 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
15604 "ラー B<EEXIST> で失敗する。"
15605
15606 #. type: Plain text
15607 #: build/C/man3/tempnam.3:168
15608 msgid ""
15609 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
15610 "accessibility of a directory is determined."
15611 msgstr ""
15612 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
15613 "度のアクセス権限が必要なのかは指定されていない。"
15614
15615 #. type: Plain text
15616 #: build/C/man3/tempnam.3:173
15617 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
15618 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
15619
15620 #. type: TH
15621 #: build/C/man3/tmpfile.3:31
15622 #, no-wrap
15623 msgid "TMPFILE"
15624 msgstr "TMPFILE"
15625
15626 #. type: Plain text
15627 #: build/C/man3/tmpfile.3:34
15628 msgid "tmpfile - create a temporary file"
15629 msgstr "tmpfile - テンポラリファイルを作成する"
15630
15631 #. type: Plain text
15632 #: build/C/man3/tmpfile.3:39
15633 #, no-wrap
15634 msgid "B<FILE *tmpfile(void);>\n"
15635 msgstr "B<FILE *tmpfile(void);>\n"
15636
15637 #. type: Plain text
15638 #: build/C/man3/tmpfile.3:47
15639 msgid ""
15640 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
15641 "write (w+b) mode.  The file will be automatically deleted when it is closed "
15642 "or the program terminates."
15643 msgstr ""
15644 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
15645 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
15646 "自動的に削除される。"
15647
15648 #. type: Plain text
15649 #: build/C/man3/tmpfile.3:56
15650 msgid ""
15651 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
15652 "filename cannot be generated or the unique file cannot be opened.  In the "
15653 "latter case, I<errno> is set to indicate the error."
15654 msgstr ""
15655 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
15656 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
15657 "I<errno> を設定する。"
15658
15659 #. type: Plain text
15660 #: build/C/man3/tmpfile.3:60
15661 msgid "Search permission denied for directory in file's path prefix."
15662 msgstr ""
15663 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
15664
15665 #. type: Plain text
15666 #: build/C/man3/tmpfile.3:63
15667 msgid "Unable to generate a unique filename."
15668 msgstr "ユニークなファイル名が作成できなかった。"
15669
15670 #. type: Plain text
15671 #: build/C/man3/tmpfile.3:66
15672 msgid "The call was interrupted by a signal."
15673 msgstr "呼び出しがシグナルによって中断された。"
15674
15675 #. type: Plain text
15676 #: build/C/man3/tmpfile.3:69
15677 msgid "Too many file descriptors in use by the process."
15678 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
15679
15680 #. type: Plain text
15681 #: build/C/man3/tmpfile.3:72
15682 msgid "Too many files open in the system."
15683 msgstr "システム全体でオープン可能なファイル数を超過した。"
15684
15685 #. type: Plain text
15686 #: build/C/man3/tmpfile.3:75
15687 msgid "There was no room in the directory to add the new filename."
15688 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
15689
15690 #. type: Plain text
15691 #: build/C/man3/tmpfile.3:78
15692 msgid "Read-only filesystem."
15693 msgstr "読みだし専用ファイルシステムである。"
15694
15695 #. type: Plain text
15696 #: build/C/man3/tmpfile.3:80
15697 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
15698 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
15699
15700 #. type: Plain text
15701 #: build/C/man3/tmpfile.3:86
15702 msgid ""
15703 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
15704 "stream cannot be opened."
15705 msgstr ""
15706 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
15707 "メッセージが書き出される、と規定されている。"
15708
15709 #. type: Plain text
15710 #: build/C/man3/tmpfile.3:97
15711 msgid ""
15712 "The standard does not specify the directory that B<tmpfile>()  will use.  "
15713 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
15714 "and if that fails the directory I</tmp>."
15715 msgstr ""
15716 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
15717 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
15718 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
15719
15720 #. type: Plain text
15721 #: build/C/man3/tmpfile.3:103
15722 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
15723 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
15724
15725 #. type: TH
15726 #: build/C/man3/tmpnam.3:27
15727 #, no-wrap
15728 msgid "TMPNAM"
15729 msgstr "TMPNAM"
15730
15731 #. type: Plain text
15732 #: build/C/man3/tmpnam.3:30
15733 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
15734 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
15735
15736 #. type: Plain text
15737 #: build/C/man3/tmpnam.3:35
15738 #, no-wrap
15739 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
15740 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
15741
15742 #. type: Plain text
15743 #: build/C/man3/tmpnam.3:45
15744 #, fuzzy
15745 #| msgid ""
15746 #| "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
15747 msgid ""
15748 "B<Note:> Avoid use of B<tmpnam>(); use B<mkstemp>(3)  or B<tmpfile>(3)  "
15749 "instead."
15750 msgstr ""
15751 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
15752 "を使うこと。"
15753
15754 #. type: Plain text
15755 #: build/C/man3/tmpnam.3:67
15756 msgid ""
15757 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
15758 "filename, and such that a file with this name did not exist at some point in "
15759 "time, so that naive programmers may think it a suitable name for a temporary "
15760 "file.  If the argument I<s> is NULL this name is generated in an internal "
15761 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
15762 "I<s> is not NULL, the name is copied to the character array (of length at "
15763 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
15764 "case of success."
15765 msgstr ""
15766 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
15767 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
15768 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
15769 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
15770 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
15771 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
15772 "ピーされ、 成功した場合は I<s> が返される。"
15773
15774 #. type: Plain text
15775 #: build/C/man3/tmpnam.3:79
15776 msgid ""
15777 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
15778 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
15779 "the B<TMP_MAX> mentioned below.)"
15780 msgstr ""
15781 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
15782 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
15783 "hE<gt>> で定義されている。)"
15784
15785 #. type: Plain text
15786 #: build/C/man3/tmpnam.3:84
15787 msgid ""
15788 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
15789 "or NULL if a unique name cannot be generated."
15790 msgstr ""
15791 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
15792 "が作成できなかった場合は NULL を返す。"
15793
15794 #. type: Plain text
15795 #: build/C/man3/tmpnam.3:86
15796 msgid "No errors are defined."
15797 msgstr "エラーは定義されていない。"
15798
15799 #. type: Plain text
15800 #: build/C/man3/tmpnam.3:92
15801 msgid ""
15802 "The B<tmpnam>()  function is thread-safe with exceptions.  It is not thread-"
15803 "safe if called with a NULL parameter."
15804 msgstr ""
15805 "B<tmpnam>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
15806 "れた場合はスレッドセーフではない。"
15807
15808 #. type: Plain text
15809 #: build/C/man3/tmpnam.3:96
15810 msgid "The B<tmpnam_r>()  function is thread-safe."
15811 msgstr "B<tmpnam_r>() 関数はスレッドセーフである。"
15812
15813 #. type: Plain text
15814 #: build/C/man3/tmpnam.3:101
15815 msgid ""
15816 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
15817 "obsolete."
15818 msgstr ""
15819 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
15820 "定としている。"
15821
15822 #. type: Plain text
15823 #: build/C/man3/tmpnam.3:112
15824 msgid ""
15825 "The B<tmpnam>()  function generates a different string each time it is "
15826 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
15827 "the behavior is implementation defined."
15828 msgstr ""
15829 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
15830 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
15831
15832 #. type: Plain text
15833 #: build/C/man3/tmpnam.3:131
15834 msgid ""
15835 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
15836 "nevertheless possible that between the time that B<tmpnam>()  returns a "
15837 "pathname, and the time that the program opens it, another program might "
15838 "create that pathname using B<open>(2), or create it as a symbolic link.  "
15839 "This can lead to security holes.  To avoid such possibilities, use the "
15840 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
15841 "B<mkstemp>(3)  or B<tmpfile>(3)."
15842 msgstr ""
15843 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
15844 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
15845 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
15846 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
15847 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
15848 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
15849 "B<tmpfile>(3)  を使うことである。"
15850
15851 #. type: Plain text
15852 #: build/C/man3/tmpnam.3:139
15853 msgid ""
15854 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
15855 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
15856 "defined."
15857 msgstr ""
15858 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
15859 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
15860 "NULL 引き数で呼び出してはならない。"
15861
15862 #. type: Plain text
15863 #: build/C/man3/tmpnam.3:143
15864 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
15865 msgstr ""
15866 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
15867 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
15868 "扱いしている。"
15869
15870 #. type: Plain text
15871 #: build/C/man3/tmpnam.3:151
15872 #, no-wrap
15873 msgid ""
15874 "char *\n"
15875 "tmpnam_r(char *s)\n"
15876 "{\n"
15877 "    return s ? tmpnam(s) : NULL;\n"
15878 "}\n"
15879 msgstr ""
15880 "char *\n"
15881 "tmpnam_r(char *s)\n"
15882 "{\n"
15883 "    return s ? tmpnam(s) : NULL;\n"
15884 "}\n"
15885
15886 #. type: Plain text
15887 #: build/C/man3/tmpnam.3:165
15888 msgid ""
15889 "apparently as a warning not to use NULL.  A few systems implement it.  To "
15890 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
15891 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
15892 msgstr ""
15893 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
15894 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
15895 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
15896 "がある。"
15897
15898 #. type: Plain text
15899 #: build/C/man3/tmpnam.3:172
15900 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
15901 msgstr ""
15902 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
15903 "を使うこと。"
15904
15905 #. type: Plain text
15906 #: build/C/man3/tmpnam.3:177
15907 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
15908 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
15909
15910 #. type: TH
15911 #: build/C/man2/unlink.2:33
15912 #, no-wrap
15913 msgid "UNLINK"
15914 msgstr "UNLINK"
15915
15916 #. type: Plain text
15917 #: build/C/man2/unlink.2:36
15918 #, fuzzy
15919 #| msgid "unlink - delete a name and possibly the file it refers to"
15920 msgid "unlink, unlinkat - delete a name and possibly the file it refers to"
15921 msgstr ""
15922 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
15923
15924 #. type: Plain text
15925 #: build/C/man2/unlink.2:41
15926 #, fuzzy, no-wrap
15927 #| msgid "B<int unlink(const char *>I<pathname>B<);>"
15928 msgid "B<int unlink(const char *>I<pathname>B<);>\n"
15929 msgstr "B<int unlink(const char *>I<pathname>B<);>"
15930
15931 #. type: Plain text
15932 #: build/C/man2/unlink.2:46
15933 #, fuzzy, no-wrap
15934 #| msgid "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
15935 msgid "B<int unlinkat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
15936 msgstr "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
15937
15938 #. type: Plain text
15939 #: build/C/man2/unlink.2:54
15940 #, fuzzy
15941 #| msgid "B<symlink>():"
15942 msgid "B<unlinkat>():"
15943 msgstr "B<symlink>():"
15944
15945 #. type: Plain text
15946 #: build/C/man2/unlink.2:72
15947 msgid ""
15948 "B<unlink>()  deletes a name from the filesystem.  If that name was the last "
15949 "link to a file and no processes have the file open the file is deleted and "
15950 "the space it was using is made available for reuse."
15951 msgstr ""
15952 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
15953 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
15954 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
15955 "は再利用が可能になる。"
15956
15957 #. type: Plain text
15958 #: build/C/man2/unlink.2:76
15959 msgid ""
15960 "If the name was the last link to a file but any processes still have the "
15961 "file open the file will remain in existence until the last file descriptor "
15962 "referring to it is closed."
15963 msgstr ""
15964 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
15965 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
15966 "スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
15967 "ける。"
15968
15969 #. type: Plain text
15970 #: build/C/man2/unlink.2:78
15971 msgid "If the name referred to a symbolic link the link is removed."
15972 msgstr ""
15973 "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
15974 "削除される。"
15975
15976 #. type: Plain text
15977 #: build/C/man2/unlink.2:82
15978 msgid ""
15979 "If the name referred to a socket, fifo or device the name for it is removed "
15980 "but processes which have the object open may continue to use it."
15981 msgstr ""
15982 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
15983 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
15984 "とができる。"
15985
15986 #. type: SS
15987 #: build/C/man2/unlink.2:82
15988 #, no-wrap
15989 msgid "unlinkat()"
15990 msgstr ""
15991
15992 #. type: Plain text
15993 #: build/C/man2/unlink.2:95
15994 msgid ""
15995 "The B<unlinkat>()  system call operates in exactly the same way as either "
15996 "B<unlink>()  or B<rmdir>(2)  (depending on whether or not I<flags> includes "
15997 "the B<AT_REMOVEDIR> flag)  except for the differences described here."
15998 msgstr ""
15999
16000 #. type: Plain text
16001 #: build/C/man2/unlink.2:107
16002 msgid ""
16003 "If the pathname given in I<pathname> is relative, then it is interpreted "
16004 "relative to the directory referred to by the file descriptor I<dirfd> "
16005 "(rather than relative to the current working directory of the calling "
16006 "process, as is done by B<unlink>()  and B<rmdir>(2)  for a relative "
16007 "pathname)."
16008 msgstr ""
16009
16010 #. type: Plain text
16011 #: build/C/man2/unlink.2:121
16012 msgid ""
16013 "If the pathname given in I<pathname> is relative and I<dirfd> is the special "
16014 "value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current "
16015 "working directory of the calling process (like B<unlink>()  and B<rmdir>(2))."
16016 msgstr ""
16017
16018 #. type: Plain text
16019 #: build/C/man2/unlink.2:127
16020 msgid ""
16021 "If the pathname given in I<pathname> is absolute, then I<dirfd> is ignored."
16022 msgstr ""
16023
16024 #. type: Plain text
16025 #: build/C/man2/unlink.2:133
16026 msgid ""
16027 "I<flags> is a bit mask that can either be specified as 0, or by ORing "
16028 "together flag values that control the operation of B<unlinkat>().  Currently "
16029 "only one such flag is defined:"
16030 msgstr ""
16031
16032 #. type: TP
16033 #: build/C/man2/unlink.2:133
16034 #, fuzzy, no-wrap
16035 #| msgid "B<ENOTDIR>"
16036 msgid "B<AT_REMOVEDIR>"
16037 msgstr "B<ENOTDIR>"
16038
16039 #. type: Plain text
16040 #: build/C/man2/unlink.2:148
16041 msgid ""
16042 "By default, B<unlinkat>()  performs the equivalent of B<unlink>()  on "
16043 "I<pathname>.  If the B<AT_REMOVEDIR> flag is specified, then performs the "
16044 "equivalent of B<rmdir>(2)  on I<pathname>."
16045 msgstr ""
16046
16047 #. type: Plain text
16048 #: build/C/man2/unlink.2:153
16049 msgid "See B<openat>(2)  for an explanation of the need for B<unlinkat>()."
16050 msgstr ""
16051
16052 #. type: Plain text
16053 #: build/C/man2/unlink.2:169
16054 msgid ""
16055 "Write access to the directory containing I<pathname> is not allowed for the "
16056 "process's effective UID, or one of the directories in I<pathname> did not "
16057 "allow search permission.  (See also B<path_resolution>(7).)"
16058 msgstr ""
16059 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
16060 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
16061 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
16062 "と)。"
16063
16064 #. type: Plain text
16065 #: build/C/man2/unlink.2:178
16066 msgid ""
16067 "The file I<pathname> cannot be unlinked because it is being used by the "
16068 "system or another process; for example, it is a mount point or the NFS "
16069 "client software created it to represent an active but otherwise nameless "
16070 "inode (\"NFS silly renamed\")."
16071 msgstr ""
16072 "システムか別のプロセスがそのファイルを使用中のため、\n"
16073 "ファイル I<pathname> を unlink できない。\n"
16074 "例えば、そのファイルがマウントポイントの場合や、\n"
16075 "NFS クライアントソフトウェアがそのファイルがアクティブであるが\n"
16076 "名前なし inode (nameless inode) であることを示すために作成した\n"
16077 "場合 (\"NFS silly renamed\") などがある。"
16078
16079 #. type: Plain text
16080 #: build/C/man2/unlink.2:190
16081 msgid ""
16082 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
16083 "Linux since 2.1.132.)"
16084 msgstr ""
16085 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
16086 "で、Linux 2.1.132 以降で返される。)"
16087
16088 #. type: Plain text
16089 #: build/C/man2/unlink.2:194
16090 msgid "Too many symbolic links were encountered in translating I<pathname>."
16091 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
16092
16093 #. type: Plain text
16094 #: build/C/man2/unlink.2:204
16095 msgid ""
16096 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
16097 "I<pathname> is empty."
16098 msgstr ""
16099 "I<pathname> に対応するものが存在しないか、壊れたシンボリックリンクであるか、 "
16100 "I<pathname> が空である。"
16101
16102 #. type: Plain text
16103 #: build/C/man2/unlink.2:212
16104 msgid ""
16105 "A component used as a directory in I<pathname> is not, in fact, a directory."
16106 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
16107
16108 #. type: Plain text
16109 #: build/C/man2/unlink.2:221
16110 msgid ""
16111 "The system does not allow unlinking of directories, or unlinking of "
16112 "directories requires privileges that the calling process doesn't have.  "
16113 "(This is the POSIX prescribed error return; as noted above, Linux returns "
16114 "B<EISDIR> for this case.)"
16115 msgstr ""
16116 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
16117 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
16118 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
16119 "合には Linux は B<EISDIR> を返す。)"
16120
16121 #. type: TP
16122 #: build/C/man2/unlink.2:221
16123 #, no-wrap
16124 msgid "B<EPERM> (Linux only)"
16125 msgstr "B<EPERM> (Linux のみ)"
16126
16127 #. type: Plain text
16128 #: build/C/man2/unlink.2:224
16129 msgid "The filesystem does not allow unlinking of files."
16130 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
16131
16132 #. type: Plain text
16133 #: build/C/man2/unlink.2:235
16134 msgid ""
16135 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
16136 "and the process's effective UID is neither the UID of the file to be deleted "
16137 "nor that of the directory containing it, and the process is not privileged "
16138 "(Linux: does not have the B<CAP_FOWNER> capability)."
16139 msgstr ""
16140 "I<pathname> を含んでいるディレクトリにスティッキービット (sticky-bit)  "
16141 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
16142 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
16143 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
16144
16145 #. type: Plain text
16146 #: build/C/man2/unlink.2:239
16147 msgid "I<pathname> refers to a file on a read-only filesystem."
16148 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
16149
16150 #. type: Plain text
16151 #: build/C/man2/unlink.2:248
16152 msgid ""
16153 "The same errors that occur for B<unlink>()  and B<rmdir>(2)  can also occur "
16154 "for B<unlinkat>().  The following additional errors can occur for B<unlinkat>"
16155 "():"
16156 msgstr ""
16157
16158 #. type: Plain text
16159 #: build/C/man2/unlink.2:263
16160 #, fuzzy
16161 #| msgid "I<pathname> refers to a directory on a read-only filesystem."
16162 msgid ""
16163 "I<pathname> refers to a directory, and B<AT_REMOVEDIR> was not specified in "
16164 "I<flags>."
16165 msgstr ""
16166 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
16167
16168 #. type: Plain text
16169 #: build/C/man2/unlink.2:273
16170 #, fuzzy
16171 #| msgid ""
16172 #| "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is "
16173 #| "available starting with version 2.9."
16174 msgid ""
16175 "B<unlinkat>()  was added to Linux in kernel 2.6.16; library support was "
16176 "added to glibc in version 2.4."
16177 msgstr ""
16178 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
16179 "はバージョン 2.9 以降で利用できる。"
16180
16181 #.  SVr4 documents additional error
16182 #.  conditions EINTR, EMULTIHOP, ETXTBSY, ENOLINK.
16183 #. type: Plain text
16184 #: build/C/man2/unlink.2:278
16185 #, fuzzy
16186 #| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
16187 msgid "B<unlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
16188 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
16189
16190 #. type: Plain text
16191 #: build/C/man2/unlink.2:281
16192 #, fuzzy
16193 #| msgid "B<pipe>(): POSIX.1-2001."
16194 msgid "B<unlinkat>(): POSIX.1-2008."
16195 msgstr "B<pipe>(): POSIX.1-2001."
16196
16197 #. type: Plain text
16198 #: build/C/man2/unlink.2:296
16199 #, fuzzy
16200 #| msgid ""
16201 #| "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
16202 #| "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), "
16203 #| "B<path_resolution>(7), B<symlink>(7)"
16204 msgid ""
16205 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
16206 "B<rmdir>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>(7), B<symlink>(7)"
16207 msgstr ""
16208 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
16209 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
16210 "(7), B<symlink>(7)"
16211
16212 #. type: TH
16213 #: build/C/man3/unlocked_stdio.3:25
16214 #, no-wrap
16215 msgid "UNLOCKED_STDIO"
16216 msgstr "UNLOCKED_STDIO"
16217
16218 #. type: TH
16219 #: build/C/man3/unlocked_stdio.3:25
16220 #, no-wrap
16221 msgid "2008-08-29"
16222 msgstr "2008-08-29"
16223
16224 #. type: Plain text
16225 #: build/C/man3/unlocked_stdio.3:29
16226 msgid ""
16227 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
16228 "nonlocking stdio functions"
16229 msgstr ""
16230 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
16231 "わずに標準入出力を行う関数群"
16232
16233 #. type: Plain text
16234 #: build/C/man3/unlocked_stdio.3:37
16235 #, no-wrap
16236 msgid ""
16237 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
16238 "B<int getchar_unlocked(void);>\n"
16239 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
16240 "B<int putchar_unlocked(int >I<c>B<);>\n"
16241 msgstr ""
16242 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
16243 "B<int getchar_unlocked(void);>\n"
16244 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
16245 "B<int putchar_unlocked(int >I<c>B<);>\n"
16246
16247 #. type: Plain text
16248 #: build/C/man3/unlocked_stdio.3:49
16249 #, no-wrap
16250 msgid ""
16251 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
16252 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
16253 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
16254 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
16255 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
16256 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
16257 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
16258 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
16259 "B<                      FILE *>I<stream>B<);>\n"
16260 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
16261 "B<                      FILE *>I<stream>B<);>\n"
16262 msgstr ""
16263 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
16264 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
16265 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
16266 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
16267 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
16268 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
16269 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
16270 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
16271 "B<                      FILE *>I<stream>B<);>\n"
16272 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
16273 "B<                      FILE *>I<stream>B<);>\n"
16274
16275 #. type: Plain text
16276 #: build/C/man3/unlocked_stdio.3:52
16277 #, no-wrap
16278 msgid ""
16279 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
16280 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
16281 msgstr ""
16282 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
16283 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
16284
16285 #. type: Plain text
16286 #: build/C/man3/unlocked_stdio.3:63
16287 #, no-wrap
16288 msgid ""
16289 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
16290 "B<wint_t getwchar_unlocked(void);>\n"
16291 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
16292 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
16293 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
16294 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
16295 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
16296 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
16297 msgstr ""
16298 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
16299 "B<wint_t getwchar_unlocked(void);>\n"
16300 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
16301 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
16302 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
16303 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
16304 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
16305 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
16306
16307 #. type: Plain text
16308 #: build/C/man3/unlocked_stdio.3:75
16309 msgid ""
16310 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
16311 "B<putchar_unlocked>():"
16312 msgstr ""
16313 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
16314 "B<putchar_unlocked>():"
16315
16316 #. type: Plain text
16317 #: build/C/man3/unlocked_stdio.3:78
16318 msgid ""
16319 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
16320 "_BSD_SOURCE || _SVID_SOURCE"
16321 msgstr ""
16322 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
16323 "_BSD_SOURCE || _SVID_SOURCE"
16324
16325 #. type: Plain text
16326 #: build/C/man3/unlocked_stdio.3:89
16327 msgid ""
16328 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
16329 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
16330 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
16331 msgstr ""
16332 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
16333 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
16334 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
16335
16336 #. type: Plain text
16337 #: build/C/man3/unlocked_stdio.3:91
16338 msgid "_BSD_SOURCE || _SVID_SOURCE"
16339 msgstr "_BSD_SOURCE || _SVID_SOURCE"
16340
16341 #. type: Plain text
16342 #: build/C/man3/unlocked_stdio.3:102
16343 msgid ""
16344 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
16345 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
16346 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
16347 msgstr ""
16348 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
16349 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
16350 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
16351
16352 #. type: Plain text
16353 #: build/C/man3/unlocked_stdio.3:113
16354 msgid ""
16355 "Each of these functions has the same behavior as its counterpart without the "
16356 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
16357 "locks themselves, and do not test for the presence of locks set by others) "
16358 "and hence are thread-unsafe.  See B<flockfile>(3)."
16359 msgstr ""
16360 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
16361 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
16362 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
16363 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
16364 "B<flockfile>(3)  を参照のこと。"
16365
16366 #. type: Plain text
16367 #: build/C/man3/unlocked_stdio.3:120
16368 msgid ""
16369 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
16370 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
16371 msgstr ""
16372 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
16373 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
16374
16375 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
16376 #.  moved to a compatibility library.
16377 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
16378 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
16379 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
16380 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
16381 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
16382 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
16383 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
16384 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
16385 #.  ungetc_unlocked, ungetwc_unlocked.
16386 #. type: Plain text
16387 #: build/C/man3/unlocked_stdio.3:136
16388 msgid ""
16389 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
16390 "are available in recent glibc.  They should probably not be used."
16391 msgstr ""
16392 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
16393 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
16394
16395 #. type: Plain text
16396 #: build/C/man3/unlocked_stdio.3:139
16397 msgid "B<flockfile>(3), B<stdio>(3)"
16398 msgstr "B<flockfile>(3), B<stdio>(3)"
16399
16400 #. type: TH
16401 #: build/C/man3/wprintf.3:16
16402 #, no-wrap
16403 msgid "WPRINTF"
16404 msgstr "WPRINTF"
16405
16406 #. type: TH
16407 #: build/C/man3/wprintf.3:16
16408 #, no-wrap
16409 msgid "2011-09-17"
16410 msgstr "2011-09-17"
16411
16412 #. type: Plain text
16413 #: build/C/man3/wprintf.3:20
16414 msgid ""
16415 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
16416 "character output conversion"
16417 msgstr ""
16418 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
16419 "フォーマットして出力する"
16420
16421 #. type: Plain text
16422 #: build/C/man3/wprintf.3:24
16423 #, no-wrap
16424 msgid ""
16425 "B<#include E<lt>stdio.hE<gt>>\n"
16426 "B<#include E<lt>wchar.hE<gt>>\n"
16427 msgstr ""
16428 "B<#include E<lt>stdio.hE<gt>>\n"
16429 "B<#include E<lt>wchar.hE<gt>>\n"
16430
16431 #. type: Plain text
16432 #: build/C/man3/wprintf.3:29
16433 #, no-wrap
16434 msgid ""
16435 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
16436 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
16437 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
16438 "B<             const wchar_t *>I<format>B<, ...);>\n"
16439 msgstr ""
16440 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
16441 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
16442 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
16443 "B<             const wchar_t *>I<format>B<, ...);>\n"
16444
16445 #. type: Plain text
16446 #: build/C/man3/wprintf.3:34
16447 #, no-wrap
16448 msgid ""
16449 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16450 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16451 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
16452 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16453 msgstr ""
16454 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16455 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16456 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
16457 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
16458
16459 #.  .BR wprintf (),
16460 #.  .BR fwprintf (),
16461 #.  .BR swprintf (),
16462 #.  .BR vwprintf (),
16463 #.  .BR vfwprintf (),
16464 #.  .BR vswprintf ():
16465 #. type: Plain text
16466 #: build/C/man3/wprintf.3:51
16467 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
16468 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
16469
16470 #. type: Plain text
16471 #: build/C/man3/wprintf.3:53
16472 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
16473 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
16474
16475 #. type: Plain text
16476 #: build/C/man3/wprintf.3:55
16477 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
16478 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
16479
16480 #. type: Plain text
16481 #: build/C/man3/wprintf.3:58
16482 msgid "or I<cc\\ -std=c99>"
16483 msgstr "or I<cc\\ -std=c99>"
16484
16485 #. type: Plain text
16486 #: build/C/man3/wprintf.3:69
16487 msgid ""
16488 "The B<wprintf>()  family of functions is the wide-character equivalent of "
16489 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
16490 "characters."
16491 msgstr ""
16492 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
16493 "版である。これらはワイド文字をフォーマットして出力する。"
16494
16495 #. type: Plain text
16496 #: build/C/man3/wprintf.3:81
16497 msgid ""
16498 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
16499 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
16500 "more information."
16501 msgstr ""
16502 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
16503 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
16504 "ること。"
16505
16506 #. type: Plain text
16507 #: build/C/man3/wprintf.3:93
16508 msgid ""
16509 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
16510 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
16511 "for more information."
16512 msgstr ""
16513 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
16514 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
16515 "B<fwide>(3)  を参照すること。"
16516
16517 #. type: Plain text
16518 #: build/C/man3/wprintf.3:107
16519 msgid ""
16520 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
16521 "output to an array of wide characters.  The programmer must ensure that "
16522 "there is room for at least I<maxlen> wide characters at I<wcs>."
16523 msgstr ""
16524 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
16525 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
16526 "空きがあることを保証しなければ ならない。"
16527
16528 #. type: Plain text
16529 #: build/C/man3/wprintf.3:118
16530 msgid ""
16531 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
16532 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
16533 "following differences:"
16534 msgstr ""
16535 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
16536 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
16537
16538 #. type: TP
16539 #: build/C/man3/wprintf.3:118 build/C/man3/wprintf.3:123
16540 #: build/C/man3/wprintf.3:126
16541 #, no-wrap
16542 msgid "B<\\(bu>"
16543 msgstr "B<\\(bu>"
16544
16545 #. type: Plain text
16546 #: build/C/man3/wprintf.3:123
16547 msgid "The I<format> string is a wide-character string."
16548 msgstr "I<format> がワイド文字列で与えられる。"
16549
16550 #. type: Plain text
16551 #: build/C/man3/wprintf.3:126
16552 msgid "The output consists of wide characters, not bytes."
16553 msgstr "出力がバイトではなくワイド文字で構成される。"
16554
16555 #. type: Plain text
16556 #: build/C/man3/wprintf.3:145
16557 msgid ""
16558 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
16559 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
16560 "I<maxlen> argument, but these functions do not return -1 upon buffer "
16561 "overflow on Linux.)"
16562 msgstr ""
16563 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
16564 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
16565 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
16566 "も -1 を返さない)。"
16567
16568 #. type: Plain text
16569 #: build/C/man3/wprintf.3:151
16570 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
16571 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
16572
16573 #. type: Plain text
16574 #: build/C/man3/wprintf.3:165
16575 msgid ""
16576 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
16577 "character by a call to the B<btowc>(3)  function, and the resulting wide "
16578 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
16579 "character) argument is written."
16580 msgstr ""
16581 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
16582 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
16583 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
16584
16585 #. type: Plain text
16586 #: build/C/man3/wprintf.3:205
16587 msgid ""
16588 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
16589 "to be a pointer to an array of character type (pointer to a string) "
16590 "containing a multibyte character sequence beginning in the initial shift "
16591 "state.  Characters from the array are converted to wide characters (each by "
16592 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
16593 "the initial state before the first byte).  The resulting wide characters are "
16594 "written up to (but not including) the terminating null wide character (L\\(aq"
16595 "\\e0\\(aq).  If a precision is specified, no more wide characters than the "
16596 "number specified are written.  Note that the precision determines the number "
16597 "of I<wide characters> written, not the number of I<bytes> or I<screen "
16598 "positions>.  The array must contain a terminating null byte (\\(aq"
16599 "\\e0\\(aq), unless a precision is given and it is so small that the number "
16600 "of converted wide characters reaches it before the end of the array is "
16601 "reached.  If an B<l> modifier is present: The I<const\\ wchar_t\\ *> "
16602 "argument is expected to be a pointer to an array of wide characters.  Wide "
16603 "characters from the array are written up to (but not including) a "
16604 "terminating null wide character.  If a precision is specified, no more than "
16605 "the number specified are written.  The array must contain a terminating null "
16606 "wide character, unless a precision is given and it is smaller than or equal "
16607 "to the number of wide characters in the array."
16608 msgstr ""
16609 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
16610 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
16611 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
16612 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
16613 "字は終端の ナルワイド文字 (L\\(aq\\e0\\(aq) の手前までが書き込まれる。精度"
16614 "(precision)が指定された 場合、指定された数字を超えるワイド文字は書き込まれな"
16615 "い。精度は 書き込まれる I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字"
16616 "> の数を指定することに注意すること。 精度がない場合には配列の終端にナルバイ"
16617 "ト (\\(aq\\e0\\(aq) を含む必要がある。 精度を指定する場合には、配列の最後に到"
16618 "着する前に変換されたワイド文字の 数がそれに到達するよう、精度は十分に小さな数"
16619 "でなければならない。 もし B<l> 修飾子が存在する場合、 I<const\\ wchar_t\\ *> "
16620 "引き数はワイド文字の配列へのポインタとみなされる。 配列のワイド文字列は終端の"
16621 "ナルワイド文字の手間まで出力される。 もし精度が指定された場合には指定された精"
16622 "度以上の文字は出力されない。 精度を指定しない場合には終端のナルワイド文字を含"
16623 "む必要がある。 精度を指定する場合にはそれはワイド文字の配列の大きさよりも小さ"
16624 "くな ければならない。"
16625
16626 #. type: Plain text
16627 #: build/C/man3/wprintf.3:213
16628 msgid ""
16629 "The functions return the number of wide characters written, excluding the "
16630 "terminating null wide character in case of the functions B<swprintf>()  and "
16631 "B<vswprintf>().  They return -1 when an error occurs."
16632 msgstr ""
16633 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
16634 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
16635 "場合は -1 を返す。"
16636
16637 #. type: Plain text
16638 #: build/C/man3/wprintf.3:215
16639 msgid "C99."
16640 msgstr "C99."
16641
16642 #. type: Plain text
16643 #: build/C/man3/wprintf.3:223
16644 msgid ""
16645 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
16646 "the current locale."
16647 msgstr ""
16648 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
16649
16650 #. type: Plain text
16651 #: build/C/man3/wprintf.3:253
16652 msgid ""
16653 "If the I<format> string contains non-ASCII wide characters, the program will "
16654 "work correctly only if the B<LC_CTYPE> category of the current locale at run "
16655 "time is the same as the B<LC_CTYPE> category of the current locale at "
16656 "compile time.  This is because the I<wchar_t> representation is platform- "
16657 "and locale-dependent.  (The glibc represents wide characters using their "
16658 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
16659 "the use of C99 universal character names of the form \\eunnnn does not solve "
16660 "this problem.)  Therefore, in internationalized programs, the I<format> "
16661 "string should consist of ASCII wide characters only, or should be "
16662 "constructed at run time in an internationalized way (e.g., using B<gettext>"
16663 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
16664 msgstr ""
16665 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
16666 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
16667 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
16668 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
16669 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
16670 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
16671 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
16672 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
16673 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
16674
16675 #.  .BR wscanf (3)
16676 #. type: Plain text
16677 #: build/C/man3/wprintf.3:260
16678 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
16679 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
16680
16681 #. type: TH
16682 #: build/C/man2/write.2:39
16683 #, no-wrap
16684 msgid "WRITE"
16685 msgstr "WRITE"
16686
16687 #. type: TH
16688 #: build/C/man2/write.2:39
16689 #, no-wrap
16690 msgid "2013-01-27"
16691 msgstr "2013-01-27"
16692
16693 #. type: Plain text
16694 #: build/C/man2/write.2:42
16695 msgid "write - write to a file descriptor"
16696 msgstr "write - ファイルディスクリプタ (file descriptor) に書き込む"
16697
16698 #. type: Plain text
16699 #: build/C/man2/write.2:46
16700 msgid ""
16701 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
16702 msgstr ""
16703 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
16704
16705 #. type: Plain text
16706 #: build/C/man2/write.2:54
16707 msgid ""
16708 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
16709 "the file referred to by the file descriptor I<fd>."
16710 msgstr ""
16711 "B<write>()  は、 I<buf> が指すバッファから、ファイルディスクリプタ I<fd> が参"
16712 "照するファイルへ、最大 I<count> バイトを書き込む。"
16713
16714 #. type: Plain text
16715 #: build/C/man2/write.2:68
16716 msgid ""
16717 "The number of bytes written may be less than I<count> if, for example, there "
16718 "is insufficient space on the underlying physical medium, or the "
16719 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
16720 "call was interrupted by a signal handler after having written less than "
16721 "I<count> bytes.  (See also B<pipe>(7).)"
16722 msgstr ""
16723 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
16724 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
16725 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
16726 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
16727 "(7)  も参照のこと。)"
16728
16729 #. type: Plain text
16730 #: build/C/man2/write.2:82
16731 msgid ""
16732 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
16733 "example, a regular file)  writing takes place at the current file offset, "
16734 "and the file offset is incremented by the number of bytes actually written.  "
16735 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
16736 "to the end of the file before writing.  The adjustment of the file offset "
16737 "and the write operation are performed as an atomic step."
16738 msgstr ""
16739 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
16740 "ファイル) では、 書き込みは現在のファイルオフセットから行われ、 ファイルオフ"
16741 "セットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
16742 "B<O_APPEND> で B<open>(2)  された場合、ファイルオフセットは書き込み前に ファ"
16743 "イルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな"
16744 "処理として 実行される。"
16745
16746 #. type: Plain text
16747 #: build/C/man2/write.2:89
16748 msgid ""
16749 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
16750 "B<write>()  has returned returns the new data.  Note that not all "
16751 "filesystems are POSIX conforming."
16752 msgstr ""
16753 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
16754 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
16755 "ること。"
16756
16757 #. type: Plain text
16758 #: build/C/man2/write.2:94
16759 msgid ""
16760 "On success, the number of bytes written is returned (zero indicates nothing "
16761 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
16762 msgstr ""
16763 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
16764 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
16765
16766 #. type: Plain text
16767 #: build/C/man2/write.2:107
16768 msgid ""
16769 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
16770 "return a failure status if one of the errors below is detected.  If no "
16771 "errors are detected, 0 will be returned without causing any other effect.  "
16772 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
16773 "the results are not specified."
16774 msgstr ""
16775 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
16776 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
16777 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
16778 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
16779 "その結果は規定されていない。"
16780
16781 #. type: Plain text
16782 #: build/C/man2/write.2:115
16783 msgid ""
16784 "The file descriptor I<fd> refers to a file other than a socket and has been "
16785 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
16786 msgstr ""
16787 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
16788 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
16789 "する状況にある。"
16790
16791 #.  Actually EAGAIN on Linux
16792 #. type: Plain text
16793 #: build/C/man2/write.2:126
16794 msgid ""
16795 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
16796 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
16797 "error to be returned for this case, and does not require these constants to "
16798 "have the same value, so a portable application should check for both "
16799 "possibilities."
16800 msgstr ""
16801 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
16802 "モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にあ"
16803 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
16804 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
16805 "プリケーションでは、両方の可能性を 確認すべきである。"
16806
16807 #. type: Plain text
16808 #: build/C/man2/write.2:130
16809 msgid "I<fd> is not a valid file descriptor or is not open for writing."
16810 msgstr ""
16811 "I<fd> が有効なファイルディスクリプタでないか書き込みのためにオープン (open) "
16812 "されていない。"
16813
16814 #. type: TP
16815 #: build/C/man2/write.2:130
16816 #, no-wrap
16817 msgid "B<EDESTADDRREQ>"
16818 msgstr "B<EDESTADDRREQ>"
16819
16820 #. type: Plain text
16821 #: build/C/man2/write.2:135
16822 msgid ""
16823 "I<fd> refers to a datagram socket for which a peer address has not been set "
16824 "using B<connect>(2)."
16825 msgstr ""
16826 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
16827 "グラムソケットを 参照している。"
16828
16829 #. type: Plain text
16830 #: build/C/man2/write.2:141
16831 msgid ""
16832 "The user's quota of disk blocks on the filesystem containing the file "
16833 "referred to by I<fd> has been exhausted."
16834 msgstr ""
16835 "I<fd> が参照するファイルを含むファイルシステムのディスクブロックのユーザ"
16836 "クォータの上限に達している。"
16837
16838 #. type: Plain text
16839 #: build/C/man2/write.2:150
16840 msgid ""
16841 "An attempt was made to write a file that exceeds the implementation-defined "
16842 "maximum file size or the process's file size limit, or to write at a "
16843 "position past the maximum allowed offset."
16844 msgstr ""
16845 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
16846 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
16847 "書き込もうとした。"
16848
16849 #. type: Plain text
16850 #: build/C/man2/write.2:154
16851 msgid ""
16852 "The call was interrupted by a signal before any data was written; see "
16853 "B<signal>(7)."
16854 msgstr ""
16855 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
16856 "(7)  参照。"
16857
16858 #. type: Plain text
16859 #: build/C/man2/write.2:165
16860 msgid ""
16861 "I<fd> is attached to an object which is unsuitable for writing; or the file "
16862 "was opened with the B<O_DIRECT> flag, and either the address specified in "
16863 "I<buf>, the value specified in I<count>, or the current file offset is not "
16864 "suitably aligned."
16865 msgstr ""
16866 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
16867 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
16868 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
16869 "メントが不適切である。"
16870
16871 #. type: Plain text
16872 #: build/C/man2/write.2:168
16873 msgid "A low-level I/O error occurred while modifying the inode."
16874 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
16875
16876 #. type: Plain text
16877 #: build/C/man2/write.2:173
16878 msgid ""
16879 "The device containing the file referred to by I<fd> has no room for the data."
16880 msgstr ""
16881 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
16882
16883 #. type: TP
16884 #: build/C/man2/write.2:173
16885 #, no-wrap
16886 msgid "B<EPIPE>"
16887 msgstr "B<EPIPE>"
16888
16889 #. type: Plain text
16890 #: build/C/man2/write.2:182
16891 msgid ""
16892 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
16893 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
16894 "(Thus, the write return value is seen only if the program catches, blocks or "
16895 "ignores this signal.)"
16896 msgstr ""
16897 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
16898 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
16899 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
16900 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
16901 "write の返り値を参照できる。)"
16902
16903 #. type: Plain text
16904 #: build/C/man2/write.2:185
16905 msgid "Other errors may occur, depending on the object connected to I<fd>."
16906 msgstr ""
16907 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
16908
16909 #. type: Plain text
16910 #: build/C/man2/write.2:194
16911 msgid ""
16912 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
16913 "just before any data is written."
16914 msgstr ""
16915 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
16916 "で B<EINTR> が返る。"
16917
16918 #. type: Plain text
16919 #: build/C/man2/write.2:203
16920 msgid ""
16921 "A successful return from B<write>()  does not make any guarantee that data "
16922 "has been committed to disk.  In fact, on some buggy implementations, it does "
16923 "not even guarantee that space has successfully been reserved for the data.  "
16924 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
16925 "all your data."
16926 msgstr ""
16927 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
16928 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
16929 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
16930 "write した後に B<fsync>(2)  を呼び出すことである。"
16931
16932 #. type: Plain text
16933 #: build/C/man2/write.2:211
16934 msgid ""
16935 "If a B<write>()  is interrupted by a signal handler before any bytes are "
16936 "written, then the call fails with the error B<EINTR>; if it is interrupted "
16937 "after at least one byte has been written, the call succeeds, and returns the "
16938 "number of bytes written."
16939 msgstr ""
16940 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
16941 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
16942 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
16943
16944 #. type: Plain text
16945 #: build/C/man2/write.2:223
16946 msgid ""
16947 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
16948 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
16949 msgstr ""
16950 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
16951 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
16952
16953 #~ msgid ""
16954 #~ "    if (argc != 2) {\n"
16955 #~ "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
16956 #~ "\texit(EXIT_FAILURE);\n"
16957 #~ "    }\n"
16958 #~ msgstr ""
16959 #~ "    if (argc != 2) {\n"
16960 #~ "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
16961 #~ "\texit(EXIT_FAILURE);\n"
16962 #~ "    }\n"
16963
16964 #~ msgid "2013-03-27"
16965 #~ msgstr "2013-03-27"
16966
16967 #~ msgid "2013-08-09"
16968 #~ msgstr "2013-08-09"
16969
16970 #~ msgid ""
16971 #~ "The file is opened for synchronous I/O.  Any B<write>(2)s on the "
16972 #~ "resulting file descriptor will block the calling process until the data "
16973 #~ "has been physically written to the underlying hardware.  I<But see NOTES "
16974 #~ "below>."
16975 #~ msgstr ""
16976 #~ "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返"
16977 #~ "したファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプ"
16978 #~ "ロセスをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 "
16979 #~ "I<以下の「注意」の章も参照。>"
16980
16981 #~ msgid ""
16982 #~ "Some of these optional flags can be altered using B<fcntl>(2)  after the "
16983 #~ "file has been opened."
16984 #~ msgstr ""
16985 #~ "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を"
16986 #~ "使用して変更することができる。"
16987
16988 #~ msgid ""
16989 #~ "Too many symbolic links were encountered in resolving I<pathname>, or "
16990 #~ "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
16991 #~ msgstr ""
16992 #~ "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
16993 #~ "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
16994
16995 #~ msgid ""
16996 #~ "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified "
16997 #~ "in POSIX.1-2008."
16998 #~ msgstr ""
16999 #~ "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 "
17000 #~ "で規定されている。"
17001
17002 #~ msgid ""
17003 #~ "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
17004 #~ "(before including I<any> header files)  to get its definition."
17005 #~ msgstr ""
17006 #~ "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
17007 #~ "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定"
17008 #~ "義しなければならない。"
17009
17010 #~ msgid ""
17011 #~ "POSIX provides for three different variants of synchronized I/O, "
17012 #~ "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  "
17013 #~ "Currently (2.6.31), Linux implements only B<O_SYNC>, but glibc maps "
17014 #~ "B<O_DSYNC> and B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most "
17015 #~ "Linux filesystems don't actually implement the POSIX B<O_SYNC> semantics, "
17016 #~ "which require all metadata updates of a write to be on disk on returning "
17017 #~ "to user space, but only the B<O_DSYNC> semantics, which require only "
17018 #~ "actual file data and metadata necessary to retrieve it to be on disk by "
17019 #~ "the time the system call returns."
17020 #~ msgstr ""
17021 #~ "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
17022 #~ "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル "
17023 #~ "2.6.31)、 Linux では B<O_SYNC> だけが実装されているが、 glibc は "
17024 #~ "B<O_DSYNC> と B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとん"
17025 #~ "どの Linux のファイルシステムは、実際には POSIX の B<O_SYNC> の動作ではな"
17026 #~ "く B<O_DSYNC> の動作だけを実装している。 POSIX の B<O_SYNC> では、 B<open>"
17027 #~ "()  がユーザ空間に返る際に、書き込みに関する全てのメタデータの 更新がディ"
17028 #~ "スクに書き込まれている必要がある。 一方、 B<O_DSYNC> では、 B<open>()  が"
17029 #~ "返るまでに、実際のファイルのデータとそのデータを取得するために 必要なメタ"
17030 #~ "データだけがディスクに書き込まれていればよい。"
17031
17032 #~ msgid ""
17033 #~ "    if (argc != 2) {\n"
17034 #~ "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
17035 #~ "\texit(EXIT_FAILURE);\n"
17036 #~ "    }\n"
17037 #~ msgstr ""
17038 #~ "    if (argc != 2) {\n"
17039 #~ "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
17040 #~ "\texit(EXIT_FAILURE);\n"
17041 #~ "    }\n"
17042
17043 #~ msgid "2013-09-04"
17044 #~ msgstr "2013-09-04"
17045
17046 #~ msgid "2011-09-28"
17047 #~ msgstr "2011-09-28"
17048
17049 #~ msgid "2013-07-18"
17050 #~ msgstr "2013-07-18"
17051
17052 #~ msgid "2008-12-03"
17053 #~ msgstr "2008-12-03"
17054
17055 #~ msgid "4.3BSD, C89, C99, POSIX.1-2001."
17056 #~ msgstr "4.3BSD, C89, C99, POSIX.1-2001."
17057
17058 #~ msgid ""
17059 #~ "Since version 2.7, glibc also provides the B<m> modifier for the same "
17060 #~ "purpose as the B<a> modifier.  The B<m> modifier has the following "
17061 #~ "advantages:"
17062 #~ msgstr ""
17063 #~ "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提"
17064 #~ "供している。 B<m> 修飾子は以下の利点がある。"
17065
17066 #~ msgid "It is specified in the POSIX.1-2008 standard."
17067 #~ msgstr "POSIX.1-2008 標準で規定されている。"
17068
17069 #~ msgid "2012-08-03"
17070 #~ msgstr "2012-08-03"
17071
17072 #~ msgid "2011-09-15"
17073 #~ msgstr "2011-09-15"
17074
17075 #~ msgid "2004-12-11"
17076 #~ msgstr "2004-12-11"
17077
17078 #~ msgid "2013-07-21"
17079 #~ msgstr "2013-07-21"
17080
17081 #~ msgid "2013-03-05"
17082 #~ msgstr "2013-03-05"