OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.54
[linuxjm/LDP_man-pages.git] / po4a / stdio / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-09-28 04:06+0900\n"
10 "PO-Revision-Date: 2013-08-16 12:49+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/ferror.3:44 build/C/man3/fmtmsg.3:13
27 #: build/C/man3/stdio_ext.3:25 build/C/man3/tmpnam.3:27
28 #, no-wrap
29 msgid "2013-06-21"
30 msgstr "2013-06-21"
31
32 #. type: TH
33 #: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
34 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
35 #: build/C/man3/fcloseall.3:25 build/C/man3/fflush.3:45
36 #: build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10 build/C/man3/fopen.3:44
37 #: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
38 #: build/C/man3/getline.3:26 build/C/man3/gets.3:27 build/C/man3/getw.3:25
39 #: build/C/man3/popen.3:40 build/C/man3/printf.3:34 build/C/man3/puts.3:26
40 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:52 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/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:27
55 #: build/C/man3/getw.3:25 build/C/man2/link.2:31 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:43 build/C/man2/readv.2:32 build/C/man3/remove.3:31
60 #: build/C/man2/rename.2:32 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:32
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:32
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/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:28
81 #: build/C/man3/getw.3:26 build/C/man2/link.2:32 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:44 build/C/man2/readv.2:33 build/C/man3/remove.3:32
86 #: build/C/man2/rename.2:33 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:33
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:33
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/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:30
112 #: build/C/man3/getw.3:28 build/C/man2/link.2:34 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:46 build/C/man2/readv.2:35 build/C/man3/remove.3:34
117 #: build/C/man2/rename.2:35 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:35
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:35
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/man2/rename.2:37 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/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:46
164 #: build/C/man3/getw.3:59 build/C/man2/link.2:38 build/C/man2/llseek.2:43
165 #: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:65
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:63 build/C/man2/readv.2:58 build/C/man3/remove.3:38
169 #: build/C/man2/rename.2:39 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:52
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:39
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/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:110 build/C/man3/gets.3:111
205 #: build/C/man3/getw.3:73 build/C/man2/link.2:52 build/C/man2/llseek.2:62
206 #: build/C/man2/lseek.2:162 build/C/man2/open.2:568 build/C/man2/pipe.2:92
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:77 build/C/man2/readv.2:177
209 #: build/C/man3/remove.3:60 build/C/man2/rename.2:91 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:84 build/C/man3/tempnam.3:87
212 #: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:70 build/C/man2/unlink.2:55
213 #: build/C/man3/wprintf.3:205 build/C/man2/write.2:89
214 #, no-wrap
215 msgid "RETURN VALUE"
216 msgstr "返り値"
217
218 #. type: Plain text
219 #: build/C/man3/asprintf.3:61
220 msgid ""
221 "When successful, these functions return the number of bytes printed, just "
222 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
223 "error occurs, these functions will return -1, and the contents of I<strp> is "
224 "undefined."
225 msgstr ""
226 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
227 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
228 "は -1 を返し、 I<strp> の内容は未定義となる。"
229
230 #. type: SH
231 #: build/C/man3/asprintf.3:61 build/C/man3/ctermid.3:67
232 #: build/C/man3/dprintf.3:69 build/C/man3/fclose.3:90
233 #: build/C/man3/fcloseall.3:60 build/C/man3/ferror.3:115
234 #: build/C/man3/fflush.3:98 build/C/man3/fgetwc.3:70
235 #: build/C/man3/flockfile.3:135 build/C/man3/fmemopen.3:195
236 #: build/C/man3/fmtmsg.3:237 build/C/man3/fopen.3:246
237 #: build/C/man3/fopencookie.3:245 build/C/man3/fpurge.3:70
238 #: build/C/man3/fputwc.3:68 build/C/man3/fread.3:103 build/C/man3/fseek.3:168
239 #: build/C/man3/fseeko.3:87 build/C/man3/getline.3:137 build/C/man3/gets.3:138
240 #: build/C/man3/getw.3:80 build/C/man2/link.2:138 build/C/man2/llseek.2:81
241 #: build/C/man2/lseek.2:200 build/C/man2/open.2:727 build/C/man3/perror.3:111
242 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:172 build/C/man3/printf.3:807
243 #: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:125
244 #: build/C/man2/readv.2:214 build/C/man3/remove.3:70 build/C/man2/rename.2:232
245 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:577 build/C/man3/setbuf.3:164
246 #: build/C/man3/stdin.3:113 build/C/man3/stdio.3:246
247 #: build/C/man2/symlink.2:149 build/C/man3/tempnam.3:98
248 #: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:87
249 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:113
250 #: build/C/man3/wprintf.3:213 build/C/man2/write.2:185
251 #, no-wrap
252 msgid "CONFORMING TO"
253 msgstr "準拠"
254
255 #. type: Plain text
256 #: build/C/man3/asprintf.3:67
257 msgid ""
258 "These functions are GNU extensions, not in C or POSIX.  They are also "
259 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
260 "error."
261 msgstr ""
262 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
263 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
264 "る。"
265
266 #. type: SH
267 #: build/C/man3/asprintf.3:67 build/C/man3/ctermid.3:77
268 #: build/C/man3/dprintf.3:95 build/C/man3/fclose.3:102
269 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:122
270 #: build/C/man3/fflush.3:113 build/C/man3/fgetwc.3:87
271 #: build/C/man3/flockfile.3:143 build/C/man3/fmemopen.3:341
272 #: build/C/man3/fmtmsg.3:309 build/C/man3/fopen.3:348
273 #: build/C/man3/fopencookie.3:437 build/C/man3/fpurge.3:80
274 #: build/C/man3/fputwc.3:85 build/C/man3/fread.3:105 build/C/man3/fseek.3:170
275 #: build/C/man3/fseeko.3:93 build/C/man3/getline.3:171 build/C/man3/gets.3:173
276 #: build/C/man3/getw.3:86 build/C/man2/link.2:187 build/C/man2/llseek.2:87
277 #: build/C/man2/lseek.2:245 build/C/man3/lseek64.3:164
278 #: build/C/man2/open.2:1000 build/C/man3/perror.3:139 build/C/man2/pipe.2:190
279 #: build/C/man3/popen.3:201 build/C/man3/printf.3:1081 build/C/man3/puts.3:112
280 #: build/C/man2/read.2:187 build/C/man2/readlink.2:214
281 #: build/C/man2/readv.2:284 build/C/man3/remove.3:81 build/C/man2/rename.2:245
282 #: build/C/man2/rmdir.2:132 build/C/man3/scanf.3:715 build/C/man3/setbuf.3:200
283 #: build/C/man3/stdin.3:154 build/C/man3/stdio.3:250
284 #: build/C/man3/stdio_ext.3:151 build/C/man2/symlink.2:164
285 #: build/C/man7/symlink.7:471 build/C/man3/tempnam.3:168
286 #: build/C/man3/tmpfile.3:97 build/C/man3/tmpnam.3:163
287 #: build/C/man2/unlink.2:148 build/C/man3/unlocked_stdio.3:136
288 #: build/C/man3/wprintf.3:253 build/C/man2/write.2:211
289 #, no-wrap
290 msgid "SEE ALSO"
291 msgstr "関連項目"
292
293 #. type: Plain text
294 #: build/C/man3/asprintf.3:71
295 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
296 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
297
298 #. type: SH
299 #: build/C/man3/asprintf.3:71 build/C/man3/ctermid.3:79
300 #: build/C/man3/dprintf.3:97 build/C/man3/fclose.3:108
301 #: build/C/man3/fcloseall.3:68 build/C/man3/ferror.3:127
302 #: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:92
303 #: build/C/man3/flockfile.3:145 build/C/man3/fmemopen.3:344
304 #: build/C/man3/fmtmsg.3:312 build/C/man3/fopen.3:354
305 #: build/C/man3/fopencookie.3:442 build/C/man3/fpurge.3:85
306 #: build/C/man3/fputwc.3:89 build/C/man3/fread.3:111 build/C/man3/fseek.3:173
307 #: build/C/man3/fseeko.3:95 build/C/man3/getline.3:178 build/C/man3/gets.3:189
308 #: build/C/man3/getw.3:92 build/C/man2/link.2:197 build/C/man2/llseek.2:90
309 #: build/C/man2/lseek.2:252 build/C/man3/lseek64.3:167
310 #: build/C/man2/open.2:1022 build/C/man3/perror.3:144 build/C/man2/pipe.2:197
311 #: build/C/man3/popen.3:211 build/C/man3/printf.3:1090 build/C/man3/puts.3:124
312 #: build/C/man2/read.2:200 build/C/man2/readlink.2:222
313 #: build/C/man2/readv.2:288 build/C/man3/remove.3:92 build/C/man2/rename.2:254
314 #: build/C/man2/rmdir.2:141 build/C/man3/scanf.3:722 build/C/man3/setbuf.3:208
315 #: build/C/man3/stdin.3:160 build/C/man3/stdio.3:257
316 #: build/C/man3/stdio_ext.3:154 build/C/man2/symlink.2:176
317 #: build/C/man7/symlink.7:489 build/C/man3/tempnam.3:173
318 #: build/C/man3/tmpfile.3:103 build/C/man3/tmpnam.3:168
319 #: build/C/man2/unlink.2:161 build/C/man3/unlocked_stdio.3:139
320 #: build/C/man3/wprintf.3:260 build/C/man2/write.2:223
321 #, no-wrap
322 msgid "COLOPHON"
323 msgstr "この文書について"
324
325 #. type: Plain text
326 #: build/C/man3/asprintf.3:78 build/C/man3/ctermid.3:86
327 #: build/C/man3/dprintf.3:104 build/C/man3/fclose.3:115
328 #: build/C/man3/fcloseall.3:75 build/C/man3/ferror.3:134
329 #: build/C/man3/fflush.3:128 build/C/man3/fgetwc.3:99
330 #: build/C/man3/flockfile.3:152 build/C/man3/fmemopen.3:351
331 #: build/C/man3/fmtmsg.3:319 build/C/man3/fopen.3:361
332 #: build/C/man3/fopencookie.3:449 build/C/man3/fpurge.3:92
333 #: build/C/man3/fputwc.3:96 build/C/man3/fread.3:118 build/C/man3/fseek.3:180
334 #: build/C/man3/fseeko.3:102 build/C/man3/getline.3:185
335 #: build/C/man3/gets.3:196 build/C/man3/getw.3:99 build/C/man2/link.2:204
336 #: build/C/man2/llseek.2:97 build/C/man2/lseek.2:259
337 #: build/C/man3/lseek64.3:174 build/C/man2/open.2:1029
338 #: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:218
339 #: build/C/man3/printf.3:1097 build/C/man3/puts.3:131 build/C/man2/read.2:207
340 #: build/C/man2/readlink.2:229 build/C/man2/readv.2:295
341 #: build/C/man3/remove.3:99 build/C/man2/rename.2:261 build/C/man2/rmdir.2:148
342 #: build/C/man3/scanf.3:729 build/C/man3/setbuf.3:215 build/C/man3/stdin.3:167
343 #: build/C/man3/stdio.3:264 build/C/man3/stdio_ext.3:161
344 #: build/C/man2/symlink.2:183 build/C/man7/symlink.7:496
345 #: build/C/man3/tempnam.3:180 build/C/man3/tmpfile.3:110
346 #: build/C/man3/tmpnam.3:175 build/C/man2/unlink.2:168
347 #: build/C/man3/unlocked_stdio.3:146 build/C/man3/wprintf.3:267
348 #: build/C/man2/write.2:230
349 #, fuzzy
350 #| msgid ""
351 #| "This page is part of release 3.53 of the Linux I<man-pages> project.  A "
352 #| "description of the project, and information about reporting bugs, can be "
353 #| "found at \\%http://www.kernel.org/doc/man-pages/."
354 msgid ""
355 "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
356 "description of the project, and information about reporting bugs, can be "
357 "found at \\%http://www.kernel.org/doc/man-pages/."
358 msgstr ""
359 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.53 の一部\n"
360 "である。プロジェクトの説明とバグ報告に関する情報は\n"
361 "http://www.kernel.org/doc/man-pages/ に書かれている。"
362
363 #. type: TH
364 #: build/C/man3/ctermid.3:26
365 #, no-wrap
366 msgid "CTERMID"
367 msgstr "CTERMID"
368
369 #. type: TH
370 #: build/C/man3/ctermid.3:26
371 #, no-wrap
372 msgid "2013-07-04"
373 msgstr "2013-07-04"
374
375 #. type: Plain text
376 #: build/C/man3/ctermid.3:29
377 msgid "ctermid - get controlling terminal name"
378 msgstr "ctermid - 制御端末名の取得"
379
380 #. type: Plain text
381 #: build/C/man3/ctermid.3:34 build/C/man3/fgetwc.3:24
382 #: build/C/man3/flockfile.3:31 build/C/man3/fmemopen.3:16
383 #: build/C/man3/fopen.3:50 build/C/man3/fputwc.3:22 build/C/man3/fread.3:51
384 #: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:33
385 #: build/C/man3/getw.3:31 build/C/man3/popen.3:46 build/C/man3/puts.3:32
386 #: build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54 build/C/man3/stdin.3:19
387 #: build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
388 #: build/C/man3/tmpnam.3:33 build/C/man3/unlocked_stdio.3:32
389 #, no-wrap
390 msgid "B<#include E<lt>stdio.hE<gt>>\n"
391 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
392
393 #. type: Plain text
394 #: build/C/man3/ctermid.3:36
395 #, no-wrap
396 msgid "B<char *ctermid(char *>I<s>B<);>\n"
397 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
398
399 #. type: Plain text
400 #: build/C/man3/ctermid.3:41 build/C/man3/dprintf.3:39
401 #: build/C/man3/ferror.3:61 build/C/man3/flockfile.3:42
402 #: build/C/man3/fmemopen.3:29 build/C/man3/fopen.3:61
403 #: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man3/perror.3:50
404 #: build/C/man3/popen.3:55 build/C/man3/printf.3:63 build/C/man2/readlink.2:54
405 #: build/C/man2/readv.2:53 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
406 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:38
407 #: build/C/man3/unlocked_stdio.3:68 build/C/man3/wprintf.3:39
408 msgid ""
409 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
410 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
411
412 #.  From <unistd.h>: _XOPEN_SOURCE
413 #. type: Plain text
414 #: build/C/man3/ctermid.3:46
415 msgid ""
416 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
417 msgstr ""
418 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
419
420 #. type: Plain text
421 #: build/C/man3/ctermid.3:59
422 msgid ""
423 "B<ctermid>()  returns a string which is the pathname for the current "
424 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
425 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
426 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
427 "the returned pathname."
428 msgstr ""
429 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
430 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
431 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
432 "ス名の最大文字数である。"
433
434 #. type: Plain text
435 #: build/C/man3/ctermid.3:61
436 msgid "The pointer to the pathname."
437 msgstr "パス名へのポインタ。"
438
439 #. type: SH
440 #: build/C/man3/ctermid.3:61 build/C/man3/fcloseall.3:55
441 #: build/C/man3/ferror.3:106 build/C/man3/fflush.3:93
442 #: build/C/man3/flockfile.3:127 build/C/man3/fmtmsg.3:225
443 #: build/C/man3/lseek64.3:159 build/C/man3/stdio_ext.3:132
444 #: build/C/man3/tmpnam.3:77
445 #, no-wrap
446 msgid "ATTRIBUTES"
447 msgstr "属性"
448
449 #. type: SS
450 #: build/C/man3/ctermid.3:62 build/C/man3/fcloseall.3:56
451 #: build/C/man3/ferror.3:107 build/C/man3/fflush.3:94
452 #: build/C/man3/flockfile.3:128 build/C/man3/fmtmsg.3:226
453 #: build/C/man3/lseek64.3:160 build/C/man3/stdio_ext.3:133
454 #: build/C/man3/tmpnam.3:78
455 #, no-wrap
456 msgid "Multithreading (see pthreads(7))"
457 msgstr "マルチスレッディング (pthreads(7) 参照)"
458
459 #. type: Plain text
460 #: build/C/man3/ctermid.3:67
461 msgid ""
462 "The B<ctermid>()  function is thread-safe with exceptions.  It is not thread-"
463 "safe if called with a NULL parameter."
464 msgstr ""
465 "B<ctermid>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
466 "れた場合はスレッドセーフではない。"
467
468 #. type: Plain text
469 #: build/C/man3/ctermid.3:69
470 msgid "Svr4, POSIX.1-2001."
471 msgstr "SVr4, POSIX.1-2001."
472
473 #. type: SH
474 #: build/C/man3/ctermid.3:69 build/C/man3/fmemopen.3:213
475 #: build/C/man3/fopen.3:331 build/C/man3/gets.3:152 build/C/man3/getw.3:82
476 #: build/C/man2/link.2:181 build/C/man2/open.2:989 build/C/man3/popen.3:178
477 #: build/C/man3/printf.3:930 build/C/man3/puts.3:105 build/C/man2/readv.2:258
478 #: build/C/man3/remove.3:78 build/C/man2/rename.2:234 build/C/man2/rmdir.2:129
479 #: build/C/man3/scanf.3:646 build/C/man3/setbuf.3:170
480 #: build/C/man3/tempnam.3:158 build/C/man3/tmpnam.3:156
481 #: build/C/man2/unlink.2:145
482 #, no-wrap
483 msgid "BUGS"
484 msgstr "バグ"
485
486 #. type: Plain text
487 #: build/C/man3/ctermid.3:73
488 msgid ""
489 "The path returned may not uniquely identify the controlling terminal; it "
490 "may, for example, be I</dev/tty>."
491 msgstr ""
492 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
493 "ように。"
494
495 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
496 #.  if ctermid() was given an argument; fixed in 2.4.
497 #. type: Plain text
498 #: build/C/man3/ctermid.3:77
499 msgid "It is not assured that the program can open the terminal."
500 msgstr "プログラムが端末をオープンできることは保証されていない。"
501
502 #. type: Plain text
503 #: build/C/man3/ctermid.3:79
504 msgid "B<ttyname>(3)"
505 msgstr "B<ttyname>(3)"
506
507 #. type: TH
508 #: build/C/man3/dprintf.3:26
509 #, no-wrap
510 msgid "DPRINTF"
511 msgstr "DPRINTF"
512
513 #. type: TH
514 #: build/C/man3/dprintf.3:26
515 #, no-wrap
516 msgid "2010-09-15"
517 msgstr "2010-09-15"
518
519 #. type: Plain text
520 #: build/C/man3/dprintf.3:29
521 msgid "dprintf, vdprintf - print to a file descriptor"
522 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
523
524 #. type: Plain text
525 #: build/C/man3/dprintf.3:33
526 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
527 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
528
529 #. type: Plain text
530 #: build/C/man3/dprintf.3:35
531 msgid ""
532 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
533 msgstr ""
534 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
535
536 #. type: Plain text
537 #: build/C/man3/dprintf.3:43
538 msgid "B<dprintf>(), B<vdprintf>():"
539 msgstr "B<dprintf>(), B<vdprintf>():"
540
541 #. type: TP
542 #: build/C/man3/dprintf.3:46 build/C/man3/fmemopen.3:37
543 #: build/C/man3/getline.3:49
544 #, no-wrap
545 msgid "Since glibc 2.10:"
546 msgstr "glibc 2.10 以降:"
547
548 #. type: Plain text
549 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
550 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
551 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
552
553 #. type: TP
554 #: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
555 #: build/C/man3/getline.3:52
556 #, no-wrap
557 msgid "Before glibc 2.10:"
558 msgstr "glibc 2.10 より前:"
559
560 #. type: Plain text
561 #: build/C/man3/dprintf.3:52 build/C/man3/fmemopen.3:43
562 #: build/C/man3/getline.3:55 build/C/man3/unlocked_stdio.3:104
563 msgid "_GNU_SOURCE"
564 msgstr "_GNU_SOURCE"
565
566 #. type: Plain text
567 #: build/C/man3/dprintf.3:69
568 msgid ""
569 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
570 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
571 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
572 msgstr ""
573 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
574 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
575 "れらは I<stdio> ストリームではなくファイルディスクリプタ I<fd> に対して出力を"
576 "行う。"
577
578 #.  .SH NOTES
579 #.  These functions are GNU extensions, not in C or POSIX.
580 #.  Clearly, the names were badly chosen.
581 #.  Many systems (like MacOS) have incompatible functions called
582 #.  .BR dprintf (),
583 #.  usually some debugging version of
584 #.  .BR printf (3),
585 #.  perhaps with a prototype like
586 #.  .BI "void dprintf(int level, const char *" format ", ...);"
587 #.  where the first argument is a debugging level (and output is to
588 #.  .IR stderr ).
589 #.  Moreover,
590 #.  .BR dprintf ()
591 #.  (or
592 #.  .BR DPRINTF )
593 #.  is also a popular macro name for a debugging printf.
594 #.  So, probably, it is better to avoid this function in programs
595 #.  intended to be portable.
596 #.  A better name would have been
597 #.  .BR fdprintf ().
598 #. type: Plain text
599 #: build/C/man3/dprintf.3:95
600 msgid ""
601 "These functions are GNU extensions that are nowadays specified in "
602 "POSIX.1-2008."
603 msgstr ""
604 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
605 "る。"
606
607 #. type: Plain text
608 #: build/C/man3/dprintf.3:97
609 msgid "B<printf>(3)"
610 msgstr "B<printf>(3)"
611
612 #. type: TH
613 #: build/C/man3/fclose.3:44
614 #, no-wrap
615 msgid "FCLOSE"
616 msgstr "FCLOSE"
617
618 #. type: TH
619 #: build/C/man3/fclose.3:44
620 #, no-wrap
621 msgid "2009-02-23"
622 msgstr "2009-02-23"
623
624 #. type: Plain text
625 #: build/C/man3/fclose.3:47
626 msgid "fclose - close a stream"
627 msgstr "fclose - ストリームを閉じる"
628
629 #. type: Plain text
630 #: build/C/man3/fclose.3:51
631 msgid "B<int fclose(FILE *>I<fp>B<);>"
632 msgstr "B<int fclose(FILE *>I<fp>B<);>"
633
634 #. type: Plain text
635 #: build/C/man3/fclose.3:59
636 msgid ""
637 "The B<fclose>()  function flushes the stream pointed to by I<fp> (writing "
638 "any buffered output data using B<fflush>(3))  and closes the underlying file "
639 "descriptor."
640 msgstr ""
641 "B<fclose>() 関数は、 I<fp> が指すストリームを (バッファリングされて\n"
642 "いた全ての出力データを B<fflush>(3) を用いて書き込んで) フラッシュし、\n"
643 "対応するファイルディスクリプタをクローズする。"
644
645 #. type: Plain text
646 #: build/C/man3/fclose.3:70
647 msgid ""
648 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
649 "I<errno> is set to indicate the error.  In either case any further access "
650 "(including another call to B<fclose>())  to the stream results in undefined "
651 "behavior."
652 msgstr ""
653 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
654 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
655 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
656 "は 未定義の動作を生じさせる。"
657
658 #. type: SH
659 #: build/C/man3/fclose.3:70 build/C/man3/ferror.3:96 build/C/man3/fflush.3:81
660 #: build/C/man3/fgetwc.3:64 build/C/man3/flockfile.3:125
661 #: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:65 build/C/man3/fputwc.3:63
662 #: build/C/man3/fseek.3:136 build/C/man3/fseeko.3:84
663 #: build/C/man3/getline.3:125 build/C/man2/link.2:57 build/C/man2/llseek.2:69
664 #: build/C/man2/lseek.2:170 build/C/man2/open.2:576 build/C/man2/pipe.2:97
665 #: build/C/man3/popen.3:146 build/C/man2/read.2:95 build/C/man2/readlink.2:85
666 #: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:96
667 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:547 build/C/man2/symlink.2:89
668 #: build/C/man3/tempnam.3:94 build/C/man3/tmpfile.3:56
669 #: build/C/man3/tmpnam.3:75 build/C/man2/unlink.2:60 build/C/man2/write.2:107
670 #, no-wrap
671 msgid "ERRORS"
672 msgstr "エラー"
673
674 #. type: TP
675 #: build/C/man3/fclose.3:71 build/C/man3/fflush.3:82 build/C/man3/fpurge.3:66
676 #: build/C/man3/fseek.3:137 build/C/man2/llseek.2:70 build/C/man2/lseek.2:171
677 #: build/C/man2/read.2:114 build/C/man3/scanf.3:553 build/C/man2/write.2:126
678 #, no-wrap
679 msgid "B<EBADF>"
680 msgstr "B<EBADF>"
681
682 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
683 #.   low-level file operations on the same stream. If you do get this error,
684 #.   you must have closed the stream's low-level file descriptor using
685 #.   something like close(fileno(fp)).
686 #. type: Plain text
687 #: build/C/man3/fclose.3:80
688 msgid "The file descriptor underlying I<fp> is not valid."
689 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
690
691 #. type: Plain text
692 #: build/C/man3/fclose.3:90
693 msgid ""
694 "The B<fclose>()  function may also fail and set I<errno> for any of the "
695 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
696 msgstr ""
697 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
698 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
699 "された値に設定される。"
700
701 #. type: Plain text
702 #: build/C/man3/fclose.3:92 build/C/man3/fseek.3:170 build/C/man3/puts.3:105
703 msgid "C89, C99."
704 msgstr "C89, C99."
705
706 #. type: SH
707 #: build/C/man3/fclose.3:92 build/C/man3/fflush.3:104 build/C/man3/fgetwc.3:72
708 #: build/C/man3/fmemopen.3:207 build/C/man3/fmtmsg.3:252
709 #: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:78 build/C/man3/fputwc.3:70
710 #: build/C/man3/fseeko.3:89 build/C/man2/link.2:143 build/C/man2/llseek.2:84
711 #: build/C/man2/lseek.2:210 build/C/man2/open.2:754 build/C/man3/perror.3:124
712 #: build/C/man3/printf.3:868 build/C/man2/read.2:175
713 #: build/C/man2/readlink.2:130 build/C/man2/readv.2:226
714 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:608 build/C/man3/stdin.3:122
715 #: build/C/man2/symlink.2:155 build/C/man3/tempnam.3:103
716 #: build/C/man3/tmpfile.3:80 build/C/man3/tmpnam.3:92
717 #: build/C/man3/wprintf.3:215 build/C/man2/write.2:194
718 #, no-wrap
719 msgid "NOTES"
720 msgstr "注意"
721
722 #. type: Plain text
723 #: build/C/man3/fclose.3:102
724 msgid ""
725 "Note that B<fclose>()  only flushes the user-space buffers provided by the C "
726 "library.  To ensure that the data is physically stored on disk the kernel "
727 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
728 msgstr ""
729 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
730 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
731 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
732 "ればならない。"
733
734 #. type: Plain text
735 #: build/C/man3/fclose.3:108
736 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
737 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
738
739 #. type: TH
740 #: build/C/man3/fcloseall.3:25
741 #, no-wrap
742 msgid "FCLOSEALL"
743 msgstr "FCLOSEALL"
744
745 #. type: Plain text
746 #: build/C/man3/fcloseall.3:28
747 msgid "fcloseall - close all open streams"
748 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
749
750 #. type: Plain text
751 #: build/C/man3/fcloseall.3:32 build/C/man3/fopencookie.3:33
752 #, no-wrap
753 msgid ""
754 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
755 "B<#include E<lt>stdio.hE<gt>>\n"
756 msgstr ""
757 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
758 "B<#include E<lt>stdio.hE<gt>>\n"
759
760 #. type: Plain text
761 #: build/C/man3/fcloseall.3:34
762 #, no-wrap
763 msgid "B<int fcloseall(void);>\n"
764 msgstr "B<int fcloseall(void);>\n"
765
766 #. type: Plain text
767 #: build/C/man3/fcloseall.3:43
768 msgid ""
769 "The B<fcloseall>()  function closes all of the calling process's open "
770 "streams.  Buffered output for each stream is written before it is closed (as "
771 "for B<fflush>(3)); buffered input is discarded."
772 msgstr ""
773 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
774 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
775 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
776 "れる。"
777
778 #. type: Plain text
779 #: build/C/man3/fcloseall.3:50
780 msgid ""
781 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
782 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
783
784 #. type: Plain text
785 #: build/C/man3/fcloseall.3:55
786 msgid ""
787 "This function returns 0 if all files were successfully closed; on error, "
788 "B<EOF> is returned."
789 msgstr ""
790 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
791 "B<EOF> を返す。"
792
793 #. type: Plain text
794 #: build/C/man3/fcloseall.3:60
795 msgid ""
796 "The B<fcloseall>()  function does not lock the streams, so it is not thread-"
797 "safe."
798 msgstr ""
799 "B<fcloseall>() 関数はストリームのロックを行わない。そのため、スレッドセーフで"
800 "はない。"
801
802 #. type: Plain text
803 #: build/C/man3/fcloseall.3:62
804 msgid "This function is a GNU extension."
805 msgstr "この関数は GNU 拡張である。"
806
807 #. type: Plain text
808 #: build/C/man3/fcloseall.3:68
809 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
810 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
811
812 #. type: TH
813 #: build/C/man3/ferror.3:44
814 #, no-wrap
815 msgid "FERROR"
816 msgstr "FERROR"
817
818 #. type: Plain text
819 #: build/C/man3/ferror.3:47
820 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
821 msgstr ""
822 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
823
824 #. type: Plain text
825 #: build/C/man3/ferror.3:51
826 msgid "B<void clearerr(FILE *>I<stream>B<);>"
827 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
828
829 #. type: Plain text
830 #: build/C/man3/ferror.3:53
831 msgid "B<int feof(FILE *>I<stream>B<);>"
832 msgstr "B<int feof(FILE *>I<stream>B<);>"
833
834 #. type: Plain text
835 #: build/C/man3/ferror.3:55
836 msgid "B<int ferror(FILE *>I<stream>B<);>"
837 msgstr "B<int ferror(FILE *>I<stream>B<);>"
838
839 #. type: Plain text
840 #: build/C/man3/ferror.3:57
841 msgid "B<int fileno(FILE *>I<stream>B<);>"
842 msgstr "B<int fileno(FILE *>I<stream>B<);>"
843
844 #. type: Plain text
845 #: build/C/man3/ferror.3:65
846 msgid ""
847 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
848 msgstr ""
849 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
850
851 #. type: Plain text
852 #: build/C/man3/ferror.3:70
853 msgid ""
854 "The function B<clearerr>()  clears the end-of-file and error indicators for "
855 "the stream pointed to by I<stream>."
856 msgstr ""
857 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
858 "子とエラー指示子をクリアする。"
859
860 #. type: Plain text
861 #: build/C/man3/ferror.3:78
862 msgid ""
863 "The function B<feof>()  tests the end-of-file indicator for the stream "
864 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
865 "indicator can be cleared only by the function B<clearerr>()."
866 msgstr ""
867 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
868 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
869 "よってのみクリアすることができる。"
870
871 #. type: Plain text
872 #: build/C/man3/ferror.3:87
873 msgid ""
874 "The function B<ferror>()  tests the error indicator for the stream pointed "
875 "to by I<stream>, returning nonzero if it is set.  The error indicator can be "
876 "reset only by the B<clearerr>()  function."
877 msgstr ""
878 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
879 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
880 "()  によってのみリセットすることができる。"
881
882 #. type: Plain text
883 #: build/C/man3/ferror.3:93
884 msgid ""
885 "The function B<fileno>()  examines the argument I<stream> and returns its "
886 "integer descriptor."
887 msgstr ""
888 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
889
890 #. type: Plain text
891 #: build/C/man3/ferror.3:96 build/C/man3/fgetwc.3:55 build/C/man3/fputwc.3:54
892 #: build/C/man3/fread.3:83 build/C/man3/gets.3:111 build/C/man3/puts.3:84
893 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
894 msgstr ""
895 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
896
897 #. type: Plain text
898 #: build/C/man3/ferror.3:106
899 msgid ""
900 "These functions should not fail and do not set the external variable "
901 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
902 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
903 msgstr ""
904 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
905 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
906 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
907
908 #. type: Plain text
909 #: build/C/man3/ferror.3:115
910 msgid ""
911 "The B<clearerr>(), B<feof>(), B<ferror>(), and B<fileno>()  functions are "
912 "thread-safe."
913 msgstr ""
914 "関数 B<clearerr>(), B<feof>(), B<ferror>(), B<fileno>() はスレッドセーフであ"
915 "る。"
916
917 #. type: Plain text
918 #: build/C/man3/ferror.3:122
919 msgid ""
920 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
921 "C99."
922 msgstr ""
923 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
924
925 #. type: Plain text
926 #: build/C/man3/ferror.3:127
927 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
928 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
929
930 #. type: TH
931 #: build/C/man3/fflush.3:45
932 #, no-wrap
933 msgid "FFLUSH"
934 msgstr "FFLUSH"
935
936 #. type: TH
937 #: build/C/man3/fflush.3:45
938 #, no-wrap
939 msgid "2013-07-15"
940 msgstr "2013-07-15"
941
942 #. type: Plain text
943 #: build/C/man3/fflush.3:48
944 msgid "fflush - flush a stream"
945 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
946
947 #. type: Plain text
948 #: build/C/man3/fflush.3:52
949 msgid "B<int fflush(FILE *>I<stream>B<);>"
950 msgstr "B<int fflush(FILE *>I<stream>B<);>"
951
952 #. type: Plain text
953 #: build/C/man3/fflush.3:63
954 msgid ""
955 "For output streams, B<fflush>()  forces a write of all user-space buffered "
956 "data for the given output or update I<stream> via the stream's underlying "
957 "write function.  For input streams, B<fflush>()  discards any buffered data "
958 "that has been fetched from the underlying file, but has not been consumed by "
959 "the application.  The open status of the stream is unaffected."
960 msgstr ""
961 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
962 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
963 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
964 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
965 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
966 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
967 "い。"
968
969 #. type: Plain text
970 #: build/C/man3/fflush.3:71
971 msgid ""
972 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
973 "streams."
974 msgstr ""
975 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
976 "トリームをフラッシュする。"
977
978 #. type: Plain text
979 #: build/C/man3/fflush.3:74
980 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
981 msgstr ""
982 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
983 "と。"
984
985 #. type: Plain text
986 #: build/C/man3/fflush.3:81
987 msgid ""
988 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
989 "I<errno> is set to indicate the error."
990 msgstr ""
991 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
992 "ラーに対応した値に設定される。"
993
994 #. type: Plain text
995 #: build/C/man3/fflush.3:86
996 msgid "I<Stream> is not an open stream, or is not open for writing."
997 msgstr ""
998 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
999 "ない。"
1000
1001 #. type: Plain text
1002 #: build/C/man3/fflush.3:93
1003 msgid ""
1004 "The function B<fflush>()  may also fail and set I<errno> for any of the "
1005 "errors specified for B<write>(2)."
1006 msgstr ""
1007 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
1008 "ある。 この場合 I<errno> もその値に設定される。"
1009
1010 #. type: Plain text
1011 #: build/C/man3/fflush.3:98
1012 msgid "The B<fflush>()  function is thread-safe."
1013 msgstr "関数 B<fflush>() はスレッドセーフである。"
1014
1015 #. type: Plain text
1016 #: build/C/man3/fflush.3:100
1017 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
1018 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
1019
1020 #.  Verified on: Solaris 8.
1021 #. type: Plain text
1022 #: build/C/man3/fflush.3:104
1023 msgid ""
1024 "The standards do not specify the behavior for input streams.  Most other "
1025 "implementations behave the same as Linux."
1026 msgstr ""
1027 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
1028 "は Linux と同じ動作をする。"
1029
1030 #. type: Plain text
1031 #: build/C/man3/fflush.3:113
1032 msgid ""
1033 "Note that B<fflush>()  only flushes the user-space buffers provided by the C "
1034 "library.  To ensure that the data is physically stored on disk the kernel "
1035 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
1036 msgstr ""
1037 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
1038 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
1039 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
1040 "B<fsync>(2)  を用いる。"
1041
1042 #. type: Plain text
1043 #: build/C/man3/fflush.3:121
1044 msgid ""
1045 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1046 "(3), B<unlocked_stdio>(3)"
1047 msgstr ""
1048 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1049 "(3), B<unlocked_stdio>(3)"
1050
1051 #. type: TH
1052 #: build/C/man3/fgetwc.3:18
1053 #, no-wrap
1054 msgid "FGETWC"
1055 msgstr "FGETWC"
1056
1057 #. type: TH
1058 #: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16 build/C/man3/getline.3:26
1059 #: build/C/man3/popen.3:40 build/C/man3/tempnam.3:25
1060 #, no-wrap
1061 msgid "2013-04-19"
1062 msgstr "2013-04-19"
1063
1064 #. type: Plain text
1065 #: build/C/man3/fgetwc.3:21
1066 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1067 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1068
1069 #. type: Plain text
1070 #: build/C/man3/fgetwc.3:26 build/C/man3/fmemopen.3:22
1071 #: build/C/man3/fputwc.3:24 build/C/man3/unlocked_stdio.3:54
1072 #, no-wrap
1073 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1074 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1075
1076 #. type: Plain text
1077 #: build/C/man3/fgetwc.3:29
1078 #, no-wrap
1079 msgid ""
1080 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1081 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1082 msgstr ""
1083 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1084 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1085
1086 #. type: Plain text
1087 #: build/C/man3/fgetwc.3:44
1088 msgid ""
1089 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1090 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1091 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1092 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1093 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1094 msgstr ""
1095 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1096 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1097 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1098 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1099 "し、 B<WEOF> を返す。"
1100
1101 #. type: Plain text
1102 #: build/C/man3/fgetwc.3:52
1103 msgid ""
1104 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1105 "may be implemented as a macro, and may evaluate its argument more than "
1106 "once.  There is no reason ever to use it."
1107 msgstr ""
1108 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1109 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1110 "ない。この関数を使う理由はもはや存在しない。"
1111
1112 #. type: Plain text
1113 #: build/C/man3/fgetwc.3:64
1114 msgid ""
1115 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1116 "or B<WEOF>.  In the event of an error, I<errno> is set to indicate the cause."
1117 msgstr ""
1118 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。 エ"
1119 "ラーが起こった場合、 I<errno> にエラーの原因を示す値が設定される。"
1120
1121 #. type: Plain text
1122 #: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65
1123 msgid "Apart from the usual ones, there is"
1124 msgstr "通常のエラーに加えて、以下のエラーがある:"
1125
1126 #. type: TP
1127 #: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65 build/C/man3/scanf.3:558
1128 #, no-wrap
1129 msgid "B<EILSEQ>"
1130 msgstr "B<EILSEQ>"
1131
1132 #. type: Plain text
1133 #: build/C/man3/fgetwc.3:70
1134 msgid ""
1135 "The data obtained from the input stream does not form a valid character."
1136 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1137
1138 #. type: Plain text
1139 #: build/C/man3/fgetwc.3:72 build/C/man3/fputwc.3:70
1140 msgid "C99, POSIX.1-2001."
1141 msgstr "C99, POSIX.1-2001."
1142
1143 #. type: Plain text
1144 #: build/C/man3/fgetwc.3:79
1145 msgid ""
1146 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1147 "current locale."
1148 msgstr ""
1149 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1150
1151 #. type: Plain text
1152 #: build/C/man3/fgetwc.3:87
1153 msgid ""
1154 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1155 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1156 "sequence from the stream and then convert it to a wide character."
1157 msgstr ""
1158 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1159 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1160 "換すると期待することは適切である。"
1161
1162 #. type: Plain text
1163 #: build/C/man3/fgetwc.3:92
1164 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1165 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1166
1167 #. type: TH
1168 #: build/C/man3/flockfile.3:25
1169 #, no-wrap
1170 msgid "FLOCKFILE"
1171 msgstr "FLOCKFILE"
1172
1173 #. type: TH
1174 #: build/C/man3/flockfile.3:25
1175 #, no-wrap
1176 msgid "2013-07-23"
1177 msgstr "2013-07-23"
1178
1179 #. type: Plain text
1180 #: build/C/man3/flockfile.3:28
1181 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1182 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1183
1184 #. type: Plain text
1185 #: build/C/man3/flockfile.3:33
1186 #, no-wrap
1187 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1188 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1189
1190 #. type: Plain text
1191 #: build/C/man3/flockfile.3:35
1192 #, no-wrap
1193 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1194 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1195
1196 #. type: Plain text
1197 #: build/C/man3/flockfile.3:37
1198 #, no-wrap
1199 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1200 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1201
1202 #. type: Plain text
1203 #: build/C/man3/flockfile.3:46 build/C/man3/wprintf.3:43
1204 msgid "All functions shown above:"
1205 msgstr "上記の全ての関数:"
1206
1207 #. type: Plain text
1208 #: build/C/man3/flockfile.3:49
1209 msgid ""
1210 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1211 "|| _POSIX_SOURCE"
1212 msgstr ""
1213 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1214 "|| _POSIX_SOURCE"
1215
1216 #. type: Plain text
1217 #: build/C/man3/flockfile.3:63
1218 msgid ""
1219 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1220 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1221 "thread.  For each library call, these functions wait until the I<FILE> "
1222 "object is no longer locked by a different thread, then lock it, do the "
1223 "requested I/O, and unlock the object again."
1224 msgstr ""
1225 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1226 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1227 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1228 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1229 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1230 "オブジェクトのロックを解除する。"
1231
1232 #. type: Plain text
1233 #: build/C/man3/flockfile.3:69
1234 msgid ""
1235 "(Note: this locking has nothing to do with the file locking done by "
1236 "functions like B<flock>(2)  and B<lockf>(3).)"
1237 msgstr ""
1238 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1239 "全く無関係である。)"
1240
1241 #. type: Plain text
1242 #: build/C/man3/flockfile.3:77
1243 msgid ""
1244 "All this is invisible to the C-programmer, but there may be two reasons to "
1245 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1246 "actions by one thread belongs together, and should not be interrupted by the "
1247 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1248 "should be avoided for greater efficiency."
1249 msgstr ""
1250 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1251 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1252 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1253 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1254 "避ける必要があるということであろう。"
1255
1256 #. type: Plain text
1257 #: build/C/man3/flockfile.3:94
1258 msgid ""
1259 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1260 "series of I/O actions, then unlock.  This prevents other threads from coming "
1261 "in between.  If the reason for doing this was to achieve greater efficiency, "
1262 "one does the I/O with the nonlocking versions of the stdio functions: with "
1263 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1264 "B<putc>(3)."
1265 msgstr ""
1266 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1267 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1268 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1269 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1270 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1271 "B<putc_unlocked>(3)  を使用する。"
1272
1273 #. type: Plain text
1274 #: build/C/man3/flockfile.3:105
1275 msgid ""
1276 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1277 "by a different thread, then makes the current thread owner of "
1278 "I<*filehandle>, and increments the lockcount."
1279 msgstr ""
1280 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1281 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1282 "ロック数を加算する。"
1283
1284 #. type: Plain text
1285 #: build/C/man3/flockfile.3:109
1286 msgid "The B<funlockfile>()  function decrements the lock count."
1287 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1288
1289 #. type: Plain text
1290 #: build/C/man3/flockfile.3:120
1291 msgid ""
1292 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1293 "It does nothing in case some other thread owns I<*filehandle>, and it "
1294 "obtains ownership and increments the lockcount otherwise."
1295 msgstr ""
1296 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1297 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1298 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1299
1300 #. type: Plain text
1301 #: build/C/man3/flockfile.3:125
1302 msgid ""
1303 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1304 "obtained), and nonzero for failure."
1305 msgstr ""
1306 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1307 "の値を返す。"
1308
1309 #. type: Plain text
1310 #: build/C/man3/flockfile.3:127
1311 msgid "None."
1312 msgstr "なし。"
1313
1314 #. type: Plain text
1315 #: build/C/man3/flockfile.3:135
1316 msgid ""
1317 "The B<flockfile>(), B<ftrylockfile>(), and B<funlockfile>()  functions are "
1318 "thread-safe."
1319 msgstr ""
1320 "関数 B<flockfile>(), B<ftrylockfile>(), B<funlockfile>() はスレッドセーフであ"
1321 "る。"
1322
1323 #. type: Plain text
1324 #: build/C/man3/flockfile.3:137 build/C/man3/popen.3:174
1325 msgid "POSIX.1-2001."
1326 msgstr "POSIX.1-2001."
1327
1328 #. type: SH
1329 #: build/C/man3/flockfile.3:137
1330 #, no-wrap
1331 msgid "AVAILABILITY"
1332 msgstr "可用性"
1333
1334 #. type: Plain text
1335 #: build/C/man3/flockfile.3:143
1336 msgid ""
1337 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1338 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1339 msgstr ""
1340 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1341 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1342
1343 #. type: Plain text
1344 #: build/C/man3/flockfile.3:145
1345 msgid "B<unlocked_stdio>(3)"
1346 msgstr "B<unlocked_stdio>(3)"
1347
1348 #. type: TH
1349 #: build/C/man3/fmemopen.3:10
1350 #, no-wrap
1351 msgid "FMEMOPEN"
1352 msgstr "FMEMOPEN"
1353
1354 #. type: TH
1355 #: build/C/man3/fmemopen.3:10
1356 #, no-wrap
1357 msgid "2012-04-28"
1358 msgstr "2012-04-28"
1359
1360 #. type: Plain text
1361 #: build/C/man3/fmemopen.3:13
1362 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1363 msgstr ""
1364 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1365 "する"
1366
1367 #. type: Plain text
1368 #: build/C/man3/fmemopen.3:18
1369 #, no-wrap
1370 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1371 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1372
1373 #. type: Plain text
1374 #: build/C/man3/fmemopen.3:20
1375 #, no-wrap
1376 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1377 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1378
1379 #. type: Plain text
1380 #: build/C/man3/fmemopen.3:24
1381 #, no-wrap
1382 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1383 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1384
1385 #. type: Plain text
1386 #: build/C/man3/fmemopen.3:34
1387 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1388 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1389
1390 #. type: Plain text
1391 #: build/C/man3/fmemopen.3:57
1392 msgid ""
1393 "The B<fmemopen>()  function opens a stream that permits the access specified "
1394 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1395 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1396 "long."
1397 msgstr ""
1398 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1399 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1400 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1401 "I<size> バイトの長さでなければならない。"
1402
1403 #. type: Plain text
1404 #: build/C/man3/fmemopen.3:77
1405 msgid ""
1406 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1407 "an append mode, then the initial file position is set to the location of the "
1408 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1409 "position is set to the start of the buffer.  Since glibc 2.9, the letter "
1410 "\\(aqb\\(aq may be specified as the second character in I<mode>.  This "
1411 "provides \"binary\" mode: writes don't implicitly add a terminating null "
1412 "byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the buffer (i."
1413 "e., the value specified by the I<size> argument), rather than the current "
1414 "string length."
1415 msgstr ""
1416 "引き数 I<mode> は B<fopen>(3) の場合と同じである。 I<mode> で追記モード\n"
1417 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の\n"
1418 "最初の NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。\n"
1419 "それ以外の場合は、ファイル位置の初期値はバッファの先頭になる。 \n"
1420 "glibc 2.9 以降では、文字 \\(aqb\\(aq を I<mode> の二番目の文字として指定\n"
1421 "することができる。 この文字は「バイナリ」モードを指定するものである。\n"
1422 "このモードでは、書き込み時に文字列終端のヌルバイトが黙って追加 される\n"
1423 "ことはない。また、 B<fseek>(3) B<SEEK_END> は、文字列の長さからの相対値\n"
1424 "ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1425
1426 #. type: Plain text
1427 #: build/C/man3/fmemopen.3:89
1428 msgid ""
1429 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1430 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1431 "there is space.  The caller should ensure that an extra byte is available in "
1432 "the buffer (and that I<size> counts that byte)  to allow for this."
1433 msgstr ""
1434 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1435 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1436 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1437 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1438
1439 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1440 #.  and
1441 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1442 #. type: Plain text
1443 #: build/C/man3/fmemopen.3:107
1444 msgid ""
1445 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1446 "(By default, such errors will be visible only when the I<stdio> buffer is "
1447 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1448 "detect errors at the time of an output operation.  Alternatively, the caller "
1449 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1450 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1451 msgstr ""
1452 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1453 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1454 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1455 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1456 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1457 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1458 "stdio に教える方法がある。)"
1459
1460 #. type: Plain text
1461 #: build/C/man3/fmemopen.3:115
1462 msgid ""
1463 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1464 "not cause read operations to return an end-of-file indication.  A read from "
1465 "the buffer will only indicate end-of-file when the file pointer advances "
1466 "I<size> bytes past the start of the buffer."
1467 msgstr ""
1468 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1469 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1470 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1471 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1472
1473 #. type: Plain text
1474 #: build/C/man3/fmemopen.3:130
1475 msgid ""
1476 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1477 "buffer I<size> bytes long.  This is useful for an application that wants to "
1478 "write data to a temporary buffer and then read it back again.  The buffer is "
1479 "automatically freed when the stream is closed.  Note that the caller has no "
1480 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1481 "see B<open_memstream>()  below)."
1482 msgstr ""
1483 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1484 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1485 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1486 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1487 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1488 "の B<open_memstream>()  も参照)。"
1489
1490 #. type: Plain text
1491 #: build/C/man3/fmemopen.3:141
1492 msgid ""
1493 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1494 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1495 "automatically grows as required.  After closing the stream, the caller "
1496 "should B<free>(3)  this buffer."
1497 msgstr ""
1498 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1499 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1500 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1501 "B<free>(3)  すべきである。"
1502
1503 #. type: Plain text
1504 #: build/C/man3/fmemopen.3:156
1505 msgid ""
1506 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1507 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1508 "respectively, a pointer to the buffer and the current size of the buffer.  "
1509 "These values remain valid only as long as the caller performs no further "
1510 "output on the stream.  If further output is performed, then the stream must "
1511 "again be flushed before trying to access these variables."
1512 msgstr ""
1513 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1514 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1515 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1516 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1517 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1518
1519 #. type: Plain text
1520 #: build/C/man3/fmemopen.3:162
1521 msgid ""
1522 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1523 "included in the size value stored at I<sizeloc>."
1524 msgstr ""
1525 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1526 "されるサイズには「含まれない」。"
1527
1528 #. type: Plain text
1529 #: build/C/man3/fmemopen.3:170
1530 msgid ""
1531 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1532 "(3).  Moving the file position past the end of the data already written "
1533 "fills the intervening space with zeros."
1534 msgstr ""
1535 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1536 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1537 "は 0 で埋められる。"
1538
1539 #. type: Plain text
1540 #: build/C/man3/fmemopen.3:176
1541 msgid ""
1542 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1543 "wide characters instead of bytes."
1544 msgstr ""
1545 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1546 "ド文字に対して操作を行う点が異なる。"
1547
1548 #. type: Plain text
1549 #: build/C/man3/fmemopen.3:188
1550 msgid ""
1551 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1552 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1553 "and I<errno> is set to indicate the error."
1554 msgstr ""
1555 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1556 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1557 "し、 I<errno> にエラーを示す値をセットする。"
1558
1559 #. type: SH
1560 #: build/C/man3/fmemopen.3:188 build/C/man3/fmtmsg.3:222
1561 #: build/C/man3/getline.3:135 build/C/man2/pipe.2:113 build/C/man2/readv.2:209
1562 #, no-wrap
1563 msgid "VERSIONS"
1564 msgstr "バージョン"
1565
1566 #. type: Plain text
1567 #: build/C/man3/fmemopen.3:195
1568 msgid ""
1569 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1570 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1571 msgstr ""
1572 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1573 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1574
1575 #. type: Plain text
1576 #: build/C/man3/fmemopen.3:199
1577 msgid ""
1578 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1579 "not widely available on other systems."
1580 msgstr ""
1581 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1582 "のシステムで広く利用可能である。"
1583
1584 #.  http://austingroupbugs.net/view.php?id=396
1585 #. type: Plain text
1586 #: build/C/man3/fmemopen.3:207
1587 msgid ""
1588 "POSIX.1-2008 specifies that \\(aqb\\(aq in I<mode> shall be ignored.  "
1589 "However, Technical Corrigendum 1 adjusts the standard to allow "
1590 "implementation-specific treatment for this case, thus permitting the glibc "
1591 "treatment of \\(aqb\\(aq."
1592 msgstr ""
1593 "POSIX.1-2008 では I<mode> の \\(aqb\\(aq は無視されるべきだと規定されて\n"
1594 "いる。一方、Technical Corrigendum (正誤表) 1 では、I<mode> の\n"
1595 "\\(aqb\\(aq が指定された場合の扱いは実装依存であることを許容するように\n"
1596 "標準規格が修正されており、glibc の \\(aqb\\(aq の扱いは許されている。"
1597
1598 #. type: Plain text
1599 #: build/C/man3/fmemopen.3:213
1600 msgid ""
1601 "There is no file descriptor associated with the file stream returned by "
1602 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1603 "returned stream)."
1604 msgstr ""
1605 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1606 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1607 "とになる)。"
1608
1609 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1610 #. type: Plain text
1611 #: build/C/man3/fmemopen.3:220
1612 msgid ""
1613 "In glibc before version 2.7, seeking past the end of a stream created by "
1614 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1615 "call fails, returning -1."
1616 msgstr ""
1617 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1618 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1619 "B<fseek>(3)  が失敗し -1 が返る。"
1620
1621 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=11216
1622 #. type: Plain text
1623 #: build/C/man3/fmemopen.3:231
1624 msgid ""
1625 "If I<size> is specified as zero, B<fmemopen>()  fails with the error "
1626 "B<EINVAL>.  It would be more consistent if this case successfully created a "
1627 "stream that then returned end of file on the first attempt at reading.  "
1628 "Furthermore, POSIX.1-2008 does not specify a failure for this case."
1629 msgstr ""
1630 "I<size> に 0 が指定された場合、 B<fmemopen>() はエラー B<EINVAL> で失敗\n"
1631 "する。この場合にはストリームの作成に成功して、最初の読み出しを行った際に\n"
1632 "EOF (end of file) が返される方が、ストリームの扱いの一貫性が増すだろう。\n"
1633 "また、 POSIX.1-2008 ではこの場合のエラーは規定されていない。"
1634
1635 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13152
1636 #. type: Plain text
1637 #: build/C/man3/fmemopen.3:239
1638 msgid ""
1639 "Specifying append mode (\"a\" or \"a+\") for B<fmemopen>()  sets the initial "
1640 "file position to the first null byte, but (if the file offset is reset to a "
1641 "location other than the end of the stream)  does not force subsequent writes "
1642 "to append at the end of the stream."
1643 msgstr ""
1644 "B<fmemopen>() に追記モード (\"a\" や \"a+\") を指定すると、\n"
1645 "ファイル位置の初期値は最初の NULL バイトに設定されるが、(ファイル\n"
1646 "オフセットをストリームの末尾以外の位置に再設定した場合)それ以降の\n"
1647 "書き込みではストリームの末尾への追記が行われる訳ではない。"
1648
1649 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13151
1650 #. type: Plain text
1651 #: build/C/man3/fmemopen.3:255
1652 msgid ""
1653 "If the I<mode> argument to B<fmemopen>()  specifies append (\"a\" or \"a+"
1654 "\"), and the I<size> argument does not cover a null byte in I<buf> then, "
1655 "according to POSIX.1-2008, the initial file position should be set to the "
1656 "next byte after the end of the buffer.  However, in this case the glibc "
1657 "B<fmemopen>()  sets the file position to -1."
1658 msgstr ""
1659 "B<fmemopen>() の I<mode> 引き数に追記モード (\"a\" や \"a+\") を指定し、\n"
1660 "I<size> 引き数で指定した範囲の I<buf> 内に NULL バイトがない場合、\n"
1661 "POSIX.1-2008 では、ファイル位置の初期値はバッファの末尾の直後の\n"
1662 "バイトに設定すべきとされている。しかし、glibc の B<fmemopen>() では\n"
1663 "この場合ファイル位置は -1 に設定される。"
1664
1665 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12836
1666 #. type: Plain text
1667 #: build/C/man3/fmemopen.3:268
1668 msgid ""
1669 "To specify binary mode for B<fmemopen>()  the \\(aqb\\(aq must be the "
1670 "I<second> character in I<mode>.  Thus, for example, \"wb+\" has the desired "
1671 "effect, but \"w+b\" does not.  This is inconsistent with the treatment of "
1672 "I<mode> by B<fopen>(3)."
1673 msgstr ""
1674 "B<fmemopen>() でバイナリモードを指定するには、\n"
1675 "\\(aqb\\(aq は I<mode> の I<2 文字目> でなければならない。\n"
1676 "例えば、 \"wb+\" は意図通りの効果になるが、 \"w+b\" はそうではない。\n"
1677 "これは B<fopen>(3) の I<mode> の扱いとは異なる。"
1678
1679 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=6544
1680 #. type: Plain text
1681 #: build/C/man3/fmemopen.3:276
1682 msgid ""
1683 "The glibc 2.9 addition of \"binary\" mode for B<fmemopen>()  silently "
1684 "changed the ABI: previously, B<fmemopen>()  ignored \\(aqb\\(aq in I<mode>."
1685 msgstr ""
1686 "glibc 2.9 での B<fmemopen>() の「バイナリ」モードの追加は、\n"
1687 "ABI (Application Binary Interface) が黙って変更された。\n"
1688 "それ以前の B<fmemopen>() では I<mode> 内の \\(aqb\\(aq は無視されていた。"
1689
1690 #. type: SH
1691 #: build/C/man3/fmemopen.3:276 build/C/man3/fmtmsg.3:256
1692 #: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:144
1693 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:974
1694 #: build/C/man2/readlink.2:157 build/C/man2/readv.2:265
1695 #: build/C/man3/scanf.3:681
1696 #, no-wrap
1697 msgid "EXAMPLE"
1698 msgstr "例"
1699
1700 #. type: Plain text
1701 #: build/C/man3/fmemopen.3:286
1702 msgid ""
1703 "The program below uses B<fmemopen>()  to open an input buffer, and "
1704 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1705 "scans its input string (taken from the program's first command-line "
1706 "argument) reading integers, and writes the squares of these integers to the "
1707 "output buffer.  An example of the output produced by this program is the "
1708 "following:"
1709 msgstr ""
1710 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1711 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1712 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1713 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1714 "ムの実行例は以下のようになる。"
1715
1716 #. type: Plain text
1717 #: build/C/man3/fmemopen.3:291
1718 #, no-wrap
1719 msgid ""
1720 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1721 "size=11; ptr=1 529 1849\n"
1722 msgstr ""
1723 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1724 "size=11; ptr=1 529 1849\n"
1725
1726 #. type: SS
1727 #: build/C/man3/fmemopen.3:293 build/C/man3/fopencookie.3:271
1728 #, no-wrap
1729 msgid "Program source"
1730 msgstr "プログラムのソース"
1731
1732 #. type: Plain text
1733 #: build/C/man3/fmemopen.3:300
1734 #, no-wrap
1735 msgid ""
1736 "#define _GNU_SOURCE\n"
1737 "#include E<lt>string.hE<gt>\n"
1738 "#include E<lt>stdio.hE<gt>\n"
1739 "#include E<lt>stdlib.hE<gt>\n"
1740 msgstr ""
1741 "#define _GNU_SOURCE\n"
1742 "#include E<lt>string.hE<gt>\n"
1743 "#include E<lt>stdio.hE<gt>\n"
1744 "#include E<lt>stdlib.hE<gt>\n"
1745
1746 #. type: Plain text
1747 #: build/C/man3/fmemopen.3:303
1748 #, no-wrap
1749 msgid ""
1750 "#define handle_error(msg) \\e\n"
1751 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1752 msgstr ""
1753 "#define handle_error(msg) \\e\n"
1754 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1755
1756 #. type: Plain text
1757 #: build/C/man3/fmemopen.3:311
1758 #, no-wrap
1759 msgid ""
1760 "int\n"
1761 "main(int argc, char *argv[])\n"
1762 "{\n"
1763 "    FILE *out, *in;\n"
1764 "    int v, s;\n"
1765 "    size_t size;\n"
1766 "    char *ptr;\n"
1767 msgstr ""
1768 "int\n"
1769 "main(int argc, char *argv[])\n"
1770 "{\n"
1771 "    FILE *out, *in;\n"
1772 "    int v, s;\n"
1773 "    size_t size;\n"
1774 "    char *ptr;\n"
1775
1776 #. type: Plain text
1777 #: build/C/man3/fmemopen.3:316
1778 #, no-wrap
1779 msgid ""
1780 "    if (argc != 2) {\n"
1781 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1782 "\texit(EXIT_FAILURE);\n"
1783 "    }\n"
1784 msgstr ""
1785 "    if (argc != 2) {\n"
1786 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1787 "\texit(EXIT_FAILURE);\n"
1788 "    }\n"
1789
1790 #. type: Plain text
1791 #: build/C/man3/fmemopen.3:320
1792 #, no-wrap
1793 msgid ""
1794 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1795 "    if (in == NULL)\n"
1796 "        handle_error(\"fmemopen\");\n"
1797 msgstr ""
1798 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1799 "    if (in == NULL)\n"
1800 "        handle_error(\"fmemopen\");\n"
1801
1802 #. type: Plain text
1803 #: build/C/man3/fmemopen.3:324
1804 #, no-wrap
1805 msgid ""
1806 "    out = open_memstream(&ptr, &size);\n"
1807 "    if (out == NULL)\n"
1808 "        handle_error(\"open_memstream\");\n"
1809 msgstr ""
1810 "    out = open_memstream(&ptr, &size);\n"
1811 "    if (out == NULL)\n"
1812 "        handle_error(\"open_memstream\");\n"
1813
1814 #. type: Plain text
1815 #: build/C/man3/fmemopen.3:329
1816 #, no-wrap
1817 msgid ""
1818 "    for (;;) {\n"
1819 "        s = fscanf(in, \"%d\", &v);\n"
1820 "        if (s E<lt>= 0)\n"
1821 "            break;\n"
1822 msgstr ""
1823 "    for (;;) {\n"
1824 "        s = fscanf(in, \"%d\", &v);\n"
1825 "        if (s E<lt>= 0)\n"
1826 "            break;\n"
1827
1828 #. type: Plain text
1829 #: build/C/man3/fmemopen.3:340
1830 #, no-wrap
1831 msgid ""
1832 "        s = fprintf(out, \"%d \", v * v);\n"
1833 "        if (s == -1)\n"
1834 "            handle_error(\"fprintf\");\n"
1835 "    }\n"
1836 "    fclose(in);\n"
1837 "    fclose(out);\n"
1838 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1839 "    free(ptr);\n"
1840 "    exit(EXIT_SUCCESS);\n"
1841 "}\n"
1842 msgstr ""
1843 "        s = fprintf(out, \"%d \", v * v);\n"
1844 "        if (s == -1)\n"
1845 "            handle_error(\"fprintf\");\n"
1846 "    }\n"
1847 "    fclose(in);\n"
1848 "    fclose(out);\n"
1849 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1850 "    free(ptr);\n"
1851 "    exit(EXIT_SUCCESS);\n"
1852 "}\n"
1853
1854 #. type: Plain text
1855 #: build/C/man3/fmemopen.3:344
1856 msgid "B<fopen>(3), B<fopencookie>(3)"
1857 msgstr "B<fopen>(3), B<fopencookie>(3)"
1858
1859 #. type: TH
1860 #: build/C/man3/fmtmsg.3:13
1861 #, no-wrap
1862 msgid "FMTMSG"
1863 msgstr "FMTMSG"
1864
1865 #. type: Plain text
1866 #: build/C/man3/fmtmsg.3:16
1867 msgid "fmtmsg - print formatted error messages"
1868 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1869
1870 #. type: Plain text
1871 #: build/C/man3/fmtmsg.3:19
1872 #, no-wrap
1873 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1874 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1875
1876 #. type: Plain text
1877 #: build/C/man3/fmtmsg.3:21
1878 #, no-wrap
1879 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1880 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1881
1882 #. type: Plain text
1883 #: build/C/man3/fmtmsg.3:23
1884 #, no-wrap
1885 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1886 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1887
1888 #. type: Plain text
1889 #: build/C/man3/fmtmsg.3:25
1890 #, no-wrap
1891 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1892 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1893
1894 #. type: Plain text
1895 #: build/C/man3/fmtmsg.3:36
1896 msgid ""
1897 "This function displays a message described by its arguments on the device"
1898 "(s)  specified in the I<classification> argument.  For messages written to "
1899 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1900 msgstr ""
1901 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1902 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1903 "は、 B<MSGVERB> 環境変数に依存する。"
1904
1905 #. type: Plain text
1906 #: build/C/man3/fmtmsg.3:43
1907 msgid ""
1908 "The I<label> argument identifies the source of the message.  The string must "
1909 "consist of two colon separated parts where the first part has not more than "
1910 "10 and the second part not more than 14 characters."
1911 msgstr ""
1912 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1913 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1914 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1915
1916 #. type: Plain text
1917 #: build/C/man3/fmtmsg.3:47
1918 msgid "The I<text> argument describes the condition of the error."
1919 msgstr "I<text> 引き数にはエラー条件を記述する。"
1920
1921 #. type: Plain text
1922 #: build/C/man3/fmtmsg.3:52
1923 msgid ""
1924 "The I<action> argument describes possible steps to recover from the error.  "
1925 "If it is printed, it is prefixed by \"TO FIX: \"."
1926 msgstr ""
1927 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1928 "れが表示される場合、\"TO FIX: \" が前に付く。"
1929
1930 #. type: Plain text
1931 #: build/C/man3/fmtmsg.3:60
1932 msgid ""
1933 "The I<tag> argument is a reference to the online documentation where more "
1934 "information can be found.  It should contain the I<label> value and a unique "
1935 "identification number."
1936 msgstr ""
1937 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1938 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1939
1940 #. type: SS
1941 #: build/C/man3/fmtmsg.3:60
1942 #, no-wrap
1943 msgid "Dummy arguments"
1944 msgstr "ダミー引き数"
1945
1946 #. type: Plain text
1947 #: build/C/man3/fmtmsg.3:79
1948 msgid ""
1949 "Each of the arguments can have a dummy value.  The dummy classification "
1950 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1951 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1952 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1953 "synonyms for I<((char\\ *)\\ 0)>, the empty string, and B<MM_NULLSEV> is a "
1954 "synonym for B<NO_SEV>."
1955 msgstr ""
1956 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1957 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1958 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1959 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1960 "((char\\ *)\\ 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名"
1961 "である。"
1962
1963 #. type: SS
1964 #: build/C/man3/fmtmsg.3:79
1965 #, no-wrap
1966 msgid "The classification argument"
1967 msgstr "classification 引き数"
1968
1969 #. type: Plain text
1970 #: build/C/man3/fmtmsg.3:83
1971 msgid ""
1972 "The I<classification> argument is the sum of values describing 4 types of "
1973 "information."
1974 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1975
1976 #. type: Plain text
1977 #: build/C/man3/fmtmsg.3:86
1978 msgid "The first value defines the output channel."
1979 msgstr "最初の値は出力チャンネルを定義する。"
1980
1981 #. type: TP
1982 #: build/C/man3/fmtmsg.3:86
1983 #, no-wrap
1984 msgid "B<MM_PRINT>"
1985 msgstr "B<MM_PRINT>"
1986
1987 #. type: Plain text
1988 #: build/C/man3/fmtmsg.3:90
1989 msgid "Output to I<stderr>."
1990 msgstr "I<stderr> に出力する。"
1991
1992 #. type: TP
1993 #: build/C/man3/fmtmsg.3:90
1994 #, no-wrap
1995 msgid "B<MM_CONSOLE>"
1996 msgstr "B<MM_CONSOLE>"
1997
1998 #. type: Plain text
1999 #: build/C/man3/fmtmsg.3:93
2000 msgid "Output to the system console."
2001 msgstr "システムコンソールに出力する。"
2002
2003 #. type: TP
2004 #: build/C/man3/fmtmsg.3:93
2005 #, no-wrap
2006 msgid "B<MM_PRINT | MM_CONSOLE>"
2007 msgstr "B<MM_PRINT | MM_CONSOLE>"
2008
2009 #. type: Plain text
2010 #: build/C/man3/fmtmsg.3:96
2011 msgid "Output to both."
2012 msgstr "両方に出力する。"
2013
2014 #. type: Plain text
2015 #: build/C/man3/fmtmsg.3:98
2016 msgid "The second value is the source of the error:"
2017 msgstr "2 番目の値はエラーの発生源である:"
2018
2019 #. type: TP
2020 #: build/C/man3/fmtmsg.3:98
2021 #, no-wrap
2022 msgid "B<MM_HARD>"
2023 msgstr "B<MM_HARD>"
2024
2025 #. type: Plain text
2026 #: build/C/man3/fmtmsg.3:101
2027 msgid "A hardware error occurred."
2028 msgstr "ハードウェアエラーが起こった。"
2029
2030 #. type: TP
2031 #: build/C/man3/fmtmsg.3:101
2032 #, no-wrap
2033 msgid "B<MM_FIRM>"
2034 msgstr "B<MM_FIRM>"
2035
2036 #. type: Plain text
2037 #: build/C/man3/fmtmsg.3:104
2038 msgid "A firmware error occurred."
2039 msgstr "ファームウェアエラーが起こった。"
2040
2041 #. type: TP
2042 #: build/C/man3/fmtmsg.3:104
2043 #, no-wrap
2044 msgid "B<MM_SOFT>"
2045 msgstr "B<MM_SOFT>"
2046
2047 #. type: Plain text
2048 #: build/C/man3/fmtmsg.3:107
2049 msgid "A software error occurred."
2050 msgstr "ソフトウェアエラーが起こった。"
2051
2052 #. type: Plain text
2053 #: build/C/man3/fmtmsg.3:109
2054 msgid "The third value encodes the detector of the problem:"
2055 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
2056
2057 #. type: TP
2058 #: build/C/man3/fmtmsg.3:109
2059 #, no-wrap
2060 msgid "B<MM_APPL>"
2061 msgstr "B<MM_APPL>"
2062
2063 #. type: Plain text
2064 #: build/C/man3/fmtmsg.3:112
2065 msgid "It is detected by an application."
2066 msgstr "アプリケーションによって検知された。"
2067
2068 #. type: TP
2069 #: build/C/man3/fmtmsg.3:112
2070 #, no-wrap
2071 msgid "B<MM_UTIL>"
2072 msgstr "B<MM_UTIL>"
2073
2074 #. type: Plain text
2075 #: build/C/man3/fmtmsg.3:115
2076 msgid "It is detected by a utility."
2077 msgstr "ユーティリティによって検知された。"
2078
2079 #. type: TP
2080 #: build/C/man3/fmtmsg.3:115
2081 #, no-wrap
2082 msgid "B<MM_OPSYS>"
2083 msgstr "B<MM_OPSYS>"
2084
2085 #. type: Plain text
2086 #: build/C/man3/fmtmsg.3:118
2087 msgid "It is detected by the operating system."
2088 msgstr "オペレーティングシステムによって検知された。"
2089
2090 #. type: Plain text
2091 #: build/C/man3/fmtmsg.3:120
2092 msgid "The fourth value shows the severity of the incident:"
2093 msgstr "4 番目の値は問題の重大度を表す:"
2094
2095 #. type: TP
2096 #: build/C/man3/fmtmsg.3:120
2097 #, no-wrap
2098 msgid "B<MM_RECOVER>"
2099 msgstr "B<MM_RECOVER>"
2100
2101 #. type: Plain text
2102 #: build/C/man3/fmtmsg.3:123
2103 msgid "It is a recoverable error."
2104 msgstr "回復可能なエラーである。"
2105
2106 #. type: TP
2107 #: build/C/man3/fmtmsg.3:123
2108 #, no-wrap
2109 msgid "B<MM_NRECOV>"
2110 msgstr "B<MM_NRECOV>"
2111
2112 #. type: Plain text
2113 #: build/C/man3/fmtmsg.3:126
2114 msgid "It is a nonrecoverable error."
2115 msgstr "回復不可能なエラーである。"
2116
2117 #. type: SS
2118 #: build/C/man3/fmtmsg.3:126
2119 #, no-wrap
2120 msgid "The severity argument"
2121 msgstr "severity 引き数"
2122
2123 #. type: Plain text
2124 #: build/C/man3/fmtmsg.3:130
2125 msgid "The I<severity> argument can take one of the following values:"
2126 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
2127
2128 #. type: TP
2129 #: build/C/man3/fmtmsg.3:130
2130 #, no-wrap
2131 msgid "B<MM_NOSEV>"
2132 msgstr "B<MM_NOSEV>"
2133
2134 #. type: Plain text
2135 #: build/C/man3/fmtmsg.3:133
2136 msgid "No severity is printed."
2137 msgstr "重大度は表示されない。"
2138
2139 #. type: TP
2140 #: build/C/man3/fmtmsg.3:133
2141 #, no-wrap
2142 msgid "B<MM_HALT>"
2143 msgstr "B<MM_HALT>"
2144
2145 #. type: Plain text
2146 #: build/C/man3/fmtmsg.3:136
2147 msgid "This value is printed as HALT."
2148 msgstr "この値は HALT として表示される。"
2149
2150 #. type: TP
2151 #: build/C/man3/fmtmsg.3:136
2152 #, no-wrap
2153 msgid "B<MM_ERROR>"
2154 msgstr "B<MM_ERROR>"
2155
2156 #. type: Plain text
2157 #: build/C/man3/fmtmsg.3:139
2158 msgid "This value is printed as ERROR."
2159 msgstr "この値は ERROR として表示される。"
2160
2161 #. type: TP
2162 #: build/C/man3/fmtmsg.3:139
2163 #, no-wrap
2164 msgid "B<MM_WARNING>"
2165 msgstr "B<MM_WARNING>"
2166
2167 #. type: Plain text
2168 #: build/C/man3/fmtmsg.3:142
2169 msgid "This value is printed as WARNING."
2170 msgstr "この値は WARNING として表示される。"
2171
2172 #. type: TP
2173 #: build/C/man3/fmtmsg.3:142
2174 #, no-wrap
2175 msgid "B<MM_INFO>"
2176 msgstr "B<MM_INFO>"
2177
2178 #. type: Plain text
2179 #: build/C/man3/fmtmsg.3:145
2180 msgid "This value is printed as INFO."
2181 msgstr "この値は INFO として表示される。"
2182
2183 #. type: Plain text
2184 #: build/C/man3/fmtmsg.3:152
2185 msgid ""
2186 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2187 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2188 "print."
2189 msgstr ""
2190 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2191 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2192
2193 #. type: Plain text
2194 #: build/C/man3/fmtmsg.3:154
2195 msgid "The function can return 4 values:"
2196 msgstr "関数は 4 つの値を返す:"
2197
2198 #. type: TP
2199 #: build/C/man3/fmtmsg.3:154
2200 #, no-wrap
2201 msgid "B<MM_OK>"
2202 msgstr "B<MM_OK>"
2203
2204 #. type: Plain text
2205 #: build/C/man3/fmtmsg.3:157
2206 msgid "Everything went smooth."
2207 msgstr "全てがうまくいった。"
2208
2209 #. type: TP
2210 #: build/C/man3/fmtmsg.3:157
2211 #, no-wrap
2212 msgid "B<MM_NOTOK>"
2213 msgstr "B<MM_NOTOK>"
2214
2215 #. type: Plain text
2216 #: build/C/man3/fmtmsg.3:160
2217 msgid "Complete failure."
2218 msgstr "完全に失敗した。"
2219
2220 #. type: TP
2221 #: build/C/man3/fmtmsg.3:160
2222 #, no-wrap
2223 msgid "B<MM_NOMSG>"
2224 msgstr "B<MM_NOMSG>"
2225
2226 #. type: Plain text
2227 #: build/C/man3/fmtmsg.3:164
2228 msgid "Error writing to I<stderr>."
2229 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2230
2231 #. type: TP
2232 #: build/C/man3/fmtmsg.3:164
2233 #, no-wrap
2234 msgid "B<MM_NOCON>"
2235 msgstr "B<MM_NOCON>"
2236
2237 #. type: Plain text
2238 #: build/C/man3/fmtmsg.3:167
2239 msgid "Error writing to the console."
2240 msgstr "コンソールに書き込むときにエラーが起こった。"
2241
2242 #. type: SH
2243 #: build/C/man3/fmtmsg.3:167
2244 #, no-wrap
2245 msgid "ENVIRONMENT"
2246 msgstr "環境変数"
2247
2248 #. type: Plain text
2249 #: build/C/man3/fmtmsg.3:178
2250 msgid ""
2251 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2252 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2253 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2254 "separated list of valid keywords, then only the parts of the message "
2255 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2256 "\"severity\", \"text\", \"action\" and \"tag\"."
2257 msgstr ""
2258 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2259 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2260 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2261 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2262 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2263
2264 #. type: Plain text
2265 #: build/C/man3/fmtmsg.3:190
2266 msgid ""
2267 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2268 "levels.  By default, only the five severity levels described above are "
2269 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2270 "If the user puts B<SEV_LEVEL> with a format like"
2271 msgstr ""
2272 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2273 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2274 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2275 "B<SEV_LEVEL> を"
2276
2277 #. type: Plain text
2278 #: build/C/man3/fmtmsg.3:193
2279 msgid "SEV_LEVEL=[description[:description[:...]]]"
2280 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2281
2282 #. type: Plain text
2283 #: build/C/man3/fmtmsg.3:198
2284 msgid ""
2285 "in the environment of the process before the first call to B<fmtmsg>(), "
2286 "where each description is of the form"
2287 msgstr ""
2288 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2289 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2290 "指定された printstring を表示する。 各 description は"
2291
2292 #. type: Plain text
2293 #: build/C/man3/fmtmsg.3:201
2294 msgid "severity-keyword,level,printstring"
2295 msgstr "severity-keyword,level,printstring"
2296
2297 #. type: Plain text
2298 #: build/C/man3/fmtmsg.3:208
2299 msgid ""
2300 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2301 "addition to the standard levels 0-4), and use the indicated printstring when "
2302 "such a level occurs."
2303 msgstr "という形式である。"
2304
2305 #. type: Plain text
2306 #: build/C/man3/fmtmsg.3:222
2307 msgid ""
2308 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2309 "present.  The level part is a string representation of a number.  The "
2310 "numeric value must be a number greater than 4.  This value must be used in "
2311 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2312 "possible to overwrite any of the predefined classes.  The printstring is the "
2313 "string printed when a message of this class is processed by B<fmtmsg>()."
2314 msgstr ""
2315 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2316 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2317 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2318 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2319 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2320 "た場合に表示される文字列である。"
2321
2322 #. type: Plain text
2323 #: build/C/man3/fmtmsg.3:225
2324 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2325 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2326
2327 #. type: Plain text
2328 #: build/C/man3/fmtmsg.3:231
2329 msgid ""
2330 "Before glibc 2.16, the B<fmtmsg>()  function uses a static variable that is "
2331 "not protected, so it is not thread-safe."
2332 msgstr ""
2333 "glibc 2.16 より前のバージョンでは、 B<fmtmsg>() 関数は、 保護されていない静的"
2334 "な変数を使うため、 スレッドセーフではない。"
2335
2336 #.  Modified in commit 7724defcf8873116fe4efab256596861eef21a94
2337 #. type: Plain text
2338 #: build/C/man3/fmtmsg.3:237
2339 msgid ""
2340 "Since glibc 2.16, the B<fmtmsg>()  function uses a lock to protect the "
2341 "static variable, so it is thread-safe."
2342 msgstr ""
2343 "glibc 2.16 以降では、 B<fmtmsg>() 関数はロックを使って静的な変数を保護してお"
2344 "り、 スレッドセーフである。"
2345
2346 #. type: Plain text
2347 #: build/C/man3/fmtmsg.3:252
2348 msgid ""
2349 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2350 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2351 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2352 msgstr ""
2353 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2354 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2355 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2356
2357 #. type: Plain text
2358 #: build/C/man3/fmtmsg.3:256
2359 msgid ""
2360 "System V and UnixWare man pages tell us that these functions have been "
2361 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2362 "vlfmt()\", and will be removed later."
2363 msgstr ""
2364 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2365 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2366 "は削除される予定である」と書かれている。"
2367
2368 #. type: Plain text
2369 #: build/C/man3/fmtmsg.3:261
2370 #, no-wrap
2371 msgid ""
2372 "#include E<lt>stdio.hE<gt>\n"
2373 "#include E<lt>stdlib.hE<gt>\n"
2374 "#include E<lt>fmtmsg.hE<gt>\n"
2375 msgstr ""
2376 "#include E<lt>stdio.hE<gt>\n"
2377 "#include E<lt>stdlib.hE<gt>\n"
2378 "#include E<lt>fmtmsg.hE<gt>\n"
2379
2380 #. type: Plain text
2381 #: build/C/man3/fmtmsg.3:267
2382 #, no-wrap
2383 msgid ""
2384 "int\n"
2385 "main(void)\n"
2386 "{\n"
2387 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2388 "    int err;\n"
2389 msgstr ""
2390 "int\n"
2391 "main(void)\n"
2392 "{\n"
2393 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2394 "    int err;\n"
2395
2396 #. type: Plain text
2397 #: build/C/man3/fmtmsg.3:288
2398 #, no-wrap
2399 msgid ""
2400 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2401 "                \"unknown mount option\", \"See mount(8).\",\n"
2402 "                \"util-linux:mount:017\");\n"
2403 "    switch (err) {\n"
2404 "    case MM_OK:\n"
2405 "        break;\n"
2406 "    case MM_NOTOK:\n"
2407 "        printf(\"Nothing printed\\en\");\n"
2408 "        break;\n"
2409 "    case MM_NOMSG:\n"
2410 "        printf(\"Nothing printed to stderr\\en\");\n"
2411 "        break;\n"
2412 "    case MM_NOCON:\n"
2413 "        printf(\"No console output\\en\");\n"
2414 "        break;\n"
2415 "    default:\n"
2416 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2417 "    }\n"
2418 "    exit(EXIT_SUCCESS);\n"
2419 "}\n"
2420 msgstr ""
2421 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2422 "                \"unknown mount option\", \"See mount(8).\",\n"
2423 "                \"util-linux:mount:017\");\n"
2424 "    switch (err) {\n"
2425 "    case MM_OK:\n"
2426 "      break;\n"
2427 "    case MM_NOTOK:\n"
2428 "        printf(\"Nothing printed\\en\");\n"
2429 "        break;\n"
2430 "    case MM_NOMSG:\n"
2431 "        printf(\"Nothing printed to stderr\\en\");\n"
2432 "        break;\n"
2433 "    case MM_NOCON:\n"
2434 "        printf(\"No console output\\en\");\n"
2435 "        break;\n"
2436 "    default:\n"
2437 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2438 "    }\n"
2439 "    exit(EXIT_SUCCESS);\n"
2440 "}\n"
2441
2442 #. type: Plain text
2443 #: build/C/man3/fmtmsg.3:291
2444 msgid "The output should be:"
2445 msgstr "出力は"
2446
2447 #. type: Plain text
2448 #: build/C/man3/fmtmsg.3:295
2449 #, no-wrap
2450 msgid ""
2451 "    util-linux:mount: ERROR: unknown mount option\n"
2452 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2453 msgstr ""
2454 "    util-linux:mount: ERROR: unknown mount option\n"
2455 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2456
2457 #. type: Plain text
2458 #: build/C/man3/fmtmsg.3:298
2459 msgid "and after"
2460 msgstr "のようになり、"
2461
2462 #. type: Plain text
2463 #: build/C/man3/fmtmsg.3:301
2464 #, no-wrap
2465 msgid "    MSGVERB=text:action; export MSGVERB\n"
2466 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2467
2468 #. type: Plain text
2469 #: build/C/man3/fmtmsg.3:304
2470 msgid "the output becomes:"
2471 msgstr "を実行すると、次のようになる。"
2472
2473 #. type: Plain text
2474 #: build/C/man3/fmtmsg.3:308
2475 #, no-wrap
2476 msgid ""
2477 "    unknown mount option\n"
2478 "    TO FIX: See mount(8).\n"
2479 msgstr ""
2480 "    unknown mount option\n"
2481 "    TO FIX: See mount(8).\n"
2482
2483 #. type: Plain text
2484 #: build/C/man3/fmtmsg.3:312
2485 msgid "B<addseverity>(3), B<perror>(3)"
2486 msgstr "B<addseverity>(3), B<perror>(3)"
2487
2488 #. type: TH
2489 #: build/C/man3/fopen.3:44
2490 #, no-wrap
2491 msgid "FOPEN"
2492 msgstr "FOPEN"
2493
2494 #. type: TH
2495 #: build/C/man3/fopen.3:44
2496 #, no-wrap
2497 msgid "2012-04-22"
2498 msgstr "2012-04-22"
2499
2500 #. type: Plain text
2501 #: build/C/man3/fopen.3:47
2502 msgid "fopen, fdopen, freopen - stream open functions"
2503 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2504
2505 #. type: Plain text
2506 #: build/C/man3/fopen.3:52
2507 #, no-wrap
2508 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2509 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2510
2511 #. type: Plain text
2512 #: build/C/man3/fopen.3:54
2513 #, no-wrap
2514 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2515 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2516
2517 #. type: Plain text
2518 #: build/C/man3/fopen.3:56
2519 #, no-wrap
2520 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2521 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2522
2523 #. type: Plain text
2524 #: build/C/man3/fopen.3:65
2525 msgid ""
2526 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2527 msgstr ""
2528 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2529
2530 #. type: Plain text
2531 #: build/C/man3/fopen.3:71
2532 msgid ""
2533 "The B<fopen>()  function opens the file whose name is the string pointed to "
2534 "by I<path> and associates a stream with it."
2535 msgstr ""
2536 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2537 "びつける。"
2538
2539 #. type: Plain text
2540 #: build/C/man3/fopen.3:76
2541 msgid ""
2542 "The argument I<mode> points to a string beginning with one of the following "
2543 "sequences (possibly followed by additional characters, as described below):"
2544 msgstr ""
2545 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタであ\n"
2546 "る (以下の述べる、追加の文字が後に続くこともある):"
2547
2548 #. type: TP
2549 #: build/C/man3/fopen.3:76
2550 #, no-wrap
2551 msgid "B<r>"
2552 msgstr "B<r>"
2553
2554 #. type: Plain text
2555 #: build/C/man3/fopen.3:80
2556 msgid ""
2557 "Open text file for reading.  The stream is positioned at the beginning of "
2558 "the file."
2559 msgstr ""
2560 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2561 "る。"
2562
2563 #. type: TP
2564 #: build/C/man3/fopen.3:80
2565 #, no-wrap
2566 msgid "B<r+>"
2567 msgstr "B<r+>"
2568
2569 #. type: Plain text
2570 #: build/C/man3/fopen.3:84
2571 msgid ""
2572 "Open for reading and writing.  The stream is positioned at the beginning of "
2573 "the file."
2574 msgstr ""
2575 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2576 "る。"
2577
2578 #. type: TP
2579 #: build/C/man3/fopen.3:84
2580 #, no-wrap
2581 msgid "B<w>"
2582 msgstr "B<w>"
2583
2584 #. type: Plain text
2585 #: build/C/man3/fopen.3:88
2586 msgid ""
2587 "Truncate file to zero length or create text file for writing.  The stream is "
2588 "positioned at the beginning of the file."
2589 msgstr ""
2590 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2591 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2592 "頭に位置される。"
2593
2594 #. type: TP
2595 #: build/C/man3/fopen.3:88
2596 #, no-wrap
2597 msgid "B<w+>"
2598 msgstr "B<w+>"
2599
2600 #. type: Plain text
2601 #: build/C/man3/fopen.3:94
2602 msgid ""
2603 "Open for reading and writing.  The file is created if it does not exist, "
2604 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2605 "file."
2606 msgstr ""
2607 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2608 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2609 "の先頭に位置される。"
2610
2611 #. type: TP
2612 #: build/C/man3/fopen.3:94 build/C/man3/scanf.3:447
2613 #, no-wrap
2614 msgid "B<a>"
2615 msgstr "B<a>"
2616
2617 #. type: Plain text
2618 #: build/C/man3/fopen.3:99
2619 msgid ""
2620 "Open for appending (writing at end of file).  The file is created if it does "
2621 "not exist.  The stream is positioned at the end of the file."
2622 msgstr ""
2623 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2624 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2625
2626 #. type: TP
2627 #: build/C/man3/fopen.3:99
2628 #, no-wrap
2629 msgid "B<a+>"
2630 msgstr "B<a+>"
2631
2632 #. type: Plain text
2633 #: build/C/man3/fopen.3:105
2634 msgid ""
2635 "Open for reading and appending (writing at end of file).  The file is "
2636 "created if it does not exist.  The initial file position for reading is at "
2637 "the beginning of the file, but output is always appended to the end of the "
2638 "file."
2639 msgstr ""
2640 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2641 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2642 "あるが、 書き込みは常にファイルの最後に追加される。"
2643
2644 #. type: Plain text
2645 #: build/C/man3/fopen.3:118
2646 msgid ""
2647 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2648 "character or as a character between the characters in any of the two-"
2649 "character strings described above.  This is strictly for compatibility with "
2650 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2651 "systems, including Linux.  (Other systems may treat text files and binary "
2652 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2653 "O to a binary file and expect that your program may be ported to non-UNIX "
2654 "environments.)"
2655 msgstr ""
2656 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2657 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2658 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2659 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2660 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2661 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2662 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2663 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2664
2665 #. type: Plain text
2666 #: build/C/man3/fopen.3:121
2667 msgid "See NOTES below for details of glibc extensions for I<mode>."
2668 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2669
2670 #. type: Plain text
2671 #: build/C/man3/fopen.3:126
2672 msgid ""
2673 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2674 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2675 "umask value (see B<umask>(2))."
2676 msgstr ""
2677 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2678 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2679 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2680
2681 #. type: Plain text
2682 #: build/C/man3/fopen.3:141
2683 msgid ""
2684 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2685 "that ANSI C requires that a file positioning function intervene between "
2686 "output and input, unless an input operation encounters end-of-file.  (If "
2687 "this condition is not met, then a read is allowed to return the result of "
2688 "writes other than the most recent.)  Therefore it is good practice (and "
2689 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2690 "(3)  operation between write and read operations on such a stream.  This "
2691 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2692 "for its synchronizing side effect."
2693 msgstr ""
2694 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2695 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2696 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2697 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2698 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2699 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2700 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2701 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2702 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2703 "い)。"
2704
2705 #. type: Plain text
2706 #: build/C/man3/fopen.3:146
2707 msgid ""
2708 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2709 "causes all subsequent write operations to this stream to occur at end-of-"
2710 "file, as if preceded the call:"
2711 msgstr ""
2712 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、\n"
2713 "このストリームに対する書き込み操作は全て (先に以下の呼び出しを行った\n"
2714 "かのように) ファイルの末尾で行われる。"
2715
2716 #. type: Plain text
2717 #: build/C/man3/fopen.3:149
2718 #, no-wrap
2719 msgid "    fseek(stream, 0, SEEK_END);\n"
2720 msgstr "    fseek(stream, 0, SEEK_END);\n"
2721
2722 #. type: Plain text
2723 #: build/C/man3/fopen.3:171
2724 msgid ""
2725 "The B<fdopen>()  function associates a stream with the existing file "
2726 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2727 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2728 "file descriptor.  The file position indicator of the new stream is set to "
2729 "that belonging to I<fd>, and the error and end-of-file indicators are "
2730 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2731 "file descriptor is not dup'ed, and will be closed when the stream created by "
2732 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2733 "memory object is undefined."
2734 msgstr ""
2735 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2736 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2737 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2738 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2739 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2740 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2741 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2742 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2743
2744 #. type: Plain text
2745 #: build/C/man3/fopen.3:189
2746 msgid ""
2747 "The B<freopen>()  function opens the file whose name is the string pointed "
2748 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2749 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2750 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2751 "function is to change the file associated with a standard text stream "
2752 "(I<stderr>, I<stdin>, or I<stdout>)."
2753 msgstr ""
2754 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2755 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2756 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2757 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2758 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2759
2760 #. type: Plain text
2761 #: build/C/man3/fopen.3:201
2762 msgid ""
2763 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2764 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2765 "indicate the error."
2766 msgstr ""
2767 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2768 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2769
2770 #. type: TP
2771 #: build/C/man3/fopen.3:202 build/C/man3/fseek.3:142
2772 #: build/C/man3/getline.3:126 build/C/man2/llseek.2:77
2773 #: build/C/man2/lseek.2:175 build/C/man2/open.2:613 build/C/man2/pipe.2:102
2774 #: build/C/man2/read.2:126 build/C/man2/read.2:137 build/C/man2/readlink.2:95
2775 #: build/C/man2/readlink.2:104 build/C/man2/readv.2:200
2776 #: build/C/man2/rename.2:139 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:565
2777 #: build/C/man2/write.2:154
2778 #, no-wrap
2779 msgid "B<EINVAL>"
2780 msgstr "B<EINVAL>"
2781
2782 #. type: Plain text
2783 #: build/C/man3/fopen.3:212
2784 msgid ""
2785 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2786 "invalid."
2787 msgstr ""
2788 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2789
2790 #. type: Plain text
2791 #: build/C/man3/fopen.3:222
2792 msgid ""
2793 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2794 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2795 msgstr ""
2796 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2797 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2798 "する。"
2799
2800 #. type: Plain text
2801 #: build/C/man3/fopen.3:229
2802 msgid ""
2803 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2804 "errors specified for the routine B<open>(2)."
2805 msgstr ""
2806 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2807 "があり、 その時は対応する値に I<errno> をセットする。"
2808
2809 #. type: Plain text
2810 #: build/C/man3/fopen.3:236
2811 msgid ""
2812 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2813 "errors specified for the routine B<fcntl>(2)."
2814 msgstr ""
2815 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2816 "とがあり、 その時は対応する値に I<errno> をセットする。"
2817
2818 #. type: Plain text
2819 #: build/C/man3/fopen.3:246
2820 msgid ""
2821 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2822 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2823 msgstr ""
2824 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2825 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2826 "トする。"
2827
2828 #. type: Plain text
2829 #: build/C/man3/fopen.3:255
2830 msgid ""
2831 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2832 "()  function conforms to POSIX.1-1990."
2833 msgstr ""
2834 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2835 "は POSIX.1-1990 に準拠している。"
2836
2837 #. type: SS
2838 #: build/C/man3/fopen.3:256
2839 #, no-wrap
2840 msgid "Glibc notes"
2841 msgstr "glibc での注意"
2842
2843 #. type: Plain text
2844 #: build/C/man3/fopen.3:259
2845 msgid ""
2846 "The GNU C library allows the following extensions for the string specified "
2847 "in I<mode>:"
2848 msgstr ""
2849 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2850 "いる:"
2851
2852 #. type: TP
2853 #: build/C/man3/fopen.3:259
2854 #, no-wrap
2855 msgid "B<c> (since glibc 2.3.3)"
2856 msgstr "B<c> (glibc 2.3.3 以降)"
2857
2858 #. type: Plain text
2859 #: build/C/man3/fopen.3:266
2860 msgid ""
2861 "Do not make the open operation, or subsequent read and write operations, "
2862 "thread cancellation points.  This flag is ignored for B<fdopen>()."
2863 msgstr ""
2864 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント\n"
2865 "(cancellation points) を作成しない。\n"
2866 "このフラグは B<fdopen>() では無視される。"
2867
2868 #. type: TP
2869 #: build/C/man3/fopen.3:266
2870 #, no-wrap
2871 msgid "B<e> (since glibc 2.7)"
2872 msgstr "B<e> (glibc 2.7 以降)"
2873
2874 #. type: Plain text
2875 #: build/C/man3/fopen.3:276
2876 msgid ""
2877 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2878 "information.  This flag is ignored for B<fdopen>()."
2879 msgstr ""
2880 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。詳細は\n"
2881 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
2882
2883 #. type: TP
2884 #: build/C/man3/fopen.3:276
2885 #, no-wrap
2886 msgid "B<m> (since glibc 2.3)"
2887 msgstr "B<m> (glibc 2.3 以降)"
2888
2889 #.  As at glibc 2.4:
2890 #. type: Plain text
2891 #: build/C/man3/fopen.3:288
2892 msgid ""
2893 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2894 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is attempted only "
2895 "for a file opened for reading."
2896 msgstr ""
2897 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2898 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2899 "オープンするファイルについてだけである。"
2900
2901 #. type: TP
2902 #: build/C/man3/fopen.3:288 build/C/man3/scanf.3:421
2903 #, no-wrap
2904 msgid "B<x>"
2905 msgstr "B<x>"
2906
2907 #.  Since glibc 2.0?
2908 #.  FIXME C11 specifies this flag
2909 #. type: Plain text
2910 #: build/C/man3/fopen.3:305
2911 msgid ""
2912 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2913 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2914 "This flag is ignored for B<fdopen>()."
2915 msgstr ""
2916 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2917 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2918 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2919
2920 #. type: Plain text
2921 #: build/C/man3/fopen.3:313
2922 msgid ""
2923 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
2924 "the following syntax in I<mode>:"
2925 msgstr ""
2926 "上記の文字に加えて、\n"
2927 "B<fopen>() と B<freopen>() では I<mode> に\n"
2928 "以下の書式を 指定することができる。"
2929
2930 #. type: Plain text
2931 #: build/C/man3/fopen.3:315
2932 msgid "B< ,ccs=>I<string>"
2933 msgstr "B< ,ccs=>I<string>"
2934
2935 #. type: Plain text
2936 #: build/C/man3/fopen.3:331
2937 msgid ""
2938 "The given I<string> is taken as the name of a coded character set and the "
2939 "stream is marked as wide-oriented.  Thereafter, internal conversion "
2940 "functions convert I/O to and from the character set I<string>.  If the B<,"
2941 "ccs=>I<string> syntax is not specified, then the wide-orientation of the "
2942 "stream is determined by the first file operation.  If that operation is a "
2943 "wide-character operation, the stream is marked wide-oriented, and functions "
2944 "to convert to the coded character set are loaded."
2945 msgstr ""
2946 "指定された I<string> は、符号化文字集合の名前と解釈され、\n"
2947 "ストリームではワイド文字のストリームとして扱われる。\n"
2948 "内部変換関数で入出力時に文字集合 I<string> との変換が行われる。\n"
2949 "書式 B<,ccs=>I<string> が指定されない場合は、\n"
2950 "ストリームをワイド文字のストリームとして扱うかは\n"
2951 "最初のファイル操作時に決定される。\n"
2952 "最初のファイル操作がワイド文字操作であった場合は、\n"
2953 "そのストリームはワイド文字のストリームとして扱われ、\n"
2954 "符号化文字集合との変換を行う関数が読み込まれる。"
2955
2956 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
2957 #. type: Plain text
2958 #: build/C/man3/fopen.3:348
2959 msgid ""
2960 "When parsing for individual flag characters in I<mode> (i.e., the characters "
2961 "preceding the \"ccs\" specification), the glibc implementation of B<fopen>"
2962 "()  and B<freopen>()  limits the number of characters examined in I<mode> to "
2963 "7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
2964 "possible specifications such as \"rb+cmxe\").  The current implementation of "
2965 "B<fdopen>()  parses at most 5 characters in I<mode>."
2966 msgstr ""
2967 "I<mode> の個々のフラグ文字 (\"ccs\" 指定の前の文字) を解釈する際に、\n"
2968 "glibc の B<fopen>() と B<freopen>() の実装では、\n"
2969 "I<mode> の確認を最大 7 文字しか行わないという制限がある\n"
2970 "(バージョン 2.14 より前の glibc では最大 6 文字だが、\n"
2971 "6 文字では \"rb+cmxe\" などの指定を行うには不十分であった)。\n"
2972 "B<fdopen>() の現在の実装では最大 5 文字の I<mode> しか解釈されない。"
2973
2974 #. type: Plain text
2975 #: build/C/man3/fopen.3:354
2976 msgid ""
2977 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2978 msgstr ""
2979 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2980
2981 #. type: TH
2982 #: build/C/man3/fopencookie.3:26
2983 #, no-wrap
2984 msgid "FOPENCOOKIE"
2985 msgstr "FOPENCOOKIE"
2986
2987 #. type: TH
2988 #: build/C/man3/fopencookie.3:26
2989 #, no-wrap
2990 msgid "2013-03-17"
2991 msgstr "2013-03-17"
2992
2993 #. type: TH
2994 #: build/C/man3/fopencookie.3:26 build/C/man2/link.2:31
2995 #: build/C/man2/llseek.2:28 build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25
2996 #: build/C/man2/open.2:51 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2997 #: build/C/man2/readlink.2:43 build/C/man2/readv.2:32 build/C/man2/rename.2:32
2998 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13
2999 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
3000 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
3001 #, no-wrap
3002 msgid "Linux"
3003 msgstr "Linux"
3004
3005 #. type: Plain text
3006 #: build/C/man3/fopencookie.3:29
3007 msgid "fopencookie - opening a custom stream"
3008 msgstr ""
3009
3010 #. type: Plain text
3011 #: build/C/man3/fopencookie.3:36
3012 #, no-wrap
3013 msgid ""
3014 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
3015 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
3016 msgstr ""
3017 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
3018 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
3019
3020 #. type: Plain text
3021 #: build/C/man3/fopencookie.3:49
3022 msgid ""
3023 "The B<fopencookie>()  function allows the programmer to create a custom "
3024 "implementation for a standard I/O stream.  This implementation can store the "
3025 "stream's data at a location of its own choosing; for example, B<fopencookie>"
3026 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
3027 "to data that is stored in a buffer in memory."
3028 msgstr ""
3029
3030 #. type: Plain text
3031 #: build/C/man3/fopencookie.3:51
3032 msgid "In order to create a custom stream the programmer must:"
3033 msgstr ""
3034
3035 #. type: IP
3036 #: build/C/man3/fopencookie.3:51 build/C/man3/fopencookie.3:54
3037 #: build/C/man3/fopencookie.3:65 build/C/man2/open.2:470
3038 #: build/C/man2/open.2:478 build/C/man2/open.2:484 build/C/man2/open.2:490
3039 #: build/C/man2/open.2:497 build/C/man2/open.2:503 build/C/man3/scanf.3:633
3040 #: build/C/man3/scanf.3:638 build/C/man3/scanf.3:644
3041 #: build/C/man7/symlink.7:249 build/C/man7/symlink.7:259
3042 #: build/C/man7/symlink.7:289 build/C/man7/symlink.7:349
3043 #: build/C/man7/symlink.7:378 build/C/man7/symlink.7:407
3044 #: build/C/man7/symlink.7:438 build/C/man7/symlink.7:451
3045 #, no-wrap
3046 msgid "*"
3047 msgstr "*"
3048
3049 #. type: Plain text
3050 #: build/C/man3/fopencookie.3:54
3051 msgid ""
3052 "Implement four \"hook\" functions that are used internally by the standard I/"
3053 "O library when performing I/O on the stream."
3054 msgstr ""
3055
3056 #. type: Plain text
3057 #: build/C/man3/fopencookie.3:65
3058 msgid ""
3059 "Define a \"cookie\" data type, a structure that provides bookkeeping "
3060 "information (e.g., where to store data) used by the aforementioned hook "
3061 "functions.  The standard I/O package knows nothing about the contents of "
3062 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
3063 "()), but automatically supplies the cookie as the first argument when "
3064 "calling the hook functions."
3065 msgstr ""
3066
3067 #. type: Plain text
3068 #: build/C/man3/fopencookie.3:70
3069 msgid ""
3070 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
3071 "hook functions with that stream."
3072 msgstr ""
3073
3074 #. type: Plain text
3075 #: build/C/man3/fopencookie.3:78
3076 msgid ""
3077 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
3078 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
3079 "operate on that stream."
3080 msgstr ""
3081
3082 #. type: Plain text
3083 #: build/C/man3/fopencookie.3:85
3084 msgid ""
3085 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
3086 "to be associated with the new stream.  This pointer is supplied as the first "
3087 "argument when the standard I/O library invokes any of the hook functions "
3088 "described below."
3089 msgstr ""
3090
3091 #. type: Plain text
3092 #: build/C/man3/fopencookie.3:101
3093 msgid ""
3094 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
3095 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
3096 "See B<fopen>(3)  for details."
3097 msgstr ""
3098
3099 #. type: Plain text
3100 #: build/C/man3/fopencookie.3:107
3101 msgid ""
3102 "The I<io_funcs> argument is a structure that contains four fields pointing "
3103 "to the programmer-defined hook functions that are used to implement this "
3104 "stream.  The structure is defined as follows"
3105 msgstr ""
3106
3107 #. type: Plain text
3108 #: build/C/man3/fopencookie.3:116
3109 #, no-wrap
3110 msgid ""
3111 "typedef struct {\n"
3112 "    cookie_read_function_t  *read;\n"
3113 "    cookie_write_function_t *write;\n"
3114 "    cookie_seek_function_t  *seek;\n"
3115 "    cookie_close_function_t *close;\n"
3116 "} cookie_io_functions_t;\n"
3117 msgstr ""
3118 "typedef struct {\n"
3119 "    cookie_read_function_t  *read;\n"
3120 "    cookie_write_function_t *write;\n"
3121 "    cookie_seek_function_t  *seek;\n"
3122 "    cookie_close_function_t *close;\n"
3123 "} cookie_io_functions_t;\n"
3124
3125 #. type: Plain text
3126 #: build/C/man3/fopencookie.3:120
3127 msgid "The four fields are as follows:"
3128 msgstr ""
3129
3130 #. type: TP
3131 #: build/C/man3/fopencookie.3:120
3132 #, no-wrap
3133 msgid "I<cookie_read_function_t *read>"
3134 msgstr "I<cookie_read_function_t *read>"
3135
3136 #. type: Plain text
3137 #: build/C/man3/fopencookie.3:124
3138 msgid ""
3139 "This function implements read operations for the stream.  When called, it "
3140 "receives three arguments:"
3141 msgstr ""
3142
3143 #. type: Plain text
3144 #: build/C/man3/fopencookie.3:126
3145 #, no-wrap
3146 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3147 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3148
3149 #. type: Plain text
3150 #: build/C/man3/fopencookie.3:141
3151 msgid ""
3152 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3153 "input data can be placed and the size of that buffer.  As its function "
3154 "result, the I<read> function should return the number of bytes copied into "
3155 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3156 "update the stream offset appropriately."
3157 msgstr ""
3158
3159 #. type: Plain text
3160 #: build/C/man3/fopencookie.3:146
3161 msgid ""
3162 "If I<*read> is a NULL pointer, then reads from the custom stream always "
3163 "return end of file."
3164 msgstr ""
3165
3166 #. type: TP
3167 #: build/C/man3/fopencookie.3:146
3168 #, no-wrap
3169 msgid "I<cookie_write_function_t *write>"
3170 msgstr "I<cookie_write_function_t *write>"
3171
3172 #. type: Plain text
3173 #: build/C/man3/fopencookie.3:150
3174 msgid ""
3175 "This function implements write operations for the stream.  When called, it "
3176 "receives three arguments:"
3177 msgstr ""
3178
3179 #. type: Plain text
3180 #: build/C/man3/fopencookie.3:152
3181 #, no-wrap
3182 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3183 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3184
3185 #. type: Plain text
3186 #: build/C/man3/fopencookie.3:168
3187 msgid ""
3188 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3189 "output to the stream and the size of that buffer.  As its function result, "
3190 "the I<write> function should return the number of bytes copied from I<buf>, "
3191 "or 0 on error.  (The function must not return a negative value.)  The "
3192 "I<write> function should update the stream offset appropriately."
3193 msgstr ""
3194
3195 #. type: Plain text
3196 #: build/C/man3/fopencookie.3:173
3197 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3198 msgstr ""
3199
3200 #. type: TP
3201 #: build/C/man3/fopencookie.3:173
3202 #, no-wrap
3203 msgid "I<cookie_seek_function_t *seek>"
3204 msgstr "I<cookie_seek_function_t *seek>"
3205
3206 #. type: Plain text
3207 #: build/C/man3/fopencookie.3:177
3208 msgid ""
3209 "This function implements seek operations on the stream.  When called, it "
3210 "receives three arguments:"
3211 msgstr ""
3212
3213 #. type: Plain text
3214 #: build/C/man3/fopencookie.3:179
3215 #, no-wrap
3216 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3217 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3218
3219 #. type: Plain text
3220 #: build/C/man3/fopencookie.3:185
3221 msgid ""
3222 "The I<*offset> argument specifies the new file offset depending on which of "
3223 "the following three values is supplied in I<whence>:"
3224 msgstr ""
3225
3226 #. type: TP
3227 #: build/C/man3/fopencookie.3:186 build/C/man2/lseek.2:67
3228 #, no-wrap
3229 msgid "B<SEEK_SET>"
3230 msgstr "B<SEEK_SET>"
3231
3232 #. type: Plain text
3233 #: build/C/man3/fopencookie.3:191
3234 msgid ""
3235 "The stream offset should be set I<*offset> bytes from the start of the "
3236 "stream."
3237 msgstr ""
3238
3239 #. type: TP
3240 #: build/C/man3/fopencookie.3:191 build/C/man2/lseek.2:72
3241 #, no-wrap
3242 msgid "B<SEEK_CUR>"
3243 msgstr "B<SEEK_CUR>"
3244
3245 #. type: Plain text
3246 #: build/C/man3/fopencookie.3:195
3247 msgid "I<*offset> should be added to the current stream offset."
3248 msgstr ""
3249
3250 #. type: TP
3251 #: build/C/man3/fopencookie.3:195 build/C/man2/lseek.2:77
3252 #, no-wrap
3253 msgid "B<SEEK_END>"
3254 msgstr "B<SEEK_END>"
3255
3256 #. type: Plain text
3257 #: build/C/man3/fopencookie.3:199
3258 msgid ""
3259 "The stream offset should be set to the size of the stream plus I<*offset>."
3260 msgstr ""
3261
3262 #. type: Plain text
3263 #: build/C/man3/fopencookie.3:206
3264 msgid ""
3265 "Before returning, the I<seek> function should update I<*offset> to indicate "
3266 "the new stream offset."
3267 msgstr ""
3268
3269 #. type: Plain text
3270 #: build/C/man3/fopencookie.3:210
3271 msgid ""
3272 "As its function result, the I<seek> function should return 0 on success, and "
3273 "-1 on error."
3274 msgstr ""
3275
3276 #. type: Plain text
3277 #: build/C/man3/fopencookie.3:215
3278 msgid ""
3279 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3280 "operations on the stream."
3281 msgstr ""
3282
3283 #. type: TP
3284 #: build/C/man3/fopencookie.3:215
3285 #, no-wrap
3286 msgid "I<cookie_close_function_t *close>"
3287 msgstr "I<cookie_close_function_t *close>"
3288
3289 #. type: Plain text
3290 #: build/C/man3/fopencookie.3:221
3291 msgid ""
3292 "This function closes the stream.  The hook function can do things such as "
3293 "freeing buffers allocated for the stream.  When called, it receives one "
3294 "argument:"
3295 msgstr ""
3296
3297 #. type: Plain text
3298 #: build/C/man3/fopencookie.3:223
3299 #, no-wrap
3300 msgid "    int close(void *cookie);\n"
3301 msgstr "    int close(void *cookie);\n"
3302
3303 #. type: Plain text
3304 #: build/C/man3/fopencookie.3:228
3305 msgid ""
3306 "The I<cookie> argument is the cookie that the programmer supplied when "
3307 "calling B<fopencookie>()."
3308 msgstr ""
3309
3310 #. type: Plain text
3311 #: build/C/man3/fopencookie.3:234
3312 msgid ""
3313 "As its function result, the I<close> function should return 0 on success, "
3314 "and B<EOF> on error."
3315 msgstr ""
3316
3317 #. type: Plain text
3318 #: build/C/man3/fopencookie.3:238
3319 msgid ""
3320 "If I<*close> is NULL, then no special action is performed when the stream is "
3321 "closed."
3322 msgstr ""
3323
3324 #.  .SH ERRORS
3325 #.  It's not clear if errno ever gets set...
3326 #. type: Plain text
3327 #: build/C/man3/fopencookie.3:245
3328 msgid ""
3329 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3330 "NULL is returned."
3331 msgstr ""
3332
3333 #. type: Plain text
3334 #: build/C/man3/fopencookie.3:247
3335 msgid "This function is a nonstandard GNU extension."
3336 msgstr ""
3337
3338 #. type: Plain text
3339 #: build/C/man3/fopencookie.3:256
3340 msgid ""
3341 "The program below implements a custom stream whose functionality is similar "
3342 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3343 "stream whose data is stored in a memory buffer.  The program writes its "
3344 "command-line arguments to the stream, and then seeks through the stream "
3345 "reading two out of every five characters and writing them to standard "
3346 "output.  The following shell session demonstrates the use of the program:"
3347 msgstr ""
3348
3349 #. type: Plain text
3350 #: build/C/man3/fopencookie.3:264
3351 #, no-wrap
3352 msgid ""
3353 "$B< ./a.out \\(aqhello world\\(aq>\n"
3354 "/he/\n"
3355 "/ w/\n"
3356 "/d/\n"
3357 "Reached end of file\n"
3358 msgstr ""
3359 "$B< ./a.out \\(aqhello world\\(aq>\n"
3360 "/he/\n"
3361 "/ w/\n"
3362 "/d/\n"
3363 "Reached end of file\n"
3364
3365 #. type: Plain text
3366 #: build/C/man3/fopencookie.3:271
3367 msgid ""
3368 "Note that a more general version of the program below could be improved to "
3369 "more robustly handle various error situations (e.g., opening a stream with a "
3370 "cookie that already has an open stream; closing a stream that has already "
3371 "been closed)."
3372 msgstr ""
3373
3374 #. type: Plain text
3375 #: build/C/man3/fopencookie.3:280
3376 #, no-wrap
3377 msgid ""
3378 "#define _GNU_SOURCE\n"
3379 "#include E<lt>sys/types.hE<gt>\n"
3380 "#include E<lt>stdio.hE<gt>\n"
3381 "#include E<lt>stdlib.hE<gt>\n"
3382 "#include E<lt>unistd.hE<gt>\n"
3383 "#include E<lt>string.hE<gt>\n"
3384 msgstr ""
3385 "#define _GNU_SOURCE\n"
3386 "#include E<lt>sys/types.hE<gt>\n"
3387 "#include E<lt>stdio.hE<gt>\n"
3388 "#include E<lt>stdlib.hE<gt>\n"
3389 "#include E<lt>unistd.hE<gt>\n"
3390 "#include E<lt>string.hE<gt>\n"
3391
3392 #. type: Plain text
3393 #: build/C/man3/fopencookie.3:282
3394 #, no-wrap
3395 msgid "#define INIT_BUF_SIZE 4\n"
3396 msgstr "#define INIT_BUF_SIZE 4\n"
3397
3398 #. type: Plain text
3399 #: build/C/man3/fopencookie.3:289
3400 #, no-wrap
3401 msgid ""
3402 "struct memfile_cookie {\n"
3403 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3404 "    size_t  allocated;  /* Size of buf */\n"
3405 "    size_t  endpos;     /* Number of characters in buf */\n"
3406 "    off_t   offset;     /* Current file offset in buf */\n"
3407 "};\n"
3408 msgstr ""
3409 "struct memfile_cookie {\n"
3410 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3411 "    size_t  allocated;  /* Size of buf */\n"
3412 "    size_t  endpos;     /* Number of characters in buf */\n"
3413 "    off_t   offset;     /* Current file offset in buf */\n"
3414 "};\n"
3415
3416 #. type: Plain text
3417 #: build/C/man3/fopencookie.3:295
3418 #, no-wrap
3419 msgid ""
3420 "ssize_t\n"
3421 "memfile_write(void *c, const char *buf, size_t size)\n"
3422 "{\n"
3423 "    char *new_buff;\n"
3424 "    struct memfile_cookie *cookie = c;\n"
3425 msgstr ""
3426 "ssize_t\n"
3427 "memfile_write(void *c, const char *buf, size_t size)\n"
3428 "{\n"
3429 "    char *new_buff;\n"
3430 "    struct memfile_cookie *cookie = c;\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/fopencookie.3:297
3434 #, no-wrap
3435 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3436 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3437
3438 #. type: Plain text
3439 #: build/C/man3/fopencookie.3:307
3440 #, no-wrap
3441 msgid ""
3442 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3443 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3444 "        if (new_buff == NULL) {\n"
3445 "            return -1;\n"
3446 "        } else {\n"
3447 "            cookie-E<gt>allocated *= 2;\n"
3448 "            cookie-E<gt>buf = new_buff;\n"
3449 "        }\n"
3450 "    }\n"
3451 msgstr ""
3452 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3453 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3454 "        if (new_buff == NULL) {\n"
3455 "            return -1;\n"
3456 "        } else {\n"
3457 "            cookie-E<gt>allocated *= 2;\n"
3458 "            cookie-E<gt>buf = new_buff;\n"
3459 "        }\n"
3460 "    }\n"
3461
3462 #. type: Plain text
3463 #: build/C/man3/fopencookie.3:309
3464 #, no-wrap
3465 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3466 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3467
3468 #. type: Plain text
3469 #: build/C/man3/fopencookie.3:313
3470 #, no-wrap
3471 msgid ""
3472 "    cookie-E<gt>offset += size;\n"
3473 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3474 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3475 msgstr ""
3476 "    cookie-E<gt>offset += size;\n"
3477 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3478 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3479
3480 #. type: Plain text
3481 #: build/C/man3/fopencookie.3:316
3482 #, no-wrap
3483 msgid ""
3484 "    return size;\n"
3485 "}\n"
3486 msgstr ""
3487 "    return size;\n"
3488 "}\n"
3489
3490 #. type: Plain text
3491 #: build/C/man3/fopencookie.3:322
3492 #, no-wrap
3493 msgid ""
3494 "ssize_t\n"
3495 "memfile_read(void *c, char *buf, size_t size)\n"
3496 "{\n"
3497 "    ssize_t xbytes;\n"
3498 "    struct memfile_cookie *cookie = c;\n"
3499 msgstr ""
3500 "ssize_t\n"
3501 "memfile_read(void *c, char *buf, size_t size)\n"
3502 "{\n"
3503 "    ssize_t xbytes;\n"
3504 "    struct memfile_cookie *cookie = c;\n"
3505
3506 #. type: Plain text
3507 #: build/C/man3/fopencookie.3:324
3508 #, no-wrap
3509 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3510 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3511
3512 #. type: Plain text
3513 #: build/C/man3/fopencookie.3:330
3514 #, no-wrap
3515 msgid ""
3516 "    xbytes = size;\n"
3517 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3518 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3519 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3520 "       xbytes = 0;\n"
3521 msgstr ""
3522 "    xbytes = size;\n"
3523 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3524 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3525 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3526 "       xbytes = 0;\n"
3527
3528 #. type: Plain text
3529 #: build/C/man3/fopencookie.3:332
3530 #, no-wrap
3531 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3532 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3533
3534 #. type: Plain text
3535 #: build/C/man3/fopencookie.3:336
3536 #, no-wrap
3537 msgid ""
3538 "    cookie-E<gt>offset += xbytes;\n"
3539 "    return xbytes;\n"
3540 "}\n"
3541 msgstr ""
3542 "    cookie-E<gt>offset += xbytes;\n"
3543 "    return xbytes;\n"
3544 "}\n"
3545
3546 #. type: Plain text
3547 #: build/C/man3/fopencookie.3:342
3548 #, no-wrap
3549 msgid ""
3550 "int\n"
3551 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3552 "{\n"
3553 "    off64_t new_offset;\n"
3554 "    struct memfile_cookie *cookie = c;\n"
3555 msgstr ""
3556 "int\n"
3557 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3558 "{\n"
3559 "    off64_t new_offset;\n"
3560 "    struct memfile_cookie *cookie = c;\n"
3561
3562 #. type: Plain text
3563 #: build/C/man3/fopencookie.3:351
3564 #, no-wrap
3565 msgid ""
3566 "    if (whence == SEEK_SET)\n"
3567 "        new_offset = *offset;\n"
3568 "    else if (whence == SEEK_END)\n"
3569 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3570 "    else if (whence == SEEK_CUR)\n"
3571 "        new_offset = cookie-E<gt>offset + *offset;\n"
3572 "    else\n"
3573 "        return -1;\n"
3574 msgstr ""
3575 "    if (whence == SEEK_SET)\n"
3576 "        new_offset = *offset;\n"
3577 "    else if (whence == SEEK_END)\n"
3578 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3579 "    else if (whence == SEEK_CUR)\n"
3580 "        new_offset = cookie-E<gt>offset + *offset;\n"
3581 "    else\n"
3582 "        return -1;\n"
3583
3584 #. type: Plain text
3585 #: build/C/man3/fopencookie.3:354
3586 #, no-wrap
3587 msgid ""
3588 "    if (new_offset E<lt> 0)\n"
3589 "        return -1;\n"
3590 msgstr ""
3591 "    if (new_offset E<lt> 0)\n"
3592 "        return -1;\n"
3593
3594 #. type: Plain text
3595 #: build/C/man3/fopencookie.3:359
3596 #, no-wrap
3597 msgid ""
3598 "    cookie-E<gt>offset = new_offset;\n"
3599 "    *offset = new_offset;\n"
3600 "    return 0;\n"
3601 "}\n"
3602 msgstr ""
3603 "    cookie-E<gt>offset = new_offset;\n"
3604 "    *offset = new_offset;\n"
3605 "    return 0;\n"
3606 "}\n"
3607
3608 #. type: Plain text
3609 #: build/C/man3/fopencookie.3:364
3610 #, no-wrap
3611 msgid ""
3612 "int\n"
3613 "memfile_close(void *c)\n"
3614 "{\n"
3615 "    struct memfile_cookie *cookie = c;\n"
3616 msgstr ""
3617 "int\n"
3618 "memfile_close(void *c)\n"
3619 "{\n"
3620 "    struct memfile_cookie *cookie = c;\n"
3621
3622 #. type: Plain text
3623 #: build/C/man3/fopencookie.3:368
3624 #, no-wrap
3625 msgid ""
3626 "    free(cookie-E<gt>buf);\n"
3627 "    cookie-E<gt>allocated = 0;\n"
3628 "    cookie-E<gt>buf = NULL;\n"
3629 msgstr ""
3630 "    free(cookie-E<gt>buf);\n"
3631 "    cookie-E<gt>allocated = 0;\n"
3632 "    cookie-E<gt>buf = NULL;\n"
3633
3634 #. type: Plain text
3635 #: build/C/man3/fopencookie.3:371
3636 #, no-wrap
3637 msgid ""
3638 "    return 0;\n"
3639 "}\n"
3640 msgstr ""
3641 "    return 0;\n"
3642 "}\n"
3643
3644 #. type: Plain text
3645 #: build/C/man3/fopencookie.3:387
3646 #, no-wrap
3647 msgid ""
3648 "int\n"
3649 "main(int argc, char *argv[])\n"
3650 "{\n"
3651 "    cookie_io_functions_t  memfile_func = {\n"
3652 "        .read  = memfile_read,\n"
3653 "        .write = memfile_write,\n"
3654 "        .seek  = memfile_seek,\n"
3655 "        .close = memfile_close\n"
3656 "    };\n"
3657 "    FILE *fp;\n"
3658 "    struct memfile_cookie mycookie;\n"
3659 "    ssize_t nread;\n"
3660 "    long p;\n"
3661 "    int j;\n"
3662 "    char buf[1000];\n"
3663 msgstr ""
3664 "int\n"
3665 "main(int argc, char *argv[])\n"
3666 "{\n"
3667 "    cookie_io_functions_t  memfile_func = {\n"
3668 "        .read  = memfile_read,\n"
3669 "        .write = memfile_write,\n"
3670 "        .seek  = memfile_seek,\n"
3671 "        .close = memfile_close\n"
3672 "    };\n"
3673 "    FILE *fp;\n"
3674 "    struct memfile_cookie mycookie;\n"
3675 "    ssize_t nread;\n"
3676 "    long p;\n"
3677 "    int j;\n"
3678 "    char buf[1000];\n"
3679
3680 #. type: Plain text
3681 #: build/C/man3/fopencookie.3:389
3682 #, no-wrap
3683 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3684 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3685
3686 #. type: Plain text
3687 #: build/C/man3/fopencookie.3:395
3688 #, no-wrap
3689 msgid ""
3690 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3691 "    if (mycookie.buf == NULL) {\n"
3692 "        perror(\"malloc\");\n"
3693 "        exit(EXIT_FAILURE);\n"
3694 "    }\n"
3695 msgstr ""
3696 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3697 "    if (mycookie.buf == NULL) {\n"
3698 "        perror(\"malloc\");\n"
3699 "        exit(EXIT_FAILURE);\n"
3700 "    }\n"
3701
3702 #. type: Plain text
3703 #: build/C/man3/fopencookie.3:399
3704 #, no-wrap
3705 msgid ""
3706 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3707 "    mycookie.offset = 0;\n"
3708 "    mycookie.endpos = 0;\n"
3709 msgstr ""
3710 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3711 "    mycookie.offset = 0;\n"
3712 "    mycookie.endpos = 0;\n"
3713
3714 #. type: Plain text
3715 #: build/C/man3/fopencookie.3:405
3716 #, no-wrap
3717 msgid ""
3718 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3719 "    if (fp == NULL) {\n"
3720 "        perror(\"fopencookie\");\n"
3721 "        exit(EXIT_FAILURE);\n"
3722 "    }\n"
3723 msgstr ""
3724 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3725 "    if (fp == NULL) {\n"
3726 "        perror(\"fopencookie\");\n"
3727 "        exit(EXIT_FAILURE);\n"
3728 "    }\n"
3729
3730 #. type: Plain text
3731 #: build/C/man3/fopencookie.3:407
3732 #, no-wrap
3733 msgid "    /* Write command-line arguments to our file */\n"
3734 msgstr "    /* Write command-line arguments to our file */\n"
3735
3736 #. type: Plain text
3737 #: build/C/man3/fopencookie.3:413
3738 #, no-wrap
3739 msgid ""
3740 "    for (j = 1; j E<lt> argc; j++)\n"
3741 "        if (fputs(argv[j], fp) == EOF) {\n"
3742 "            perror(\"fputs\");\n"
3743 "            exit(EXIT_FAILURE);\n"
3744 "        }\n"
3745 msgstr ""
3746 "    for (j = 1; j E<lt> argc; j++)\n"
3747 "        if (fputs(argv[j], fp) == EOF) {\n"
3748 "            perror(\"fputs\");\n"
3749 "            exit(EXIT_FAILURE);\n"
3750 "        }\n"
3751
3752 #. type: Plain text
3753 #: build/C/man3/fopencookie.3:415
3754 #, no-wrap
3755 msgid "    /* Read two bytes out of every five, until EOF */\n"
3756 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3757
3758 #. type: Plain text
3759 #: build/C/man3/fopencookie.3:430
3760 #, no-wrap
3761 msgid ""
3762 "    for (p = 0; ; p += 5) {\n"
3763 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3764 "            perror(\"fseek\");\n"
3765 "            exit(EXIT_FAILURE);\n"
3766 "        }\n"
3767 "        nread = fread(buf, 1, 2, fp);\n"
3768 "        if (nread == -1) {\n"
3769 "            perror(\"fread\");\n"
3770 "            exit(EXIT_FAILURE);\n"
3771 "        }\n"
3772 "        if (nread == 0) {\n"
3773 "            printf(\"Reached end of file\\en\");\n"
3774 "            break;\n"
3775 "        }\n"
3776 msgstr ""
3777 "    for (p = 0; ; p += 5) {\n"
3778 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3779 "            perror(\"fseek\");\n"
3780 "            exit(EXIT_FAILURE);\n"
3781 "        }\n"
3782 "        nread = fread(buf, 1, 2, fp);\n"
3783 "        if (nread == -1) {\n"
3784 "            perror(\"fread\");\n"
3785 "            exit(EXIT_FAILURE);\n"
3786 "        }\n"
3787 "        if (nread == 0) {\n"
3788 "            printf(\"Reached end of file\\en\");\n"
3789 "            break;\n"
3790 "        }\n"
3791
3792 #. type: Plain text
3793 #: build/C/man3/fopencookie.3:433
3794 #, no-wrap
3795 msgid ""
3796 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3797 "    }\n"
3798 msgstr ""
3799 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3800 "    }\n"
3801
3802 #. type: Plain text
3803 #: build/C/man3/fopencookie.3:436 build/C/man2/readlink.2:213
3804 #, no-wrap
3805 msgid ""
3806 "    exit(EXIT_SUCCESS);\n"
3807 "}\n"
3808 msgstr ""
3809 "    exit(EXIT_SUCCESS);\n"
3810 "}\n"
3811
3812 #. type: Plain text
3813 #: build/C/man3/fopencookie.3:442
3814 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3815 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3816
3817 #. type: TH
3818 #: build/C/man3/fpurge.3:25
3819 #, no-wrap
3820 msgid "FPURGE"
3821 msgstr "FPURGE"
3822
3823 #. type: TH
3824 #: build/C/man3/fpurge.3:25
3825 #, no-wrap
3826 msgid "2001-12-15"
3827 msgstr "2001-12-15"
3828
3829 #. type: Plain text
3830 #: build/C/man3/fpurge.3:28
3831 msgid "fpurge, __fpurge - purge a stream"
3832 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3833
3834 #. type: Plain text
3835 #: build/C/man3/fpurge.3:32
3836 #, no-wrap
3837 msgid ""
3838 "/* unsupported */\n"
3839 "B<#include E<lt>stdio.hE<gt>>\n"
3840 msgstr ""
3841 "/* unsupported */\n"
3842 "B<#include E<lt>stdio.hE<gt>>\n"
3843
3844 #. type: Plain text
3845 #: build/C/man3/fpurge.3:34
3846 #, no-wrap
3847 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3848 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3849
3850 #. type: Plain text
3851 #: build/C/man3/fpurge.3:37
3852 #, no-wrap
3853 msgid ""
3854 "/* supported */\n"
3855 "B<#include E<lt>stdio.hE<gt>>\n"
3856 msgstr ""
3857 "/* supported */\n"
3858 "B<#include E<lt>stdio.hE<gt>>\n"
3859
3860 #. type: Plain text
3861 #: build/C/man3/fpurge.3:39
3862 #, no-wrap
3863 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3864 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3865
3866 #. type: Plain text
3867 #: build/C/man3/fpurge.3:41
3868 #, no-wrap
3869 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3870 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3871
3872 #. type: Plain text
3873 #: build/C/man3/fpurge.3:54
3874 msgid ""
3875 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3876 "output streams this discards any unwritten output.  For input streams this "
3877 "discards any input read from the underlying object but not yet obtained via "
3878 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3879 "B<fflush>(3)."
3880 msgstr ""
3881 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3882 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3883 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3884 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3885 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3886
3887 #. type: Plain text
3888 #: build/C/man3/fpurge.3:58
3889 msgid ""
3890 "The function B<__fpurge>()  does precisely the same, but without returning a "
3891 "value."
3892 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3893
3894 #. type: Plain text
3895 #: build/C/man3/fpurge.3:65
3896 msgid ""
3897 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3898 "and sets I<errno> appropriately."
3899 msgstr ""
3900 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3901 "を適切な値に設定する。"
3902
3903 #. type: Plain text
3904 #: build/C/man3/fpurge.3:70
3905 msgid "I<stream> is not an open stream."
3906 msgstr "I<stream> がオープンされていない。"
3907
3908 #. type: Plain text
3909 #: build/C/man3/fpurge.3:78
3910 msgid ""
3911 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3912 "was introduced in 4.4BSD and is not available under Linux.  The function "
3913 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3914 "later."
3915 msgstr ""
3916 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3917 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3918 "され、glibc 2.1.95 以降には存在している。"
3919
3920 #. type: Plain text
3921 #: build/C/man3/fpurge.3:80
3922 msgid "Usually it is a mistake to want to discard input buffers."
3923 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3924
3925 #.  .BR fclean (3),
3926 #. type: Plain text
3927 #: build/C/man3/fpurge.3:85
3928 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3929 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3930
3931 #. type: TH
3932 #: build/C/man3/fputwc.3:16
3933 #, no-wrap
3934 msgid "FPUTWC"
3935 msgstr "FPUTWC"
3936
3937 #. type: Plain text
3938 #: build/C/man3/fputwc.3:19
3939 msgid "fputwc, putwc - write a wide character to a FILE stream"
3940 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3941
3942 #. type: Plain text
3943 #: build/C/man3/fputwc.3:27
3944 #, no-wrap
3945 msgid ""
3946 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3947 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3948 msgstr ""
3949 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3950 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3951
3952 #. type: Plain text
3953 #: build/C/man3/fputwc.3:43
3954 msgid ""
3955 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3956 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3957 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3958 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3959 "it returns I<wc>."
3960 msgstr ""
3961 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3962 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3963 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3964 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3965 "関数は I<wc> を返す。"
3966
3967 #. type: Plain text
3968 #: build/C/man3/fputwc.3:51
3969 msgid ""
3970 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3971 "may be implemented as a macro, and may evaluate its argument more than "
3972 "once.  There is no reason ever to use it."
3973 msgstr ""
3974 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3975 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3976 "ない。この関数を使う理由はもはや存在しない。"
3977
3978 #. type: Plain text
3979 #: build/C/man3/fputwc.3:63
3980 msgid ""
3981 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3982 "indicate an error.  In the event of an error, I<errno> is set to indicate "
3983 "the cause."
3984 msgstr ""
3985 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3986 "B<WEOF> が返り、 I<errno> にエラーの原因を示す値が設定される。"
3987
3988 #. type: Plain text
3989 #: build/C/man3/fputwc.3:68
3990 msgid "Conversion of I<wc> to the stream's encoding fails."
3991 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3992
3993 #. type: Plain text
3994 #: build/C/man3/fputwc.3:77
3995 msgid ""
3996 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3997 "current locale."
3998 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3999
4000 #. type: Plain text
4001 #: build/C/man3/fputwc.3:85
4002 msgid ""
4003 "In the absence of additional information passed to the B<fopen>(3)  call, it "
4004 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
4005 "sequence corresponding to the wide character I<wc>."
4006 msgstr ""
4007 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
4008 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
4009 "よい。"
4010
4011 #. type: Plain text
4012 #: build/C/man3/fputwc.3:89
4013 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
4014 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
4015
4016 #. type: TH
4017 #: build/C/man3/fread.3:45
4018 #, no-wrap
4019 msgid "FREAD"
4020 msgstr "FREAD"
4021
4022 #. type: TH
4023 #: build/C/man3/fread.3:45
4024 #, no-wrap
4025 msgid "2012-03-30"
4026 msgstr "2012-03-30"
4027
4028 #. type: Plain text
4029 #: build/C/man3/fread.3:48
4030 msgid "fread, fwrite - binary stream input/output"
4031 msgstr "fread, fwrite - バイナリストリームの入出力"
4032
4033 #. type: Plain text
4034 #: build/C/man3/fread.3:54
4035 #, no-wrap
4036 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
4037 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
4038
4039 #. type: Plain text
4040 #: build/C/man3/fread.3:57
4041 #, no-wrap
4042 msgid ""
4043 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
4044 "B<              FILE *>I<stream>B<);>\n"
4045 msgstr ""
4046 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
4047 "B<              FILE *>I<stream>B<);>\n"
4048
4049 #. type: Plain text
4050 #: build/C/man3/fread.3:69
4051 msgid ""
4052 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
4053 "long, from the stream pointed to by I<stream>, storing them at the location "
4054 "given by I<ptr>."
4055 msgstr ""
4056 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
4057 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
4058 "I<size> バイトの長さを持つ。"
4059
4060 #. type: Plain text
4061 #: build/C/man3/fread.3:80
4062 msgid ""
4063 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
4064 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
4065 "location given by I<ptr>."
4066 msgstr ""
4067 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
4068 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
4069 "バイトの長さを持つ。"
4070
4071 #. type: Plain text
4072 #: build/C/man3/fread.3:96
4073 msgid ""
4074 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
4075 "or written.  This number equals the number of bytes transferred only when "
4076 "I<size> is 1.  If an error occurs, or the end of the file is reached, the "
4077 "return value is a short item count (or zero)."
4078 msgstr ""
4079 "成功すると、 B<fread>() と B<fwrite>() は読み書きを行った要素の個数を返す。\n"
4080 "I<size> が 1 の場合は、この数字は転送されたバイト数と等しい。\n"
4081 "エラーが生じた場合や、ファイルの末尾 (end-of-file) に達した場合、\n"
4082 "返り値は指定した個数よりも小さい値 (または 0) となる。"
4083
4084 #. type: Plain text
4085 #: build/C/man3/fread.3:103
4086 msgid ""
4087 "B<fread>()  does not distinguish between end-of-file and error, and callers "
4088 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
4089 msgstr ""
4090 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
4091 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
4092 "らない。"
4093
4094 #. type: Plain text
4095 #: build/C/man3/fread.3:105
4096 msgid "C89, POSIX.1-2001."
4097 msgstr "C89, POSIX.1-2001."
4098
4099 #. type: Plain text
4100 #: build/C/man3/fread.3:111
4101 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4102 msgstr ""
4103 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4104
4105 #. type: TH
4106 #: build/C/man3/fseek.3:42
4107 #, no-wrap
4108 msgid "FSEEK"
4109 msgstr "FSEEK"
4110
4111 #. type: TH
4112 #: build/C/man3/fseek.3:42
4113 #, no-wrap
4114 msgid "1993-11-29"
4115 msgstr "1993-11-29"
4116
4117 #. type: Plain text
4118 #: build/C/man3/fseek.3:45
4119 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
4120 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
4121
4122 #. type: Plain text
4123 #: build/C/man3/fseek.3:49
4124 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4125 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4126
4127 #. type: Plain text
4128 #: build/C/man3/fseek.3:51
4129 msgid "B<long ftell(FILE *>I<stream>B<);>"
4130 msgstr "B<long ftell(FILE *>I<stream>B<);>"
4131
4132 #. type: Plain text
4133 #: build/C/man3/fseek.3:53
4134 msgid "B<void rewind(FILE *>I<stream>B<);>"
4135 msgstr "B<void rewind(FILE *>I<stream>B<);>"
4136
4137 #. type: Plain text
4138 #: build/C/man3/fseek.3:55
4139 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4140 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4141
4142 #. type: Plain text
4143 #: build/C/man3/fseek.3:57
4144 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4145 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4146
4147 #. type: Plain text
4148 #: build/C/man3/fseek.3:81
4149 msgid ""
4150 "The B<fseek>()  function sets the file position indicator for the stream "
4151 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
4152 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4153 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4154 "relative to the start of the file, the current position indicator, or end-of-"
4155 "file, respectively.  A successful call to the B<fseek>()  function clears "
4156 "the end-of-file indicator for the stream and undoes any effects of the "
4157 "B<ungetc>(3)  function on the same stream."
4158 msgstr ""
4159 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4160 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4161 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4162 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4163 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4164 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4165 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4166 "かったことになる。"
4167
4168 #. type: Plain text
4169 #: build/C/man3/fseek.3:87
4170 msgid ""
4171 "The B<ftell>()  function obtains the current value of the file position "
4172 "indicator for the stream pointed to by I<stream>."
4173 msgstr ""
4174 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4175 "置表示子 の現時点での値を与える。"
4176
4177 #. type: Plain text
4178 #: build/C/man3/fseek.3:94
4179 msgid ""
4180 "The B<rewind>()  function sets the file position indicator for the stream "
4181 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4182 msgstr ""
4183 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4184 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4185
4186 #. type: Plain text
4187 #: build/C/man3/fseek.3:97
4188 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4189 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4190
4191 #. type: Plain text
4192 #: build/C/man3/fseek.3:101
4193 msgid ""
4194 "except that the error indicator for the stream is also cleared (see "
4195 "B<clearerr>(3))."
4196 msgstr ""
4197 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4198 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4199
4200 #. type: Plain text
4201 #: build/C/man3/fseek.3:121
4202 msgid ""
4203 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4204 "equivalent to B<ftell>()  and B<fseek>()  (with I<whence> set to "
4205 "B<SEEK_SET>), setting and storing the current value of the file offset into "
4206 "or from the object referenced by I<pos>.  On some non-UNIX systems, an "
4207 "I<fpos_t> object may be a complex object and these routines may be the only "
4208 "way to portably reposition a text stream."
4209 msgstr ""
4210 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4211 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4212 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4213 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4214 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4215 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4216 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4217
4218 #. type: Plain text
4219 #: build/C/man3/fseek.3:136
4220 msgid ""
4221 "The B<rewind>()  function returns no value.  Upon successful completion, "
4222 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4223 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4224 "indicate the error."
4225 msgstr ""
4226 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4227 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4228 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4229
4230 #. type: Plain text
4231 #: build/C/man3/fseek.3:142
4232 msgid "The I<stream> specified is not a seekable stream."
4233 msgstr "指定した I<stream> がシークできない。"
4234
4235 #. type: Plain text
4236 #: build/C/man3/fseek.3:153
4237 msgid ""
4238 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4239 "B<SEEK_CUR>."
4240 msgstr ""
4241 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4242 "B<SEEK_CUR> 以外の値であった。"
4243
4244 #. type: Plain text
4245 #: build/C/man3/fseek.3:168
4246 msgid ""
4247 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4248 "also fail and set I<errno> for any of the errors specified for the routines "
4249 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4250 msgstr ""
4251 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4252 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4253 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4254
4255 #. type: Plain text
4256 #: build/C/man3/fseek.3:173
4257 msgid "B<lseek>(2), B<fseeko>(3)"
4258 msgstr "B<lseek>(2), B<fseeko>(3)"
4259
4260 #. type: TH
4261 #: build/C/man3/fseeko.3:25
4262 #, no-wrap
4263 msgid "FSEEKO"
4264 msgstr "FSEEKO"
4265
4266 #. type: TH
4267 #: build/C/man3/fseeko.3:25
4268 #, no-wrap
4269 msgid "2001-11-05"
4270 msgstr "2001-11-05"
4271
4272 #. type: Plain text
4273 #: build/C/man3/fseeko.3:28
4274 msgid "fseeko, ftello - seek to or report file position"
4275 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4276
4277 #. type: Plain text
4278 #: build/C/man3/fseeko.3:33
4279 #, no-wrap
4280 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4281 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4282
4283 #. type: Plain text
4284 #: build/C/man3/fseeko.3:36
4285 #, no-wrap
4286 msgid ""
4287 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4288 "\n"
4289 msgstr ""
4290 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4291 "\n"
4292
4293 #. type: Plain text
4294 #: build/C/man3/fseeko.3:58
4295 msgid ""
4296 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4297 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4298 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4299 "I<off_t> instead of I<long>."
4300 msgstr ""
4301 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4302 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4303 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4304 "I<off_t> になっている。"
4305
4306 #. type: Plain text
4307 #: build/C/man3/fseeko.3:65
4308 msgid ""
4309 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4310 "compilation with"
4311 msgstr ""
4312 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4313
4314 #. type: Plain text
4315 #: build/C/man3/fseeko.3:69 build/C/man3/lseek64.3:81
4316 #, no-wrap
4317 msgid "#define _FILE_OFFSET_BITS 64\n"
4318 msgstr "#define _FILE_OFFSET_BITS 64\n"
4319
4320 #. type: Plain text
4321 #: build/C/man3/fseeko.3:75
4322 msgid "will turn I<off_t> into a 64-bit type."
4323 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4324
4325 #. type: Plain text
4326 #: build/C/man3/fseeko.3:84
4327 msgid ""
4328 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4329 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4330 "indicate the error."
4331 msgstr ""
4332 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4333 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4334
4335 #. type: Plain text
4336 #: build/C/man3/fseeko.3:87
4337 msgid "See the ERRORS in B<fseek>(3)."
4338 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4339
4340 #. type: Plain text
4341 #: build/C/man3/fseeko.3:89
4342 msgid "SUSv2, POSIX.1-2001."
4343 msgstr "SUSv2, POSIX.1-2001."
4344
4345 #. type: Plain text
4346 #: build/C/man3/fseeko.3:93
4347 msgid ""
4348 "These functions are found on System V-like systems.  They are not present in "
4349 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4350 msgstr ""
4351 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4352 "かったが、 glibc 2.1 から使えるようになった。"
4353
4354 #. type: Plain text
4355 #: build/C/man3/fseeko.3:95
4356 msgid "B<fseek>(3)"
4357 msgstr "B<fseek>(3)"
4358
4359 #. type: TH
4360 #: build/C/man3/getline.3:26
4361 #, no-wrap
4362 msgid "GETLINE"
4363 msgstr "GETLINE"
4364
4365 #. type: Plain text
4366 #: build/C/man3/getline.3:29
4367 msgid "getline, getdelim - delimited string input"
4368 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4369
4370 #. type: Plain text
4371 #: build/C/man3/getline.3:34
4372 #, no-wrap
4373 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4374 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4375
4376 #. type: Plain text
4377 #: build/C/man3/getline.3:37
4378 #, no-wrap
4379 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4380 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4381
4382 #. type: Plain text
4383 #: build/C/man3/getline.3:47
4384 msgid "B<getline>(), B<getdelim>():"
4385 msgstr "B<getline>(), B<getdelim>():"
4386
4387 #. type: Plain text
4388 #: build/C/man3/getline.3:52
4389 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4390 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4391
4392 #. type: Plain text
4393 #: build/C/man3/getline.3:65
4394 msgid ""
4395 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4396 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4397 "terminated and includes the newline character, if one was found."
4398 msgstr ""
4399 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4400 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4401 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4402
4403 #. type: Plain text
4404 #: build/C/man3/getline.3:75
4405 msgid ""
4406 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4407 "storing the line, which should be freed by the user program.  (In this case, "
4408 "the value in I<*n> is ignored.)"
4409 msgstr ""
4410 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4411 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4412 "合、 I<*n> の値は無視される)。"
4413
4414 #. type: Plain text
4415 #: build/C/man3/getline.3:93
4416 msgid ""
4417 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4418 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4419 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4420 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4421 msgstr ""
4422 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4423 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4424 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4425 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4426 "I<*n> を更新する。"
4427
4428 #. type: Plain text
4429 #: build/C/man3/getline.3:99
4430 msgid ""
4431 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4432 "to reflect the buffer address and allocated size respectively."
4433 msgstr ""
4434 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4435 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4436
4437 #. type: Plain text
4438 #: build/C/man3/getline.3:110
4439 msgid ""
4440 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4441 "than newline can be specified as the I<delimiter> argument.  As with "
4442 "B<getline>(), a delimiter character is not added if one was not present in "
4443 "the input before end of file was reached."
4444 msgstr ""
4445 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4446 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4447 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4448 "ファに追加しない。"
4449
4450 #. type: Plain text
4451 #: build/C/man3/getline.3:119
4452 msgid ""
4453 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4454 "read, including the delimiter character, but not including the terminating "
4455 "null byte (\\(aq\\e0\\(aq).  This value can be used to handle embedded null "
4456 "bytes in the line read."
4457 msgstr ""
4458 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4459 "字数には区切り文字は含まれるが、終端に使う NULL バイト (\\(aq\\e0\\(aq) は含"
4460 "まれない。 この値によって、読み込んだ行に含まれる NULL バイトを操作することが"
4461 "できる。"
4462
4463 #. type: Plain text
4464 #: build/C/man3/getline.3:125
4465 msgid ""
4466 "Both functions return -1 on failure to read a line (including end-of-file "
4467 "condition).  In the event of an error, I<errno> is set to indicate the cause."
4468 msgstr ""
4469 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4470 "した場合にも -1 を返す)。 エラーが発生した場合には、 I<errno> にエラーの原因"
4471 "を示す値が設定される。"
4472
4473 #. type: Plain text
4474 #: build/C/man3/getline.3:135
4475 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4476 msgstr ""
4477 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4478 "I<stream> が有効でない)。"
4479
4480 #. type: Plain text
4481 #: build/C/man3/getline.3:137
4482 msgid "These functions are available since libc 4.6.27."
4483 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4484
4485 #. type: Plain text
4486 #: build/C/man3/getline.3:144
4487 msgid ""
4488 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4489 "were standardized in POSIX.1-2008."
4490 msgstr ""
4491 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4492 "POSIX.1-2008 で標準化された。"
4493
4494 #. type: Plain text
4495 #: build/C/man3/getline.3:149
4496 #, no-wrap
4497 msgid ""
4498 "#define _GNU_SOURCE\n"
4499 "#include E<lt>stdio.hE<gt>\n"
4500 "#include E<lt>stdlib.hE<gt>\n"
4501 msgstr ""
4502 "#define _GNU_SOURCE\n"
4503 "#include E<lt>stdio.hE<gt>\n"
4504 "#include E<lt>stdlib.hE<gt>\n"
4505
4506 #. type: Plain text
4507 #: build/C/man3/getline.3:157
4508 #, no-wrap
4509 msgid ""
4510 "int\n"
4511 "main(void)\n"
4512 "{\n"
4513 "    FILE *fp;\n"
4514 "    char *line = NULL;\n"
4515 "    size_t len = 0;\n"
4516 "    ssize_t read;\n"
4517 msgstr ""
4518 "int\n"
4519 "main(void)\n"
4520 "{\n"
4521 "    FILE *fp;\n"
4522 "    char *line = NULL;\n"
4523 "    size_t len = 0;\n"
4524 "    ssize_t read;\n"
4525
4526 #. type: Plain text
4527 #: build/C/man3/getline.3:161
4528 #, no-wrap
4529 msgid ""
4530 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4531 "    if (fp == NULL)\n"
4532 "        exit(EXIT_FAILURE);\n"
4533 msgstr ""
4534 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4535 "    if (fp == NULL)\n"
4536 "        exit(EXIT_FAILURE);\n"
4537
4538 #. type: Plain text
4539 #: build/C/man3/getline.3:166
4540 #, no-wrap
4541 msgid ""
4542 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4543 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4544 "        printf(\"%s\", line);\n"
4545 "    }\n"
4546 msgstr ""
4547 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4548 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4549 "        printf(\"%s\", line);\n"
4550 "    }\n"
4551
4552 #. type: Plain text
4553 #: build/C/man3/getline.3:170
4554 #, no-wrap
4555 msgid ""
4556 "    free(line);\n"
4557 "    exit(EXIT_SUCCESS);\n"
4558 "}\n"
4559 msgstr ""
4560 "    free(line);\n"
4561 "    exit(EXIT_SUCCESS);\n"
4562 "}\n"
4563
4564 #. type: Plain text
4565 #: build/C/man3/getline.3:178
4566 msgid ""
4567 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4568 msgstr ""
4569 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4570
4571 #. type: TH
4572 #: build/C/man3/gets.3:27
4573 #, no-wrap
4574 msgid "GETS"
4575 msgstr "GETS"
4576
4577 #. type: TH
4578 #: build/C/man3/gets.3:27
4579 #, no-wrap
4580 msgid "2012-01-18"
4581 msgstr "2012-01-18"
4582
4583 #. type: Plain text
4584 #: build/C/man3/gets.3:30
4585 msgid ""
4586 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4587 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4588
4589 #. type: Plain text
4590 #: build/C/man3/gets.3:35
4591 #, no-wrap
4592 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4593 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4594
4595 #. type: Plain text
4596 #: build/C/man3/gets.3:37
4597 #, no-wrap
4598 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4599 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4600
4601 #. type: Plain text
4602 #: build/C/man3/gets.3:39
4603 #, no-wrap
4604 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4605 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4606
4607 #. type: Plain text
4608 #: build/C/man3/gets.3:41
4609 #, no-wrap
4610 msgid "B<int getchar(void);>\n"
4611 msgstr "B<int getchar(void);>\n"
4612
4613 #. type: Plain text
4614 #: build/C/man3/gets.3:43
4615 #, no-wrap
4616 msgid "B<char *gets(char *>I<s>B<);>\n"
4617 msgstr "B<char *gets(char *>I<s>B<);>\n"
4618
4619 #. type: Plain text
4620 #: build/C/man3/gets.3:45
4621 #, no-wrap
4622 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4623 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4624
4625 #. type: Plain text
4626 #: build/C/man3/gets.3:57
4627 msgid ""
4628 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4629 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4630 msgstr ""
4631 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4632 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4633 "す。"
4634
4635 #. type: Plain text
4636 #: build/C/man3/gets.3:64
4637 msgid ""
4638 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4639 "a macro which evaluates I<stream> more than once."
4640 msgstr ""
4641 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4642 "実装されているかもしれない。"
4643
4644 #. type: Plain text
4645 #: build/C/man3/gets.3:68
4646 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4647 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4648
4649 #. type: Plain text
4650 #: build/C/man3/gets.3:78
4651 msgid ""
4652 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4653 "until either a terminating newline or B<EOF>, which it replaces with a null "
4654 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4655 "below)."
4656 msgstr ""
4657 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4658 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4659 "\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
4660 "記の「バグ」を参照)。"
4661
4662 #. type: Plain text
4663 #: build/C/man3/gets.3:92
4664 msgid ""
4665 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4666 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4667 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4668 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4669 "in the buffer."
4670 msgstr ""
4671 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4672 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4673 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4674 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4675
4676 #. type: Plain text
4677 #: build/C/man3/gets.3:103
4678 msgid ""
4679 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4680 "it is available for subsequent read operations.  Pushed-back characters will "
4681 "be returned in reverse order; only one pushback is guaranteed."
4682 msgstr ""
4683 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4684 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4685 "しとして保証されているのは、一文字だけである。"
4686
4687 #. type: Plain text
4688 #: build/C/man3/gets.3:108
4689 msgid ""
4690 "Calls to the functions described here can be mixed with each other and with "
4691 "calls to other input functions from the I<stdio> library for the same input "
4692 "stream."
4693 msgstr ""
4694 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4695 "互いに混ぜて使うことができる。"
4696
4697 #. type: Plain text
4698 #: build/C/man3/gets.3:123
4699 msgid ""
4700 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4701 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4702 msgstr ""
4703 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4704 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4705 "す。"
4706
4707 #. type: Plain text
4708 #: build/C/man3/gets.3:131
4709 msgid ""
4710 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4711 "end of file occurs while no characters have been read."
4712 msgstr ""
4713 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4714 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4715
4716 #. type: Plain text
4717 #: build/C/man3/gets.3:138
4718 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4719 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4720
4721 #. type: Plain text
4722 #: build/C/man3/gets.3:140
4723 msgid "C89, C99, POSIX.1-2001."
4724 msgstr "C89, C99, POSIX.1-2001."
4725
4726 #. type: Plain text
4727 #: build/C/man3/gets.3:152
4728 msgid ""
4729 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4730 "C11 removes the specification of B<gets>()  from the C language, and since "
4731 "version 2.16, glibc header files don't expose the function declaration if "
4732 "the B<_ISOC11_SOURCE> feature test macro is defined."
4733 msgstr ""
4734 "LSB は B<gets>() を非推奨としている。\n"
4735 "POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
4736 "ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
4737 "glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
4738 "た\n"
4739 "場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
4740
4741 #. type: Plain text
4742 #: build/C/man3/gets.3:166
4743 msgid ""
4744 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4745 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4746 "()  will continue to store characters past the end of the buffer, it is "
4747 "extremely dangerous to use.  It has been used to break computer security.  "
4748 "Use B<fgets>()  instead."
4749 msgstr ""
4750 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4751 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4752 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4753 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4754 "と。"
4755
4756 #. type: Plain text
4757 #: build/C/man3/gets.3:173
4758 msgid ""
4759 "It is not advisable to mix calls to input functions from the I<stdio> "
4760 "library with low-level calls to B<read>(2)  for the file descriptor "
4761 "associated with the input stream; the results will be undefined and very "
4762 "probably not what you want."
4763 msgstr ""
4764 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4765 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4766 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4767
4768 #. type: Plain text
4769 #: build/C/man3/gets.3:189
4770 msgid ""
4771 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4772 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4773 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4774 msgstr ""
4775 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
4776 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
4777 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
4778 "B<feature_test_macros>(7)"
4779
4780 #. type: TH
4781 #: build/C/man3/getw.3:25
4782 #, no-wrap
4783 msgid "GETW"
4784 msgstr "GETW"
4785
4786 #. type: TH
4787 #: build/C/man3/getw.3:25
4788 #, no-wrap
4789 msgid "2010-09-26"
4790 msgstr "2010-09-26"
4791
4792 #. type: Plain text
4793 #: build/C/man3/getw.3:28
4794 msgid "getw, putw - input and output of words (ints)"
4795 msgstr "getw, putw - ワード(int)の入出力"
4796
4797 #. type: Plain text
4798 #: build/C/man3/getw.3:33
4799 #, no-wrap
4800 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4801 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4802
4803 #. type: Plain text
4804 #: build/C/man3/getw.3:35
4805 #, no-wrap
4806 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4807 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4808
4809 #. type: Plain text
4810 #: build/C/man3/getw.3:44
4811 msgid "B<getw>(), B<putw>():"
4812 msgstr "B<getw>(), B<putw>():"
4813
4814 #. type: TP
4815 #: build/C/man3/getw.3:47
4816 #, no-wrap
4817 msgid "Since glibc 2.3.3:"
4818 msgstr "glibc 2.3.3 以降:"
4819
4820 #. type: Plain text
4821 #: build/C/man3/getw.3:50
4822 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4823 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4824
4825 #. type: Plain text
4826 #: build/C/man3/getw.3:53
4827 #, no-wrap
4828 msgid ""
4829 "(_XOPEN_SOURCE &&\n"
4830 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4831 msgstr ""
4832 "(_XOPEN_SOURCE &&\n"
4833 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4834
4835 #. type: TP
4836 #: build/C/man3/getw.3:53
4837 #, no-wrap
4838 msgid "Before glibc 2.3.3:"
4839 msgstr "glibc 2.3.3 より前:"
4840
4841 #. type: Plain text
4842 #: build/C/man3/getw.3:56
4843 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4844 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4845
4846 #. type: Plain text
4847 #: build/C/man3/getw.3:66
4848 msgid ""
4849 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4850 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4851 msgstr ""
4852 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4853 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4854 "ことを勧める。"
4855
4856 #. type: Plain text
4857 #: build/C/man3/getw.3:73
4858 msgid ""
4859 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4860 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4861 "instead."
4862 msgstr ""
4863 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4864 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4865 "使用することを勧める。"
4866
4867 #. type: Plain text
4868 #: build/C/man3/getw.3:80
4869 msgid ""
4870 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4871 "error, they return B<EOF>."
4872 msgstr ""
4873 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4874 "が発生した場合、これらの関数は B<EOF> を返す。"
4875
4876 #. type: Plain text
4877 #: build/C/man3/getw.3:82
4878 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4879 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4880
4881 #. type: Plain text
4882 #: build/C/man3/getw.3:86
4883 msgid ""
4884 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4885 "can be used to distinguish between the two cases."
4886 msgstr ""
4887 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4888 "(3)  を用いると、この二つの場合を区別することが出来る。"
4889
4890 #. type: Plain text
4891 #: build/C/man3/getw.3:92
4892 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4893 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4894
4895 #. type: TH
4896 #: build/C/man2/link.2:31
4897 #, no-wrap
4898 msgid "LINK"
4899 msgstr "LINK"
4900
4901 #. type: TH
4902 #: build/C/man2/link.2:31 build/C/man2/rename.2:32 build/C/man2/symlink.2:32
4903 #: build/C/man2/write.2:39
4904 #, no-wrap
4905 msgid "2013-01-27"
4906 msgstr "2013-01-27"
4907
4908 #. type: Plain text
4909 #: build/C/man2/link.2:34
4910 msgid "link - make a new name for a file"
4911 msgstr "link - ファイルの新しい名前を作成する"
4912
4913 #. type: Plain text
4914 #: build/C/man2/link.2:36 build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34
4915 #: build/C/man2/readlink.2:48 build/C/man2/rmdir.2:35
4916 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4917 msgid "B<#include E<lt>unistd.hE<gt>>"
4918 msgstr "B<#include E<lt>unistd.hE<gt>>"
4919
4920 #. type: Plain text
4921 #: build/C/man2/link.2:38
4922 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4923 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4924
4925 #. type: Plain text
4926 #: build/C/man2/link.2:41
4927 msgid ""
4928 "B<link>()  creates a new link (also known as a hard link) to an existing "
4929 "file."
4930 msgstr ""
4931 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハードリンク (hard "
4932 "link) ともいう) を作成する。"
4933
4934 #. type: Plain text
4935 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4936 msgid "If I<newpath> exists it will I<not> be overwritten."
4937 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4938
4939 #. type: Plain text
4940 #: build/C/man2/link.2:52
4941 msgid ""
4942 "This new name may be used exactly as the old one for any operation; both "
4943 "names refer to the same file (and so have the same permissions and "
4944 "ownership) and it is impossible to tell which name was the \"original\"."
4945 msgstr ""
4946 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4947 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4948 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4949
4950 #. type: Plain text
4951 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4952 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4953 #: build/C/man2/unlink.2:60
4954 msgid ""
4955 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4956 "appropriately."
4957 msgstr ""
4958 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4959 "定される。"
4960
4961 #. type: TP
4962 #: build/C/man2/link.2:58 build/C/man2/open.2:577 build/C/man2/readlink.2:86
4963 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4964 #: build/C/man3/tmpfile.3:57 build/C/man2/unlink.2:61
4965 #, no-wrap
4966 msgid "B<EACCES>"
4967 msgstr "B<EACCES>"
4968
4969 #. type: Plain text
4970 #: build/C/man2/link.2:69
4971 msgid ""
4972 "Write access to the directory containing I<newpath> is denied, or search "
4973 "permission is denied for one of the directories in the path prefix of "
4974 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4975 msgstr ""
4976 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4977 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4978 "(B<path_resolution>(7)  を参照)。"
4979
4980 #. type: TP
4981 #: build/C/man2/link.2:69 build/C/man2/open.2:586 build/C/man2/rename.2:133
4982 #: build/C/man2/symlink.2:99 build/C/man2/write.2:135
4983 #, no-wrap
4984 msgid "B<EDQUOT>"
4985 msgstr "B<EDQUOT>"
4986
4987 #. type: Plain text
4988 #: build/C/man2/link.2:72 build/C/man2/rename.2:136
4989 #, fuzzy
4990 #| msgid ""
4991 #| "The user's quota of disk blocks on the file system has been exhausted."
4992 msgid "The user's quota of disk blocks on the filesystem has been exhausted."
4993 msgstr ""
4994 "ディスクブロックか inode がそのファイルシステムのユーザクォータに達していた。"
4995
4996 #. type: TP
4997 #: build/C/man2/link.2:72 build/C/man2/open.2:592 build/C/man2/symlink.2:104
4998 #: build/C/man3/tmpfile.3:60
4999 #, no-wrap
5000 msgid "B<EEXIST>"
5001 msgstr "B<EEXIST>"
5002
5003 #. type: Plain text
5004 #: build/C/man2/link.2:76 build/C/man2/symlink.2:108
5005 msgid "I<newpath> already exists."
5006 msgstr "I<newpath> が既に存在する。"
5007
5008 #. type: TP
5009 #: build/C/man2/link.2:76 build/C/man2/llseek.2:74 build/C/man2/open.2:598
5010 #: build/C/man2/pipe.2:98 build/C/man2/read.2:118 build/C/man2/readlink.2:91
5011 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:64
5012 #: build/C/man2/symlink.2:108 build/C/man2/unlink.2:80
5013 #: build/C/man2/write.2:141
5014 #, no-wrap
5015 msgid "B<EFAULT>"
5016 msgstr "B<EFAULT>"
5017
5018 #. type: Plain text
5019 #: build/C/man2/link.2:79 build/C/man2/rename.2:139 build/C/man2/symlink.2:111
5020 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
5021 msgstr ""
5022 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
5023
5024 #. type: TP
5025 #: build/C/man2/link.2:79 build/C/man2/read.2:147 build/C/man2/readlink.2:107
5026 #: build/C/man2/symlink.2:111 build/C/man2/unlink.2:84
5027 #: build/C/man2/write.2:165
5028 #, no-wrap
5029 msgid "B<EIO>"
5030 msgstr "B<EIO>"
5031
5032 #. type: Plain text
5033 #: build/C/man2/link.2:82 build/C/man2/symlink.2:114 build/C/man2/unlink.2:87
5034 msgid "An I/O error occurred."
5035 msgstr "I/O エラーが発生した。"
5036
5037 #. type: TP
5038 #: build/C/man2/link.2:82 build/C/man2/open.2:629 build/C/man2/readlink.2:110
5039 #: build/C/man2/rename.2:149 build/C/man2/rmdir.2:73
5040 #: build/C/man2/symlink.2:114 build/C/man2/unlink.2:92
5041 #, no-wrap
5042 msgid "B<ELOOP>"
5043 msgstr "B<ELOOP>"
5044
5045 #. type: Plain text
5046 #: build/C/man2/link.2:86 build/C/man2/rename.2:153
5047 msgid ""
5048 "Too many symbolic links were encountered in resolving I<oldpath> or "
5049 "I<newpath>."
5050 msgstr ""
5051 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎ"
5052 "る。"
5053
5054 #. type: TP
5055 #: build/C/man2/link.2:86 build/C/man2/rename.2:153
5056 #, no-wrap
5057 msgid "B<EMLINK>"
5058 msgstr "B<EMLINK>"
5059
5060 #. type: Plain text
5061 #: build/C/man2/link.2:91
5062 msgid ""
5063 "The file referred to by I<oldpath> already has the maximum number of links "
5064 "to it."
5065 msgstr ""
5066 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
5067
5068 #. type: TP
5069 #: build/C/man2/link.2:91 build/C/man2/open.2:639 build/C/man2/readlink.2:113
5070 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:77
5071 #: build/C/man2/symlink.2:118 build/C/man2/unlink.2:96
5072 #, no-wrap
5073 msgid "B<ENAMETOOLONG>"
5074 msgstr "B<ENAMETOOLONG>"
5075
5076 #. type: Plain text
5077 #: build/C/man2/link.2:94 build/C/man2/rename.2:163 build/C/man2/symlink.2:121
5078 msgid "I<oldpath> or I<newpath> was too long."
5079 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
5080
5081 #. type: TP
5082 #: build/C/man2/link.2:94 build/C/man2/open.2:653 build/C/man2/readlink.2:116
5083 #: build/C/man2/rename.2:163 build/C/man2/rmdir.2:80
5084 #: build/C/man2/symlink.2:121 build/C/man2/unlink.2:99
5085 #, no-wrap
5086 msgid "B<ENOENT>"
5087 msgstr "B<ENOENT>"
5088
5089 #. type: Plain text
5090 #: build/C/man2/link.2:99
5091 msgid ""
5092 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
5093 "dangling symbolic link."
5094 msgstr ""
5095 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
5096 "(dangling)シンボリックリンクである。"
5097
5098 #. type: TP
5099 #: build/C/man2/link.2:99 build/C/man2/open.2:660 build/C/man2/readlink.2:119
5100 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:570
5101 #: build/C/man2/symlink.2:128 build/C/man3/tempnam.3:95
5102 #: build/C/man2/unlink.2:106
5103 #, no-wrap
5104 msgid "B<ENOMEM>"
5105 msgstr "B<ENOMEM>"
5106
5107 #. type: Plain text
5108 #: build/C/man2/link.2:102 build/C/man2/open.2:663 build/C/man2/readlink.2:122
5109 #: build/C/man2/rename.2:179 build/C/man2/rmdir.2:88
5110 #: build/C/man2/symlink.2:131 build/C/man2/unlink.2:109
5111 msgid "Insufficient kernel memory was available."
5112 msgstr "十分なカーネルメモリーがない。"
5113
5114 #. type: TP
5115 #: build/C/man2/link.2:102 build/C/man2/open.2:663 build/C/man2/rename.2:179
5116 #: build/C/man2/symlink.2:131 build/C/man3/tmpfile.3:72
5117 #: build/C/man2/write.2:168
5118 #, no-wrap
5119 msgid "B<ENOSPC>"
5120 msgstr "B<ENOSPC>"
5121
5122 #. type: Plain text
5123 #: build/C/man2/link.2:106 build/C/man2/rename.2:183
5124 #: build/C/man2/symlink.2:135
5125 msgid "The device containing the file has no room for the new directory entry."
5126 msgstr ""
5127 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
5128 "空きがない。"
5129
5130 #. type: TP
5131 #: build/C/man2/link.2:106 build/C/man2/open.2:669 build/C/man2/readlink.2:122
5132 #: build/C/man2/rename.2:183 build/C/man2/rmdir.2:88
5133 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:109
5134 #, no-wrap
5135 msgid "B<ENOTDIR>"
5136 msgstr "B<ENOTDIR>"
5137
5138 #. type: Plain text
5139 #: build/C/man2/link.2:111
5140 msgid ""
5141 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
5142 "a directory."
5143 msgstr ""
5144 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
5145 "い。"
5146
5147 #. type: TP
5148 #: build/C/man2/link.2:111 build/C/man2/link.2:115 build/C/man2/open.2:702
5149 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
5150 #: build/C/man2/symlink.2:140 build/C/man2/unlink.2:114
5151 #, no-wrap
5152 msgid "B<EPERM>"
5153 msgstr "B<EPERM>"
5154
5155 #. type: Plain text
5156 #: build/C/man2/link.2:115
5157 msgid "I<oldpath> is a directory."
5158 msgstr "I<oldpath> がディレクトリである。"
5159
5160 #. type: Plain text
5161 #: build/C/man2/link.2:120
5162 #, fuzzy
5163 #| msgid ""
5164 #| "The file system containing I<oldpath> and I<newpath> does not support the "
5165 #| "creation of hard links."
5166 msgid ""
5167 "The filesystem containing I<oldpath> and I<newpath> does not support the "
5168 "creation of hard links."
5169 msgstr ""
5170 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
5171 "していない。"
5172
5173 #. type: TP
5174 #: build/C/man2/link.2:120
5175 #, no-wrap
5176 msgid "B<EPERM> (since Linux 3.6)"
5177 msgstr "B<EPERM> (Linux 3.6 以降)"
5178
5179 #. type: Plain text
5180 #: build/C/man2/link.2:127
5181 msgid ""
5182 "The caller does not have permission to create a hard link to this file (see "
5183 "the description of I</proc/sys/fs/protected_hardlink> in B<proc>(5))."
5184 msgstr ""
5185 "呼び出し元にこのファイルへのハードリンクを作成する許可がなかった (B<proc>(5) "
5186 "の I</proc/sys/fs/protected_hardlink> の説明を参照)。"
5187
5188 #. type: TP
5189 #: build/C/man2/link.2:127 build/C/man2/open.2:710 build/C/man2/rename.2:221
5190 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:145
5191 #: build/C/man3/tmpfile.3:75 build/C/man2/unlink.2:137
5192 #, no-wrap
5193 msgid "B<EROFS>"
5194 msgstr "B<EROFS>"
5195
5196 #. type: Plain text
5197 #: build/C/man2/link.2:130 build/C/man2/rename.2:224
5198 #, fuzzy
5199 #| msgid "The file is on a read-only file system."
5200 msgid "The file is on a read-only filesystem."
5201 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
5202
5203 #. type: TP
5204 #: build/C/man2/link.2:130 build/C/man2/rename.2:224
5205 #, no-wrap
5206 msgid "B<EXDEV>"
5207 msgstr "B<EXDEV>"
5208
5209 #. type: Plain text
5210 #: build/C/man2/link.2:138
5211 #, fuzzy
5212 #| msgid ""
5213 #| "I<oldpath> and I<newpath> are not on the same mounted file system.  "
5214 #| "(Linux permits a file system to be mounted at multiple points, but B<link>"
5215 #| "()  does not work across different mount points, even if the same file "
5216 #| "system is mounted on both.)"
5217 msgid ""
5218 "I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
5219 "permits a filesystem to be mounted at multiple points, but B<link>()  does "
5220 "not work across different mount points, even if the same filesystem is "
5221 "mounted on both.)"
5222 msgstr ""
5223 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
5224 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
5225 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
5226 "のマウント位置を跨いでは動作しない。)"
5227
5228 #.  SVr4 documents additional ENOLINK and
5229 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5230 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5231 #. type: Plain text
5232 #: build/C/man2/link.2:143
5233 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5234 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5235
5236 #. type: Plain text
5237 #: build/C/man2/link.2:150
5238 #, fuzzy
5239 #| msgid ""
5240 #| "Hard links, as created by B<link>(), cannot span file systems.  Use "
5241 #| "B<symlink>(2)  if this is required."
5242 msgid ""
5243 "Hard links, as created by B<link>(), cannot span filesystems.  Use B<symlink>"
5244 "(2)  if this is required."
5245 msgstr ""
5246 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
5247 "このような場合は B<symlink>(2)  を使用すること。"
5248
5249 #.  more precisely: since kernel 1.3.56
5250 #.  For example, the default Solaris compilation environment
5251 #.  behaves like Linux, and contributors to a March 2005
5252 #.  thread in the Austin mailing list reported that some
5253 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5254 #. type: Plain text
5255 #: build/C/man2/link.2:181
5256 msgid ""
5257 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5258 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5259 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5260 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5261 "the same file that I<oldpath> refers to).  Some other implementations behave "
5262 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5263 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5264 "dereferenced if it is a symbolic link.  For precise control over the "
5265 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5266 msgstr ""
5267 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
5268 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5269 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリックリンク"
5270 "である場合、 I<newpath> は同じシンボリックリンクファイルへの (ハード) リンク"
5271 "として作成される (つまり I<newpath> は I<oldpath> が参照していた同じファイル"
5272 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
5273 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
5274 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
5275 "なった。 リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関して"
5276 "は B<linkat>(2)  を参照のこと。"
5277
5278 #. type: Plain text
5279 #: build/C/man2/link.2:187
5280 #, fuzzy
5281 #| msgid ""
5282 #| "On NFS file systems, the return code may be wrong in case the NFS server "
5283 #| "performs the link creation and dies before it can say so.  Use B<stat>"
5284 #| "(2)  to find out if the link got created."
5285 msgid ""
5286 "On NFS filesystems, the return code may be wrong in case the NFS server "
5287 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5288 "to find out if the link got created."
5289 msgstr ""
5290 "NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前"
5291 "に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つける"
5292 "ためには B<stat>(2)  を使用すること。"
5293
5294 #. type: Plain text
5295 #: build/C/man2/link.2:197
5296 msgid ""
5297 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5298 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5299 msgstr ""
5300 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5301 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5302
5303 #. type: TH
5304 #: build/C/man2/llseek.2:28
5305 #, no-wrap
5306 msgid "LLSEEK"
5307 msgstr "LLSEEK"
5308
5309 #. type: TH
5310 #: build/C/man2/llseek.2:28
5311 #, no-wrap
5312 msgid "2012-07-13"
5313 msgstr "2012-07-13"
5314
5315 #. type: Plain text
5316 #: build/C/man2/llseek.2:31
5317 msgid "_llseek - reposition read/write file offset"
5318 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5319
5320 #. type: Plain text
5321 #: build/C/man2/llseek.2:35
5322 #, no-wrap
5323 msgid ""
5324 "B<#include E<lt>sys/types.hE<gt>>\n"
5325 "B<#include E<lt>unistd.hE<gt>>\n"
5326 msgstr ""
5327 "B<#include E<lt>sys/types.hE<gt>>\n"
5328 "B<#include E<lt>unistd.hE<gt>>\n"
5329
5330 #. type: Plain text
5331 #: build/C/man2/llseek.2:39
5332 #, no-wrap
5333 msgid ""
5334 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5335 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5336 "B<            unsigned int >I<whence>B<);>\n"
5337 msgstr ""
5338 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5339 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5340 "B<            unsigned int >I<whence>B<);>\n"
5341
5342 #. type: Plain text
5343 #: build/C/man2/llseek.2:43
5344 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
5345 msgstr ""
5346 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
5347 "を参照。"
5348
5349 #. type: Plain text
5350 #: build/C/man2/llseek.2:62
5351 msgid ""
5352 "The B<_llseek>()  function repositions the offset of the open file "
5353 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5354 "offset_low> bytes relative to the beginning of the file, the current "
5355 "position in the file, or the end of the file, depending on whether I<whence> "
5356 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5357 "resulting file position in the argument I<result>."
5358 msgstr ""
5359 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
5360 "れたオープンされたファイルのオフセットの位置を、相対的に I<"
5361 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5362 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5363 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5364 "のファイル位置を I<result> 引き数に返す。"
5365
5366 #. type: Plain text
5367 #: build/C/man2/llseek.2:69
5368 msgid ""
5369 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5370 "-1 is returned and I<errno> is set to indicate the error."
5371 msgstr ""
5372 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5373 "エラーを示す I<errno> が設定される。"
5374
5375 #. type: Plain text
5376 #: build/C/man2/llseek.2:74 build/C/man2/lseek.2:175
5377 msgid "I<fd> is not an open file descriptor."
5378 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5379
5380 #. type: Plain text
5381 #: build/C/man2/llseek.2:77
5382 msgid "Problem with copying results to user space."
5383 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5384
5385 #. type: Plain text
5386 #: build/C/man2/llseek.2:81
5387 msgid "I<whence> is invalid."
5388 msgstr "I<whence> が不正である。"
5389
5390 #. type: Plain text
5391 #: build/C/man2/llseek.2:84
5392 msgid ""
5393 "This function is Linux-specific, and should not be used in programs intended "
5394 "to be portable."
5395 msgstr ""
5396 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5397
5398 #. type: Plain text
5399 #: build/C/man2/llseek.2:87
5400 msgid ""
5401 "Glibc does not provide a wrapper for this system call; call it using "
5402 "B<syscall>(2)."
5403 msgstr ""
5404 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5405 "(2)  を使って呼び出すこと。"
5406
5407 #. type: Plain text
5408 #: build/C/man2/llseek.2:90
5409 msgid "B<lseek>(2), B<lseek64>(3)"
5410 msgstr "B<lseek>(2), B<lseek64>(3)"
5411
5412 #. type: TH
5413 #: build/C/man2/lseek.2:47
5414 #, no-wrap
5415 msgid "LSEEK"
5416 msgstr "LSEEK"
5417
5418 #. type: TH
5419 #: build/C/man2/lseek.2:47
5420 #, no-wrap
5421 msgid "2013-03-27"
5422 msgstr "2013-03-27"
5423
5424 #. type: Plain text
5425 #: build/C/man2/lseek.2:50
5426 msgid "lseek - reposition read/write file offset"
5427 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5428
5429 #. type: Plain text
5430 #: build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
5431 msgid "B<#include E<lt>sys/types.hE<gt>>"
5432 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5433
5434 #. type: Plain text
5435 #: build/C/man2/lseek.2:56
5436 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5437 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5438
5439 #. type: Plain text
5440 #: build/C/man2/lseek.2:67
5441 msgid ""
5442 "The B<lseek>()  function repositions the offset of the open file associated "
5443 "with the file descriptor I<fd> to the argument I<offset> according to the "
5444 "directive I<whence> as follows:"
5445 msgstr ""
5446 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5447 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5448 "へ以下のように変更する:"
5449
5450 #. type: Plain text
5451 #: build/C/man2/lseek.2:72
5452 msgid "The offset is set to I<offset> bytes."
5453 msgstr "オフセットは I<offset> バイトに設定される。"
5454
5455 #. type: Plain text
5456 #: build/C/man2/lseek.2:77
5457 msgid "The offset is set to its current location plus I<offset> bytes."
5458 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5459
5460 #. type: Plain text
5461 #: build/C/man2/lseek.2:82
5462 msgid "The offset is set to the size of the file plus I<offset> bytes."
5463 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5464
5465 #. type: Plain text
5466 #: build/C/man2/lseek.2:90
5467 msgid ""
5468 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5469 "the file (but this does not change the size of the file).  If data is later "
5470 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5471 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5472 "gap."
5473 msgstr ""
5474 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5475 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5476 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5477 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5478 "される。"
5479
5480 #. type: SS
5481 #: build/C/man2/lseek.2:90
5482 #, no-wrap
5483 msgid "Seeking file data and holes"
5484 msgstr "ファイルのデータとホールの探索"
5485
5486 #. type: Plain text
5487 #: build/C/man2/lseek.2:93
5488 msgid ""
5489 "Since version 3.1, Linux supports the following additional values for "
5490 "I<whence>:"
5491 msgstr ""
5492 "Linux バージョン 3.1 以降では、 I<whence> に以下の値も指定することができる。"
5493
5494 #. type: TP
5495 #: build/C/man2/lseek.2:93
5496 #, no-wrap
5497 msgid "B<SEEK_DATA>"
5498 msgstr "B<SEEK_DATA>"
5499
5500 #. type: Plain text
5501 #: build/C/man2/lseek.2:104
5502 msgid ""
5503 "Adjust the file offset to the next location in the file greater than or "
5504 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5505 "file offset is set to I<offset>."
5506 msgstr ""
5507 "ファイルオフセットを I<offset> 以上で次にデータがある位置に設定する。 "
5508 "I<offset> がデータを指している場合には、 ファイルオフセットは I<offset> に設"
5509 "定される。"
5510
5511 #. type: TP
5512 #: build/C/man2/lseek.2:104
5513 #, no-wrap
5514 msgid "B<SEEK_HOLE>"
5515 msgstr "B<SEEK_HOLE>"
5516
5517 #. type: Plain text
5518 #: build/C/man2/lseek.2:118
5519 msgid ""
5520 "Adjust the file offset to the next hole in the file greater than or equal to "
5521 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5522 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5523 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5524 "hole at the end of any file)."
5525 msgstr ""
5526 "ファイルオフセットを、 位置が I<offset> 以上の次のホール (hole) に設定する。 "
5527 "I<offset> がホールの内部にある場合は、ファイルシステムは I<offset> に設定され"
5528 "る。 I<offset> 以降にホールがない場合は、 ファイルオフセットはファイル末尾に"
5529 "設定される (つまり、 どのファイルの末尾にも暗黙のホールが存在するということ"
5530 "だ)。"
5531
5532 #. type: Plain text
5533 #: build/C/man2/lseek.2:124
5534 msgid ""
5535 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5536 "end of the file."
5537 msgstr ""
5538 "上記のどちらの場合も、 I<offset> がファイル末尾よりも先を指している場合には "
5539 "B<lseek>() は失敗する。"
5540
5541 #. type: Plain text
5542 #: build/C/man2/lseek.2:130
5543 msgid ""
5544 "These operations allow applications to map holes in a sparsely allocated "
5545 "file.  This can be useful for applications such as file backup tools, which "
5546 "can save space when creating backups and preserve holes, if they have a "
5547 "mechanism for discovering holes."
5548 msgstr ""
5549 "これらの操作を使うことで、 アプリケーションが、 まばら (sparse ) にページが割"
5550 "り当てられたファイルでホールをマップすることができる。 この機能はファイルバッ"
5551 "クアップツールなどのアプリケーションで有用である。 ホールを見つける仕組みがあ"
5552 "れば、 ファイルバックアップツールで、 バックアップを作成する際に保存領域を節"
5553 "約し、ホールを保持することができる。"
5554
5555 #.  https://lkml.org/lkml/2011/4/22/79
5556 #.  http://lwn.net/Articles/440255/
5557 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5558 #. type: Plain text
5559 #: build/C/man2/lseek.2:153
5560 #, fuzzy
5561 #| msgid ""
5562 #| "For the purposes of these operations, a hole is a sequence of zeros that "
5563 #| "(normally) has not been allocated in the underlying file storage.  "
5564 #| "However, a file system is not obliged to report holes, so these "
5565 #| "operations are not a guaranteed mechanism for mapping the storage space "
5566 #| "actually allocated to a file.  (Furthermore, a sequence of zeros that "
5567 #| "actually has been written to the underlying storage may not be reported "
5568 #| "as a hole.)  In the simplest implementation, a file system can support "
5569 #| "the operations by making B<SEEK_HOLE> always return the offset of the end "
5570 #| "of the file, and making B<SEEK_DATA> always return I<offset> (i.e., even "
5571 #| "if the location referred to by I<offset> is a hole, it can be considered "
5572 #| "to consist of data that is a sequence of zeros)."
5573 msgid ""
5574 "For the purposes of these operations, a hole is a sequence of zeros that "
5575 "(normally) has not been allocated in the underlying file storage.  However, "
5576 "a filesystem is not obliged to report holes, so these operations are not a "
5577 "guaranteed mechanism for mapping the storage space actually allocated to a "
5578 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5579 "the underlying storage may not be reported as a hole.)  In the simplest "
5580 "implementation, a filesystem can support the operations by making "
5581 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5582 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5583 "by I<offset> is a hole, it can be considered to consist of data that is a "
5584 "sequence of zeros)."
5585 msgstr ""
5586 "これらの操作の目的としては、 ホールは (通常は) バックエンドのファイルストレー"
5587 "ジには割り当てられていない連続する 0 の列である。 しかし、ファイルシステムに"
5588 "はホールを報告する義務はなく、 そのため、 これらの操作は、 ファイルに実際に割"
5589 "り当てられたストレージ領域をマッピングする方法としては確実性のある仕組みでは"
5590 "ない。 (また、バックエンドのストレージに実際に書き込まれた連続する 0 の列は"
5591 "ホールとして報告されないこともある。) 最も単純な実装としては、 B<SEEK_HOLE> "
5592 "は常にファイル末尾のオフセットを返すようにし、 B<SEEK_DATA> は常に I<offset> "
5593 "を返すようにすることで、 ファイルシステムはこれらの操作をサポートすることがで"
5594 "きる (B<SEEK_DATA> は常に I<offset> を返すというのは、 I<offset> が参照する場"
5595 "所がホールであったとしても、 連続する 0 の列のデータで構成されているとみなす"
5596 "ということである)。"
5597
5598 #. type: Plain text
5599 #: build/C/man2/lseek.2:162
5600 msgid ""
5601 "The B<_GNU_SOURCE> feature test macro must be defined in order to obtain the "
5602 "definitions of B<SEEK_DATA> and B<SEEK_HOLE> from I<E<lt>unistd.hE<gt>>."
5603 msgstr ""
5604 "I<E<lt>unistd.hE<gt>> から B<SEEK_DATA> と B<SEEK_HOLE> の定義を得るには、 機"
5605 "能検査マクロ B<_GNU_SOURCE> を定義しなければならない。"
5606
5607 #. type: Plain text
5608 #: build/C/man2/lseek.2:170
5609 msgid ""
5610 "Upon successful completion, B<lseek>()  returns the resulting offset "
5611 "location as measured in bytes from the beginning of the file.  On error, the "
5612 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5613 msgstr ""
5614 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5615 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5616 "される。"
5617
5618 #.  Some systems may allow negative offsets for character devices
5619 #.  and/or for remote filesystems.
5620 #. type: Plain text
5621 #: build/C/man2/lseek.2:183
5622 msgid ""
5623 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5624 "beyond the end of a seekable device."
5625 msgstr ""
5626 "I<whence> が有効な値ではない。または、seek の結果、ファイルオフセットが負に\n"
5627 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
5628
5629 #. type: TP
5630 #: build/C/man2/lseek.2:183 build/C/man2/open.2:682
5631 #, no-wrap
5632 msgid "B<EOVERFLOW>"
5633 msgstr "B<EOVERFLOW>"
5634
5635 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5636 #. type: Plain text
5637 #: build/C/man2/lseek.2:188
5638 msgid "The resulting file offset cannot be represented in an I<off_t>."
5639 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
5640
5641 #. type: TP
5642 #: build/C/man2/lseek.2:188
5643 #, no-wrap
5644 msgid "B<ESPIPE>"
5645 msgstr "B<ESPIPE>"
5646
5647 #. type: Plain text
5648 #: build/C/man2/lseek.2:192
5649 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5650 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5651
5652 #. type: TP
5653 #: build/C/man2/lseek.2:192 build/C/man2/open.2:676
5654 #, no-wrap
5655 msgid "B<ENXIO>"
5656 msgstr "B<ENXIO>"
5657
5658 #. type: Plain text
5659 #: build/C/man2/lseek.2:200
5660 msgid ""
5661 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5662 "beyond the end of the file."
5663 msgstr ""
5664 "I<whence> が B<SEEK_DATA> か B<SEEK_HOLE> で、\n"
5665 "現在のファイルオフセットがファイルの末尾を超えた位置である。"
5666
5667 #.  SVr4 documents additional error
5668 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5669 #. type: Plain text
5670 #: build/C/man2/lseek.2:202 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
5671 #: build/C/man2/symlink.2:155 build/C/man2/unlink.2:145
5672 #: build/C/man2/write.2:189
5673 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5674 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5675
5676 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5677 #. type: Plain text
5678 #: build/C/man2/lseek.2:210
5679 msgid ""
5680 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5681 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5682 "next POSIX revision (Issue 8)."
5683 msgstr ""
5684 "B<SEEK_DATA> と B<SEEK_HOLE> は非標準の拡張で、 Solaris, FreeBSD, DragonFly "
5685 "BSD にも存在する。 これらは POSIX の次の版 (Issue 8) に入れるよう提案されてい"
5686 "る。"
5687
5688 #. type: Plain text
5689 #: build/C/man2/lseek.2:214
5690 msgid ""
5691 "Some devices are incapable of seeking and POSIX does not specify which "
5692 "devices must support B<lseek>()."
5693 msgstr ""
5694 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5695 "に対応すべきかは規定していない。"
5696
5697 #.  Other systems return the number of written characters,
5698 #.  using SEEK_SET to set the counter. (Of written characters.)
5699 #. type: Plain text
5700 #: build/C/man2/lseek.2:221
5701 msgid "On Linux, using B<lseek>()  on a terminal device returns B<ESPIPE>."
5702 msgstr ""
5703 "Linux では、端末 (terminal) デバイスに B<lseek>() を使用すると B<ESPIPE> が返"
5704 "る。"
5705
5706 #. type: Plain text
5707 #: build/C/man2/lseek.2:224
5708 msgid ""
5709 "When converting old code, substitute values for I<whence> with the following "
5710 "macros:"
5711 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5712
5713 #. type: tbl table
5714 #: build/C/man2/lseek.2:227
5715 #, no-wrap
5716 msgid "old\tnew\n"
5717 msgstr "old \tnew\n"
5718
5719 #. type: tbl table
5720 #: build/C/man2/lseek.2:228
5721 #, no-wrap
5722 msgid "0\tSEEK_SET\n"
5723 msgstr "0\tSEEK_SET\n"
5724
5725 #. type: tbl table
5726 #: build/C/man2/lseek.2:229
5727 #, no-wrap
5728 msgid "1\tSEEK_CUR\n"
5729 msgstr "1\tSEEK_CUR\n"
5730
5731 #. type: tbl table
5732 #: build/C/man2/lseek.2:230
5733 #, no-wrap
5734 msgid "2\tSEEK_END\n"
5735 msgstr "2\tSEEK_END\n"
5736
5737 #. type: tbl table
5738 #: build/C/man2/lseek.2:231
5739 #, no-wrap
5740 msgid "L_SET\tSEEK_SET\n"
5741 msgstr "L_SET\tSEEK_SET\n"
5742
5743 #. type: tbl table
5744 #: build/C/man2/lseek.2:232
5745 #, no-wrap
5746 msgid "L_INCR\tSEEK_CUR\n"
5747 msgstr "L_INCR\tSEEK_CUR\n"
5748
5749 #. type: tbl table
5750 #: build/C/man2/lseek.2:233
5751 #, no-wrap
5752 msgid "L_XTND\tSEEK_END\n"
5753 msgstr "L_XTND\tSEEK_END\n"
5754
5755 #. type: Plain text
5756 #: build/C/man2/lseek.2:245
5757 msgid ""
5758 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5759 "current file position pointer, so seeking on such files may be subject to "
5760 "race conditions."
5761 msgstr ""
5762 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5763 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5764 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5765
5766 #. type: Plain text
5767 #: build/C/man2/lseek.2:252
5768 msgid ""
5769 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5770 "B<posix_fallocate>(3)"
5771 msgstr ""
5772 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5773 "B<posix_fallocate>(3)"
5774
5775 #. type: TH
5776 #: build/C/man3/lseek64.3:25
5777 #, no-wrap
5778 msgid "LSEEK64"
5779 msgstr "LSEEK64"
5780
5781 #. type: TH
5782 #: build/C/man3/lseek64.3:25
5783 #, fuzzy, no-wrap
5784 #| msgid "2013-04-19"
5785 msgid "2013-08-19"
5786 msgstr "2013-04-19"
5787
5788 #. type: Plain text
5789 #: build/C/man3/lseek64.3:28
5790 msgid "lseek64 - reposition 64-bit read/write file offset"
5791 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5792
5793 #. type: Plain text
5794 #: build/C/man3/lseek64.3:30
5795 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5796 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5797
5798 #. type: Plain text
5799 #: build/C/man3/lseek64.3:36
5800 msgid ""
5801 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5802 msgstr ""
5803 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5804
5805 #. type: Plain text
5806 #: build/C/man3/lseek64.3:53
5807 msgid ""
5808 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5809 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5810 "start, current position, or end of the file, when I<whence> has the value "
5811 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5812 msgstr ""
5813 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5814 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5815 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5816 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5817
5818 #. type: Plain text
5819 #: build/C/man3/lseek64.3:56
5820 msgid "For more details, return value, and errors, see B<lseek>(2)."
5821 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5822
5823 #. type: Plain text
5824 #: build/C/man3/lseek64.3:63
5825 msgid ""
5826 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5827 "the raw system call B<_llseek>(2)."
5828 msgstr ""
5829 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5830 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5831
5832 #. type: SS
5833 #: build/C/man3/lseek64.3:63
5834 #, no-wrap
5835 msgid "lseek"
5836 msgstr "lseek"
5837
5838 #. type: Plain text
5839 #: build/C/man3/lseek64.3:65 build/C/man3/lseek64.3:87
5840 #: build/C/man3/lseek64.3:116
5841 msgid "Prototype:"
5842 msgstr "プロトタイプ:"
5843
5844 #. type: Plain text
5845 #: build/C/man3/lseek64.3:69
5846 #, no-wrap
5847 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5848 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5849
5850 #. type: Plain text
5851 #: build/C/man3/lseek64.3:77
5852 msgid ""
5853 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5854 "architectures, unless one compiles with"
5855 msgstr ""
5856 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5857 "ビット符号付き型である。 ただし、"
5858
5859 #. type: Plain text
5860 #: build/C/man3/lseek64.3:85
5861 msgid "in which case it is a 64-bit signed type."
5862 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5863
5864 #. type: SS
5865 #: build/C/man3/lseek64.3:85
5866 #, no-wrap
5867 msgid "lseek64"
5868 msgstr "lseek64"
5869
5870 #. type: Plain text
5871 #: build/C/man3/lseek64.3:91
5872 #, no-wrap
5873 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5874 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5875
5876 #. type: Plain text
5877 #: build/C/man3/lseek64.3:102
5878 msgid ""
5879 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5880 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5881 "when one compiles with"
5882 msgstr ""
5883 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5884 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5885 "ルした場合にのみ使用可能である。"
5886
5887 #. type: Plain text
5888 #: build/C/man3/lseek64.3:106
5889 #, no-wrap
5890 msgid "#define _LARGEFILE64_SOURCE\n"
5891 msgstr "#define _LARGEFILE64_SOURCE\n"
5892
5893 #.  in glibc 2.0.94, not in 2.0.6
5894 #. type: Plain text
5895 #: build/C/man3/lseek64.3:114
5896 msgid ""
5897 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5898 "be an alias for B<llseek>()."
5899 msgstr ""
5900 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5901 "アスとして定義されている。"
5902
5903 #. type: SS
5904 #: build/C/man3/lseek64.3:114
5905 #, no-wrap
5906 msgid "llseek"
5907 msgstr "llseek"
5908
5909 #. type: Plain text
5910 #: build/C/man3/lseek64.3:120
5911 #, no-wrap
5912 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5913 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5914
5915 #.  in libc 5.0.9, not in 4.7.6
5916 #. type: Plain text
5917 #: build/C/man3/lseek64.3:139
5918 msgid ""
5919 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5920 "()  is available in libc5 and glibc and works without special defines.  Its "
5921 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5922 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5923 "should add the above prototype, or something equivalent, to their own "
5924 "source.  When users complained about data loss caused by a miscompilation of "
5925 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5926 msgstr ""
5927 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5928 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5929 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5930 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5931 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5932 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5933 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5934
5935 #. type: Plain text
5936 #: build/C/man3/lseek64.3:142
5937 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5938 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5939
5940 #. type: Plain text
5941 #: build/C/man3/lseek64.3:146
5942 msgid ""
5943 "This makes this function unusable if one desires a warning-free compilation."
5944 msgstr ""
5945 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5946
5947 #. type: SS
5948 #: build/C/man3/lseek64.3:146
5949 #, no-wrap
5950 msgid "_llseek"
5951 msgstr "_llseek"
5952
5953 #. type: Plain text
5954 #: build/C/man3/lseek64.3:149
5955 msgid ""
5956 "All the above functions are implemented in terms of this system call.  The "
5957 "prototype is:"
5958 msgstr ""
5959 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5960 "下の通り:"
5961
5962 #. type: Plain text
5963 #: build/C/man3/lseek64.3:154
5964 #, no-wrap
5965 msgid ""
5966 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5967 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5968 msgstr ""
5969 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5970 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5971
5972 #. type: Plain text
5973 #: build/C/man3/lseek64.3:159
5974 msgid "For more details, see B<llseek>(2)."
5975 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5976
5977 #. type: Plain text
5978 #: build/C/man3/lseek64.3:164
5979 #, fuzzy
5980 #| msgid "The B<fflush>()  function is thread-safe."
5981 msgid "The B<lseek64>()  function is thread-safe."
5982 msgstr "関数 B<fflush>() はスレッドセーフである。"
5983
5984 #. type: Plain text
5985 #: build/C/man3/lseek64.3:167
5986 msgid "B<llseek>(2), B<lseek>(2)"
5987 msgstr "B<llseek>(2), B<lseek>(2)"
5988
5989 #. type: TH
5990 #: build/C/man2/open.2:51
5991 #, no-wrap
5992 msgid "OPEN"
5993 msgstr "OPEN"
5994
5995 #. type: TH
5996 #: build/C/man2/open.2:51
5997 #, fuzzy, no-wrap
5998 #| msgid "2013-07-04"
5999 msgid "2013-08-09"
6000 msgstr "2013-07-04"
6001
6002 #. type: Plain text
6003 #: build/C/man2/open.2:54
6004 msgid "open, creat - open and possibly create a file or device"
6005 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
6006
6007 #. type: Plain text
6008 #: build/C/man2/open.2:59
6009 #, no-wrap
6010 msgid ""
6011 "B<#include E<lt>sys/types.hE<gt>>\n"
6012 "B<#include E<lt>sys/stat.hE<gt>>\n"
6013 "B<#include E<lt>fcntl.hE<gt>>\n"
6014 msgstr ""
6015 "B<#include E<lt>sys/types.hE<gt>>\n"
6016 "B<#include E<lt>sys/stat.hE<gt>>\n"
6017 "B<#include E<lt>fcntl.hE<gt>>\n"
6018
6019 #. type: Plain text
6020 #: build/C/man2/open.2:62
6021 #, no-wrap
6022 msgid ""
6023 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6024 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6025 msgstr ""
6026 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
6027 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
6028
6029 #. type: Plain text
6030 #: build/C/man2/open.2:64
6031 #, no-wrap
6032 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
6033 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
6034
6035 #. type: Plain text
6036 #: build/C/man2/open.2:75
6037 msgid ""
6038 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
6039 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
6040 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
6041 "by a successful call will be the lowest-numbered file descriptor not "
6042 "currently open for the process."
6043 msgstr ""
6044 "ファイルの I<pathname> を与えると、 B<open>()  はファイルディスクリプタを返"
6045 "す。 ファイルディスクリプタは、この後に続くシステムコール (B<read>(2), "
6046 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
6047 "る。 このシステムコールが成功した場合に返されるファイルディスクリプタは その"
6048 "プロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字"
6049 "のものとなる。"
6050
6051 #. type: Plain text
6052 #: build/C/man2/open.2:87
6053 msgid ""
6054 "By default, the new file descriptor is set to remain open across an B<execve>"
6055 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
6056 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
6057 "to change this default).  The file offset is set to the beginning of the "
6058 "file (see B<lseek>(2))."
6059 msgstr ""
6060 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
6061 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
6062 "ファイルディスクリプタフラグは最初は無効である; 後述の B<O_CLOEXEC> フラグ\n"
6063 "を使うとこのデフォルトを変更することができる)。 ファイルオフセット \n"
6064 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
6065
6066 #. type: Plain text
6067 #: build/C/man2/open.2:106
6068 msgid ""
6069 "A call to B<open>()  creates a new I<open file description>, an entry in the "
6070 "system-wide table of open files.  This entry records the file offset and the "
6071 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
6072 "file descriptor is a reference to one of these entries; this reference is "
6073 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
6074 "different file.  The new open file description is initially not shared with "
6075 "any other process, but sharing may arise via B<fork>(2)."
6076 msgstr ""
6077 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
6078 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
6079 "のエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ "
6080 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイルディスクリ"
6081 "プタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除され"
6082 "たり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けな"
6083 "い。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていない"
6084 "が、 B<fork>(2)  で共有が起こる場合がある。"
6085
6086 #. type: Plain text
6087 #: build/C/man2/open.2:114
6088 msgid ""
6089 "The argument I<flags> must include one of the following I<access modes>: "
6090 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
6091 "only, write-only, or read/write, respectively."
6092 msgstr ""
6093 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
6094 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
6095 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
6096
6097 #.  SUSv4 divides the flags into:
6098 #.  * Access mode
6099 #.  * File creation
6100 #.  * File status
6101 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
6102 #.  though it's not clear what the difference between "other" and
6103 #.  "File creation" flags is.  I raised an Aardvark to see if this
6104 #.  can be clarified in SUSv4; 10 Oct 2008.
6105 #.  http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67
6106 #.  TC1 (balloted in 2013), resolved this, so that those three constants
6107 #.  are also categorized" as file status flags.
6108 #. type: Plain text
6109 #: build/C/man2/open.2:152
6110 msgid ""
6111 "In addition, zero or more file creation flags and file status flags can be "
6112 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CLOEXEC>, "
6113 "B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, "
6114 "B<O_TRUNC>, and B<O_TTY_INIT>.  The I<file status flags> are all of the "
6115 "remaining flags listed below.  The distinction between these two groups of "
6116 "flags is that the file status flags can be retrieved and (in some cases)  "
6117 "modified using B<fcntl>(2).  The full list of file creation flags and file "
6118 "status flags is as follows:"
6119 msgstr ""
6120 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
6121 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
6122 "定することができる。 I<ファイル作成フラグ> は B<O_CLOEXEC>, B<O_CREAT>, "
6123 "B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, B<O_TRUNC>, "
6124 "B<O_TTY_INIT> である。 I<ファイル状態フラグ> は以下のリストのうち上記以外の残"
6125 "りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は B<fcntl>"
6126 "(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点にあ"
6127 "る。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
6128
6129 #. type: TP
6130 #: build/C/man2/open.2:152
6131 #, no-wrap
6132 msgid "B<O_APPEND>"
6133 msgstr "B<O_APPEND>"
6134
6135 #.  For more background, see
6136 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
6137 #.  http://nfs.sourceforge.net/
6138 #. type: Plain text
6139 #: build/C/man2/open.2:169
6140 #, fuzzy
6141 #| msgid ""
6142 #| "The file is opened in append mode.  Before each B<write>(2), the file "
6143 #| "offset is positioned at the end of the file, as if with B<lseek>(2).  "
6144 #| "B<O_APPEND> may lead to corrupted files on NFS file systems if more than "
6145 #| "one process appends data to a file at once.  This is because NFS does not "
6146 #| "support appending to a file, so the client kernel has to simulate it, "
6147 #| "which can't be done without a race condition."
6148 msgid ""
6149 "The file is opened in append mode.  Before each B<write>(2), the file offset "
6150 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
6151 "may lead to corrupted files on NFS filesystems if more than one process "
6152 "appends data to a file at once.  This is because NFS does not support "
6153 "appending to a file, so the client kernel has to simulate it, which can't be "
6154 "done without a race condition."
6155 msgstr ""
6156 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
6157 "B<lseek>(2)  を行ったかのように、ファイルポインタをファイルの最後に移動す"
6158 "る。 NFS ファイルシステムで、 B<O_APPEND> を使用すると、複数のプロセスがひと"
6159 "つのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
6160 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
6161 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
6162 "とはできないからである。"
6163
6164 #. type: TP
6165 #: build/C/man2/open.2:169
6166 #, no-wrap
6167 msgid "B<O_ASYNC>"
6168 msgstr "B<O_ASYNC>"
6169
6170 #. type: Plain text
6171 #: build/C/man2/open.2:182
6172 msgid ""
6173 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
6174 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
6175 "this file descriptor.  This feature is available only for terminals, "
6176 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
6177 "B<fcntl>(2)  for further details."
6178 msgstr ""
6179 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
6180 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
6181 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
6182 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
6183 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
6184
6185 #. type: TP
6186 #: build/C/man2/open.2:182
6187 #, no-wrap
6188 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
6189 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
6190
6191 #.  This flag fixes only one form of the race condition;
6192 #.  The race can also occur with, for example, descriptors
6193 #.  returned by accept(), pipe(), etc.
6194 #. type: Plain text
6195 #: build/C/man2/open.2:207
6196 msgid ""
6197 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
6198 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
6199 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
6200 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
6201 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
6202 "race conditions where one thread opens a file descriptor at the same time as "
6203 "another thread does a B<fork>(2)  plus B<execve>(2)."
6204 msgstr ""
6205 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
6206 "フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
6207 "B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
6208 "チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
6209 "B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
6210 "も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
6211 "が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
6212 "はないからである。"
6213
6214 #. type: TP
6215 #: build/C/man2/open.2:207
6216 #, no-wrap
6217 msgid "B<O_CREAT>"
6218 msgstr "B<O_CREAT>"
6219
6220 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
6221 #.  XFS (since 2.6.14).
6222 #. type: Plain text
6223 #: build/C/man2/open.2:223
6224 #, fuzzy
6225 #| msgid ""
6226 #| "If the file does not exist it will be created.  The owner (user ID) of "
6227 #| "the file is set to the effective user ID of the process.  The group "
6228 #| "ownership (group ID) is set either to the effective group ID of the "
6229 #| "process or to the group ID of the parent directory (depending on file "
6230 #| "system type and mount options, and the mode of the parent directory, see "
6231 #| "the mount options I<bsdgroups> and I<sysvgroups> described in B<mount>"
6232 #| "(8))."
6233 msgid ""
6234 "If the file does not exist it will be created.  The owner (user ID) of the "
6235 "file is set to the effective user ID of the process.  The group ownership "
6236 "(group ID) is set either to the effective group ID of the process or to the "
6237 "group ID of the parent directory (depending on filesystem type and mount "
6238 "options, and the mode of the parent directory, see the mount options "
6239 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
6240 msgstr ""
6241 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
6242 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
6243 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
6244 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
6245 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
6246 "I<bsdgroups> と I<sysvgroups> を参照)。"
6247
6248 #. type: Plain text
6249 #: build/C/man2/open.2:246
6250 msgid ""
6251 "I<mode> specifies the permissions to use in case a new file is created.  "
6252 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
6253 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
6254 "permissions are modified by the process's I<umask> in the usual way: The "
6255 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
6256 "mode applies only to future accesses of the newly created file; the B<open>"
6257 "()  call that creates a read-only file may well return a read/write file "
6258 "descriptor."
6259 msgstr ""
6260 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
6261 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
6262 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
6263 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
6264 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
6265 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
6266 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
6267 "可能なファイルディスクリプタを返すことがありうる。"
6268
6269 #. type: Plain text
6270 #: build/C/man2/open.2:249
6271 msgid "The following symbolic constants are provided for I<mode>:"
6272 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6273
6274 #. type: TP
6275 #: build/C/man2/open.2:249
6276 #, no-wrap
6277 msgid "B<S_IRWXU>"
6278 msgstr "B<S_IRWXU>"
6279
6280 #. type: Plain text
6281 #: build/C/man2/open.2:252
6282 msgid "00700 user (file owner) has read, write and execute permission"
6283 msgstr ""
6284 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6285
6286 #. type: TP
6287 #: build/C/man2/open.2:252
6288 #, no-wrap
6289 msgid "B<S_IRUSR>"
6290 msgstr "B<S_IRUSR>"
6291
6292 #. type: Plain text
6293 #: build/C/man2/open.2:255
6294 msgid "00400 user has read permission"
6295 msgstr "00400 ユーザーに読み込みの許可がある。"
6296
6297 #. type: TP
6298 #: build/C/man2/open.2:255
6299 #, no-wrap
6300 msgid "B<S_IWUSR>"
6301 msgstr "B<S_IWUSR>"
6302
6303 #. type: Plain text
6304 #: build/C/man2/open.2:258
6305 msgid "00200 user has write permission"
6306 msgstr "00200 ユーザーに書き込みの許可がある。"
6307
6308 #. type: TP
6309 #: build/C/man2/open.2:258
6310 #, no-wrap
6311 msgid "B<S_IXUSR>"
6312 msgstr "B<S_IXUSR>"
6313
6314 #. type: Plain text
6315 #: build/C/man2/open.2:261
6316 msgid "00100 user has execute permission"
6317 msgstr "00100 ユーザーに実行の許可がある。"
6318
6319 #. type: TP
6320 #: build/C/man2/open.2:261
6321 #, no-wrap
6322 msgid "B<S_IRWXG>"
6323 msgstr "B<S_IRWXG>"
6324
6325 #. type: Plain text
6326 #: build/C/man2/open.2:264
6327 msgid "00070 group has read, write and execute permission"
6328 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6329
6330 #. type: TP
6331 #: build/C/man2/open.2:264
6332 #, no-wrap
6333 msgid "B<S_IRGRP>"
6334 msgstr "B<S_IRGRP>"
6335
6336 #. type: Plain text
6337 #: build/C/man2/open.2:267
6338 msgid "00040 group has read permission"
6339 msgstr "00040 グループに読み込みの許可がある。"
6340
6341 #. type: TP
6342 #: build/C/man2/open.2:267
6343 #, no-wrap
6344 msgid "B<S_IWGRP>"
6345 msgstr "B<S_IWGRP>"
6346
6347 #. type: Plain text
6348 #: build/C/man2/open.2:270
6349 msgid "00020 group has write permission"
6350 msgstr "00020 グループに書き込みの許可がある。"
6351
6352 #. type: TP
6353 #: build/C/man2/open.2:270
6354 #, no-wrap
6355 msgid "B<S_IXGRP>"
6356 msgstr "B<S_IXGRP>"
6357
6358 #. type: Plain text
6359 #: build/C/man2/open.2:273
6360 msgid "00010 group has execute permission"
6361 msgstr "00010 グループに実行の許可がある。"
6362
6363 #. type: TP
6364 #: build/C/man2/open.2:273
6365 #, no-wrap
6366 msgid "B<S_IRWXO>"
6367 msgstr "B<S_IRWXO>"
6368
6369 #. type: Plain text
6370 #: build/C/man2/open.2:276
6371 msgid "00007 others have read, write and execute permission"
6372 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6373
6374 #. type: TP
6375 #: build/C/man2/open.2:276
6376 #, no-wrap
6377 msgid "B<S_IROTH>"
6378 msgstr "B<S_IROTH>"
6379
6380 #. type: Plain text
6381 #: build/C/man2/open.2:279
6382 msgid "00004 others have read permission"
6383 msgstr "00004 他人に読み込みの許可がある。"
6384
6385 #. type: TP
6386 #: build/C/man2/open.2:279
6387 #, no-wrap
6388 msgid "B<S_IWOTH>"
6389 msgstr "B<S_IWOTH>"
6390
6391 #. type: Plain text
6392 #: build/C/man2/open.2:282
6393 msgid "00002 others have write permission"
6394 msgstr "00002 他人に書き込みの許可がある。"
6395
6396 #. type: TP
6397 #: build/C/man2/open.2:282
6398 #, no-wrap
6399 msgid "B<S_IXOTH>"
6400 msgstr "B<S_IXOTH>"
6401
6402 #. type: Plain text
6403 #: build/C/man2/open.2:285
6404 msgid "00001 others have execute permission"
6405 msgstr "00001 他人に実行の許可がある。"
6406
6407 #. type: TP
6408 #: build/C/man2/open.2:286
6409 #, no-wrap
6410 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6411 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6412
6413 #. type: Plain text
6414 #: build/C/man2/open.2:303
6415 msgid ""
6416 "Try to minimize cache effects of the I/O to and from this file.  In general "
6417 "this will degrade performance, but it is useful in special situations, such "
6418 "as when applications do their own caching.  File I/O is done directly to/"
6419 "from user-space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6420 "transfer data synchronously, but does not give the guarantees of the "
6421 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6422 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6423 "B<O_DIRECT>.  See NOTES below for further discussion."
6424 msgstr ""
6425 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを"
6426 "使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを"
6427 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6428 "ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
6429 "はするが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証される"
6430 "わけではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を"
6431 "使用しなければならない。下記の「注意」の節の議論も参照。"
6432
6433 #. type: Plain text
6434 #: build/C/man2/open.2:307
6435 msgid ""
6436 "A semantically similar (but deprecated) interface for block devices is "
6437 "described in B<raw>(8)."
6438 msgstr ""
6439 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6440 "れている (但し、このインタフェースは非推奨である)。"
6441
6442 #. type: TP
6443 #: build/C/man2/open.2:307
6444 #, no-wrap
6445 msgid "B<O_DIRECTORY>"
6446 msgstr "B<O_DIRECTORY>"
6447
6448 #.  But see the following and its replies:
6449 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6450 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6451 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6452 #. type: Plain text
6453 #: build/C/man2/open.2:319
6454 msgid ""
6455 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6456 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6457 "service problems if B<opendir>(3)  is called on a FIFO or tape device."
6458 msgstr ""
6459 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6460 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6461 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6462 "加された。"
6463
6464 #. type: TP
6465 #: build/C/man2/open.2:319
6466 #, no-wrap
6467 msgid "B<O_EXCL>"
6468 msgstr "B<O_EXCL>"
6469
6470 #. type: Plain text
6471 #: build/C/man2/open.2:329
6472 msgid ""
6473 "Ensure that this call creates the file: if this flag is specified in "
6474 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6475 "will fail."
6476 msgstr ""
6477 "この呼び出しでファイルが作成されることを保証する。このフラグが B<O_CREAT> "
6478 "と\n"
6479 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>() は失"
6480 "敗\n"
6481 "する。"
6482
6483 #.  POSIX.1-2001 explicitly requires this behavior.
6484 #. type: Plain text
6485 #: build/C/man2/open.2:337
6486 msgid ""
6487 "When these two flags are specified, symbolic links are not followed: if "
6488 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6489 "the symbolic link points to."
6490 msgstr ""
6491 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6492 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6493 "かに関わらず B<open>()  は失敗する。"
6494
6495 #. type: Plain text
6496 #: build/C/man2/open.2:353
6497 msgid ""
6498 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6499 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6500 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6501 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6502 "the error B<EBUSY>."
6503 msgstr ""
6504 "一般的には、 B<O_CREAT> を指定せずに B<O_EXCL> を使用した場合の\n"
6505 "B<O_EXCL> の動作は規定されていない。\n"
6506 "これには一つ例外があり、Linux 2.6 以降では、\n"
6507 "I<pathname> がブロックデバイスを参照している場合、\n"
6508 "B<O_CREAT> なしで B<O_EXCL> を使用することができる。\n"
6509 "システムがそのブロックデバイスを使用中の場合 (例えば、\n"
6510 "マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
6511
6512 #. type: Plain text
6513 #: build/C/man2/open.2:375
6514 #, fuzzy
6515 #| msgid ""
6516 #| "On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel "
6517 #| "2.6 or later.  In NFS environments where B<O_EXCL> support is not "
6518 #| "provided, programs that rely on it for performing locking tasks will "
6519 #| "contain a race condition.  Portable programs that want to perform atomic "
6520 #| "file locking using a lockfile, and need to avoid reliance on NFS support "
6521 #| "for B<O_EXCL>, can create a unique file on the same file system (e.g., "
6522 #| "incorporating hostname and PID), and use B<link>(2)  to make a link to "
6523 #| "the lockfile.  If B<link>(2)  returns 0, the lock is successful.  "
6524 #| "Otherwise, use B<stat>(2)  on the unique file to check if its link count "
6525 #| "has increased to 2, in which case the lock is also successful."
6526 msgid ""
6527 "On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 "
6528 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6529 "programs that rely on it for performing locking tasks will contain a race "
6530 "condition.  Portable programs that want to perform atomic file locking using "
6531 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6532 "create a unique file on the same filesystem (e.g., incorporating hostname "
6533 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6534 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6535 "unique file to check if its link count has increased to 2, in which case the "
6536 "lock is also successful."
6537 msgstr ""
6538 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6539 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6540 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6541 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6542 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6543 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6544 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6545 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6546 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6547 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6548 "じくロックに成功しているということである。"
6549
6550 #. type: TP
6551 #: build/C/man2/open.2:375
6552 #, no-wrap
6553 msgid "B<O_LARGEFILE>"
6554 msgstr "B<O_LARGEFILE>"
6555
6556 #. type: Plain text
6557 #: build/C/man2/open.2:397
6558 msgid ""
6559 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6560 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6561 "macro must be defined (before including I<any> header files)  in order to "
6562 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6563 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6564 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6565 msgstr ""
6566 "(LFS) I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる)"
6567 "ファ\n"
6568 "イルをオープン可能にする。この定義を有効にするためには、(I<どの>ヘッダファ"
6569 "イ\n"
6570 "ルをインクルードするよりも前に) B<_LARGEFILE64_SOURCE> マクロを定義しなけれ"
6571 "ば\n"
6572 "ならない。\n"
6573 "32 ビットシステムにおいて大きなファイルにアクセスしたい場合、\n"
6574 "(B<O_LARGEFILE> を使うよりも) B<_FILE_OFFSET_BITS> 機能検査マクロを 64 に\n"
6575 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
6576
6577 #. type: TP
6578 #: build/C/man2/open.2:397
6579 #, no-wrap
6580 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6581 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6582
6583 #.  The O_NOATIME flag also affects the treatment of st_atime
6584 #.  by mmap() and readdir(2), MTK, Dec 04.
6585 #. type: Plain text
6586 #: build/C/man2/open.2:410
6587 #, fuzzy
6588 #| msgid ""
6589 #| "Do not update the file last access time (I<st_atime> in the inode)  when "
6590 #| "the file is B<read>(2).  This flag is intended for use by indexing or "
6591 #| "backup programs, where its use can significantly reduce the amount of "
6592 #| "disk activity.  This flag may not be effective on all file systems.  One "
6593 #| "example is NFS, where the server maintains the access time."
6594 msgid ""
6595 "Do not update the file last access time (I<st_atime> in the inode)  when the "
6596 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6597 "programs, where its use can significantly reduce the amount of disk "
6598 "activity.  This flag may not be effective on all filesystems.  One example "
6599 "is NFS, where the server maintains the access time."
6600 msgstr ""
6601 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6602 "I<st_atime>) を更新しない。 このフラグはインデックス作成やバックアッププログ"
6603 "ラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らす"
6604 "ことができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6605 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6606
6607 #. type: TP
6608 #: build/C/man2/open.2:410
6609 #, no-wrap
6610 msgid "B<O_NOCTTY>"
6611 msgstr "B<O_NOCTTY>"
6612
6613 #. type: Plain text
6614 #: build/C/man2/open.2:418
6615 msgid ""
6616 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will not "
6617 "become the process's controlling terminal even if the process does not have "
6618 "one."
6619 msgstr ""
6620 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
6621 "る\n"
6622 "場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイ"
6623 "ル\n"
6624 "は制御端末にはならない。"
6625
6626 #. type: TP
6627 #: build/C/man2/open.2:418
6628 #, no-wrap
6629 msgid "B<O_NOFOLLOW>"
6630 msgstr "B<O_NOFOLLOW>"
6631
6632 #.  The headers from glibc 2.0.100 and later include a
6633 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6634 #.  used\fP.
6635 #. type: Plain text
6636 #: build/C/man2/open.2:430
6637 msgid ""
6638 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6639 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6640 "earlier components of the pathname will still be followed.  See also "
6641 "B<O_NOPATH> below."
6642 msgstr ""
6643 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
6644 "FreeBSD の拡張で、Linux には バージョン 2.1.126 で追加された。 このフラグが指"
6645 "定された場合でも I<pathname> の前の方の要素 (最後のディレクトリセパレータより"
6646 "前の部分) にあるシンボリックリンクについてはリンクが辿られる。 下記の "
6647 "B<O_PATH> も参照のこと。"
6648
6649 #. type: TP
6650 #: build/C/man2/open.2:430
6651 #, no-wrap
6652 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6653 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6654
6655 #. type: Plain text
6656 #: build/C/man2/open.2:443
6657 msgid ""
6658 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6659 "()  nor any subsequent operations on the file descriptor which is returned "
6660 "will cause the calling process to wait.  For the handling of FIFOs (named "
6661 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6662 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6663 "see B<fcntl>(2)."
6664 msgstr ""
6665 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
6666 "B<open>() も、返したファイルディスクリプタに対する以後のすべての操作も呼び"
6667 "出\n"
6668 "したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
6669 "B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
6670 "イ\n"
6671 "ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
6672 "議論は、 B<fcntl>(2) を参照すること。"
6673
6674 #. type: TP
6675 #: build/C/man2/open.2:443
6676 #, no-wrap
6677 msgid "B<O_PATH> (since Linux 2.6.39)"
6678 msgstr "B<O_PATH> (Linux 2.6.39 以降)"
6679
6680 #
6681 #.  commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
6682 #.  commit 326be7b484843988afe57566b627fb7a70beac56
6683 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
6684 #.  http://thread.gmane.org/gmane.linux.man/2790/focus=3496
6685 #.      Subject: Re: [PATCH] open(2): document O_PATH
6686 #.      Newsgroups: gmane.linux.man, gmane.linux.kernel
6687 #. type: Plain text
6688 #: build/C/man2/open.2:465
6689 msgid ""
6690 "Obtain a file descriptor that can be used for two purposes: to indicate a "
6691 "location in the filesystem tree and to perform operations that act purely at "
6692 "the file descriptor level.  The file itself is not opened, and other file "
6693 "operations (e.g., B<read>(2), B<write>(2), B<fchmod>(2), B<fchown>(2), "
6694 "B<fgetxattr>(2), B<mmap>(2))  fail with the error B<EBADF>."
6695 msgstr ""
6696
6697 #. type: Plain text
6698 #: build/C/man2/open.2:469
6699 msgid ""
6700 "The following operations I<can> be performed on the resulting file "
6701 "descriptor:"
6702 msgstr ""
6703
6704 #.  commit 332a2e1244bd08b9e3ecd378028513396a004a24
6705 #.  fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
6706 #. type: Plain text
6707 #: build/C/man2/open.2:478
6708 msgid ""
6709 "B<close>(2); B<fchdir>(2)  (since Linux 3.5); B<fstat>(2)  (since Linux 3.6)."
6710 msgstr ""
6711
6712 #. type: Plain text
6713 #: build/C/man2/open.2:484
6714 msgid ""
6715 "Duplicating the file descriptor (B<dup>(2), B<fcntl>(2)  B<F_DUPFD>, etc.)."
6716 msgstr ""
6717
6718 #. type: Plain text
6719 #: build/C/man2/open.2:490
6720 msgid ""
6721 "Getting and setting file descriptor flags (B<fcntl>(2)  B<F_GETFD> and "
6722 "B<F_SETFD>)."
6723 msgstr ""
6724
6725 #. type: Plain text
6726 #: build/C/man2/open.2:496
6727 msgid ""
6728 "Retrieving open file status flags using the B<fcntl>(2)  B<F_GETFL> "
6729 "operation: the returned flags will include the bit B<O_PATH>."
6730 msgstr ""
6731
6732 #. type: Plain text
6733 #: build/C/man2/open.2:503
6734 msgid ""
6735 "Passing the file descriptor as the I<dirfd> argument of B<openat>(2)  and "
6736 "the other \"*at()\" system calls."
6737 msgstr ""
6738
6739 #. type: Plain text
6740 #: build/C/man2/open.2:509
6741 msgid ""
6742 "Passing the file descriptor to another process via a UNIX domain socket (see "
6743 "B<SCM_RIGHTS> in B<unix>(7))."
6744 msgstr ""
6745
6746 #. type: Plain text
6747 #: build/C/man2/open.2:520
6748 msgid ""
6749 "When B<O_PATH> is specified in I<flags>, flag bits other than B<O_DIRECTORY> "
6750 "and B<O_NOFOLLOW> are ignored."
6751 msgstr ""
6752
6753 #. type: Plain text
6754 #: build/C/man2/open.2:534
6755 msgid ""
6756 "If the B<O_NOFOLLOW> flag is also specified, then the call returns a file "
6757 "descriptor referring to the symbolic link.  This file descriptor can be used "
6758 "as the I<dirfd> argument in calls to B<fchownat>(2), B<fstatat>(2), B<linkat>"
6759 "(2), and B<readlinkat>(2)  with an empty pathname to have the calls operate "
6760 "on the symbolic link."
6761 msgstr ""
6762
6763 #. type: TP
6764 #: build/C/man2/open.2:534
6765 #, no-wrap
6766 msgid "B<O_SYNC>"
6767 msgstr "B<O_SYNC>"
6768
6769 #. type: Plain text
6770 #: build/C/man2/open.2:542
6771 msgid ""
6772 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6773 "file descriptor will block the calling process until the data has been "
6774 "physically written to the underlying hardware.  I<But see NOTES below>."
6775 msgstr ""
6776 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6777 "ファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセス"
6778 "をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
6779 "「注意」の章も参照。>"
6780
6781 #. type: TP
6782 #: build/C/man2/open.2:542
6783 #, no-wrap
6784 msgid "B<O_TRUNC>"
6785 msgstr "B<O_TRUNC>"
6786
6787 #. type: Plain text
6788 #: build/C/man2/open.2:556
6789 msgid ""
6790 "If the file already exists and is a regular file and the open mode allows "
6791 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6792 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6793 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6794 msgstr ""
6795 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6796 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6797 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6798 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6799 "ある。"
6800
6801 #. type: Plain text
6802 #: build/C/man2/open.2:560
6803 msgid ""
6804 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6805 "file has been opened."
6806 msgstr ""
6807 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6808 "用して変更することができる。"
6809
6810 #. type: Plain text
6811 #: build/C/man2/open.2:568
6812 msgid ""
6813 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6814 "O_WRONLY|O_TRUNC>."
6815 msgstr ""
6816 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6817 "を行うのと等価である。"
6818
6819 #. type: Plain text
6820 #: build/C/man2/open.2:576
6821 msgid ""
6822 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6823 "occurred (in which case, I<errno> is set appropriately)."
6824 msgstr ""
6825 "B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
6826 "した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6827
6828 #. type: Plain text
6829 #: build/C/man2/open.2:586
6830 msgid ""
6831 "The requested access to the file is not allowed, or search permission is "
6832 "denied for one of the directories in the path prefix of I<pathname>, or the "
6833 "file did not exist yet and write access to the parent directory is not "
6834 "allowed.  (See also B<path_resolution>(7).)"
6835 msgstr ""
6836 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6837 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6838 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6839 "すること。)"
6840
6841 #. type: Plain text
6842 #: build/C/man2/open.2:592
6843 #, fuzzy
6844 #| msgid ""
6845 #| "Where B<O_CREAT> is specified, the file does not exist, and the user's "
6846 #| "quota of disk blocks or inodes on the file system has been exhausted."
6847 msgid ""
6848 "Where B<O_CREAT> is specified, the file does not exist, and the user's quota "
6849 "of disk blocks or inodes on the filesystem has been exhausted."
6850 msgstr ""
6851 "B<O_CREAT> が指定された場合で、そのファイルが存在せず、ディスクブロックか "
6852 "inode がそのファイルシステムのユーザクォータに達していた。"
6853
6854 #. type: Plain text
6855 #: build/C/man2/open.2:598
6856 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6857 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6858
6859 #. type: Plain text
6860 #: build/C/man2/open.2:602 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6861 msgid "I<pathname> points outside your accessible address space."
6862 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6863
6864 #. type: TP
6865 #: build/C/man2/open.2:602 build/C/man2/write.2:145
6866 #, no-wrap
6867 msgid "B<EFBIG>"
6868 msgstr "B<EFBIG>"
6869
6870 #. type: Plain text
6871 #: build/C/man2/open.2:606
6872 msgid "See B<EOVERFLOW>."
6873 msgstr "B<EOVERFLOW> 参照。"
6874
6875 #. type: TP
6876 #: build/C/man2/open.2:606 build/C/man2/read.2:122 build/C/man3/scanf.3:561
6877 #: build/C/man3/tmpfile.3:63 build/C/man2/write.2:150
6878 #, no-wrap
6879 msgid "B<EINTR>"
6880 msgstr "B<EINTR>"
6881
6882 #. type: Plain text
6883 #: build/C/man2/open.2:613
6884 msgid ""
6885 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6886 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6887 "(7)."
6888 msgstr ""
6889 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6890 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6891 "B<signal>(7)  参照。"
6892
6893 #. type: Plain text
6894 #: build/C/man2/open.2:620
6895 msgid ""
6896 "The filesystem does not support the B<O_DIRECT> flag. See B<NOTES> for more "
6897 "information."
6898 msgstr ""
6899
6900 #. type: TP
6901 #: build/C/man2/open.2:620 build/C/man2/read.2:158 build/C/man2/rename.2:143
6902 #: build/C/man2/unlink.2:87
6903 #, no-wrap
6904 msgid "B<EISDIR>"
6905 msgstr "B<EISDIR>"
6906
6907 #. type: Plain text
6908 #: build/C/man2/open.2:629
6909 msgid ""
6910 "I<pathname> refers to a directory and the access requested involved writing "
6911 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6912 msgstr ""
6913 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6914 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6915
6916 #. type: Plain text
6917 #: build/C/man2/open.2:636
6918 msgid ""
6919 "Too many symbolic links were encountered in resolving I<pathname>, or "
6920 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6921 msgstr ""
6922 "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
6923 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6924
6925 #. type: TP
6926 #: build/C/man2/open.2:636 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:66
6927 #, no-wrap
6928 msgid "B<EMFILE>"
6929 msgstr "B<EMFILE>"
6930
6931 #. type: Plain text
6932 #: build/C/man2/open.2:639
6933 msgid "The process already has the maximum number of files open."
6934 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6935
6936 #. type: Plain text
6937 #: build/C/man2/open.2:643 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6938 msgid "I<pathname> was too long."
6939 msgstr "I<pathname> が長過ぎる。"
6940
6941 #. type: TP
6942 #: build/C/man2/open.2:643 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:69
6943 #, no-wrap
6944 msgid "B<ENFILE>"
6945 msgstr "B<ENFILE>"
6946
6947 #. type: Plain text
6948 #: build/C/man2/open.2:646 build/C/man2/pipe.2:113
6949 msgid "The system limit on the total number of open files has been reached."
6950 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6951
6952 #. type: TP
6953 #: build/C/man2/open.2:646
6954 #, no-wrap
6955 msgid "B<ENODEV>"
6956 msgstr "B<ENODEV>"
6957
6958 #. type: Plain text
6959 #: build/C/man2/open.2:653
6960 msgid ""
6961 "I<pathname> refers to a device special file and no corresponding device "
6962 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6963 "returned.)"
6964 msgstr ""
6965 "I<pathname> がデバイススペシャルファイルを参照しており、対応するデバイスが存"
6966 "在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返され"
6967 "るべきである)"
6968
6969 #. type: Plain text
6970 #: build/C/man2/open.2:660
6971 msgid ""
6972 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6973 "component in I<pathname> does not exist or is a dangling symbolic link."
6974 msgstr ""
6975 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6976 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリックリ"
6977 "ンクである。"
6978
6979 #. type: Plain text
6980 #: build/C/man2/open.2:669
6981 msgid ""
6982 "I<pathname> was to be created but the device containing I<pathname> has no "
6983 "room for the new file."
6984 msgstr ""
6985 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6986 "ファイルのための空き容量がない。"
6987
6988 #. type: Plain text
6989 #: build/C/man2/open.2:676
6990 msgid ""
6991 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6992 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6993 msgstr ""
6994 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6995 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6996
6997 #. type: Plain text
6998 #: build/C/man2/open.2:682
6999 msgid ""
7000 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
7001 "has the file open for reading.  Or, the file is a device special file and no "
7002 "corresponding device exists."
7003 msgstr ""
7004 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
7005 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
7006 "イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
7007
7008 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
7009 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
7010 #.  Reported 2006-10-03
7011 #. type: Plain text
7012 #: build/C/man2/open.2:702
7013 msgid ""
7014 "I<pathname> refers to a regular file that is too large to be opened.  The "
7015 "usual scenario here is that an application compiled on a 32-bit platform "
7016 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
7017 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
7018 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
7019 "B<EFBIG> for this case."
7020 msgstr ""
7021 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
7022 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
7023 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
7024 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
7025 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
7026 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
7027 "いた。"
7028
7029 #.  Strictly speaking, it's the filesystem UID... (MTK)
7030 #. type: Plain text
7031 #: build/C/man2/open.2:710
7032 msgid ""
7033 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
7034 "did not match the owner of the file and the caller was not privileged "
7035 "(B<CAP_FOWNER>)."
7036 msgstr ""
7037 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
7038 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
7039
7040 #. type: Plain text
7041 #: build/C/man2/open.2:715
7042 #, fuzzy
7043 #| msgid ""
7044 #| "I<pathname> refers to a file on a read-only file system and write access "
7045 #| "was requested."
7046 msgid ""
7047 "I<pathname> refers to a file on a read-only filesystem and write access was "
7048 "requested."
7049 msgstr ""
7050 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
7051 "込みアクセスが要求された。"
7052
7053 #. type: TP
7054 #: build/C/man2/open.2:715
7055 #, no-wrap
7056 msgid "B<ETXTBSY>"
7057 msgstr "B<ETXTBSY>"
7058
7059 #. type: Plain text
7060 #: build/C/man2/open.2:720
7061 msgid ""
7062 "I<pathname> refers to an executable image which is currently being executed "
7063 "and write access was requested."
7064 msgstr ""
7065 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
7066
7067 #. type: TP
7068 #: build/C/man2/open.2:720
7069 #, no-wrap
7070 msgid "B<EWOULDBLOCK>"
7071 msgstr "B<EWOULDBLOCK>"
7072
7073 #. type: Plain text
7074 #: build/C/man2/open.2:727
7075 msgid ""
7076 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
7077 "the file (see B<fcntl>(2))."
7078 msgstr ""
7079 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
7080 "ていた (B<fcntl>(2)  参照)。"
7081
7082 #. type: Plain text
7083 #: build/C/man2/open.2:741
7084 msgid ""
7085 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, "
7086 "B<O_NOFOLLOW>, and B<O_PATH> flags are Linux-specific, and one may need to "
7087 "define B<_GNU_SOURCE> (before including I<any> header files)  to obtain "
7088 "their definitions."
7089 msgstr ""
7090 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
7091 "B<O_NOFOLLOW>, B<O_PATH> は Linux 特有のものであり、 これらのフラグの定義を得"
7092 "るためには、 (「どの」ヘッダファイルをインクルードするよりも前に)  "
7093 "B<_GNU_SOURCE> を定義する必要があるかもしれない。"
7094
7095 #. type: Plain text
7096 #: build/C/man2/open.2:746
7097 msgid ""
7098 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
7099 "POSIX.1-2008."
7100 msgstr ""
7101 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
7102 "定されている。"
7103
7104 #. type: Plain text
7105 #: build/C/man2/open.2:754
7106 msgid ""
7107 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
7108 "(before including I<any> header files)  to get its definition."
7109 msgstr ""
7110 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
7111 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
7112 "なければならない。"
7113
7114 #. type: Plain text
7115 #: build/C/man2/open.2:762
7116 msgid ""
7117 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
7118 "does not necessarily have the intention to read or write.  This is typically "
7119 "used to open devices in order to get a file descriptor for use with B<ioctl>"
7120 "(2)."
7121 msgstr ""
7122 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
7123 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
7124 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
7125 "られる。"
7126
7127 #.  See for example util-linux's disk-utils/setfdprm.c
7128 #.  For some background on access mode 3, see
7129 #.  http://thread.gmane.org/gmane.linux.kernel/653123
7130 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
7131 #.  LKML, 12 Mar 2008
7132 #. type: Plain text
7133 #: build/C/man2/open.2:791
7134 msgid ""
7135 "Unlike the other values that can be specified in I<flags>, the I<access "
7136 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
7137 "individual bits.  Rather, they define the low order two bits of I<flags>, "
7138 "and are defined respectively as 0, 1, and 2.  In other words, the "
7139 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
7140 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
7141 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
7142 "and write permission on the file and return a descriptor that can't be used "
7143 "for reading or writing.  This nonstandard access mode is used by some Linux "
7144 "drivers to return a descriptor that is to be used only for device-specific "
7145 "B<ioctl>(2)  operations."
7146 msgstr ""
7147 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
7148 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
7149 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
7150 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
7151 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
7152 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
7153 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
7154 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
7155 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
7156 "ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
7157 "る。"
7158
7159 #.  Linux 2.0, 2.5: truncate
7160 #.  Solaris 5.7, 5.8: truncate
7161 #.  Irix 6.5: truncate
7162 #.  Tru64 5.1B: truncate
7163 #.  HP-UX 11.22: truncate
7164 #.  FreeBSD 4.7: truncate
7165 #. type: Plain text
7166 #: build/C/man2/open.2:802
7167 msgid ""
7168 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
7169 "implementations.  On many systems the file is actually truncated."
7170 msgstr ""
7171 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
7172 "くのシステムではファイルは実際に切り詰められる。"
7173
7174 #. type: Plain text
7175 #: build/C/man2/open.2:806
7176 msgid ""
7177 "There are many infelicities in the protocol underlying NFS, affecting "
7178 "amongst others B<O_SYNC> and B<O_NDELAY>."
7179 msgstr ""
7180 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
7181 "B<O_NDELAY> に影響する。"
7182
7183 #. type: Plain text
7184 #: build/C/man2/open.2:828
7185 #, fuzzy
7186 #| msgid ""
7187 #| "POSIX provides for three different variants of synchronized I/O, "
7188 #| "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  "
7189 #| "Currently (2.6.31), Linux implements only B<O_SYNC>, but glibc maps "
7190 #| "B<O_DSYNC> and B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most "
7191 #| "Linux file systems don't actually implement the POSIX B<O_SYNC> "
7192 #| "semantics, which require all metadata updates of a write to be on disk on "
7193 #| "returning to user space, but only the B<O_DSYNC> semantics, which require "
7194 #| "only actual file data and metadata necessary to retrieve it to be on disk "
7195 #| "by the time the system call returns."
7196 msgid ""
7197 "POSIX provides for three different variants of synchronized I/O, "
7198 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
7199 "(2.6.31), Linux implements only B<O_SYNC>, but glibc maps B<O_DSYNC> and "
7200 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux filesystems "
7201 "don't actually implement the POSIX B<O_SYNC> semantics, which require all "
7202 "metadata updates of a write to be on disk on returning to user space, but "
7203 "only the B<O_DSYNC> semantics, which require only actual file data and "
7204 "metadata necessary to retrieve it to be on disk by the time the system call "
7205 "returns."
7206 msgstr ""
7207 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
7208 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
7209 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
7210 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
7211 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
7212 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
7213 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
7214 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
7215 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
7216 "ていればよい。"
7217
7218 #. type: Plain text
7219 #: build/C/man2/open.2:836
7220 msgid ""
7221 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
7222 "create them; use B<mknod>(2)  instead."
7223 msgstr ""
7224 "B<open>()  はスペシャルファイルをオープンすることができるが、 B<creat>()  で"
7225 "スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  を使"
7226 "用する。"
7227
7228 #. type: Plain text
7229 #: build/C/man2/open.2:849
7230 #, fuzzy
7231 #| msgid ""
7232 #| "On NFS file systems with UID mapping enabled, B<open>()  may return a "
7233 #| "file descriptor but, for example, B<read>(2)  requests are denied with "
7234 #| "B<EACCES>.  This is because the client performs B<open>()  by checking "
7235 #| "the permissions, but UID mapping is performed by the server upon read and "
7236 #| "write requests."
7237 msgid ""
7238 "On NFS filesystems with UID mapping enabled, B<open>()  may return a file "
7239 "descriptor but, for example, B<read>(2)  requests are denied with "
7240 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
7241 "permissions, but UID mapping is performed by the server upon read and write "
7242 "requests."
7243 msgstr ""
7244 "UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
7245 "ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
7246 "る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
7247 "が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
7248 "る。"
7249
7250 #. type: Plain text
7251 #: build/C/man2/open.2:868
7252 msgid ""
7253 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
7254 "fields (respectively, time of last access, time of last status change, and "
7255 "time of last modification; see B<stat>(2))  are set to the current time, and "
7256 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
7257 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
7258 "st_ctime and st_mtime fields are set to the current time."
7259 msgstr ""
7260 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
7261 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
7262 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
7263 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
7264 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
7265 "I<st_mtime> フィールドが現在時刻に設定される。"
7266
7267 #. type: SS
7268 #: build/C/man2/open.2:868
7269 #, no-wrap
7270 msgid "O_DIRECT"
7271 msgstr "O_DIRECT"
7272
7273 #. type: Plain text
7274 #: build/C/man2/open.2:885
7275 #, fuzzy
7276 #| msgid ""
7277 #| "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
7278 #| "address of user-space buffers and the file offset of I/Os.  In Linux "
7279 #| "alignment restrictions vary by file system and kernel version and might "
7280 #| "be absent entirely.  However there is currently no file system-"
7281 #| "independent interface for an application to discover these restrictions "
7282 #| "for a given file or file system.  Some file systems provide their own "
7283 #| "interfaces for doing so, for example the B<XFS_IOC_DIOINFO> operation in "
7284 #| "B<xfsctl>(3)."
7285 msgid ""
7286 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
7287 "address of user-space buffers and the file offset of I/Os.  In Linux "
7288 "alignment restrictions vary by filesystem and kernel version and might be "
7289 "absent entirely.  However there is currently no filesystem-independent "
7290 "interface for an application to discover these restrictions for a given file "
7291 "or filesystem.  Some filesystems provide their own interfaces for doing so, "
7292 "for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
7293 msgstr ""
7294 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
7295 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
7296 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
7297 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
7298 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
7299 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
7300 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
7301 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
7302
7303 #. type: Plain text
7304 #: build/C/man2/open.2:890
7305 #, fuzzy
7306 #| msgid ""
7307 #| "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
7308 #| "the file offset must all be multiples of the logical block size of the "
7309 #| "file system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
7310 msgid ""
7311 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
7312 "the file offset must all be multiples of the logical block size of the "
7313 "filesystem.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
7314 msgstr ""
7315 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
7316 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
7317 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
7318
7319 #. type: Plain text
7320 #: build/C/man2/open.2:924
7321 msgid ""
7322 "B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2)  "
7323 "system call, if the memory buffer is a private mapping (i.e., any mapping "
7324 "created with the B<mmap>(2)  B<MAP_PRIVATE> flag; this includes memory "
7325 "allocated on the heap and statically allocated buffers).  Any such I/Os, "
7326 "whether submitted via an asynchronous I/O interface or from another thread "
7327 "in the process, should be completed before B<fork>(2)  is called.  Failure "
7328 "to do so can result in data corruption and undefined behavior in parent and "
7329 "child processes.  This restriction does not apply when the memory buffer for "
7330 "the B<O_DIRECT> I/Os was created using B<shmat>(2)  or B<mmap>(2)  with the "
7331 "B<MAP_SHARED> flag.  Nor does this restriction apply when the memory buffer "
7332 "has been advised as B<MADV_DONTFORK> with B<madvise>(2), ensuring that it "
7333 "will not be available to the child after B<fork>(2)."
7334 msgstr ""
7335 "メモリバッファがプライベートマッピング (B<mmap>(2) の B<MAP_PRIVATE>\n"
7336 "フラグで作成されたマッピング) の場合には、B<O_DIRECT> I/O は\n"
7337 "B<fork>(2) システムコールと同時に決して実行すべきではない \n"
7338 "(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に\n"
7339 "割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由\n"
7340 "やプロセス内の他のスレッドから発行された、このような I/O は、\n"
7341 "B<fork>(2) が呼び出される前に完了されるべきである。\n"
7342 "そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない\n"
7343 "動作が起こる可能性がある。\n"
7344 "B<O_DIRECT> I/O 用のメモリバッファが B<shmat>(2) やB<MAP_SHARED> フラグ\n"
7345 "付きの B<mmap>(2) で作成された場合には、この制限はあてはまらない。\n"
7346 "B<madvise>(2) でメモリバッファにアドバイス B<MADV_DONTFORK> が設定され\n"
7347 "ている場合にも、この制限はあてはまらない(B<MADV_DONTFORK> はそのメモリ\n"
7348 "バッファが B<fork>(2) 後に子プロセスからは利用できないことを保証するも\n"
7349 "のである)。"
7350
7351 #. type: Plain text
7352 #: build/C/man2/open.2:934
7353 msgid ""
7354 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
7355 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
7356 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
7357 "flag of the same name, but without alignment restrictions."
7358 msgstr ""
7359 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
7360 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
7361 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
7362 "ラグを導入したが、アラインメントの制限はない。"
7363
7364 #. type: Plain text
7365 #: build/C/man2/open.2:943
7366 #, fuzzy
7367 #| msgid ""
7368 #| "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  "
7369 #| "Older Linux kernels simply ignore this flag.  Some file systems may not "
7370 #| "implement the flag and B<open>()  will fail with B<EINVAL> if it is used."
7371 msgid ""
7372 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
7373 "Linux kernels simply ignore this flag.  Some filesystems may not implement "
7374 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
7375 msgstr ""
7376 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
7377 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
7378 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
7379 "と B<open>()  は B<EINVAL> で失敗する。"
7380
7381 #. type: Plain text
7382 #: build/C/man2/open.2:954
7383 #, fuzzy
7384 #| msgid ""
7385 #| "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
7386 #| "file, and especially to overlapping byte regions in the same file.  Even "
7387 #| "when the file system correctly handles the coherency issues in this "
7388 #| "situation, overall I/O throughput is likely to be slower than using "
7389 #| "either mode alone.  Likewise, applications should avoid mixing B<mmap>"
7390 #| "(2)  of files with direct I/O to the same files."
7391 msgid ""
7392 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
7393 "file, and especially to overlapping byte regions in the same file.  Even "
7394 "when the filesystem correctly handles the coherency issues in this "
7395 "situation, overall I/O throughput is likely to be slower than using either "
7396 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
7397 "with direct I/O to the same files."
7398 msgstr ""
7399 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
7400 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
7401 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
7402 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
7403 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
7404 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
7405
7406 #. type: Plain text
7407 #: build/C/man2/open.2:976
7408 #, fuzzy
7409 #| msgid ""
7410 #| "The behaviour of B<O_DIRECT> with NFS will differ from local file "
7411 #| "systems.  Older kernels, or kernels configured in certain ways, may not "
7412 #| "support this combination.  The NFS protocol does not support passing the "
7413 #| "flag to the server, so B<O_DIRECT> I/O will bypass the page cache only on "
7414 #| "the client; the server may still cache the I/O.  The client asks the "
7415 #| "server to make the I/O synchronous to preserve the synchronous semantics "
7416 #| "of B<O_DIRECT>.  Some servers will perform poorly under these "
7417 #| "circumstances, especially if the I/O size is small.  Some servers may "
7418 #| "also be configured to lie to clients about the I/O having reached stable "
7419 #| "storage; this will avoid the performance penalty at some risk to data "
7420 #| "integrity in the event of server power failure.  The Linux NFS client "
7421 #| "places no alignment restrictions on B<O_DIRECT> I/O."
7422 msgid ""
7423 "The behaviour of B<O_DIRECT> with NFS will differ from local filesystems.  "
7424 "Older kernels, or kernels configured in certain ways, may not support this "
7425 "combination.  The NFS protocol does not support passing the flag to the "
7426 "server, so B<O_DIRECT> I/O will bypass the page cache only on the client; "
7427 "the server may still cache the I/O.  The client asks the server to make the "
7428 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
7429 "servers will perform poorly under these circumstances, especially if the I/O "
7430 "size is small.  Some servers may also be configured to lie to clients about "
7431 "the I/O having reached stable storage; this will avoid the performance "
7432 "penalty at some risk to data integrity in the event of server power "
7433 "failure.  The Linux NFS client places no alignment restrictions on "
7434 "B<O_DIRECT> I/O."
7435 msgstr ""
7436 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
7437 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
7438 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
7439 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
7440 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
7441 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
7442 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
7443 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
7444 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
7445 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
7446 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
7447 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
7448
7449 #. type: Plain text
7450 #: build/C/man2/open.2:983
7451 msgid ""
7452 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
7453 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
7454 "as a performance option which is disabled by default."
7455 msgstr ""
7456 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
7457 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
7458 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
7459
7460 #. type: Plain text
7461 #: build/C/man2/open.2:988
7462 msgid ""
7463 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
7464 "interface is just stupid, and was probably designed by a deranged monkey on "
7465 "some serious mind-controlling substances.\"\\(emLinus"
7466 msgstr ""
7467 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
7468 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
7469 "な」 \\(em Linus"
7470
7471 #.  FIXME . Check bugzilla report on open(O_ASYNC)
7472 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
7473 #. type: Plain text
7474 #: build/C/man2/open.2:1000
7475 msgid ""
7476 "Currently, it is not possible to enable signal-driven I/O by specifying "
7477 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7478 msgstr ""
7479 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7480 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7481 "すること。"
7482
7483 #. type: Plain text
7484 #: build/C/man2/open.2:1022
7485 msgid ""
7486 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7487 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7488 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7489 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7490 msgstr ""
7491 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7492 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7493 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7494 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7495
7496 #. type: TH
7497 #: build/C/man3/perror.3:31
7498 #, no-wrap
7499 msgid "PERROR"
7500 msgstr "PERROR"
7501
7502 #. type: TH
7503 #: build/C/man3/perror.3:31
7504 #, no-wrap
7505 msgid "2012-04-17"
7506 msgstr "2012-04-17"
7507
7508 #. type: Plain text
7509 #: build/C/man3/perror.3:34
7510 msgid "perror - print a system error message"
7511 msgstr "perror - システムエラーメッセージを出力する"
7512
7513 #. type: Plain text
7514 #: build/C/man3/perror.3:38
7515 msgid "B<void perror(const char *>I<s>B<);>"
7516 msgstr "B<void perror(const char *>I<s>B<);>"
7517
7518 #. type: Plain text
7519 #: build/C/man3/perror.3:40
7520 msgid "B<#include E<lt>errno.hE<gt>>"
7521 msgstr "B<#include E<lt>errno.hE<gt>>"
7522
7523 #. type: Plain text
7524 #: build/C/man3/perror.3:42
7525 msgid "B<const char *>I<sys_errlist>B<[];>"
7526 msgstr "B<const char *>I<sys_errlist>B<[];>"
7527
7528 #. type: Plain text
7529 #: build/C/man3/perror.3:44
7530 msgid "B<int >I<sys_nerr>B<;>"
7531 msgstr "B<int >I<sys_nerr>B<;>"
7532
7533 #. type: Plain text
7534 #: build/C/man3/perror.3:46
7535 msgid "B<int >I<errno>B<;>"
7536 msgstr "B<int >I<errno>B<;>"
7537
7538 #. type: Plain text
7539 #: build/C/man3/perror.3:55
7540 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7541 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7542
7543 #. type: Plain text
7544 #: build/C/man3/perror.3:68
7545 msgid ""
7546 "The routine B<perror>()  produces a message on the standard error output, "
7547 "describing the last error encountered during a call to a system or library "
7548 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7549 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7550 "blank.  Then the message and a new-line."
7551 msgstr ""
7552 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7553 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7554 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7555 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7556 "メッセージと改行が出力される。"
7557
7558 #. type: Plain text
7559 #: build/C/man3/perror.3:76
7560 msgid ""
7561 "To be of most use, the argument string should include the name of the "
7562 "function that incurred the error.  The error number is taken from the "
7563 "external variable I<errno>, which is set when errors occur but not cleared "
7564 "when successful calls are made."
7565 msgstr ""
7566 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7567 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7568 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7569
7570 #. type: Plain text
7571 #: build/C/man3/perror.3:90
7572 msgid ""
7573 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7574 "obtain the error message without the newline.  The largest message number "
7575 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
7576 "this list because new error values may not have been added to I<sys_errlist>"
7577 "[].  The use of I<sys_errlist>[] is nowadays deprecated."
7578 msgstr ""
7579 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
7580 "の\n"
7581 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセー"
7582 "ジ\n"
7583 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意するこ"
7584 "と。\n"
7585 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7586 "る。\n"
7587 "現在では、I<sys_errlist>[] の使用は非推奨となっている。"
7588
7589 #. type: Plain text
7590 #: build/C/man3/perror.3:111
7591 msgid ""
7592 "When a system call fails, it usually returns -1 and sets the variable "
7593 "I<errno> to a value describing what went wrong.  (These values can be found "
7594 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7595 "B<perror>()  serves to translate this error code into human-readable form.  "
7596 "Note that I<errno> is undefined after a successful library call: this call "
7597 "may well change this variable, even though it succeeds, for example because "
7598 "it internally used some other library function that failed.  Thus, if a "
7599 "failing call is not immediately followed by a call to B<perror>(), the value "
7600 "of I<errno> should be saved."
7601 msgstr ""
7602 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7603 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7604 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7605 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7606 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7607 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7608 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7609 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7610 "い。"
7611
7612 #. type: Plain text
7613 #: build/C/man3/perror.3:124
7614 msgid ""
7615 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7616 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7617 "I<sys_errlist> conform to BSD."
7618 msgstr ""
7619 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7620 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7621 "に準拠している。"
7622
7623 #.  and only when _BSD_SOURCE is defined.
7624 #.  When
7625 #.  .B _GNU_SOURCE
7626 #.  is defined, the symbols
7627 #.  .I _sys_nerr
7628 #.  and
7629 #.  .I _sys_errlist
7630 #.  are provided.
7631 #. type: Plain text
7632 #: build/C/man3/perror.3:139
7633 msgid ""
7634 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7635 "I<E<lt>stdio.hE<gt>>."
7636 msgstr ""
7637 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7638 "I<E<lt>stdio.hE<gt>> に含まれている。"
7639
7640 #. type: Plain text
7641 #: build/C/man3/perror.3:144
7642 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7643 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7644
7645 #. type: TH
7646 #: build/C/man2/pipe.2:36
7647 #, no-wrap
7648 msgid "PIPE"
7649 msgstr "PIPE"
7650
7651 #. type: TH
7652 #: build/C/man2/pipe.2:36
7653 #, no-wrap
7654 msgid "2012-02-14"
7655 msgstr "2012-02-14"
7656
7657 #. type: Plain text
7658 #: build/C/man2/pipe.2:39
7659 msgid "pipe, pipe2 - create pipe"
7660 msgstr "pipe, pipe2 - パイプを生成する"
7661
7662 #. type: Plain text
7663 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7664 #, no-wrap
7665 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7666 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7667
7668 #. type: Plain text
7669 #: build/C/man2/pipe.2:44
7670 #, no-wrap
7671 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7672 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7673
7674 #. type: Plain text
7675 #: build/C/man2/pipe.2:48
7676 #, no-wrap
7677 msgid ""
7678 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7679 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7680 "B<#include E<lt>unistd.hE<gt>>\n"
7681 msgstr ""
7682 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7683 "B<#include E<lt>fcntl.hE<gt>>              /* O_* 定数の定義の取得 */\n"
7684 "B<#include E<lt>unistd.hE<gt>>\n"
7685
7686 #. type: Plain text
7687 #: build/C/man2/pipe.2:50
7688 #, no-wrap
7689 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7690 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7691
7692 #. type: Plain text
7693 #: build/C/man2/pipe.2:66
7694 msgid ""
7695 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7696 "for interprocess communication.  The array I<pipefd> is used to return two "
7697 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7698 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7699 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7700 "until it is read from the read end of the pipe.  For further details, see "
7701 "B<pipe>(7)."
7702 msgstr ""
7703 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7704 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7705 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7706 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7707 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7708 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7709
7710 #. type: Plain text
7711 #: build/C/man2/pipe.2:76
7712 msgid ""
7713 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7714 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7715 msgstr ""
7716 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7717 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7718 "きる。"
7719
7720 #. type: TP
7721 #: build/C/man2/pipe.2:76
7722 #, no-wrap
7723 msgid "B<O_NONBLOCK>"
7724 msgstr "B<O_NONBLOCK>"
7725
7726 #. type: Plain text
7727 #: build/C/man2/pipe.2:84
7728 msgid ""
7729 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7730 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7731 "the same result."
7732 msgstr ""
7733 "新しく生成される二つのオープンファイル記述 (open file description) の "
7734 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7735 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7736 "なる。"
7737
7738 #. type: TP
7739 #: build/C/man2/pipe.2:84
7740 #, no-wrap
7741 msgid "B<O_CLOEXEC>"
7742 msgstr "B<O_CLOEXEC>"
7743
7744 #. type: Plain text
7745 #: build/C/man2/pipe.2:92
7746 msgid ""
7747 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7748 "descriptors.  See the description of the same flag in B<open>(2)  for "
7749 "reasons why this may be useful."
7750 msgstr ""
7751 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7752 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7753 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7754
7755 #. type: Plain text
7756 #: build/C/man2/pipe.2:102
7757 msgid "I<pipefd> is not valid."
7758 msgstr "I<pipefd> が無効な値である。"
7759
7760 #. type: Plain text
7761 #: build/C/man2/pipe.2:107
7762 msgid "(B<pipe2>())  Invalid value in I<flags>."
7763 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7764
7765 #. type: Plain text
7766 #: build/C/man2/pipe.2:110
7767 msgid "Too many file descriptors are in use by the process."
7768 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7769
7770 #. type: Plain text
7771 #: build/C/man2/pipe.2:118
7772 msgid ""
7773 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7774 "starting with version 2.9."
7775 msgstr ""
7776 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7777 "はバージョン 2.9 以降で利用できる。"
7778
7779 #. type: Plain text
7780 #: build/C/man2/pipe.2:121
7781 msgid "B<pipe>(): POSIX.1-2001."
7782 msgstr "B<pipe>(): POSIX.1-2001."
7783
7784 #. type: Plain text
7785 #: build/C/man2/pipe.2:124
7786 msgid "B<pipe2>()  is Linux-specific."
7787 msgstr "B<pipe2>()  は Linux 固有である。"
7788
7789 #.  fork.2 refers to this example program.
7790 #. type: Plain text
7791 #: build/C/man2/pipe.2:140
7792 msgid ""
7793 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7794 "process; the child inherits a duplicate set of file descriptors that refer "
7795 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7796 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7797 "the string contained in the program's command-line argument to the pipe, and "
7798 "the child reads this string a byte at a time from the pipe and echoes it on "
7799 "standard output."
7800 msgstr ""
7801 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7802 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7803 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7804 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7805 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7806 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7807
7808 #. type: Plain text
7809 #: build/C/man2/pipe.2:147
7810 #, no-wrap
7811 msgid ""
7812 "#include E<lt>sys/wait.hE<gt>\n"
7813 "#include E<lt>stdio.hE<gt>\n"
7814 "#include E<lt>stdlib.hE<gt>\n"
7815 "#include E<lt>unistd.hE<gt>\n"
7816 "#include E<lt>string.hE<gt>\n"
7817 msgstr ""
7818 "#include E<lt>sys/wait.hE<gt>\n"
7819 "#include E<lt>stdio.hE<gt>\n"
7820 "#include E<lt>stdlib.hE<gt>\n"
7821 "#include E<lt>unistd.hE<gt>\n"
7822 "#include E<lt>string.hE<gt>\n"
7823
7824 #. type: Plain text
7825 #: build/C/man2/pipe.2:154
7826 #, no-wrap
7827 msgid ""
7828 "int\n"
7829 "main(int argc, char *argv[])\n"
7830 "{\n"
7831 "    int pipefd[2];\n"
7832 "    pid_t cpid;\n"
7833 "    char buf;\n"
7834 msgstr ""
7835 "int\n"
7836 "main(int argc, char *argv[])\n"
7837 "{\n"
7838 "    int pipefd[2];\n"
7839 "    pid_t cpid;\n"
7840 "    char buf;\n"
7841
7842 #. type: Plain text
7843 #: build/C/man2/pipe.2:159
7844 #, no-wrap
7845 msgid ""
7846 "    if (argc != 2) {\n"
7847 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7848 "\texit(EXIT_FAILURE);\n"
7849 "    }\n"
7850 msgstr ""
7851 "    if (argc != 2) {\n"
7852 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7853 "\texit(EXIT_FAILURE);\n"
7854 "    }\n"
7855
7856 #. type: Plain text
7857 #: build/C/man2/pipe.2:164
7858 #, no-wrap
7859 msgid ""
7860 "    if (pipe(pipefd) == -1) {\n"
7861 "        perror(\"pipe\");\n"
7862 "        exit(EXIT_FAILURE);\n"
7863 "    }\n"
7864 msgstr ""
7865 "    if (pipe(pipefd) == -1) {\n"
7866 "        perror(\"pipe\");\n"
7867 "        exit(EXIT_FAILURE);\n"
7868 "    }\n"
7869
7870 #. type: Plain text
7871 #: build/C/man2/pipe.2:170
7872 #, no-wrap
7873 msgid ""
7874 "    cpid = fork();\n"
7875 "    if (cpid == -1) {\n"
7876 "        perror(\"fork\");\n"
7877 "        exit(EXIT_FAILURE);\n"
7878 "    }\n"
7879 msgstr ""
7880 "    cpid = fork();\n"
7881 "    if (cpid == -1) {\n"
7882 "        perror(\"fork\");\n"
7883 "        exit(EXIT_FAILURE);\n"
7884 "    }\n"
7885
7886 #. type: Plain text
7887 #: build/C/man2/pipe.2:173
7888 #, no-wrap
7889 msgid ""
7890 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7891 "        close(pipefd[1]);          /* Close unused write end */\n"
7892 msgstr ""
7893 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7894 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7895
7896 #. type: Plain text
7897 #: build/C/man2/pipe.2:176
7898 #, no-wrap
7899 msgid ""
7900 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7901 "            write(STDOUT_FILENO, &buf, 1);\n"
7902 msgstr ""
7903 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7904 "            write(STDOUT_FILENO, &buf, 1);\n"
7905
7906 #. type: Plain text
7907 #: build/C/man2/pipe.2:180
7908 #, no-wrap
7909 msgid ""
7910 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7911 "        close(pipefd[0]);\n"
7912 "        _exit(EXIT_SUCCESS);\n"
7913 msgstr ""
7914 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7915 "        close(pipefd[0]);\n"
7916 "        _exit(EXIT_SUCCESS);\n"
7917
7918 #. type: Plain text
7919 #: build/C/man2/pipe.2:189
7920 #, no-wrap
7921 msgid ""
7922 "    } else {            /* Parent writes argv[1] to pipe */\n"
7923 "        close(pipefd[0]);          /* Close unused read end */\n"
7924 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7925 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7926 "        wait(NULL);                /* Wait for child */\n"
7927 "        exit(EXIT_SUCCESS);\n"
7928 "    }\n"
7929 "}\n"
7930 msgstr ""
7931 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7932 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7933 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7934 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7935 "        wait(NULL);                /* 子プロセスを待つ */\n"
7936 "        exit(EXIT_SUCCESS);\n"
7937 "    }\n"
7938 "}\n"
7939
7940 #. type: Plain text
7941 #: build/C/man2/pipe.2:197
7942 msgid ""
7943 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7944 "(7)"
7945 msgstr ""
7946 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7947 "(7)"
7948
7949 #. type: TH
7950 #: build/C/man3/popen.3:40
7951 #, no-wrap
7952 msgid "POPEN"
7953 msgstr "POPEN"
7954
7955 #. type: Plain text
7956 #: build/C/man3/popen.3:43
7957 msgid "popen, pclose - pipe stream to or from a process"
7958 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
7959
7960 #. type: Plain text
7961 #: build/C/man3/popen.3:48
7962 #, no-wrap
7963 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7964 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7965
7966 #. type: Plain text
7967 #: build/C/man3/popen.3:50
7968 #, no-wrap
7969 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7970 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7971
7972 #. type: Plain text
7973 #: build/C/man3/popen.3:60
7974 msgid "B<popen>(), B<pclose>():"
7975 msgstr "B<popen>(), B<pclose>():"
7976
7977 #. type: Plain text
7978 #: build/C/man3/popen.3:62
7979 msgid ""
7980 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7981 msgstr ""
7982 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7983
7984 #. type: Plain text
7985 #: build/C/man3/popen.3:73
7986 msgid ""
7987 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7988 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7989 "I<type> argument may specify only reading or writing, not both; the "
7990 "resulting stream is correspondingly read-only or write-only."
7991 msgstr ""
7992 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7993 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7994 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7995 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7996 "たは 書き込み専用のいずれかとなる。"
7997
7998 #. type: Plain text
7999 #: build/C/man3/popen.3:97
8000 msgid ""
8001 "The I<command> argument is a pointer to a null-terminated string containing "
8002 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
8003 "flag; interpretation, if any, is performed by the shell.  The I<type> "
8004 "argument is a pointer to a null-terminated string which must contain either "
8005 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
8006 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
8007 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
8008 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
8009 "B<open>(2)  for reasons why this may be useful."
8010 msgstr ""
8011 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
8012 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
8013 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
8014 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
8015 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
8016 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
8017 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
8018 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
8019 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
8020
8021 #. type: Plain text
8022 #: build/C/man3/popen.3:113
8023 msgid ""
8024 "The return value from B<popen>()  is a normal standard I/O stream in all "
8025 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
8026 "(3).  Writing to such a stream writes to the standard input of the command; "
8027 "the command's standard output is the same as that of the process that called "
8028 "B<popen>(), unless this is altered by the command itself.  Conversely, "
8029 "reading from a \"popened\" stream reads the command's standard output, and "
8030 "the command's standard input is the same as that of the process that called "
8031 "B<popen>()."
8032 msgstr ""
8033 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
8034 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
8035 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
8036 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
8037 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
8038 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
8039 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
8040 "セスの標準入力と同一である。"
8041
8042 #. type: Plain text
8043 #: build/C/man3/popen.3:117
8044 msgid "Note that output B<popen>()  streams are fully buffered by default."
8045 msgstr ""
8046 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
8047 "に注意しよう。"
8048
8049 #. type: Plain text
8050 #: build/C/man3/popen.3:123
8051 msgid ""
8052 "The B<pclose>()  function waits for the associated process to terminate and "
8053 "returns the exit status of the command as returned by B<wait4>(2)."
8054 msgstr ""
8055 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
8056 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
8057
8058 #. type: Plain text
8059 #: build/C/man3/popen.3:131
8060 msgid ""
8061 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
8062 "calls fail, or if it cannot allocate memory."
8063 msgstr ""
8064 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
8065 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
8066
8067 #.  These conditions actually give undefined results, so I commented
8068 #.  them out.
8069 #.  .I stream
8070 #.  is not associated with a "popen()ed" command, if
8071 #. .I stream
8072 #.  already "pclose()d", or if
8073 #. type: Plain text
8074 #: build/C/man3/popen.3:146
8075 #, fuzzy
8076 #| msgid ""
8077 #| "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
8078 #| "some other error is detected.  In the event of an error, these functions "
8079 #| "set I<errnro> to indicate the cause of the error."
8080 msgid ""
8081 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
8082 "some other error is detected.  In the event of an error, these functions set "
8083 "I<errno> to indicate the cause of the error."
8084 msgstr ""
8085 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
8086 "かった場合、 -1 を返す。 その場合、 I<errno> にエラーの原因を示す値が設定され"
8087 "る。"
8088
8089 #. type: Plain text
8090 #: build/C/man3/popen.3:165
8091 msgid ""
8092 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
8093 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
8094 "appropriately.  If the I<type> argument is invalid, and this condition is "
8095 "detected, I<errno> is set to B<EINVAL>."
8096 msgstr ""
8097 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
8098 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
8099 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
8100 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
8101
8102 #. type: Plain text
8103 #: build/C/man3/popen.3:172
8104 msgid ""
8105 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
8106 msgstr ""
8107 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
8108 "B<ECHILD> にセットされる。"
8109
8110 #. type: Plain text
8111 #: build/C/man3/popen.3:178
8112 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
8113 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
8114
8115 #. type: Plain text
8116 #: build/C/man3/popen.3:191
8117 msgid ""
8118 "Since the standard input of a command opened for reading shares its seek "
8119 "offset with the process that called B<popen>(), if the original process has "
8120 "done a buffered read, the command's input position may not be as expected.  "
8121 "Similarly, the output from a command opened for writing may become "
8122 "intermingled with that of the original process.  The latter can be avoided "
8123 "by calling B<fflush>(3)  before B<popen>()."
8124 msgstr ""
8125 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
8126 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
8127 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
8128 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
8129 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
8130 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
8131
8132 #.  .SH HISTORY
8133 #.  A
8134 #.  .BR popen ()
8135 #.  and a
8136 #.  .BR pclose ()
8137 #.  function appeared in Version 7 AT&T UNIX.
8138 #. type: Plain text
8139 #: build/C/man3/popen.3:201
8140 msgid ""
8141 "Failure to execute the shell is indistinguishable from the shell's failure "
8142 "to execute command, or an immediate exit of the command.  The only hint is "
8143 "an exit status of 127."
8144 msgstr ""
8145 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
8146 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
8147 "なることである。"
8148
8149 #. type: Plain text
8150 #: build/C/man3/popen.3:211
8151 msgid ""
8152 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
8153 "B<fopen>(3), B<stdio>(3), B<system>(3)"
8154 msgstr ""
8155 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
8156 "B<fopen>(3), B<stdio>(3), B<system>(3)"
8157
8158 #. type: TH
8159 #: build/C/man3/printf.3:34
8160 #, no-wrap
8161 msgid "PRINTF"
8162 msgstr "PRINTF"
8163
8164 #. type: TH
8165 #: build/C/man3/printf.3:34
8166 #, fuzzy, no-wrap
8167 #| msgid "2013-07-04"
8168 msgid "2013-09-04"
8169 msgstr "2013-07-04"
8170
8171 #. type: Plain text
8172 #: build/C/man3/printf.3:38
8173 msgid ""
8174 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
8175 "formatted output conversion"
8176 msgstr ""
8177 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
8178 "指定された書式に変換して出力を行う"
8179
8180 #. type: Plain text
8181 #: build/C/man3/printf.3:42
8182 msgid "B<int printf(const char *>I<format>B<, ...);>"
8183 msgstr "B<int printf(const char *>I<format>B<, ...);>"
8184
8185 #. type: Plain text
8186 #: build/C/man3/printf.3:44
8187 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
8188 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
8189
8190 #. type: Plain text
8191 #: build/C/man3/printf.3:46
8192 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
8193 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
8194
8195 #. type: Plain text
8196 #: build/C/man3/printf.3:48
8197 msgid ""
8198 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
8199 "*>I<format>B<, ...);>"
8200 msgstr ""
8201 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
8202 "*>I<format>B<, ...);>"
8203
8204 #. type: Plain text
8205 #: build/C/man3/printf.3:50
8206 msgid "B<#include E<lt>stdarg.hE<gt>>"
8207 msgstr "B<#include E<lt>stdarg.hE<gt>>"
8208
8209 #. type: Plain text
8210 #: build/C/man3/printf.3:52
8211 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
8212 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
8213
8214 #. type: Plain text
8215 #: build/C/man3/printf.3:54
8216 msgid ""
8217 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
8218 ">I<ap>B<);>"
8219 msgstr ""
8220 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
8221 ">I<ap>B<);>"
8222
8223 #. type: Plain text
8224 #: build/C/man3/printf.3:56
8225 msgid ""
8226 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
8227 msgstr ""
8228 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
8229
8230 #. type: Plain text
8231 #: build/C/man3/printf.3:59
8232 msgid ""
8233 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
8234 "*>I<format>B<, va_list >I<ap>B<);>"
8235 msgstr ""
8236 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
8237 "*>I<format>B<, va_list >I<ap>B<);>"
8238
8239 #. type: Plain text
8240 #: build/C/man3/printf.3:68
8241 msgid "B<snprintf>(), B<vsnprintf>():"
8242 msgstr "B<snprintf>(), B<vsnprintf>():"
8243
8244 #. type: Plain text
8245 #: build/C/man3/printf.3:71
8246 msgid ""
8247 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
8248 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
8249 msgstr ""
8250 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
8251 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
8252
8253 #. type: Plain text
8254 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:85
8255 msgid "or I<cc -std=c99>"
8256 msgstr "or I<cc -std=c99>"
8257
8258 #. type: Plain text
8259 #: build/C/man3/printf.3:101
8260 msgid ""
8261 "The functions in the B<printf>()  family produce output according to a "
8262 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
8263 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
8264 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
8265 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
8266 "string I<str>."
8267 msgstr ""
8268 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
8269 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
8270 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
8271 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8272 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
8273
8274 #. type: Plain text
8275 #: build/C/man3/printf.3:110
8276 msgid ""
8277 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
8278 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
8279 msgstr ""
8280 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
8281 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
8282
8283 #. type: Plain text
8284 #: build/C/man3/printf.3:134
8285 msgid ""
8286 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
8287 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
8288 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
8289 "instead of a variable number of arguments.  These functions do not call the "
8290 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
8291 "I<ap> is undefined after the call.  See B<stdarg>(3)."
8292 msgstr ""
8293 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
8294 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
8295 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
8296 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
8297 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
8298 "(3)  を参照のこと。"
8299
8300 #. type: Plain text
8301 #: build/C/man3/printf.3:141
8302 msgid ""
8303 "These eight functions write the output under the control of a I<format> "
8304 "string that specifies how subsequent arguments (or arguments accessed via "
8305 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
8306 "output."
8307 msgstr ""
8308 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
8309 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
8310 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
8311
8312 #. type: Plain text
8313 #: build/C/man3/printf.3:152
8314 msgid ""
8315 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
8316 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
8317 "copying to take place between objects that overlap (e.g., if the target "
8318 "string array and one of the supplied input arguments refer to the same "
8319 "buffer).  See NOTES."
8320 msgstr ""
8321 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8322 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
8323 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
8324 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
8325 "照。"
8326
8327 #. type: SS
8328 #: build/C/man3/printf.3:152
8329 #, no-wrap
8330 msgid "Return value"
8331 msgstr "Return Values"
8332
8333 #. type: Plain text
8334 #: build/C/man3/printf.3:155
8335 msgid ""
8336 "Upon successful return, these functions return the number of characters "
8337 "printed (excluding the null byte used to end output to strings)."
8338 msgstr ""
8339 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
8340 "用する NULL バイトは数に含まれない)。"
8341
8342 #. type: Plain text
8343 #: build/C/man3/printf.3:171
8344 msgid ""
8345 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
8346 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
8347 "the output was truncated due to this limit then the return value is the "
8348 "number of characters (excluding the terminating null byte)  which would have "
8349 "been written to the final string if enough space had been available.  Thus, "
8350 "a return value of I<size> or more means that the output was truncated.  (See "
8351 "also below under NOTES.)"
8352 msgstr ""
8353 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
8354 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
8355 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
8356 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
8357 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
8358 "する (後述の注意も参照のこと)。"
8359
8360 #. type: Plain text
8361 #: build/C/man3/printf.3:173
8362 msgid "If an output error is encountered, a negative value is returned."
8363 msgstr "エラーが発生した場合は、負の数を返す。"
8364
8365 #. type: SS
8366 #: build/C/man3/printf.3:173
8367 #, no-wrap
8368 msgid "Format of the format string"
8369 msgstr "フォーマット文字列のフォーマット"
8370
8371 #. type: Plain text
8372 #: build/C/man3/printf.3:195
8373 msgid ""
8374 "The format string is a character string, beginning and ending in its initial "
8375 "shift state, if any.  The format string is composed of zero or more "
8376 "directives: ordinary characters (not B<%>), which are copied unchanged to "
8377 "the output stream; and conversion specifications, each of which results in "
8378 "fetching zero or more subsequent arguments.  Each conversion specification "
8379 "is introduced by the character B<%>, and ends with a I<conversion "
8380 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
8381 "an optional minimum I<field width>, an optional I<precision> and an optional "
8382 "I<length modifier>."
8383 msgstr ""
8384 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
8385 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
8386 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
8387 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
8388 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
8389 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
8390 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
8391 "子> を (この順序で) 置くことができる。"
8392
8393 #. type: Plain text
8394 #: build/C/man3/printf.3:208
8395 msgid ""
8396 "The arguments must correspond properly (after type promotion) with the "
8397 "conversion specifier.  By default, the arguments are used in the order "
8398 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
8399 "next argument (and it is an error if insufficiently many arguments are "
8400 "given).  One can also specify explicitly which argument is taken, at each "
8401 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
8402 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
8403 "denotes the position in the argument list of the desired argument, indexed "
8404 "starting from 1.  Thus,"
8405 msgstr ""
8406 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
8407 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
8408 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
8409 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
8410 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
8411 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
8412 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
8413
8414 #. type: Plain text
8415 #: build/C/man3/printf.3:212
8416 #, no-wrap
8417 msgid "printf(\"%*d\", width, num);\n"
8418 msgstr "printf(\"%*d\", width, num);\n"
8419
8420 #. type: Plain text
8421 #: build/C/man3/printf.3:216
8422 msgid "and"
8423 msgstr "と"
8424
8425 #. type: Plain text
8426 #: build/C/man3/printf.3:220
8427 #, no-wrap
8428 msgid "printf(\"%2$*1$d\", width, num);\n"
8429 msgstr "printf(\"%2$*1$d\", width, num);\n"
8430
8431 #. type: Plain text
8432 #: build/C/man3/printf.3:236
8433 msgid ""
8434 "are equivalent.  The second style allows repeated references to the same "
8435 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
8436 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
8437 "\\(aq is used, it must be used throughout for all conversions taking an "
8438 "argument and all width and precision arguments, but it may be mixed with \"%%"
8439 "\" formats which do not consume an argument.  There may be no gaps in the "
8440 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
8441 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
8442 "format string."
8443 msgstr ""
8444 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
8445 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
8446 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
8447 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
8448 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
8449 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
8450 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
8451
8452 #. type: Plain text
8453 #: build/C/man3/printf.3:246
8454 msgid ""
8455 "For some numeric conversions a radix character (\"decimal point\") or "
8456 "thousands' grouping character is used.  The actual character used depends on "
8457 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
8458 "radix character, and does not have a grouping character.  Thus,"
8459 msgstr ""
8460 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
8461 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
8462 "\\(aq を用い、 区切り文字は使わない。 従って、"
8463
8464 #. type: Plain text
8465 #: build/C/man3/printf.3:250
8466 #, no-wrap
8467 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
8468 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
8469
8470 #. type: Plain text
8471 #: build/C/man3/printf.3:255
8472 msgid ""
8473 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
8474 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
8475 msgstr ""
8476 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
8477 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
8478
8479 #. type: SS
8480 #: build/C/man3/printf.3:255
8481 #, no-wrap
8482 msgid "The flag characters"
8483 msgstr "フラグ文字"
8484
8485 #. type: Plain text
8486 #: build/C/man3/printf.3:257
8487 msgid "The character % is followed by zero or more of the following flags:"
8488 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8489
8490 #. type: TP
8491 #: build/C/man3/printf.3:257
8492 #, no-wrap
8493 msgid "B<#>"
8494 msgstr "B<#>"
8495
8496 #. type: Plain text
8497 #: build/C/man3/printf.3:291
8498 msgid ""
8499 "The value should be converted to an \"alternate form\".  For B<o> "
8500 "conversions, the first character of the output string is made zero (by "
8501 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8502 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8503 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8504 "conversions, the result will always contain a decimal point, even if no "
8505 "digits follow it (normally, a decimal point appears in the results of those "
8506 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8507 "trailing zeros are not removed from the result as they would otherwise be.  "
8508 "For other conversions, the result is undefined."
8509 msgstr ""
8510 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8511 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8512 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8513 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8514 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8515 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8516 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8517 "変換では、結果は未定義である。"
8518
8519 #. type: TP
8520 #: build/C/man3/printf.3:291
8521 #, no-wrap
8522 msgid "B<\\&0>"
8523 msgstr "B<\\&0>"
8524
8525 #. type: Plain text
8526 #: build/C/man3/printf.3:331
8527 msgid ""
8528 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8529 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8530 "converted value is padded on the left with zeros rather than blanks.  If the "
8531 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8532 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8533 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8534 "is undefined."
8535 msgstr ""
8536 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8537 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8538 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8539 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8540 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8541 "である。"
8542
8543 #. type: TP
8544 #: build/C/man3/printf.3:331
8545 #, no-wrap
8546 msgid "B<->"
8547 msgstr "B<->"
8548
8549 #. type: Plain text
8550 #: build/C/man3/printf.3:344
8551 msgid ""
8552 "The converted value is to be left adjusted on the field boundary.  (The "
8553 "default is right justification.)  Except for B<n> conversions, the converted "
8554 "value is padded on the right with blanks, rather than on the left with "
8555 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8556 msgstr ""
8557 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8558 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8559 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8560
8561 #. type: TP
8562 #: build/C/man3/printf.3:344
8563 #, no-wrap
8564 msgid "B<\\(aq \\(aq>"
8565 msgstr "B<' '>"
8566
8567 #. type: Plain text
8568 #: build/C/man3/printf.3:348
8569 msgid ""
8570 "(a space) A blank should be left before a positive number (or empty string) "
8571 "produced by a signed conversion."
8572 msgstr ""
8573 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8574 "列) が置かれる。"
8575
8576 #. type: TP
8577 #: build/C/man3/printf.3:348
8578 #, no-wrap
8579 msgid "B<+>"
8580 msgstr "B<+>"
8581
8582 #. type: Plain text
8583 #: build/C/man3/printf.3:356
8584 msgid ""
8585 "A sign (+ or -) should always be placed before a number produced by a signed "
8586 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8587 "overrides a space if both are used."
8588 msgstr ""
8589 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8590 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8591 "が使われている場合には、 B<+> が優先される。"
8592
8593 #. type: Plain text
8594 #: build/C/man3/printf.3:359
8595 msgid ""
8596 "The five flag characters above are defined in the C standard.  The SUSv2 "
8597 "specifies one further flag character."
8598 msgstr ""
8599 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8600 "グ文字が規定されている。"
8601
8602 #. type: TP
8603 #: build/C/man3/printf.3:359
8604 #, no-wrap
8605 msgid "B<\\(aq>"
8606 msgstr "B<\\(aq>"
8607
8608 #. type: Plain text
8609 #: build/C/man3/printf.3:376
8610 msgid ""
8611 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8612 "output is to be grouped with thousands' grouping characters if the locale "
8613 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8614 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8615 "\\(aqF>."
8616 msgstr ""
8617 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8618 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8619 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8620 "\\(aqF は SUSv2 には含まれていない。"
8621
8622 #. type: Plain text
8623 #: build/C/man3/printf.3:378
8624 msgid "glibc 2.2 adds one further flag character."
8625 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8626
8627 #. type: TP
8628 #: build/C/man3/printf.3:378
8629 #, no-wrap
8630 msgid "B<I>"
8631 msgstr "B<I>"
8632
8633 #.  outdigits keyword in locale file
8634 #. type: Plain text
8635 #: build/C/man3/printf.3:388
8636 msgid ""
8637 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8638 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8639 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8640 msgstr ""
8641 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8642 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8643 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8644
8645 #. type: SS
8646 #: build/C/man3/printf.3:388
8647 #, no-wrap
8648 msgid "The field width"
8649 msgstr "フィールド幅"
8650
8651 #. type: Plain text
8652 #: build/C/man3/printf.3:404
8653 msgid ""
8654 "An optional decimal digit string (with nonzero first digit) specifying a "
8655 "minimum field width.  If the converted value has fewer characters than the "
8656 "field width, it will be padded with spaces on the left (or right, if the "
8657 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8658 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8659 "the field width is given in the next argument, or in the I<m>-th argument, "
8660 "respectively, which must be of type I<int>.  A negative field width is taken "
8661 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8662 "nonexistent or small field width cause truncation of a field; if the result "
8663 "of a conversion is wider than the field width, the field is expanded to "
8664 "contain the conversion result."
8665 msgstr ""
8666 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8667 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8668 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8669 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8670 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8671 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8672 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8673 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8674 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8675 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8676
8677 #. type: SS
8678 #: build/C/man3/printf.3:404
8679 #, no-wrap
8680 msgid "The precision"
8681 msgstr "精度"
8682
8683 #. type: Plain text
8684 #: build/C/man3/printf.3:441
8685 #, fuzzy
8686 #| msgid ""
8687 #| "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by "
8688 #| "an optional decimal digit string.  Instead of a decimal digit string one "
8689 #| "may write \"*\" or \"*m$\" (for some decimal integer m) to specify that "
8690 #| "the precision is given in the next argument, or in the m-th argument, "
8691 #| "respectively, which must be of type I<int>.  If the precision is given as "
8692 #| "just \\(aq.\\(aq, or the precision is negative, the precision is taken to "
8693 #| "be zero.  This gives the minimum number of digits to appear for B<d>, "
8694 #| "B<i>, B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to "
8695 #| "appear after the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and "
8696 #| "B<F> conversions, the maximum number of significant digits for B<g> and "
8697 #| "B<G> conversions, or the maximum number of characters to be printed from "
8698 #| "a string for B<s> and B<S> conversions."
8699 msgid ""
8700 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8701 "optional decimal digit string.  Instead of a decimal digit string one may "
8702 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8703 "precision is given in the next argument, or in the m-th argument, "
8704 "respectively, which must be of type I<int>.  If the precision is given as "
8705 "just \\(aq.\\(aq, the precision is taken to be zero.  A negative precision "
8706 "is taken as if the precision were omitted.  This gives the minimum number of "
8707 "digits to appear for B<d>, B<i>, B<o>, B<u>, B<x>, and B<X> conversions, the "
8708 "number of digits to appear after the radix character for B<a>, B<A>, B<e>, "
8709 "B<E>, B<f>, and B<F> conversions, the maximum number of significant digits "
8710 "for B<g> and B<G> conversions, or the maximum number of characters to be "
8711 "printed from a string for B<s> and B<S> conversions."
8712 msgstr ""
8713 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8714 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8715 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8716 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8717 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8718 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8719 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8720 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8721 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8722 "る最大文字数を指定する。"
8723
8724 #. type: SS
8725 #: build/C/man3/printf.3:441
8726 #, no-wrap
8727 msgid "The length modifier"
8728 msgstr "長さ修飾子"
8729
8730 #. type: Plain text
8731 #: build/C/man3/printf.3:451
8732 msgid ""
8733 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8734 "B<X> conversion."
8735 msgstr ""
8736 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8737
8738 #. type: TP
8739 #: build/C/man3/printf.3:451 build/C/man3/scanf.3:294
8740 #, no-wrap
8741 msgid "B<hh>"
8742 msgstr "B<hh>"
8743
8744 #. type: Plain text
8745 #: build/C/man3/printf.3:462
8746 msgid ""
8747 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8748 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8749 "I<signed char> argument."
8750 msgstr ""
8751 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8752 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8753
8754 #. type: TP
8755 #: build/C/man3/printf.3:462 build/C/man3/scanf.3:284
8756 #, no-wrap
8757 msgid "B<h>"
8758 msgstr "B<h>"
8759
8760 #. type: Plain text
8761 #: build/C/man3/printf.3:473
8762 msgid ""
8763 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8764 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8765 "to a I<short int> argument."
8766 msgstr ""
8767 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8768 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8769
8770 #. type: TP
8771 #: build/C/man3/printf.3:473 build/C/man3/scanf.3:311
8772 #, no-wrap
8773 msgid "B<l>"
8774 msgstr "B<l>"
8775
8776 #. type: Plain text
8777 #: build/C/man3/printf.3:492
8778 msgid ""
8779 "(ell) A following integer conversion corresponds to a I<long int> or "
8780 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8781 "a pointer to a I<long int> argument, or a following B<c> conversion "
8782 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8783 "corresponds to a pointer to I<wchar_t> argument."
8784 msgstr ""
8785 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8786 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8787 "変換では I<wchar_t> へのポインタであることを示す。"
8788
8789 #. type: TP
8790 #: build/C/man3/printf.3:492
8791 #, no-wrap
8792 msgid "B<ll>"
8793 msgstr "B<ll> (エルエル)"
8794
8795 #. type: Plain text
8796 #: build/C/man3/printf.3:504
8797 msgid ""
8798 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8799 "or I<unsigned long long int> argument, or a following B<n> conversion "
8800 "corresponds to a pointer to a I<long long int> argument."
8801 msgstr ""
8802 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8803 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8804
8805 #. type: TP
8806 #: build/C/man3/printf.3:504 build/C/man3/scanf.3:338
8807 #, no-wrap
8808 msgid "B<L>"
8809 msgstr "B<L>"
8810
8811 #. type: Plain text
8812 #: build/C/man3/printf.3:520
8813 msgid ""
8814 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8815 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8816 "not.)"
8817 msgstr ""
8818 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8819 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8820 "認められていない。)"
8821
8822 #. type: TP
8823 #: build/C/man3/printf.3:520 build/C/man3/scanf.3:354
8824 #, no-wrap
8825 msgid "B<q>"
8826 msgstr "B<q>"
8827
8828 #. type: Plain text
8829 #: build/C/man3/printf.3:526
8830 msgid ""
8831 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8832 "B<ll>."
8833 msgstr ""
8834 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8835 "意味である。"
8836
8837 #. type: TP
8838 #: build/C/man3/printf.3:526 build/C/man3/scanf.3:302
8839 #, no-wrap
8840 msgid "B<j>"
8841 msgstr "B<j>"
8842
8843 #. type: Plain text
8844 #: build/C/man3/printf.3:533
8845 msgid ""
8846 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8847 "argument."
8848 msgstr ""
8849 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8850
8851 #. type: TP
8852 #: build/C/man3/printf.3:533 build/C/man3/scanf.3:366
8853 #, no-wrap
8854 msgid "B<z>"
8855 msgstr "B<z>"
8856
8857 #. type: Plain text
8858 #: build/C/man3/printf.3:544
8859 msgid ""
8860 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8861 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8862 msgstr ""
8863 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8864 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8865
8866 #. type: TP
8867 #: build/C/man3/printf.3:544 build/C/man3/scanf.3:359
8868 #, no-wrap
8869 msgid "B<t>"
8870 msgstr "B<t>"
8871
8872 #. type: Plain text
8873 #: build/C/man3/printf.3:549
8874 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8875 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8876
8877 #. type: Plain text
8878 #: build/C/man3/printf.3:578
8879 msgid ""
8880 "The SUSv2 knows about only the length modifiers B<h> (in B<hd>, B<hi>, "
8881 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8882 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8883 msgstr ""
8884 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8885 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8886 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8887
8888 #. type: SS
8889 #: build/C/man3/printf.3:578
8890 #, no-wrap
8891 msgid "The conversion specifier"
8892 msgstr "変換指定子"
8893
8894 #. type: Plain text
8895 #: build/C/man3/printf.3:581
8896 msgid ""
8897 "A character that specifies the type of conversion to be applied.  The "
8898 "conversion specifiers and their meanings are:"
8899 msgstr ""
8900 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8901
8902 #. type: TP
8903 #: build/C/man3/printf.3:581
8904 #, no-wrap
8905 msgid "B<d>, B<i>"
8906 msgstr "B<d>, B<i>"
8907
8908 #. type: Plain text
8909 #: build/C/man3/printf.3:591
8910 msgid ""
8911 "The I<int> argument is converted to signed decimal notation.  The precision, "
8912 "if any, gives the minimum number of digits that must appear; if the "
8913 "converted value requires fewer digits, it is padded on the left with zeros.  "
8914 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8915 "the output is empty."
8916 msgstr ""
8917 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8918 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8919 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8920 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8921
8922 #. type: TP
8923 #: build/C/man3/printf.3:591
8924 #, no-wrap
8925 msgid "B<o>, B<u>, B<x>, B<X>"
8926 msgstr "B<o>, B<u>, B<x>, B<X>"
8927
8928 #. type: Plain text
8929 #: build/C/man3/printf.3:618
8930 msgid ""
8931 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8932 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8933 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8934 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8935 "of digits that must appear; if the converted value requires fewer digits, it "
8936 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8937 "printed with an explicit precision 0, the output is empty."
8938 msgstr ""
8939 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8940 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8941 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8942 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8943 "られる。"
8944
8945 #. type: TP
8946 #: build/C/man3/printf.3:618
8947 #, no-wrap
8948 msgid "B<e>, B<E>"
8949 msgstr "B<e>, B<E>"
8950
8951 #. type: Plain text
8952 #: build/C/man3/printf.3:637
8953 msgid ""
8954 "The I<double> argument is rounded and converted in the style [-]dB<\\&."
8955 ">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
8956 "and the number of digits after it is equal to the precision; if the "
8957 "precision is missing, it is taken as 6; if the precision is zero, no decimal-"
8958 "point character appears.  An B<E> conversion uses the letter B<E> (rather "
8959 "than B<e>)  to introduce the exponent.  The exponent always contains at "
8960 "least two digits; if the value is zero, the exponent is 00."
8961 msgstr ""
8962 "I<double> 引き数を丸めて [-]dB<\\&.>dddB<e>\\(+-dd の形に変換する。\n"
8963 "小数点の前には一桁の数字があり、小数点以下の桁数は精度で指定された桁数\n"
8964 "になる。精度は指定されなかった場合 6 とみなされる。 精度が 0 の場合には、\n"
8965 "小数点以下は表示されない。B<E> 変換では、指数を表現するときに (B<e> で\n"
8966 "はなく) B<E> が使われる。指数部分は少なくとも 2桁表示される。つまり、\n"
8967 "指数の値が 0 の場合には、00 と表示される。"
8968
8969 #. type: TP
8970 #: build/C/man3/printf.3:637
8971 #, no-wrap
8972 msgid "B<f>, B<F>"
8973 msgstr "B<f>, B<F>"
8974
8975 #. type: Plain text
8976 #: build/C/man3/printf.3:648
8977 msgid ""
8978 "The I<double> argument is rounded and converted to decimal notation in the "
8979 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8980 "character is equal to the precision specification.  If the precision is "
8981 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8982 "point character appears.  If a decimal point appears, at least one digit "
8983 "appears before it."
8984 msgstr ""
8985 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8986 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8987 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8988 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8989
8990 #. type: Plain text
8991 #: build/C/man3/printf.3:659
8992 msgid ""
8993 "(The SUSv2 does not know about B<F> and says that character string "
8994 "representations for infinity and NaN may be made available.  The C99 "
8995 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8996 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8997 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8998 msgstr ""
8999 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
9000 "行ってもよいことになっている。\n"
9001 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示"
9002 "し、\n"
9003 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
9004 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
9005
9006 #. type: TP
9007 #: build/C/man3/printf.3:659
9008 #, no-wrap
9009 msgid "B<g>, B<G>"
9010 msgstr "B<g>, B<G>"
9011
9012 #. type: Plain text
9013 #: build/C/man3/printf.3:684
9014 msgid ""
9015 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
9016 "for B<G> conversions).  The precision specifies the number of significant "
9017 "digits.  If the precision is missing, 6 digits are given; if the precision "
9018 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
9019 "conversion is less than -4 or greater than or equal to the precision.  "
9020 "Trailing zeros are removed from the fractional part of the result; a decimal "
9021 "point appears only if it is followed by at least one digit."
9022 msgstr ""
9023 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
9024 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
9025 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
9026 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
9027 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
9028 "一つある場合にだけである。"
9029
9030 #. type: TP
9031 #: build/C/man3/printf.3:684
9032 #, no-wrap
9033 msgid "B<a>, B<A>"
9034 msgstr "B<a>, B<A>"
9035
9036 #. type: Plain text
9037 #: build/C/man3/printf.3:708
9038 msgid ""
9039 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
9040 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
9041 "\\&.>hhhhB<p>\\(+-; for B<A> conversion the prefix B<0X>, the letters "
9042 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
9043 "digit before the decimal point, and the number of digits after it is equal "
9044 "to the precision.  The default precision suffices for an exact "
9045 "representation of the value if an exact representation in base 2 exists and "
9046 "otherwise is sufficiently large to distinguish values of type I<double>.  "
9047 "The digit before the decimal point is unspecified for nonnormalized numbers, "
9048 "and nonzero but otherwise unspecified for normalized numbers."
9049 msgstr ""
9050 "(C99 にはあるが SUSv2 にはない) B<a> 変換では、 I<double> 引き数を\n"
9051 "(abcdef の文字を使って) [-]B<0x>hB<\\&.>hhhhB<p>\\(+- 形式の\n"
9052 "16 進表記に変換する。\n"
9053 "B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。\n"
9054 "小数点の前には 1 桁の 16 進数が置かれ、小数点の後ろの桁数は 精度で指定\n"
9055 "された値となる。デフォルトの精度は、その値が 2 進数で正確に表現できる\n"
9056 "場合には、その値を正確に表現できる桁数となる。それ以外の場合は、\n"
9057 "I<double> 型の値を区別するのに十分な大きさとなる。 小数点の前の数字は、\n"
9058 "正規化されていない数の場合はいくつになるか分からない。 正規化された数の\n"
9059 "場合は、 0 以外の値になるが、いくつになるかは分からない。"
9060
9061 #. type: TP
9062 #: build/C/man3/printf.3:708 build/C/man3/scanf.3:459
9063 #: build/C/man3/wprintf.3:151
9064 #, no-wrap
9065 msgid "B<c>"
9066 msgstr "B<c>"
9067
9068 #. type: Plain text
9069 #: build/C/man3/printf.3:726
9070 msgid ""
9071 "If no B<l> modifier is present, the I<int> argument is converted to an "
9072 "I<unsigned char>, and the resulting character is written.  If an B<l> "
9073 "modifier is present, the I<wint_t> (wide character) argument is converted to "
9074 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
9075 "conversion state starting in the initial state, and the resulting multibyte "
9076 "string is written."
9077 msgstr ""
9078 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
9079 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
9080 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
9081 "換し、 変換されたマルチバイト文字列を出力する。"
9082
9083 #. type: TP
9084 #: build/C/man3/printf.3:726 build/C/man3/scanf.3:451
9085 #: build/C/man3/wprintf.3:165
9086 #, no-wrap
9087 msgid "B<s>"
9088 msgstr "B<s>"
9089
9090 #. type: Plain text
9091 #: build/C/man3/printf.3:741
9092 msgid ""
9093 "If no B<l> modifier is present: The I<const char\\ *> argument is expected "
9094 "to be a pointer to an array of character type (pointer to a string).  "
9095 "Characters from the array are written up to (but not including) a "
9096 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
9097 "than the number specified are written.  If a precision is given, no null "
9098 "byte need be present; if the precision is not specified, or is greater than "
9099 "the size of the array, the array must contain a terminating null byte."
9100 msgstr ""
9101 "B<l> 修飾子がない場合、 引き数は I<const char\\ *> 型で文字型の配列へのポイン"
9102 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
9103 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
9104 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
9105 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
9106 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
9107 "なければならない。"
9108
9109 #. type: Plain text
9110 #: build/C/man3/printf.3:768
9111 msgid ""
9112 "If an B<l> modifier is present: The I<const wchar_t\\ *> argument is "
9113 "expected to be a pointer to an array of wide characters.  Wide characters "
9114 "from the array are converted to multibyte characters (each by a call to the "
9115 "B<wcrtomb>(3)  function, with a conversion state starting in the initial "
9116 "state before the first wide character), up to and including a terminating "
9117 "null wide character.  The resulting multibyte characters are written up to "
9118 "(but not including) the terminating null byte.  If a precision is specified, "
9119 "no more bytes than the number specified are written, but no partial "
9120 "multibyte characters are written.  Note that the precision determines the "
9121 "number of I<bytes> written, not the number of I<wide characters> or I<screen "
9122 "positions>.  The array must contain a terminating null wide character, "
9123 "unless a precision is given and it is so small that the number of bytes "
9124 "written exceeds it before the end of the array is reached."
9125 msgstr ""
9126 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t\\ *> 型でワイド文"
9127 "字の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字"
9128 "毎に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド"
9129 "文字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
9130 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
9131 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
9132 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
9133 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
9134 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
9135 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
9136 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
9137 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
9138 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
9139 "い。"
9140
9141 #. type: TP
9142 #: build/C/man3/printf.3:768
9143 #, no-wrap
9144 msgid "B<C>"
9145 msgstr "B<C>"
9146
9147 #. type: Plain text
9148 #: build/C/man3/printf.3:774
9149 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
9150 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
9151
9152 #. type: TP
9153 #: build/C/man3/printf.3:774
9154 #, no-wrap
9155 msgid "B<S>"
9156 msgstr "B<S>"
9157
9158 #. type: Plain text
9159 #: build/C/man3/printf.3:780
9160 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
9161 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
9162
9163 #. type: TP
9164 #: build/C/man3/printf.3:780 build/C/man3/scanf.3:502
9165 #, no-wrap
9166 msgid "B<p>"
9167 msgstr "B<p>"
9168
9169 #. type: Plain text
9170 #: build/C/man3/printf.3:788
9171 msgid ""
9172 "The I<void\\ *> pointer argument is printed in hexadecimal (as if by B<%#x> "
9173 "or B<%#lx>)."
9174 msgstr ""
9175 "I<void\\ *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
9176
9177 #. type: TP
9178 #: build/C/man3/printf.3:788 build/C/man3/scanf.3:510
9179 #, no-wrap
9180 msgid "B<n>"
9181 msgstr "B<n>"
9182
9183 #. type: Plain text
9184 #: build/C/man3/printf.3:795
9185 msgid ""
9186 "The number of characters written so far is stored into the integer indicated "
9187 "by the I<int\\ *> (or variant) pointer argument.  No argument is converted."
9188 msgstr ""
9189 "これまでに出力された文字数を I<int\\ *> (または類似の型) のポインタ引き数が指"
9190 "す整数に保存する。 引き数の変換は行われない。"
9191
9192 #. type: TP
9193 #: build/C/man3/printf.3:795
9194 #, no-wrap
9195 msgid "B<m>"
9196 msgstr "B<m>"
9197
9198 #. type: Plain text
9199 #: build/C/man3/printf.3:801
9200 msgid ""
9201 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
9202 "required."
9203 msgstr ""
9204 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
9205
9206 #. type: TP
9207 #: build/C/man3/printf.3:801 build/C/man3/scanf.3:377
9208 #, no-wrap
9209 msgid "B<%>"
9210 msgstr "B<%>"
9211
9212 #. type: Plain text
9213 #: build/C/man3/printf.3:807
9214 msgid ""
9215 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
9216 "conversion specification is \\(aq%%\\(aq."
9217 msgstr ""
9218 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
9219 "%\" となる。"
9220
9221 #. type: Plain text
9222 #: build/C/man3/printf.3:822
9223 msgid ""
9224 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
9225 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
9226 "B<vsnprintf>()  functions conform to C99."
9227 msgstr ""
9228 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
9229 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
9230 "B<vsnprintf>()  は C99 に準拠している。"
9231
9232 #. type: Plain text
9233 #: build/C/man3/printf.3:835
9234 msgid ""
9235 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
9236 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
9237 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
9238 "this case, and gives the return value (as always)  as the number of "
9239 "characters that would have been written in case the output string has been "
9240 "large enough."
9241 msgstr ""
9242 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
9243 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
9244 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
9245 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
9246 "出力されるであろう文字数を返す。"
9247
9248 #. type: Plain text
9249 #: build/C/man3/printf.3:849
9250 msgid ""
9251 "Linux libc4 knows about the five C standard flags.  It knows about the "
9252 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
9253 "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 "
9254 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
9255 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
9256 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
9257 "dependent radix character, no thousands' separator, no NaN or infinity, no "
9258 "\"%m$\" and \"*m$\"."
9259 msgstr ""
9260 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
9261 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
9262 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
9263 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
9264 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
9265 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
9266 "えない。"
9267
9268 #. type: Plain text
9269 #: build/C/man3/printf.3:860
9270 msgid ""
9271 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
9272 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
9273 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
9274 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
9275 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
9276 "outputs I<strerror(errno)>."
9277 msgstr ""
9278 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
9279 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
9280 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
9281 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
9282 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
9283 "ある。"
9284
9285 #. type: Plain text
9286 #: build/C/man3/printf.3:862
9287 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
9288 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
9289
9290 #. type: Plain text
9291 #: build/C/man3/printf.3:865
9292 msgid ""
9293 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
9294 "characters B<a> and B<A>."
9295 msgstr ""
9296 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
9297 "加された。"
9298
9299 #. type: Plain text
9300 #: build/C/man3/printf.3:868
9301 msgid ""
9302 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
9303 "flag character B<I>."
9304 msgstr ""
9305 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
9306 "追加された。"
9307
9308 #. type: Plain text
9309 #: build/C/man3/printf.3:870
9310 msgid "Some programs imprudently rely on code such as the following"
9311 msgstr ""
9312 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
9313 "ラムがある。"
9314
9315 #. type: Plain text
9316 #: build/C/man3/printf.3:872
9317 #, no-wrap
9318 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
9319 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
9320
9321 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
9322 #. type: Plain text
9323 #: build/C/man3/printf.3:888
9324 msgid ""
9325 "to append text to I<buf>.  However, the standards explicitly note that the "
9326 "results are undefined if source and destination buffers overlap when calling "
9327 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
9328 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
9329 "such as the above will B<not> produce the expected results."
9330 msgstr ""
9331 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
9332 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
9333 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
9334 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
9335 "結果が得られ「ない」ことがある。"
9336
9337 #.  .SH HISTORY
9338 #.  UNIX V7 defines the three routines
9339 #.  .BR printf (),
9340 #.  .BR fprintf (),
9341 #.  .BR sprintf (),
9342 #.  and has the flag \-, the width or precision *, the length modifier l,
9343 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
9344 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
9345 #.  #, + and <space> and no longer mentions D,O,U,X.
9346 #.  2.11BSD has
9347 #.  .BR vprintf (),
9348 #.  .BR vfprintf (),
9349 #.  .BR vsprintf (),
9350 #.  and warns not to use D,O,U,X.
9351 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
9352 #.  and the conversions n, p, E, G, X (with current meaning)
9353 #.  and deprecates D,O,U.
9354 #.  4.4BSD introduces the functions
9355 #.  .BR snprintf ()
9356 #.  and
9357 #.  .BR vsnprintf (),
9358 #.  and the length modifier q.
9359 #.  FreeBSD also has functions
9360 #.  .BR asprintf ()
9361 #.  and
9362 #.  .BR vasprintf (),
9363 #.  that allocate a buffer large enough for
9364 #.  .BR sprintf ().
9365 #.  In glibc there are functions
9366 #.  .BR dprintf ()
9367 #.  and
9368 #.  .BR vdprintf ()
9369 #.  that print to a file descriptor instead of a stream.
9370 #. type: Plain text
9371 #: build/C/man3/printf.3:930
9372 msgid ""
9373 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
9374 "conforms to the C99 standard, that is, behaves as described above, since "
9375 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
9376 "was truncated."
9377 msgstr ""
9378 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
9379 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
9380 "切り詰められた場合は -1 を返す。"
9381
9382 #. type: Plain text
9383 #: build/C/man3/printf.3:947
9384 msgid ""
9385 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
9386 "callers must be careful not to overflow the actual space; this is often "
9387 "impossible to assure.  Note that the length of the strings produced is "
9388 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
9389 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
9390 msgstr ""
9391 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
9392 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
9393 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
9394 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
9395 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
9396
9397 #. type: Plain text
9398 #: build/C/man3/printf.3:960
9399 msgid ""
9400 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
9401 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
9402 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
9403 "libc4 leads to serious security problems."
9404 msgstr ""
9405 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
9406 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
9407 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
9408 "深刻なセキュリティ問題を引き起こすことがある。"
9409
9410 #.  .PP
9411 #.  Some floating-point conversions under early libc4
9412 #.  caused memory leaks.
9413 #. type: Plain text
9414 #: build/C/man3/printf.3:974
9415 msgid ""
9416 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
9417 "contain a % character.  If I<foo> comes from untrusted user input, it may "
9418 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
9419 "a security hole."
9420 msgstr ""
9421 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
9422 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
9423 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
9424 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
9425 "ルを作ることになるかもしれない。"
9426
9427 #. type: Plain text
9428 #: build/C/man3/printf.3:978
9429 msgid "To print I<Pi> to five decimal places:"
9430 msgstr "I<Pi> を 5 桁で出力する。"
9431
9432 #. type: Plain text
9433 #: build/C/man3/printf.3:984
9434 #, no-wrap
9435 msgid ""
9436 "#include E<lt>math.hE<gt>\n"
9437 "#include E<lt>stdio.hE<gt>\n"
9438 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9439 msgstr ""
9440 "#include E<lt>math.hE<gt>\n"
9441 "#include E<lt>stdio.hE<gt>\n"
9442 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9443
9444 #. type: Plain text
9445 #: build/C/man3/printf.3:993
9446 msgid ""
9447 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
9448 "I<weekday> and I<month> are pointers to strings:"
9449 msgstr ""
9450 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
9451 "I<month> は文字列へのポインタである)"
9452
9453 #. type: Plain text
9454 #: build/C/man3/printf.3:999
9455 #, no-wrap
9456 msgid ""
9457 "#include E<lt>stdio.hE<gt>\n"
9458 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9459 "        weekday, month, day, hour, min);\n"
9460 msgstr ""
9461 "#include E<lt>stdio.hE<gt>\n"
9462 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9463 "\tweekday, month, day, hour, min);\n"
9464
9465 #. type: Plain text
9466 #: build/C/man3/printf.3:1005
9467 msgid ""
9468 "Many countries use the day-month-year order.  Hence, an internationalized "
9469 "version must be able to print the arguments in an order specified by the "
9470 "format:"
9471 msgstr ""
9472 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
9473 "順番で 引き数を表示できなければならない。"
9474
9475 #. type: Plain text
9476 #: build/C/man3/printf.3:1011
9477 #, no-wrap
9478 msgid ""
9479 "#include E<lt>stdio.hE<gt>\n"
9480 "fprintf(stdout, format,\n"
9481 "        weekday, month, day, hour, min);\n"
9482 msgstr ""
9483 "#include E<lt>stdio.hE<gt>\n"
9484 "fprintf(stdout, format,\n"
9485 "\tweekday, month, day, hour, min);\n"
9486
9487 #. type: Plain text
9488 #: build/C/man3/printf.3:1018
9489 msgid ""
9490 "where I<format> depends on locale, and may permute the arguments.  With the "
9491 "value:"
9492 msgstr ""
9493 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
9494 "I<format> が"
9495
9496 #. type: Plain text
9497 #: build/C/man3/printf.3:1022
9498 #, no-wrap
9499 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9500 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9501
9502 #. type: Plain text
9503 #: build/C/man3/printf.3:1026
9504 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9505 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9506
9507 #. type: Plain text
9508 #: build/C/man3/printf.3:1029
9509 msgid ""
9510 "To allocate a sufficiently large string and print into it (code correct for "
9511 "both glibc 2.0 and glibc 2.1):"
9512 msgstr ""
9513 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9514 "と glibc 2.1 の両方で正しく動作するコード):"
9515
9516 #. type: Plain text
9517 #: build/C/man3/printf.3:1032
9518 msgid ""
9519 "If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
9520 "error instead of being handled gracefully."
9521 msgstr ""
9522 "バージョン 2.0.6 より前の glibc で切り詰めが起こった場合、切り詰めは適切に処"
9523 "理されず、エラーとして扱われる。"
9524
9525 #. type: Plain text
9526 #: build/C/man3/printf.3:1037
9527 #, no-wrap
9528 msgid ""
9529 "#include E<lt>stdio.hE<gt>\n"
9530 "#include E<lt>stdlib.hE<gt>\n"
9531 "#include E<lt>stdarg.hE<gt>\n"
9532 msgstr ""
9533 "#include E<lt>stdio.hE<gt>\n"
9534 "#include E<lt>stdlib.hE<gt>\n"
9535 "#include E<lt>stdarg.hE<gt>\n"
9536
9537 #. type: Plain text
9538 #: build/C/man3/printf.3:1045
9539 #, no-wrap
9540 msgid ""
9541 "char *\n"
9542 "make_message(const char *fmt, ...)\n"
9543 "{\n"
9544 "    int n;\n"
9545 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
9546 "    char *p, *np;\n"
9547 "    va_list ap;\n"
9548 msgstr ""
9549 "char *\n"
9550 "make_message(const char *fmt, ...)\n"
9551 "{\n"
9552 "    int n;\n"
9553 "    int size = 100;     /* Guess we need no more than 100 bytes */\n"
9554 "    char *p, *np;\n"
9555 "    va_list ap;\n"
9556
9557 #. type: Plain text
9558 #: build/C/man3/printf.3:1048
9559 #, no-wrap
9560 msgid ""
9561 "    if ((p = malloc(size)) == NULL)\n"
9562 "        return NULL;\n"
9563 msgstr ""
9564 "    if ((p = malloc(size)) == NULL)\n"
9565 "        return NULL;\n"
9566
9567 #. type: Plain text
9568 #: build/C/man3/printf.3:1050
9569 #, no-wrap
9570 msgid "    while (1) {\n"
9571 msgstr "    while (1) {\n"
9572
9573 #. type: Plain text
9574 #: build/C/man3/printf.3:1052
9575 #, no-wrap
9576 msgid "        /* Try to print in the allocated space */\n"
9577 msgstr "        /* Try to print in the allocated space */\n"
9578
9579 #. type: Plain text
9580 #: build/C/man3/printf.3:1056
9581 #, no-wrap
9582 msgid ""
9583 "        va_start(ap, fmt);\n"
9584 "        n = vsnprintf(p, size, fmt, ap);\n"
9585 "        va_end(ap);\n"
9586 msgstr ""
9587 "        va_start(ap, fmt);\n"
9588 "        n = vsnprintf(p, size, fmt, ap);\n"
9589 "        va_end(ap);\n"
9590
9591 #. type: Plain text
9592 #: build/C/man3/printf.3:1058
9593 #, no-wrap
9594 msgid "        /* Check error code */\n"
9595 msgstr "        /* Check error code */\n"
9596
9597 #. type: Plain text
9598 #: build/C/man3/printf.3:1061
9599 #, no-wrap
9600 msgid ""
9601 "        if (n E<lt> 0)\n"
9602 "            return NULL;\n"
9603 msgstr ""
9604 "        if (n E<lt> 0)\n"
9605 "            return NULL;\n"
9606
9607 #. type: Plain text
9608 #: build/C/man3/printf.3:1063
9609 #, no-wrap
9610 msgid "        /* If that worked, return the string */\n"
9611 msgstr "        /* If that worked, return the string */\n"
9612
9613 #. type: Plain text
9614 #: build/C/man3/printf.3:1066
9615 #, no-wrap
9616 msgid ""
9617 "        if (n E<lt> size)\n"
9618 "            return p;\n"
9619 msgstr ""
9620 "        if (n E<lt> size)\n"
9621 "            return p;\n"
9622
9623 #. type: Plain text
9624 #: build/C/man3/printf.3:1068
9625 #, no-wrap
9626 msgid "        /* Else try again with more space */\n"
9627 msgstr "        /* Else try again with more space */\n"
9628
9629 #. type: Plain text
9630 #: build/C/man3/printf.3:1070
9631 #, no-wrap
9632 msgid "        size = n + 1;       /* Precisely what is needed */\n"
9633 msgstr "        size = n + 1;       /* Precisely what is needed */\n"
9634
9635 #. type: Plain text
9636 #: build/C/man3/printf.3:1080
9637 #, no-wrap
9638 msgid ""
9639 "        if ((np = realloc (p, size)) == NULL) {\n"
9640 "            free(p);\n"
9641 "            return NULL;\n"
9642 "        } else {\n"
9643 "            p = np;\n"
9644 "        }\n"
9645 "    }\n"
9646 "}\n"
9647 msgstr ""
9648 "        if ((np = realloc (p, size)) == NULL) {\n"
9649 "            free(p);\n"
9650 "            return NULL;\n"
9651 "        } else {\n"
9652 "            p = np;\n"
9653 "        }\n"
9654 "    }\n"
9655 "}\n"
9656
9657 #. type: Plain text
9658 #: build/C/man3/printf.3:1090
9659 msgid ""
9660 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9661 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9662 msgstr ""
9663 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9664 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9665
9666 #. type: TH
9667 #: build/C/man3/puts.3:26
9668 #, no-wrap
9669 msgid "PUTS"
9670 msgstr "PUTS"
9671
9672 #. type: TH
9673 #: build/C/man3/puts.3:26
9674 #, no-wrap
9675 msgid "2011-09-28"
9676 msgstr "2011-09-28"
9677
9678 #. type: Plain text
9679 #: build/C/man3/puts.3:29
9680 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9681 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9682
9683 #. type: Plain text
9684 #: build/C/man3/puts.3:34
9685 #, no-wrap
9686 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9687 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9688
9689 #. type: Plain text
9690 #: build/C/man3/puts.3:36
9691 #, no-wrap
9692 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9693 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9694
9695 #. type: Plain text
9696 #: build/C/man3/puts.3:38
9697 #, no-wrap
9698 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9699 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9700
9701 #. type: Plain text
9702 #: build/C/man3/puts.3:40
9703 #, no-wrap
9704 msgid "B<int putchar(int >I<c>B<);>\n"
9705 msgstr "B<int putchar(int >I<c>B<);>\n"
9706
9707 #. type: Plain text
9708 #: build/C/man3/puts.3:42
9709 #, no-wrap
9710 msgid "B<int puts(const char *>I<s>B<);>\n"
9711 msgstr "B<int puts(const char *>I<s>B<);>\n"
9712
9713 #. type: Plain text
9714 #: build/C/man3/puts.3:51
9715 msgid ""
9716 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9717 "I<stream>."
9718 msgstr ""
9719 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9720 "に書き込む。"
9721
9722 #. type: Plain text
9723 #: build/C/man3/puts.3:58
9724 msgid ""
9725 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9726 "null byte (\\(aq\\e0\\(aq)."
9727 msgstr ""
9728 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9729 "ト (\\(aq\\e0\\(aq) は出力しない。"
9730
9731 #. type: Plain text
9732 #: build/C/man3/puts.3:65
9733 msgid ""
9734 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9735 "a macro which evaluates I<stream> more than once."
9736 msgstr ""
9737 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9738 "れないという点を除き、 B<fputc>()  と同じである。"
9739
9740 #. type: Plain text
9741 #: build/C/man3/puts.3:69
9742 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9743 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9744
9745 #. type: Plain text
9746 #: build/C/man3/puts.3:76
9747 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9748 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9749
9750 #. type: Plain text
9751 #: build/C/man3/puts.3:81
9752 msgid ""
9753 "Calls to the functions described here can be mixed with each other and with "
9754 "calls to other output functions from the I<stdio> library for the same "
9755 "output stream."
9756 msgstr ""
9757 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9758 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9759 "る。"
9760
9761 #. type: Plain text
9762 #: build/C/man3/puts.3:96
9763 msgid ""
9764 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9765 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9766 msgstr ""
9767 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9768 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9769
9770 #. type: Plain text
9771 #: build/C/man3/puts.3:103
9772 msgid ""
9773 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9774 "on error."
9775 msgstr ""
9776 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9777 "は B<EOF> を返す。"
9778
9779 #. type: Plain text
9780 #: build/C/man3/puts.3:112
9781 msgid ""
9782 "It is not advisable to mix calls to output functions from the I<stdio> "
9783 "library with low-level calls to B<write>(2)  for the file descriptor "
9784 "associated with the same output stream; the results will be undefined and "
9785 "very probably not what you want."
9786 msgstr ""
9787 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9788 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9789 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9790 "性が高い。"
9791
9792 #. type: Plain text
9793 #: build/C/man3/puts.3:124
9794 msgid ""
9795 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9796 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9797 "(3)"
9798 msgstr ""
9799 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9800 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9801 "(3)"
9802
9803 #. type: TH
9804 #: build/C/man2/read.2:35
9805 #, no-wrap
9806 msgid "READ"
9807 msgstr "READ"
9808
9809 #. type: TH
9810 #: build/C/man2/read.2:35
9811 #, no-wrap
9812 msgid "2013-02-12"
9813 msgstr "2013-02-12"
9814
9815 #. type: Plain text
9816 #: build/C/man2/read.2:38
9817 msgid "read - read from a file descriptor"
9818 msgstr "read - ファイルディスクリプタから読み込む"
9819
9820 #. type: Plain text
9821 #: build/C/man2/read.2:43
9822 #, no-wrap
9823 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9824 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9825
9826 #. type: Plain text
9827 #: build/C/man2/read.2:52
9828 msgid ""
9829 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9830 "into the buffer starting at I<buf>."
9831 msgstr ""
9832 "B<read>()  はファイルディスクリプタ (file descriptor)  I<fd> から最大 "
9833 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9834
9835 #. type: Plain text
9836 #: build/C/man2/read.2:60
9837 msgid ""
9838 "On files that support seeking, the read operation commences at the current "
9839 "file offset, and the file offset is incremented by the number of bytes "
9840 "read.  If the current file offset is at or past the end of file, no bytes "
9841 "are read, and B<read>()  returns zero."
9842 msgstr ""
9843 "seek に対応しているファイルでは、read は現在のファイルオフセットから行われ、"
9844 "ファイルオフセットは読み込んだバイト数分だけ進められる。現在のファイルオフ"
9845 "セットがファイル末尾かそれより先の場合は、読み出しは行われず、 B<read>() は "
9846 "0 を返す。"
9847
9848 #. type: Plain text
9849 #: build/C/man2/read.2:75
9850 msgid ""
9851 "If I<count> is zero, B<read>()  I<may> detect the errors described below.  "
9852 "In the absence of any errors, or if B<read>()  does not check for errors, a "
9853 "B<read>()  with a I<count> of 0 returns zero and has no other effects."
9854 msgstr ""
9855 "I<count> が 0 の場合、 B<read>() は以下で説明するエラーを検出するI<場合がある"
9856 ">。 どのエラーもなかった場合、もしくは B<read>() がエラーのチェックを行わない"
9857 "場合、 I<count> が 0 で呼び出された B<read>() は 0 を返し、何も行わない。"
9858
9859 #. type: Plain text
9860 #: build/C/man2/read.2:81
9861 msgid "If I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9862 msgstr "I<count> が B<SSIZE_MAX> より大きければ、結果は規定できない。"
9863
9864 #. type: Plain text
9865 #: build/C/man2/read.2:95
9866 msgid ""
9867 "On success, the number of bytes read is returned (zero indicates end of "
9868 "file), and the file position is advanced by this number.  It is not an error "
9869 "if this number is smaller than the number of bytes requested; this may "
9870 "happen for example because fewer bytes are actually available right now "
9871 "(maybe because we were close to end-of-file, or because we are reading from "
9872 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9873 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9874 "this case it is left unspecified whether the file position (if any) changes."
9875 msgstr ""
9876 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9877 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9878 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9879 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9880 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9881 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9882 "の場合はファイル位置が変更されるかどうかは 不定である。"
9883
9884 #. type: TP
9885 #: build/C/man2/read.2:96 build/C/man3/scanf.3:548 build/C/man2/write.2:108
9886 #, no-wrap
9887 msgid "B<EAGAIN>"
9888 msgstr "B<EAGAIN>"
9889
9890 #. type: Plain text
9891 #: build/C/man2/read.2:103
9892 msgid ""
9893 "The file descriptor I<fd> refers to a file other than a socket and has been "
9894 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9895 msgstr ""
9896 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
9897 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9898 "する状況にある。"
9899
9900 #. type: TP
9901 #: build/C/man2/read.2:103 build/C/man2/write.2:115
9902 #, no-wrap
9903 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9904 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9905
9906 #.  Actually EAGAIN on Linux
9907 #. type: Plain text
9908 #: build/C/man2/read.2:114
9909 msgid ""
9910 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9911 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9912 "to be returned for this case, and does not require these constants to have "
9913 "the same value, so a portable application should check for both "
9914 "possibilities."
9915 msgstr ""
9916 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
9917 "モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にあ"
9918 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
9919 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
9920 "プリケーションでは、両方の可能性を 確認すべきである。"
9921
9922 #. type: Plain text
9923 #: build/C/man2/read.2:118
9924 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9925 msgstr ""
9926 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
9927 "(open) されていない。"
9928
9929 #. type: Plain text
9930 #: build/C/man2/read.2:122 build/C/man2/write.2:145
9931 msgid "I<buf> is outside your accessible address space."
9932 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9933
9934 #. type: Plain text
9935 #: build/C/man2/read.2:126
9936 msgid ""
9937 "The call was interrupted by a signal before any data was read; see B<signal>"
9938 "(7)."
9939 msgstr ""
9940 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9941
9942 #. type: Plain text
9943 #: build/C/man2/read.2:137
9944 msgid ""
9945 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9946 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9947 "I<buf>, the value specified in I<count>, or the current file offset is not "
9948 "suitably aligned."
9949 msgstr ""
9950 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9951 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9952 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9953 "ンメントが不適切である。"
9954
9955 #. type: Plain text
9956 #: build/C/man2/read.2:147
9957 msgid ""
9958 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9959 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9960 "information."
9961 msgstr ""
9962 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9963 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9964 "こと。"
9965
9966 #. type: Plain text
9967 #: build/C/man2/read.2:158
9968 msgid ""
9969 "I/O error.  This will happen for example when the process is in a background "
9970 "process group, tries to read from its controlling terminal, and either it is "
9971 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9972 "also occur when there is a low-level I/O error while reading from a disk or "
9973 "tape."
9974 msgstr ""
9975 "I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、それを"
9976 "制御している端末から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
9977 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
9978 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
9979 "た場合にも起こる。"
9980
9981 #. type: Plain text
9982 #: build/C/man2/read.2:162
9983 msgid "I<fd> refers to a directory."
9984 msgstr "I<fd> がディレクトリを参照している。"
9985
9986 #. type: Plain text
9987 #: build/C/man2/read.2:173
9988 msgid ""
9989 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9990 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9991 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9992 "read."
9993 msgstr ""
9994 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9995 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9996 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9997 "数を返してもよい。"
9998
9999 #. type: Plain text
10000 #: build/C/man2/read.2:187
10001 #, fuzzy
10002 #| msgid ""
10003 #| "On NFS file systems, reading small amounts of data will update the "
10004 #| "timestamp only the first time, subsequent calls may not do so.  This is "
10005 #| "caused by client side attribute caching, because most if not all NFS "
10006 #| "clients leave st_atime (last file access time)  updates to the server and "
10007 #| "client side reads satisfied from the client's cache will not cause "
10008 #| "st_atime updates on the server as there are no server side reads.  UNIX "
10009 #| "semantics can be obtained by disabling client side attribute caching, but "
10010 #| "in most situations this will substantially increase server load and "
10011 #| "decrease performance."
10012 msgid ""
10013 "On NFS filesystems, reading small amounts of data will update the timestamp "
10014 "only the first time, subsequent calls may not do so.  This is caused by "
10015 "client side attribute caching, because most if not all NFS clients leave "
10016 "st_atime (last file access time)  updates to the server and client side "
10017 "reads satisfied from the client's cache will not cause st_atime updates on "
10018 "the server as there are no server side reads.  UNIX semantics can be "
10019 "obtained by disabling client side attribute caching, but in most situations "
10020 "this will substantially increase server load and decrease performance."
10021 msgstr ""
10022 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
10023 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
10024 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
10025 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
10026 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
10027 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
10028 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
10029 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
10030
10031 #. type: Plain text
10032 #: build/C/man2/read.2:200
10033 msgid ""
10034 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
10035 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
10036 "B<fread>(3)"
10037 msgstr ""
10038 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
10039 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
10040 "B<fread>(3)"
10041
10042 #. type: TH
10043 #: build/C/man2/readlink.2:43
10044 #, no-wrap
10045 msgid "READLINK"
10046 msgstr "READLINK"
10047
10048 #. type: TH
10049 #: build/C/man2/readlink.2:43
10050 #, no-wrap
10051 msgid "2013-07-18"
10052 msgstr "2013-07-18"
10053
10054 #. type: Plain text
10055 #: build/C/man2/readlink.2:46
10056 msgid "readlink - read value of a symbolic link"
10057 msgstr "readlink - シンボリックリンクの値を読む"
10058
10059 #. type: Plain text
10060 #: build/C/man2/readlink.2:50
10061 msgid ""
10062 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
10063 ">I<bufsiz>B<);>"
10064 msgstr ""
10065 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
10066 ">I<bufsiz>B<);>"
10067
10068 #. type: Plain text
10069 #: build/C/man2/readlink.2:58
10070 msgid "B<readlink>():"
10071 msgstr "B<readlink>():"
10072
10073 #. type: Plain text
10074 #: build/C/man2/readlink.2:61 build/C/man2/symlink.2:50
10075 msgid ""
10076 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10077 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
10078 msgstr ""
10079 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10080 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
10081
10082 #. type: Plain text
10083 #: build/C/man2/readlink.2:77
10084 msgid ""
10085 "B<readlink>()  places the contents of the symbolic link I<path> in the "
10086 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
10087 "null byte to I<buf>.  It will truncate the contents (to a length of "
10088 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
10089 "contents."
10090 msgstr ""
10091 "B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
10092 "ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
10093 "NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
10094 "さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
10095
10096 #. type: Plain text
10097 #: build/C/man2/readlink.2:85
10098 msgid ""
10099 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
10100 "error, -1 is returned and I<errno> is set to indicate the error."
10101 msgstr ""
10102 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
10103 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
10104
10105 #. type: Plain text
10106 #: build/C/man2/readlink.2:91
10107 msgid ""
10108 "Search permission is denied for a component of the path prefix.  (See also "
10109 "B<path_resolution>(7).)"
10110 msgstr ""
10111 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
10112 "参照すること)。"
10113
10114 #. type: Plain text
10115 #: build/C/man2/readlink.2:95
10116 msgid "I<buf> extends outside the process's allocated address space."
10117 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
10118
10119 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
10120 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
10121 #.  and this error can also occur if bufsiz < 0.
10122 #.  See: http://thread.gmane.org/gmane.linux.man/380
10123 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
10124 #. type: Plain text
10125 #: build/C/man2/readlink.2:104
10126 msgid "I<bufsiz> is not positive."
10127 msgstr "I<bufsiz> が正でない。"
10128
10129 #. type: Plain text
10130 #: build/C/man2/readlink.2:107
10131 msgid "The named file is not a symbolic link."
10132 msgstr "指定したファイルがシンボリックリンクでない。"
10133
10134 #. type: Plain text
10135 #: build/C/man2/readlink.2:110
10136 #, fuzzy
10137 #| msgid "An I/O error occurred while reading from the file system."
10138 msgid "An I/O error occurred while reading from the filesystem."
10139 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
10140
10141 #. type: Plain text
10142 #: build/C/man2/readlink.2:113
10143 msgid "Too many symbolic links were encountered in translating the pathname."
10144 msgstr "パス名にシンボリックリンクが多すぎる。"
10145
10146 #. type: Plain text
10147 #: build/C/man2/readlink.2:116
10148 msgid "A pathname, or a component of a pathname, was too long."
10149 msgstr "パス名かパス名の一部分が長過ぎる。"
10150
10151 #. type: Plain text
10152 #: build/C/man2/readlink.2:119
10153 msgid "The named file does not exist."
10154 msgstr "その名前のファイルが存在しない。"
10155
10156 #. type: Plain text
10157 #: build/C/man2/readlink.2:125
10158 msgid "A component of the path prefix is not a directory."
10159 msgstr "パスのディレクトリ部分がディレクトリでない。"
10160
10161 #. type: Plain text
10162 #: build/C/man2/readlink.2:130
10163 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
10164 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
10165
10166 #. type: Plain text
10167 #: build/C/man2/readlink.2:138
10168 msgid ""
10169 "In versions of glibc up to and including glibc 2.4, the return type of "
10170 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
10171 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
10172 msgstr ""
10173 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
10174 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
10175 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
10176
10177 #. type: Plain text
10178 #: build/C/man2/readlink.2:157
10179 msgid ""
10180 "Using a statically sized buffer might not provide enough room for the "
10181 "symbolic link contents.  The required size for the buffer can be obtained "
10182 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
10183 "link.  However, the number of bytes written by B<readlink>()  should be "
10184 "checked to make sure that the size of the symbolic link did not increase "
10185 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
10186 "also addresses a common portability problem when using I<PATH_MAX> for the "
10187 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
10188 "the system does not have such limit."
10189 msgstr ""
10190 "静的な大きさのバッファを使うと、シンボリックリンクの内容を\n"
10191 "格納するのに十分な領域がない場合がある。\n"
10192 "バッファに必要なサイズは、そのシンボリックリンクに対して B<lstat>(2)\n"
10193 "の呼び出しで返される I<stat.st_size> の値から取得できる。\n"
10194 "ただし、 B<readlink>() が書き込んだバイト数をチェックして、\n"
10195 "シンボリックリンクのサイズが B<lstat>(2) と B<readlink>() の呼び出し\n"
10196 "の間で増えていないことを確認すべきである。\n"
10197 "B<readlink>() 用のバッファを動的に割り当てる方法でも、\n"
10198 "バッファサイズとして I<PATH_MAX> を使用する場合に共通する移植性の\n"
10199 "問題を解決することができる。なぜなら、POSIX では、\n"
10200 "システムがそのような上限値を定義していない場合には、\n"
10201 "I<PATH_MAX> が定義されることが保証されていないからである。"
10202
10203 #. type: Plain text
10204 #: build/C/man2/readlink.2:163
10205 msgid ""
10206 "The following program allocates the buffer needed by B<readlink>()  "
10207 "dynamically from the information provided by B<lstat>(), making sure there's "
10208 "no race condition between the calls."
10209 msgstr ""
10210 "以下のプログラムは、 B<readlink>() が必要とするバッファを、\n"
10211 "B<lstat>() が提供する情報に基づいて動的に割り当てる。\n"
10212 "また、両方の呼び出し間で競合条件がないことを保証している。"
10213
10214 #. type: Plain text
10215 #: build/C/man2/readlink.2:170
10216 #, no-wrap
10217 msgid ""
10218 "#include E<lt>sys/types.hE<gt>\n"
10219 "#include E<lt>sys/stat.hE<gt>\n"
10220 "#include E<lt>stdio.hE<gt>\n"
10221 "#include E<lt>stdlib.hE<gt>\n"
10222 "#include E<lt>unistd.hE<gt>\n"
10223 msgstr ""
10224 "#include E<lt>sys/types.hE<gt>\n"
10225 "#include E<lt>sys/stat.hE<gt>\n"
10226 "#include E<lt>stdio.hE<gt>\n"
10227 "#include E<lt>stdlib.hE<gt>\n"
10228 "#include E<lt>unistd.hE<gt>\n"
10229
10230 #. type: Plain text
10231 #: build/C/man2/readlink.2:177
10232 #, no-wrap
10233 msgid ""
10234 "int\n"
10235 "main(int argc, char *argv[])\n"
10236 "{\n"
10237 "    struct stat sb;\n"
10238 "    char *linkname;\n"
10239 "    ssize_t r;\n"
10240 msgstr ""
10241 "int\n"
10242 "main(int argc, char *argv[])\n"
10243 "{\n"
10244 "    struct stat sb;\n"
10245 "    char *linkname;\n"
10246 "    ssize_t r;\n"
10247
10248 #. type: Plain text
10249 #: build/C/man2/readlink.2:182
10250 #, no-wrap
10251 msgid ""
10252 "    if (argc != 2) {\n"
10253 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
10254 "        exit(EXIT_FAILURE);\n"
10255 "    }\n"
10256 msgstr ""
10257 "    if (argc != 2) {\n"
10258 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
10259 "        exit(EXIT_FAILURE);\n"
10260 "    }\n"
10261
10262 #. type: Plain text
10263 #: build/C/man2/readlink.2:187
10264 #, no-wrap
10265 msgid ""
10266 "    if (lstat(argv[1], &sb) == -1) {\n"
10267 "        perror(\"lstat\");\n"
10268 "        exit(EXIT_FAILURE);\n"
10269 "    }\n"
10270 msgstr ""
10271 "    if (lstat(argv[1], &sb) == -1) {\n"
10272 "        perror(\"lstat\");\n"
10273 "        exit(EXIT_FAILURE);\n"
10274 "    }\n"
10275
10276 #. type: Plain text
10277 #: build/C/man2/readlink.2:193
10278 #, no-wrap
10279 msgid ""
10280 "    linkname = malloc(sb.st_size + 1);\n"
10281 "    if (linkname == NULL) {\n"
10282 "        fprintf(stderr, \"insufficient memory\\en\");\n"
10283 "        exit(EXIT_FAILURE);\n"
10284 "    }\n"
10285 msgstr ""
10286 "    linkname = malloc(sb.st_size + 1);\n"
10287 "    if (linkname == NULL) {\n"
10288 "        fprintf(stderr, \"insufficient memory\\en\");\n"
10289 "        exit(EXIT_FAILURE);\n"
10290 "    }\n"
10291
10292 #. type: Plain text
10293 #: build/C/man2/readlink.2:195
10294 #, no-wrap
10295 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
10296 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
10297
10298 #. type: Plain text
10299 #: build/C/man2/readlink.2:200
10300 #, no-wrap
10301 msgid ""
10302 "    if (r == -1) {\n"
10303 "        perror(\"lstat\");\n"
10304 "        exit(EXIT_FAILURE);\n"
10305 "    }\n"
10306 msgstr ""
10307 "    if (r == -1) {\n"
10308 "        perror(\"lstat\");\n"
10309 "        exit(EXIT_FAILURE);\n"
10310 "    }\n"
10311
10312 #. type: Plain text
10313 #: build/C/man2/readlink.2:206
10314 #, no-wrap
10315 msgid ""
10316 "    if (r E<gt> sb.st_size) {\n"
10317 "        fprintf(stderr, \"symlink increased in size \"\n"
10318 "                        \"between lstat() and readlink()\\en\");\n"
10319 "        exit(EXIT_FAILURE);\n"
10320 "    }\n"
10321 msgstr ""
10322 "    if (r E<gt> sb.st_size) {\n"
10323 "        fprintf(stderr, \"symlink increased in size \"\n"
10324 "                        \"between lstat() and readlink()\\en\");\n"
10325 "        exit(EXIT_FAILURE);\n"
10326 "    }\n"
10327
10328 #. type: Plain text
10329 #: build/C/man2/readlink.2:208
10330 #, no-wrap
10331 msgid "    linkname[r] = \\(aq\\e0\\(aq;\n"
10332 msgstr "    linkname[r] = \\(aq\\e0\\(aq;\n"
10333
10334 #. type: Plain text
10335 #: build/C/man2/readlink.2:210
10336 #, no-wrap
10337 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
10338 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
10339
10340 #. type: Plain text
10341 #: build/C/man2/readlink.2:222
10342 msgid ""
10343 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
10344 "B<path_resolution>(7), B<symlink>(7)"
10345 msgstr ""
10346 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
10347 "B<path_resolution>(7), B<symlink>(7)"
10348
10349 #. type: TH
10350 #: build/C/man2/readv.2:32
10351 #, no-wrap
10352 msgid "READV"
10353 msgstr "READV"
10354
10355 #. type: TH
10356 #: build/C/man2/readv.2:32
10357 #, no-wrap
10358 msgid "2010-11-17"
10359 msgstr "2010-11-17"
10360
10361 #. type: Plain text
10362 #: build/C/man2/readv.2:35
10363 msgid ""
10364 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
10365 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
10366
10367 #. type: Plain text
10368 #: build/C/man2/readv.2:38
10369 #, no-wrap
10370 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
10371 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
10372
10373 #. type: Plain text
10374 #: build/C/man2/readv.2:40
10375 #, no-wrap
10376 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
10377 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
10378
10379 #. type: Plain text
10380 #: build/C/man2/readv.2:42
10381 #, no-wrap
10382 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
10383 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
10384
10385 #. type: Plain text
10386 #: build/C/man2/readv.2:45
10387 #, no-wrap
10388 msgid ""
10389 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
10390 "B<               off_t >I<offset>B<);>\n"
10391 msgstr ""
10392 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
10393 "B<               off_t >I<offset>B<);>\n"
10394
10395 #. type: Plain text
10396 #: build/C/man2/readv.2:48
10397 #, no-wrap
10398 msgid ""
10399 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
10400 "B<                off_t >I<offset>B<);>\n"
10401 msgstr ""
10402 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
10403 "B<                off_t >I<offset>B<);>\n"
10404
10405 #. type: Plain text
10406 #: build/C/man2/readv.2:58
10407 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
10408 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
10409
10410 #. type: Plain text
10411 #: build/C/man2/readv.2:68
10412 msgid ""
10413 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
10414 "with the file descriptor I<fd> into the buffers described by I<iov> "
10415 "(\"scatter input\")."
10416 msgstr ""
10417 "B<readv>() システムコールは、ファイルディスクリプタ I<fd> に関連付けられた\n"
10418 "ファイルから、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定\n"
10419 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
10420
10421 #. type: Plain text
10422 #: build/C/man2/readv.2:78
10423 msgid ""
10424 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
10425 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
10426 "\")."
10427 msgstr ""
10428 "B<writev>() システムコールは、 I<iov> で指定されたバッファから最大 "
10429 "I<iovcnt>\n"
10430 "個のバッファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付け"
10431 "ら\n"
10432 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
10433
10434 #. type: Plain text
10435 #: build/C/man2/readv.2:87
10436 msgid ""
10437 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
10438 "I<E<lt>sys/uio.hE<gt>> as:"
10439 msgstr ""
10440 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
10441 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
10442
10443 #. type: Plain text
10444 #: build/C/man2/readv.2:95
10445 #, no-wrap
10446 msgid ""
10447 "struct iovec {\n"
10448 "    void  *iov_base;    /* Starting address */\n"
10449 "    size_t iov_len;     /* Number of bytes to transfer */\n"
10450 "};\n"
10451 msgstr ""
10452 "struct iovec {\n"
10453 "    void  *iov_base;    /* Starting address */\n"
10454 "    size_t iov_len;     /* Number of bytes to transfer */\n"
10455 "};\n"
10456
10457 #. type: Plain text
10458 #: build/C/man2/readv.2:103
10459 msgid ""
10460 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
10461 "buffers are filled."
10462 msgstr ""
10463 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
10464 "B<read>(2) と全く同様の動作を行う。"
10465
10466 #. type: Plain text
10467 #: build/C/man2/readv.2:109
10468 msgid ""
10469 "The B<writev>()  system call works just like B<write>(2)  except that "
10470 "multiple buffers are written out."
10471 msgstr ""
10472 "B<writev>() システムコールは、複数のバッファのデータを書き出す点以外は\n"
10473 "B<write>(2) と全く同様の動作を行う。"
10474
10475 #. type: Plain text
10476 #: build/C/man2/readv.2:128
10477 msgid ""
10478 "Buffers are processed in array order.  This means that B<readv>()  "
10479 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
10480 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
10481 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
10482 "[0] before proceeding to I<iov>[1], and so on."
10483 msgstr ""
10484 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
10485 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
10486 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
10487 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
10488
10489 #. type: Plain text
10490 #: build/C/man2/readv.2:146
10491 msgid ""
10492 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
10493 "data written by B<writev>()  is written as a single block that is not "
10494 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
10495 "for an exception); analogously, B<readv>()  is guaranteed to read a "
10496 "contiguous block of data from the file, regardless of read operations "
10497 "performed in other threads or processes that have file descriptors referring "
10498 "to the same open file description (see B<open>(2))."
10499 msgstr ""
10500 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
10501 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
10502 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
10503 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
10504 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
10505 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
10506 "作の影響を受けることはない。"
10507
10508 #. type: SS
10509 #: build/C/man2/readv.2:146
10510 #, no-wrap
10511 msgid "preadv() and pwritev()"
10512 msgstr "preadv() と pwritev()"
10513
10514 #. type: Plain text
10515 #: build/C/man2/readv.2:159
10516 msgid ""
10517 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
10518 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
10519 "argument, I<offset>, which specifies the file offset at which the input "
10520 "operation is to be performed."
10521 msgstr ""
10522 "B<preadv>() システムコールは B<readv>() と B<preadv>(2) の機能を\n"
10523 "組み合わせたものである。\n"
10524 "B<readv>() と同じ処理を実行するが、\n"
10525 "4 番目の引き数 I<offset> が追加されており、\n"
10526 "この引き数は入力操作を行うファイルオフセットを指定する。"
10527
10528 #. type: Plain text
10529 #: build/C/man2/readv.2:172
10530 msgid ""
10531 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10532 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10533 "argument, I<offset>, which specifies the file offset at which the output "
10534 "operation is to be performed."
10535 msgstr ""
10536 "B<pwritev>() システムコールは B<writev>() と B<pwrite>(2) の機能を\n"
10537 "組み合わせたものである。\n"
10538 "B<writev>() と同じ処理を実行するが、\n"
10539 "4 番目の引き数 I<offset> が追加されており、\n"
10540 "この引き数は出力操作を行うファイルオフセットを指定する。"
10541
10542 #. type: Plain text
10543 #: build/C/man2/readv.2:177
10544 msgid ""
10545 "The file offset is not changed by these system calls.  The file referred to "
10546 "by I<fd> must be capable of seeking."
10547 msgstr ""
10548 "これらのシステムコールで、ファイルオフセットは変更されない。\n"
10549 "I<fd> が参照するファイルは seek 可能でなければならない。"
10550
10551 #. type: Plain text
10552 #: build/C/man2/readv.2:188
10553 msgid ""
10554 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10555 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10556 "error, -1 is returned, and I<errno> is set appropriately."
10557 msgstr ""
10558 "成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
10559 "B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
10560 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
10561
10562 #. type: Plain text
10563 #: build/C/man2/readv.2:200
10564 msgid ""
10565 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10566 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10567 "(2).  Additionally, the following error is defined:"
10568 msgstr ""
10569 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
10570 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
10571 "る。\n"
10572 "また、追加で以下のエラーが定義されている:"
10573
10574 #. type: Plain text
10575 #: build/C/man2/readv.2:209
10576 msgid ""
10577 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10578 "vector count I<iovcnt> is less than zero or greater than the permitted "
10579 "maximum."
10580 msgstr ""
10581 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10582 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10583
10584 #. type: Plain text
10585 #: build/C/man2/readv.2:214
10586 msgid ""
10587 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10588 "support was added in glibc 2.10."
10589 msgstr ""
10590 "B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
10591 "ライブラリによるサポートは glibc 2.10 で追加された。"
10592
10593 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10594 #.  (Says release.libc.)
10595 #. type: Plain text
10596 #: build/C/man2/readv.2:222
10597 msgid ""
10598 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10599 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10600 "I<iovcnt> argument, and I<int> as the return type."
10601 msgstr ""
10602 "B<readv>(), B<writev>(): \n"
10603 "4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1-2001。 \n"
10604 "Linux libc5 では、 I<iovcnt> 引き数の型として I<size_t> を、\n"
10605 "返り値の型として I<int> を使用していた。"
10606
10607 #. type: Plain text
10608 #: build/C/man2/readv.2:226
10609 msgid ""
10610 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10611 msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
10612
10613 #. type: SS
10614 #: build/C/man2/readv.2:227
10615 #, no-wrap
10616 msgid "Linux notes"
10617 msgstr "Linux での注意"
10618
10619 #. type: Plain text
10620 #: build/C/man2/readv.2:258
10621 msgid ""
10622 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10623 "items that can be passed in I<iov>.  An implementation can advertise its "
10624 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10625 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10626 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10627 "glibc wrapper functions do some extra work if they detect that the "
10628 "underlying kernel system call failed because this limit was exceeded.  In "
10629 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10630 "large enough for all of the items specified by I<iov>, passes that buffer in "
10631 "a call to B<read>(2), copies data from the buffer to the locations specified "
10632 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10633 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10634 "using a temporary buffer and a call to B<write>(2)."
10635 msgstr ""
10636 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10637 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10638 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10639 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10640 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10641 "呼ばれるカーネル システムコールがこの上限を超過して失敗したことを検出する"
10642 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10643 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10644 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10645 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10646 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10647 "(2)  を呼び出す。"
10648
10649 #. type: Plain text
10650 #: build/C/man2/readv.2:265
10651 msgid ""
10652 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10653 "operate on file descriptors, with the functions from the stdio library; the "
10654 "results will be undefined and probably not what you want."
10655 msgstr ""
10656 "ファイルディスクリプタに対する操作を行う B<readv>() や B<writev>() と、\n"
10657 "標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。\n"
10658 "どんな結果になるかは定義されておらず、おそらく期待する結果は\n"
10659 "得られないだろう。"
10660
10661 #. type: Plain text
10662 #: build/C/man2/readv.2:268
10663 msgid "The following code sample demonstrates the use of B<writev>():"
10664 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10665
10666 #. type: Plain text
10667 #: build/C/man2/readv.2:275
10668 #, no-wrap
10669 msgid ""
10670 "char *str0 = \"hello \";\n"
10671 "char *str1 = \"world\\en\";\n"
10672 "struct iovec iov[2];\n"
10673 "ssize_t nwritten;\n"
10674 msgstr ""
10675 "char *str0 = \"hello \";\n"
10676 "char *str1 = \"world\\en\";\n"
10677 "struct iovec iov[2];\n"
10678 "ssize_t nwritten;\n"
10679
10680 #. type: Plain text
10681 #: build/C/man2/readv.2:280
10682 #, no-wrap
10683 msgid ""
10684 "iov[0].iov_base = str0;\n"
10685 "iov[0].iov_len = strlen(str0);\n"
10686 "iov[1].iov_base = str1;\n"
10687 "iov[1].iov_len = strlen(str1);\n"
10688 msgstr ""
10689 "iov[0].iov_base = str0;\n"
10690 "iov[0].iov_len = strlen(str0);\n"
10691 "iov[1].iov_base = str1;\n"
10692 "iov[1].iov_len = strlen(str1);\n"
10693
10694 #. type: Plain text
10695 #: build/C/man2/readv.2:282
10696 #, no-wrap
10697 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10698 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10699
10700 #. type: Plain text
10701 #: build/C/man2/readv.2:288
10702 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10703 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
10704
10705 #. type: TH
10706 #: build/C/man3/remove.3:31
10707 #, no-wrap
10708 msgid "REMOVE"
10709 msgstr "REMOVE"
10710
10711 #. type: TH
10712 #: build/C/man3/remove.3:31
10713 #, no-wrap
10714 msgid "2008-12-03"
10715 msgstr "2008-12-03"
10716
10717 #. type: Plain text
10718 #: build/C/man3/remove.3:34
10719 msgid "remove - remove a file or directory"
10720 msgstr "remove - ファイルやディレクトリを削除する"
10721
10722 #. type: Plain text
10723 #: build/C/man3/remove.3:38
10724 msgid "B<int remove(const char *>I<pathname>B<);>"
10725 msgstr "B<int remove(const char *>I<pathname>B<);>"
10726
10727 #. type: Plain text
10728 #: build/C/man3/remove.3:46
10729 #, fuzzy
10730 #| msgid ""
10731 #| "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10732 #| "for files, and B<rmdir>(2)  for directories."
10733 msgid ""
10734 "B<remove>()  deletes a name from the filesystem.  It calls B<unlink>(2)  for "
10735 "files, and B<rmdir>(2)  for directories."
10736 msgstr ""
10737 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10738 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10739
10740 #. type: Plain text
10741 #: build/C/man3/remove.3:50
10742 msgid ""
10743 "If the removed name was the last link to a file and no processes have the "
10744 "file open, the file is deleted and the space it was using is made available "
10745 "for reuse."
10746 msgstr ""
10747 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10748 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10749 "ことができるようになる。"
10750
10751 #. type: Plain text
10752 #: build/C/man3/remove.3:55
10753 msgid ""
10754 "If the name was the last link to a file, but any processes still have the "
10755 "file open, the file will remain in existence until the last file descriptor "
10756 "referring to it is closed."
10757 msgstr ""
10758 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10759 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10760 "でファイルは存在し続ける。"
10761
10762 #. type: Plain text
10763 #: build/C/man3/remove.3:57
10764 msgid "If the name referred to a symbolic link, the link is removed."
10765 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10766
10767 #. type: Plain text
10768 #: build/C/man3/remove.3:60
10769 msgid ""
10770 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10771 "processes which have the object open may continue to use it."
10772 msgstr ""
10773 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10774 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10775
10776 #. type: Plain text
10777 #: build/C/man3/remove.3:70
10778 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10779 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10780
10781 #. type: Plain text
10782 #: build/C/man3/remove.3:72
10783 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10784 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10785
10786 #. type: Plain text
10787 #: build/C/man3/remove.3:78
10788 msgid ""
10789 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10790 "hence would not remove directories)."
10791 msgstr ""
10792 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10793 "(従ってディレクトリを削除できなかった)。"
10794
10795 #. type: Plain text
10796 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10797 msgid ""
10798 "Infelicities in the protocol underlying NFS can cause the unexpected "
10799 "disappearance of files which are still being used."
10800 msgstr ""
10801 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10802 "うことがありえる。"
10803
10804 #. type: Plain text
10805 #: build/C/man3/remove.3:92
10806 msgid ""
10807 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10808 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10809 msgstr ""
10810 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10811 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10812
10813 #. type: TH
10814 #: build/C/man2/rename.2:32
10815 #, no-wrap
10816 msgid "RENAME"
10817 msgstr "RENAME"
10818
10819 #. type: Plain text
10820 #: build/C/man2/rename.2:35
10821 msgid "rename - change the name or location of a file"
10822 msgstr "rename - ファイルの名前や位置を変更する"
10823
10824 #. type: Plain text
10825 #: build/C/man2/rename.2:39
10826 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10827 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10828
10829 #. type: Plain text
10830 #: build/C/man2/rename.2:48
10831 msgid ""
10832 "B<rename>()  renames a file, moving it between directories if required.  Any "
10833 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10834 "Open file descriptors for I<oldpath> are also unaffected."
10835 msgstr ""
10836 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10837 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10838 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10839 "リプタにも影響はない。"
10840
10841 #. type: Plain text
10842 #: build/C/man2/rename.2:56
10843 msgid ""
10844 "If I<newpath> already exists it will be atomically replaced (subject to a "
10845 "few conditions; see ERRORS below), so that there is no point at which "
10846 "another process attempting to access I<newpath> will find it missing."
10847 msgstr ""
10848 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10849 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10850 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10851 "とはない (訳註: 常にアクセス可能である)。"
10852
10853 #. type: Plain text
10854 #: build/C/man2/rename.2:64
10855 msgid ""
10856 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10857 "file, then B<rename>()  does nothing, and returns a success status."
10858 msgstr ""
10859 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10860 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10861
10862 #. type: Plain text
10863 #: build/C/man2/rename.2:72
10864 msgid ""
10865 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10866 "guarantees to leave an instance of I<newpath> in place."
10867 msgstr ""
10868 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10869 "I<newpath> の実体を元のまま残すことを保証する。"
10870
10871 #. type: Plain text
10872 #: build/C/man2/rename.2:78
10873 msgid ""
10874 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10875 "not exist, or it must specify an empty directory."
10876 msgstr ""
10877 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10878 "存在しないか、空のディレクトリでなければならない。"
10879
10880 #. type: Plain text
10881 #: build/C/man2/rename.2:85
10882 msgid ""
10883 "However, when overwriting there will probably be a window in which both "
10884 "I<oldpath> and I<newpath> refer to the file being renamed."
10885 msgstr ""
10886 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10887 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10888
10889 #. type: Plain text
10890 #: build/C/man2/rename.2:91
10891 msgid ""
10892 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10893 "refers to a symbolic link the link will be overwritten."
10894 msgstr ""
10895 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
10896 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
10897 "は、リンクが上書きされる。"
10898
10899 #. type: Plain text
10900 #: build/C/man2/rename.2:116
10901 msgid ""
10902 "Write permission is denied for the directory containing I<oldpath> or "
10903 "I<newpath>, or, search permission is denied for one of the directories in "
10904 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10905 "and does not allow write permission (needed to update the I<..> entry).  "
10906 "(See also B<path_resolution>(7).)"
10907 msgstr ""
10908 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10909 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10910 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10911 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10912
10913 #. type: TP
10914 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10915 #, no-wrap
10916 msgid "B<EBUSY>"
10917 msgstr "B<EBUSY>"
10918
10919 #. type: Plain text
10920 #: build/C/man2/rename.2:133
10921 msgid ""
10922 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10923 "use by some process (perhaps as current working directory, or as root "
10924 "directory, or because it was open for reading) or is in use by the system "
10925 "(for example as mount point), while the system considers this an error.  "
10926 "(Note that there is no requirement to return B<EBUSY> in such cases"
10927 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10928 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10929 "situations.)"
10930 msgstr ""
10931 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10932 "分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのために"
10933 "オープンされているかでろう)  もしくは、システムが使用中 (例えばマウントポイン"
10934 "トである)  であり、システムがこれをエラーであると判断したために rename が失敗"
10935 "した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない点に注"
10936 "意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もな"
10937 "い。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10938 "B<EBUSY> を返すことが許されている。)"
10939
10940 #. type: Plain text
10941 #: build/C/man2/rename.2:143
10942 msgid ""
10943 "The new pathname contained a path prefix of the old, or, more generally, an "
10944 "attempt was made to make a directory a subdirectory of itself."
10945 msgstr ""
10946 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10947 "ディレクトリに 変更しようとした場合がほとんどである。"
10948
10949 #. type: Plain text
10950 #: build/C/man2/rename.2:149
10951 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10952 msgstr ""
10953 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10954 "い。"
10955
10956 #. type: Plain text
10957 #: build/C/man2/rename.2:160
10958 msgid ""
10959 "I<oldpath> already has the maximum number of links to it, or it was a "
10960 "directory and the directory containing I<newpath> has the maximum number of "
10961 "links."
10962 msgstr ""
10963 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10964 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10965
10966 #. type: Plain text
10967 #: build/C/man2/rename.2:176
10968 msgid ""
10969 "The link named by I<oldpath> does not exist; or, a directory component in "
10970 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10971 msgstr ""
10972 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10973 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10974
10975 #. type: Plain text
10976 #: build/C/man2/rename.2:193
10977 msgid ""
10978 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10979 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10980 "not a directory."
10981 msgstr ""
10982 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10983 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10984 "トリでない。"
10985
10986 #. type: TP
10987 #: build/C/man2/rename.2:193
10988 #, no-wrap
10989 msgid "B<ENOTEMPTY> or B<EEXIST>"
10990 msgstr "B<ENOTEMPTY  または  EEXIST>"
10991
10992 #. type: Plain text
10993 #: build/C/man2/rename.2:197
10994 msgid ""
10995 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10996 "\" and \"..\"."
10997 msgstr ""
10998 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10999 "でいる。"
11000
11001 #. type: TP
11002 #: build/C/man2/rename.2:197 build/C/man2/unlink.2:126
11003 #, no-wrap
11004 msgid "B<EPERM> or B<EACCES>"
11005 msgstr "B<EPERM> または B<EACCES>"
11006
11007 #. type: Plain text
11008 #: build/C/man2/rename.2:221
11009 #, fuzzy
11010 #| msgid ""
11011 #| "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set "
11012 #| "and the process's effective user ID is neither the user ID of the file to "
11013 #| "be deleted nor that of the directory containing it, and the process is "
11014 #| "not privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
11015 #| "I<newpath> is an existing file and the directory containing it has the "
11016 #| "sticky bit set and the process's effective user ID is neither the user ID "
11017 #| "of the file to be replaced nor that of the directory containing it, and "
11018 #| "the process is not privileged (Linux: does not have the B<CAP_FOWNER> "
11019 #| "capability); or the file system containing I<pathname> does not support "
11020 #| "renaming of the type requested."
11021 msgid ""
11022 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
11023 "the process's effective user ID is neither the user ID of the file to be "
11024 "deleted nor that of the directory containing it, and the process is not "
11025 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
11026 "I<newpath> is an existing file and the directory containing it has the "
11027 "sticky bit set and the process's effective user ID is neither the user ID of "
11028 "the file to be replaced nor that of the directory containing it, and the "
11029 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
11030 "capability); or the filesystem containing I<pathname> does not support "
11031 "renaming of the type requested."
11032 msgstr ""
11033 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
11034 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
11035 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
11036 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
11037 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
11038 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
11039 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
11040 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
11041 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
11042 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
11043
11044 #. type: Plain text
11045 #: build/C/man2/rename.2:232
11046 #, fuzzy
11047 #| msgid ""
11048 #| "I<oldpath> and I<newpath> are not on the same mounted file system.  "
11049 #| "(Linux permits a file system to be mounted at multiple points, but "
11050 #| "B<rename>()  does not work across different mount points, even if the "
11051 #| "same file system is mounted on both.)"
11052 msgid ""
11053 "I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
11054 "permits a filesystem to be mounted at multiple points, but B<rename>()  does "
11055 "not work across different mount points, even if the same filesystem is "
11056 "mounted on both.)"
11057 msgstr ""
11058 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
11059 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
11060 "している。 しかし B<rename>()  は、たとえ同じファイルシステムであっても、 "
11061 "別々のマウント位置を跨いでは動作しない。)"
11062
11063 #. type: Plain text
11064 #: build/C/man2/rename.2:234
11065 msgid "4.3BSD, C89, C99, POSIX.1-2001."
11066 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
11067
11068 #. type: Plain text
11069 #: build/C/man2/rename.2:245
11070 #, fuzzy
11071 #| msgid ""
11072 #| "On NFS file systems, you can not assume that if the operation failed the "
11073 #| "file was not renamed.  If the server does the rename operation and then "
11074 #| "crashes, the retransmitted RPC which will be processed when the server is "
11075 #| "up again causes a failure.  The application is expected to deal with "
11076 #| "this.  See B<link>(2)  for a similar problem."
11077 msgid ""
11078 "On NFS filesystems, you can not assume that if the operation failed the file "
11079 "was not renamed.  If the server does the rename operation and then crashes, "
11080 "the retransmitted RPC which will be processed when the server is up again "
11081 "causes a failure.  The application is expected to deal with this.  See "
11082 "B<link>(2)  for a similar problem."
11083 msgstr ""
11084 "NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更で"
11085 "きなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
11086 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
11087 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
11088 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
11089
11090 #. type: Plain text
11091 #: build/C/man2/rename.2:254
11092 msgid ""
11093 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
11094 "(2), B<path_resolution>(7), B<symlink>(7)"
11095 msgstr ""
11096 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
11097 "(2), B<path_resolution>(7), B<symlink>(7)"
11098
11099 #. type: TH
11100 #: build/C/man2/rmdir.2:30
11101 #, no-wrap
11102 msgid "RMDIR"
11103 msgstr "RMDIR"
11104
11105 #. type: TH
11106 #: build/C/man2/rmdir.2:30
11107 #, no-wrap
11108 msgid "2008-05-08"
11109 msgstr "2008-05-08"
11110
11111 #. type: Plain text
11112 #: build/C/man2/rmdir.2:33
11113 msgid "rmdir - delete a directory"
11114 msgstr "rmdir - ディレクトリを削除する"
11115
11116 #. type: Plain text
11117 #: build/C/man2/rmdir.2:37
11118 msgid "B<int rmdir(const char *>I<pathname>B<);>"
11119 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
11120
11121 #. type: Plain text
11122 #: build/C/man2/rmdir.2:40
11123 msgid "B<rmdir>()  deletes a directory, which must be empty."
11124 msgstr ""
11125 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
11126 "ない。"
11127
11128 #. type: Plain text
11129 #: build/C/man2/rmdir.2:55
11130 msgid ""
11131 "Write access to the directory containing I<pathname> was not allowed, or one "
11132 "of the directories in the path prefix of I<pathname> did not allow search "
11133 "permission.  (See also B<path_resolution>(7)."
11134 msgstr ""
11135 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
11136 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
11137 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
11138 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
11139 "と)"
11140
11141 #. type: Plain text
11142 #: build/C/man2/rmdir.2:64
11143 msgid ""
11144 "I<pathname> is currently in use by the system or some process that prevents "
11145 "its removal.  On Linux this means I<pathname> is currently used as a mount "
11146 "point or is the root directory of the calling process."
11147 msgstr ""
11148 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
11149 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
11150 "たプロセスのルートディレクトリであることを意味する。"
11151
11152 #. type: Plain text
11153 #: build/C/man2/rmdir.2:73
11154 msgid "I<pathname> has I<.> as last component."
11155 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
11156
11157 #. type: Plain text
11158 #: build/C/man2/rmdir.2:77
11159 msgid "Too many symbolic links were encountered in resolving I<pathname>."
11160 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
11161
11162 #. type: Plain text
11163 #: build/C/man2/rmdir.2:85
11164 msgid ""
11165 "A directory component in I<pathname> does not exist or is a dangling "
11166 "symbolic link."
11167 msgstr ""
11168 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
11169 "リックリンク (symbolic link) である。"
11170
11171 #. type: Plain text
11172 #: build/C/man2/rmdir.2:94
11173 msgid ""
11174 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
11175 "fact, a directory."
11176 msgstr ""
11177 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
11178 "クトリでない。"
11179
11180 #. type: TP
11181 #: build/C/man2/rmdir.2:94
11182 #, no-wrap
11183 msgid "B<ENOTEMPTY>"
11184 msgstr "B<ENOTEMPTY>"
11185
11186 #. type: Plain text
11187 #: build/C/man2/rmdir.2:107
11188 msgid ""
11189 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
11190 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
11191 "condition."
11192 msgstr ""
11193 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
11194 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
11195 "で B<EEXIST> を返すことを認めている。"
11196
11197 #. type: Plain text
11198 #: build/C/man2/rmdir.2:118
11199 msgid ""
11200 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
11201 "and the process's effective user ID is neither the user ID of the file to be "
11202 "deleted nor that of the directory containing it, and the process is not "
11203 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
11204 msgstr ""
11205 "I<pathname> を含んでいるディレクトリにスティッキービット(sticky-bit)  "
11206 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
11207 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
11208 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
11209
11210 #. type: Plain text
11211 #: build/C/man2/rmdir.2:123
11212 #, fuzzy
11213 #| msgid ""
11214 #| "The file system containing I<pathname> does not support the removal of "
11215 #| "directories."
11216 msgid ""
11217 "The filesystem containing I<pathname> does not support the removal of "
11218 "directories."
11219 msgstr ""
11220 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
11221 "ない。"
11222
11223 #. type: Plain text
11224 #: build/C/man2/rmdir.2:127
11225 #, fuzzy
11226 #| msgid "I<pathname> refers to a directory on a read-only file system."
11227 msgid "I<pathname> refers to a directory on a read-only filesystem."
11228 msgstr ""
11229 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
11230
11231 #. type: Plain text
11232 #: build/C/man2/rmdir.2:132
11233 msgid ""
11234 "Infelicities in the protocol underlying NFS can cause the unexpected "
11235 "disappearance of directories which are still being used."
11236 msgstr ""
11237 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
11238 "する現象が引き起こされることがある。"
11239
11240 #. type: Plain text
11241 #: build/C/man2/rmdir.2:141
11242 msgid ""
11243 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
11244 "B<unlink>(2), B<unlinkat>(2)"
11245 msgstr ""
11246 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
11247 "B<unlink>(2), B<unlinkat>(2)"
11248
11249 #. type: TH
11250 #: build/C/man3/scanf.3:52
11251 #, no-wrap
11252 msgid "SCANF"
11253 msgstr "SCANF"
11254
11255 #. type: TH
11256 #: build/C/man3/scanf.3:52
11257 #, no-wrap
11258 msgid "2013-01-30"
11259 msgstr "2013-01-30"
11260
11261 #. type: Plain text
11262 #: build/C/man3/scanf.3:55
11263 msgid ""
11264 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
11265 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
11266
11267 #. type: Plain text
11268 #: build/C/man3/scanf.3:62
11269 #, no-wrap
11270 msgid ""
11271 "B<int scanf(const char *>I<format>B<, ...);>\n"
11272 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
11273 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
11274 msgstr ""
11275 "B<int scanf(const char *>I<format>B<, ...);>\n"
11276 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
11277 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
11278
11279 #. type: Plain text
11280 #: build/C/man3/scanf.3:64
11281 #, no-wrap
11282 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
11283 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
11284
11285 #. type: Plain text
11286 #: build/C/man3/scanf.3:68
11287 #, no-wrap
11288 msgid ""
11289 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
11290 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
11291 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
11292 msgstr ""
11293 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
11294 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
11295 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
11296
11297 #. type: Plain text
11298 #: build/C/man3/scanf.3:79
11299 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
11300 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
11301
11302 #. type: Plain text
11303 #: build/C/man3/scanf.3:82
11304 msgid ""
11305 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
11306 "200112L;"
11307 msgstr ""
11308 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
11309 "200112L;"
11310
11311 #. type: Plain text
11312 #: build/C/man3/scanf.3:104
11313 msgid ""
11314 "The B<scanf>()  family of functions scans input according to I<format> as "
11315 "described below.  This format may contain I<conversion specifications>; the "
11316 "results from such conversions, if any, are stored in the locations pointed "
11317 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
11318 "argument must be of a type that is appropriate for the value returned by the "
11319 "corresponding conversion specification."
11320 msgstr ""
11321 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
11322 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
11323 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
11324 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
11325 "は、対応する変換指定が返す値に 適合していなければならない。"
11326
11327 #. type: Plain text
11328 #: build/C/man3/scanf.3:115
11329 msgid ""
11330 "If the number of conversion specifications in I<format> exceeds the number "
11331 "of I<pointer> arguments, the results are undefined.  If the number of "
11332 "I<pointer> arguments exceeds the number of conversion specifications, then "
11333 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
11334 msgstr ""
11335 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
11336 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
11337 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
11338
11339 #. type: Plain text
11340 #: build/C/man3/scanf.3:127
11341 msgid ""
11342 "The B<scanf>()  function reads input from the standard input stream "
11343 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
11344 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
11345 msgstr ""
11346 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
11347 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
11348 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
11349
11350 #. type: Plain text
11351 #: build/C/man3/scanf.3:145
11352 msgid ""
11353 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
11354 "from the stream pointer I<stream> using a variable argument list of pointers "
11355 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
11356 "from the standard input and the B<vsscanf>()  function scans it from a "
11357 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
11358 "functions respectively."
11359 msgstr ""
11360 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
11361 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
11362 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
11363 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
11364 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
11365
11366 #. type: Plain text
11367 #: build/C/man3/scanf.3:159
11368 msgid ""
11369 "The I<format> string consists of a sequence of I<directives> which describe "
11370 "how to process the sequence of input characters.  If processing of a "
11371 "directive fails, no further input is read, and B<scanf>()  returns.  A "
11372 "\"failure\" can be either of the following: I<input failure>, meaning that "
11373 "input characters were unavailable, or I<matching failure>, meaning that the "
11374 "input was inappropriate (see below)."
11375 msgstr ""
11376 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
11377 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
11378 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
11379 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
11380 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
11381 "であったこと (下記参照) を意味する。"
11382
11383 #. type: Plain text
11384 #: build/C/man3/scanf.3:161
11385 msgid "A directive is one of the following:"
11386 msgstr "命令は以下のいずれかである:"
11387
11388 #. type: TP
11389 #: build/C/man3/scanf.3:161 build/C/man3/scanf.3:167 build/C/man3/scanf.3:171
11390 #: build/C/man3/scanf.3:190 build/C/man3/scanf.3:201 build/C/man3/scanf.3:220
11391 #: build/C/man3/scanf.3:232 build/C/man3/scanf.3:246
11392 #, no-wrap
11393 msgid "\\(bu"
11394 msgstr "\\(bu"
11395
11396 #. type: Plain text
11397 #: build/C/man3/scanf.3:167
11398 msgid ""
11399 "A sequence of white-space characters (space, tab, newline, etc.; see "
11400 "B<isspace>(3)).  This directive matches any amount of white space, including "
11401 "none, in the input."
11402 msgstr ""
11403 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
11404 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
11405 "致する)。"
11406
11407 #. type: Plain text
11408 #: build/C/man3/scanf.3:171
11409 msgid ""
11410 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
11411 "This character must exactly match the next character of input."
11412 msgstr ""
11413 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
11414 "の次の文字に正確に一致しなければならない。"
11415
11416 #. type: Plain text
11417 #: build/C/man3/scanf.3:182
11418 msgid ""
11419 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
11420 "character.  A sequence of characters from the input is converted according "
11421 "to this specification, and the result is placed in the corresponding "
11422 "I<pointer> argument.  If the next item of input does not match the "
11423 "conversion specification, the conversion fails\\(emthis is a I<matching "
11424 "failure>."
11425 msgstr ""
11426 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
11427 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
11428 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
11429 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
11430
11431 #. type: Plain text
11432 #: build/C/man3/scanf.3:190
11433 msgid ""
11434 "Each I<conversion specification> in I<format> begins with either the "
11435 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
11436 "for the distinction) followed by:"
11437 msgstr ""
11438 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
11439 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
11440
11441 #. type: Plain text
11442 #: build/C/man3/scanf.3:201
11443 msgid ""
11444 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
11445 "input as directed by the conversion specification, but discards the input.  "
11446 "No corresponding I<pointer> argument is required, and this specification is "
11447 "not included in the count of successful assignments returned by B<scanf>()."
11448 msgstr ""
11449 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
11450 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
11451 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
11452
11453 #. type: Plain text
11454 #: build/C/man3/scanf.3:220
11455 msgid ""
11456 "An optional \\(aqm\\(aq character.  This is used with string conversions (I<"
11457 "%s>, I<%c>, I<%[>), and relieves the caller of the need to allocate a "
11458 "corresponding buffer to hold the input: instead, B<scanf>()  allocates a "
11459 "buffer of sufficient size, and assigns the address of this buffer to the "
11460 "corresponding I<pointer> argument, which should be a pointer to a I<char\\ "
11461 "*> variable (this variable does not need to be initialized before the "
11462 "call).  The caller should subsequently B<free>(3)  this buffer when it is no "
11463 "longer required."
11464 msgstr ""
11465 "文字 \\(aqm\\(aq (省略可能)。これは文字列変換 (I<%s>, I<%c>, I<%[>) とともに"
11466 "使用され、これを使うと 呼び出し元が入力を保持する対応するバッファを確保する必"
11467 "要がなくなる。 代わりに B<scanf>()  が必要な大きさのバッファを確保し、この"
11468 "バッファのアドレスを 対応する I<pointer> 引き数に代入する。 I<pointer> 引き数"
11469 "は I<char\\ *> 型の変数へのポインタでなければならない (変数自体は呼び出し前に"
11470 "初期化されている必要はない)。 呼び出し元は、不要になった時点で、このバッファ"
11471 "を B<free>(3) すべきである。"
11472
11473 #. type: Plain text
11474 #: build/C/man3/scanf.3:232
11475 msgid ""
11476 "An optional decimal integer which specifies the I<maximum field width>.  "
11477 "Reading of characters stops either when this maximum is reached or when a "
11478 "nonmatching character is found, whichever happens first.  Most conversions "
11479 "discard initial white space characters (the exceptions are noted below), and "
11480 "these discarded characters don't count toward the maximum field width.  "
11481 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
11482 "mark the end of the input; the maximum field width does not include this "
11483 "terminator."
11484 msgstr ""
11485 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
11486 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
11487 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
11488 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
11489 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
11490 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
11491
11492 #. type: Plain text
11493 #: build/C/man3/scanf.3:246
11494 msgid ""
11495 "An optional I<type modifier character>.  For example, the B<l> type modifier "
11496 "is used with integer conversions such as B<%d> to specify that the "
11497 "corresponding I<pointer> argument refers to a I<long int> rather than a "
11498 "pointer to an I<int>."
11499 msgstr ""
11500 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
11501 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
11502 "I<int> ではなく I<long int> を参照していることを指定できる。"
11503
11504 #. type: Plain text
11505 #: build/C/man3/scanf.3:251
11506 msgid ""
11507 "A I<conversion specifier> that specifies the type of input conversion to be "
11508 "performed."
11509 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
11510
11511 #. type: Plain text
11512 #: build/C/man3/scanf.3:280
11513 msgid ""
11514 "The conversion specifications in I<format> are of two forms, either "
11515 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
11516 "forms should not be mixed in the same I<format> string, except that a string "
11517 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
11518 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
11519 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
11520 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
11521 "specifies that the converted input should be placed in the location referred "
11522 "to by the I<n>-th I<pointer> argument following I<format>."
11523 msgstr ""
11524 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
11525 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
11526 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
11527 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
11528 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
11529 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
11530 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
11531 "I<pointer> 引き数が参照する場所に格納することを指定する。"
11532
11533 #. type: SS
11534 #: build/C/man3/scanf.3:280
11535 #, no-wrap
11536 msgid "Conversions"
11537 msgstr "変換"
11538
11539 #. type: Plain text
11540 #: build/C/man3/scanf.3:284
11541 msgid ""
11542 "The following I<type modifier characters> can appear in a conversion "
11543 "specification:"
11544 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
11545
11546 #. type: Plain text
11547 #: build/C/man3/scanf.3:294
11548 msgid ""
11549 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
11550 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
11551 "I<unsigned short int> (rather than I<int>)."
11552 msgstr ""
11553 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
11554 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
11555 "あることを示す。"
11556
11557 #. type: Plain text
11558 #: build/C/man3/scanf.3:302
11559 msgid ""
11560 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
11561 "I<unsigned char>."
11562 msgstr ""
11563 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
11564 "タであることを示す。"
11565
11566 #. type: Plain text
11567 #: build/C/man3/scanf.3:311
11568 msgid ""
11569 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
11570 "I<uintmax_t>.  This modifier was introduced in C99."
11571 msgstr ""
11572 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11573 "ることを示す。 この修飾子は C99 で導入された。"
11574
11575 #.  This use of l was introduced in Amendment 1 to ISO C90.
11576 #. type: Plain text
11577 #: build/C/man3/scanf.3:338
11578 msgid ""
11579 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11580 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11581 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11582 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11583 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11584 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11585 "as a pointer to a wide character or wide-character string respectively."
11586 msgstr ""
11587 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11588 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11589 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11590 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11591 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11592 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11593 "ンタであると みなされる。"
11594
11595 #.  MTK, Jul 05: The following is no longer true for modern
11596 #.  ANSI C (i.e., C99):
11597 #.  (Note that long long is not an
11598 #.  ANSI C
11599 #.  type. Any program using this will not be portable to all
11600 #.  architectures).
11601 #. type: Plain text
11602 #: build/C/man3/scanf.3:354
11603 msgid ""
11604 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11605 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11606 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11607 msgstr ""
11608 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11609 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11610 "I<long long> へのポインタであることのいずれかであることを示す。"
11611
11612 #. type: Plain text
11613 #: build/C/man3/scanf.3:359
11614 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11615 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11616
11617 #. type: Plain text
11618 #: build/C/man3/scanf.3:366
11619 msgid ""
11620 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11621 "modifier was introduced in C99."
11622 msgstr ""
11623 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11624 "この修飾子は C99 で導入された。"
11625
11626 #. type: Plain text
11627 #: build/C/man3/scanf.3:373
11628 msgid ""
11629 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11630 "modifier was introduced in C99."
11631 msgstr ""
11632 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11633 "修飾子は C99 で導入された。"
11634
11635 #. type: Plain text
11636 #: build/C/man3/scanf.3:377
11637 msgid "The following I<conversion specifiers> are available:"
11638 msgstr "以下の I<「変換指定子」> が利用可能である。"
11639
11640 #. type: Plain text
11641 #: build/C/man3/scanf.3:386
11642 msgid ""
11643 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11644 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11645 "initial white space characters are discarded), and assignment does not occur."
11646 msgstr ""
11647 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11648 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11649 "る)、 変数への代入は生じない。"
11650
11651 #. type: TP
11652 #: build/C/man3/scanf.3:386
11653 #, no-wrap
11654 msgid "B<d>"
11655 msgstr "B<d>"
11656
11657 #. type: Plain text
11658 #: build/C/man3/scanf.3:391
11659 msgid ""
11660 "Matches an optionally signed decimal integer; the next pointer must be a "
11661 "pointer to I<int>."
11662 msgstr ""
11663 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11664 "ばならない。"
11665
11666 #. type: TP
11667 #: build/C/man3/scanf.3:391
11668 #, no-wrap
11669 msgid "B<D>"
11670 msgstr "B<D>"
11671
11672 #. type: Plain text
11673 #: build/C/man3/scanf.3:400
11674 msgid ""
11675 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11676 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11677 "causing old programs to fail mysteriously.)"
11678 msgstr ""
11679 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11680 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11681 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11682
11683 #. type: TP
11684 #: build/C/man3/scanf.3:400
11685 #, no-wrap
11686 msgid "B<i>"
11687 msgstr "B<i>"
11688
11689 #. type: Plain text
11690 #: build/C/man3/scanf.3:412
11691 msgid ""
11692 "Matches an optionally signed integer; the next pointer must be a pointer to "
11693 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11694 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11695 "that correspond to the base are used."
11696 msgstr ""
11697 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11698 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11699 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11700 "される文字は、これらの基数に対応しているものだけである。"
11701
11702 #. type: TP
11703 #: build/C/man3/scanf.3:412
11704 #, no-wrap
11705 msgid "B<o>"
11706 msgstr "B<o>"
11707
11708 #. type: Plain text
11709 #: build/C/man3/scanf.3:416
11710 msgid ""
11711 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11712 "I<unsigned int>."
11713 msgstr ""
11714 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11715 "らない。"
11716
11717 #. type: TP
11718 #: build/C/man3/scanf.3:416
11719 #, no-wrap
11720 msgid "B<u>"
11721 msgstr "B<u>"
11722
11723 #. type: Plain text
11724 #: build/C/man3/scanf.3:421
11725 msgid ""
11726 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11727 "I<unsigned int>."
11728 msgstr ""
11729 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11730 "でなければならない。"
11731
11732 #. type: Plain text
11733 #: build/C/man3/scanf.3:426
11734 msgid ""
11735 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11736 "to I<unsigned int>."
11737 msgstr ""
11738 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11739 "タでなければならない。"
11740
11741 #. type: TP
11742 #: build/C/man3/scanf.3:426
11743 #, no-wrap
11744 msgid "B<X>"
11745 msgstr "B<X>"
11746
11747 #. type: Plain text
11748 #: build/C/man3/scanf.3:430
11749 msgid "Equivalent to B<x>."
11750 msgstr "B<x> と同一である。"
11751
11752 #. type: TP
11753 #: build/C/man3/scanf.3:430
11754 #, no-wrap
11755 msgid "B<f>"
11756 msgstr "B<f>"
11757
11758 #. type: Plain text
11759 #: build/C/man3/scanf.3:435
11760 msgid ""
11761 "Matches an optionally signed floating-point number; the next pointer must be "
11762 "a pointer to I<float>."
11763 msgstr ""
11764 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11765 "ればならない。"
11766
11767 #. type: TP
11768 #: build/C/man3/scanf.3:435
11769 #, no-wrap
11770 msgid "B<e>"
11771 msgstr "B<e>"
11772
11773 #. type: Plain text
11774 #: build/C/man3/scanf.3:439 build/C/man3/scanf.3:443 build/C/man3/scanf.3:447
11775 msgid "Equivalent to B<f>."
11776 msgstr "B<f> と同一である。"
11777
11778 #. type: TP
11779 #: build/C/man3/scanf.3:439
11780 #, no-wrap
11781 msgid "B<g>"
11782 msgstr "B<g>"
11783
11784 #. type: TP
11785 #: build/C/man3/scanf.3:443
11786 #, no-wrap
11787 msgid "B<E>"
11788 msgstr "B<E>"
11789
11790 #. type: Plain text
11791 #: build/C/man3/scanf.3:451
11792 msgid "(C99) Equivalent to B<f>."
11793 msgstr "(C99)  B<f> と同一である。"
11794
11795 #. type: Plain text
11796 #: build/C/man3/scanf.3:459
11797 msgid ""
11798 "Matches a sequence of non-white-space characters; the next pointer must be a "
11799 "pointer to character array that is long enough to hold the input sequence "
11800 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11801 "automatically.  The input string stops at white space or at the maximum "
11802 "field width, whichever occurs first."
11803 msgstr ""
11804 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11805 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11806 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11807 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11808 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11809
11810 #. type: Plain text
11811 #: build/C/man3/scanf.3:469
11812 msgid ""
11813 "Matches a sequence of characters whose length is specified by the I<maximum "
11814 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11815 "there must be enough room for all the characters (no terminating null byte "
11816 "is added).  The usual skip of leading white space is suppressed.  To skip "
11817 "white space first, use an explicit space in the format."
11818 msgstr ""
11819 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11820 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11821 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11822 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11823 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11824
11825 #. type: TP
11826 #: build/C/man3/scanf.3:469
11827 #, no-wrap
11828 msgid "B<\\&[>"
11829 msgstr "B<\\&[>"
11830
11831 #. type: Plain text
11832 #: build/C/man3/scanf.3:502
11833 msgid ""
11834 "Matches a nonempty sequence of characters from the specified set of accepted "
11835 "characters; the next pointer must be a pointer to I<char>, and there must be "
11836 "enough room for all the characters in the string, plus a terminating null "
11837 "byte.  The usual skip of leading white space is suppressed.  The string is "
11838 "to be made up of characters in (or not in) a particular set; the set is "
11839 "defined by the characters between the open bracket B<[> character and a "
11840 "close bracket B<]> character.  The set I<excludes> those characters if the "
11841 "first character after the open bracket is a circumflex (B<^>).  To include a "
11842 "close bracket in the set, make it the first character after the open bracket "
11843 "or the circumflex; any other position will end the set.  The hyphen "
11844 "character B<-> is also special; when placed between two other characters, it "
11845 "adds all intervening characters to the set.  To include a hyphen, make it "
11846 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11847 "> means the set \"everything except close bracket, zero through nine, and "
11848 "hyphen\".  The string ends with the appearance of a character not in the "
11849 "(or, with a circumflex, in) set or when the field width runs out."
11850 msgstr ""
11851 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11852 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11853 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11854 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11855 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11856 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11857 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11858 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11859 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11860 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11861 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11862 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11863 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11864 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11865 "文字の 出現または確保された領域が使い切られた時に終了する。"
11866
11867 #. type: Plain text
11868 #: build/C/man3/scanf.3:510
11869 msgid ""
11870 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11871 "pointer must be a pointer to a pointer to I<void>."
11872 msgstr ""
11873 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11874 "タは I<void> へのポインタへのポインタでなければならない。"
11875
11876 #. type: Plain text
11877 #: build/C/man3/scanf.3:530
11878 msgid ""
11879 "Nothing is expected; instead, the number of characters consumed thus far "
11880 "from the input is stored through the next pointer, which must be a pointer "
11881 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11882 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11883 "of a B<%n> directive does not increment the assignment count returned at the "
11884 "completion of execution\" but the Corrigendum seems to contradict this.  "
11885 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11886 "conversions on the return value."
11887 msgstr ""
11888 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11889 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11890 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11891 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11892 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11893 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11894 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11895
11896 #. type: Plain text
11897 #: build/C/man3/scanf.3:535
11898 msgid ""
11899 "These functions return the number of input items successfully matched and "
11900 "assigned, which can be fewer than provided for, or even zero in the event of "
11901 "an early matching failure."
11902 msgstr ""
11903 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11904 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11905 "ることもある。"
11906
11907 #. type: Plain text
11908 #: build/C/man3/scanf.3:547
11909 msgid ""
11910 "The value B<EOF> is returned if the end of input is reached before either "
11911 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11912 "also returned if a read error occurs, in which case the error indicator for "
11913 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11914 "error."
11915 msgstr ""
11916 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11917 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11918 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11919 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11920
11921 #. type: Plain text
11922 #: build/C/man3/scanf.3:553
11923 msgid ""
11924 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11925 "operation would block."
11926 msgstr ""
11927 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11928 "込み操作は停止 (block) することになる。"
11929
11930 #. type: Plain text
11931 #: build/C/man3/scanf.3:558
11932 msgid ""
11933 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11934 msgstr ""
11935 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11936 "ンされていない。"
11937
11938 #. type: Plain text
11939 #: build/C/man3/scanf.3:561
11940 msgid "Input byte sequence does not form a valid character."
11941 msgstr "入力されたバイト列が有効な文字を構成していない。"
11942
11943 #. type: Plain text
11944 #: build/C/man3/scanf.3:565
11945 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11946 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11947
11948 #. type: Plain text
11949 #: build/C/man3/scanf.3:570
11950 msgid "Not enough arguments; or I<format> is NULL."
11951 msgstr "引き数が十分でない。または I<format> が NULL である。"
11952
11953 #. type: Plain text
11954 #: build/C/man3/scanf.3:573
11955 msgid "Out of memory."
11956 msgstr "メモリ不足。"
11957
11958 #. type: TP
11959 #: build/C/man3/scanf.3:573
11960 #, no-wrap
11961 msgid "B<ERANGE>"
11962 msgstr "B<ERANGE>"
11963
11964 #. type: Plain text
11965 #: build/C/man3/scanf.3:577
11966 msgid ""
11967 "The result of an integer conversion would exceed the size that can be stored "
11968 "in the corresponding integer type."
11969 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11970
11971 #. type: Plain text
11972 #: build/C/man3/scanf.3:587
11973 msgid ""
11974 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11975 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11976 msgstr ""
11977 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11978 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11979
11980 #. type: Plain text
11981 #: build/C/man3/scanf.3:597
11982 msgid ""
11983 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11984 "the usage of B<L> in integer conversions is the GNU notation."
11985 msgstr ""
11986 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11987 "B<ll> または B<L> の使用は GNU での拡張である。"
11988
11989 #. type: Plain text
11990 #: build/C/man3/scanf.3:608
11991 msgid ""
11992 "The Linux version of these functions is based on the I<GNU> I<libio> "
11993 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11994 "(glibc-1.08)> for a more concise description."
11995 msgstr ""
11996 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11997 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11998
11999 #. type: Plain text
12000 #: build/C/man3/scanf.3:614
12001 msgid ""
12002 "The GNU C library supported the dynamic allocation conversion specifier (as "
12003 "a nonstandard extension) via the B<a> character.  This feature seems to be "
12004 "present at least as far back as glibc 2.0."
12005 msgstr ""
12006 "GNU C ライブラリ (glibc) では、 B<a> 文字による動的割り当て変換指定子 "
12007 "(dynamic allocation conversion specifier) を (非標準の拡張として) サポートし"
12008 "ている。この機能は少なくとも glibc 2.0 以降で存在しているようである。"
12009
12010 #. type: Plain text
12011 #: build/C/man3/scanf.3:624
12012 msgid ""
12013 "It is not available if the program is compiled with I<gcc -std=c99> or I<gcc "
12014 "-D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also specified), in which case "
12015 "the B<a> is interpreted as a specifier for floating-point numbers (see "
12016 "above)."
12017 msgstr ""
12018 "この修飾子は I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプロ"
12019 "グラムでは (B<_GNU_SOURCE> も同時に指定していない場合) 利用できない。この場"
12020 "合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
12021
12022 #. type: Plain text
12023 #: build/C/man3/scanf.3:633
12024 msgid ""
12025 "Since version 2.7, glibc also provides the B<m> modifier for the same "
12026 "purpose as the B<a> modifier.  The B<m> modifier has the following "
12027 "advantages:"
12028 msgstr ""
12029 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
12030 "ている。 B<m> 修飾子は以下の利点がある。"
12031
12032 #. type: Plain text
12033 #: build/C/man3/scanf.3:638
12034 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
12035 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
12036
12037 #. type: Plain text
12038 #: build/C/man3/scanf.3:644
12039 msgid ""
12040 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
12041 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
12042 msgstr ""
12043 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
12044 "std=c99> などの影響も避けられる)。"
12045
12046 #. type: Plain text
12047 #: build/C/man3/scanf.3:646
12048 msgid "It is specified in the POSIX.1-2008 standard."
12049 msgstr "POSIX.1-2008 標準で規定されている。"
12050
12051 #. type: Plain text
12052 #: build/C/man3/scanf.3:659
12053 msgid ""
12054 "All functions are fully C89 conformant, but provide the additional "
12055 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
12056 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
12057 "the behavior of specifiers defined in C89."
12058 msgstr ""
12059 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
12060 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
12061 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
12062 "れない。"
12063
12064 #. type: Plain text
12065 #: build/C/man3/scanf.3:675
12066 msgid ""
12067 "Some combinations of the type modifiers and conversion specifiers defined by "
12068 "ANSI C do not make sense (e.g., B<%Ld>).  While they may have a well-defined "
12069 "behavior on Linux, this need not to be so on other architectures.  Therefore "
12070 "it usually is better to use modifiers that are not defined by ANSI C at all, "
12071 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
12072 "B<u>, B<x>, and B<X> conversions or B<ll>."
12073 msgstr ""
12074 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を\n"
12075 "なさないものがある (例えば、 B<%Ld>)。 これらが指定された場合、 \n"
12076 "Linux 上でははっきりと定義された振る舞いをするかもしれないが、\n"
12077 "他のアーキテクチャでも同様になっているとは限らない。\n"
12078 "それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した\n"
12079 "方が良い。すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や B<ll>\n"
12080 "と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
12081
12082 #. type: Plain text
12083 #: build/C/man3/scanf.3:681
12084 msgid ""
12085 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
12086 "conversions equivalently to B<L>."
12087 msgstr ""
12088 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
12089 "動小数の変換に使用される。"
12090
12091 #. type: Plain text
12092 #: build/C/man3/scanf.3:691
12093 msgid ""
12094 "To use the dynamic allocation conversion specifier, specify B<m> as a length "
12095 "modifier (thus B<%ms> or B<%m[>I<range>B<]>).  The caller must B<free>(3)  "
12096 "the returned string, as in the following example:"
12097 msgstr ""
12098 "動的割り当て変換指定子を使用するには、長さ修飾子として B<m> を指定する (つま"
12099 "り、全体としては B<%ms> や B<%m[>I<range>B<]> となる)。以下の例にあるように、"
12100 "呼び出し側は返された文字列を B<free>(3) しなければならない。"
12101
12102 #. type: Plain text
12103 #: build/C/man3/scanf.3:696
12104 #, no-wrap
12105 msgid ""
12106 "char *p;\n"
12107 "int n;\n"
12108 msgstr ""
12109 "char *p;\n"
12110 "int n;\n"
12111
12112 #. type: Plain text
12113 #: build/C/man3/scanf.3:707
12114 #, no-wrap
12115 msgid ""
12116 "errno = 0;\n"
12117 "n = scanf(\"%m[a-z]\", &p);\n"
12118 "if (n == 1) {\n"
12119 "    printf(\"read: %s\\en\", p);\n"
12120 "    free(p);\n"
12121 "} else if (errno != 0) {\n"
12122 "    perror(\"scanf\");\n"
12123 "} else {\n"
12124 "    fprintf(stderr, \"No matching characters\\en\");\n"
12125 "}\n"
12126 msgstr ""
12127 "errno = 0;\n"
12128 "n = scanf(\"%m[a-z]\", &p);\n"
12129 "if (n == 1) {\n"
12130 "    printf(\"read: %s\\en\", p);\n"
12131 "    free(p);\n"
12132 "} else if (errno != 0) {\n"
12133 "    perror(\"scanf\");\n"
12134 "} else {\n"
12135 "    fprintf(stderr, \"No matching characters\\en\");\n"
12136 "}\n"
12137
12138 #. type: Plain text
12139 #: build/C/man3/scanf.3:715
12140 msgid ""
12141 "As shown in the above example, it is necessary to call B<free>(3)  only if "
12142 "the B<scanf>()  call successfully read a string."
12143 msgstr ""
12144 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
12145 "B<free>(3)  を呼び出す必要がある。"
12146
12147 #. type: Plain text
12148 #: build/C/man3/scanf.3:722
12149 msgid ""
12150 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
12151 "B<strtoul>(3)"
12152 msgstr ""
12153 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
12154 "B<strtoul>(3),"
12155
12156 #. type: TH
12157 #: build/C/man3/setbuf.3:48
12158 #, no-wrap
12159 msgid "SETBUF"
12160 msgstr "SETBUF"
12161
12162 #. type: TH
12163 #: build/C/man3/setbuf.3:48
12164 #, no-wrap
12165 msgid "2012-08-03"
12166 msgstr "2012-08-03"
12167
12168 #. type: Plain text
12169 #: build/C/man3/setbuf.3:51
12170 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
12171 msgstr ""
12172 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
12173
12174 #. type: Plain text
12175 #: build/C/man3/setbuf.3:56
12176 #, no-wrap
12177 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
12178 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
12179
12180 #. type: Plain text
12181 #: build/C/man3/setbuf.3:58
12182 #, no-wrap
12183 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
12184 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
12185
12186 #. type: Plain text
12187 #: build/C/man3/setbuf.3:60
12188 #, no-wrap
12189 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
12190 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
12191
12192 #. type: Plain text
12193 #: build/C/man3/setbuf.3:63
12194 #, no-wrap
12195 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
12196 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
12197
12198 #. type: Plain text
12199 #: build/C/man3/setbuf.3:73
12200 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
12201 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
12202
12203 #. type: Plain text
12204 #: build/C/man3/setbuf.3:96
12205 msgid ""
12206 "The three types of buffering available are unbuffered, block buffered, and "
12207 "line buffered.  When an output stream is unbuffered, information appears on "
12208 "the destination file or terminal as soon as written; when it is block "
12209 "buffered many characters are saved up and written as a block; when it is "
12210 "line buffered characters are saved up until a newline is output or input is "
12211 "read from any stream attached to a terminal device (typically I<stdin>).  "
12212 "The function B<fflush>(3)  may be used to force the block out early.  (See "
12213 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
12214 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
12215 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
12216 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
12217 "by default."
12218 msgstr ""
12219 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
12220 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
12221 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
12222 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
12223 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
12224 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
12225 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
12226 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
12227 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
12228 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
12229 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
12230 "unbuffered である。"
12231
12232 #. type: Plain text
12233 #: build/C/man3/setbuf.3:103
12234 msgid ""
12235 "The B<setvbuf>()  function may be used on any open stream to change its "
12236 "buffer.  The I<mode> argument must be one of the following three macros:"
12237 msgstr ""
12238 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
12239 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
12240
12241 #. type: TP
12242 #: build/C/man3/setbuf.3:104
12243 #, no-wrap
12244 msgid "B<_IONBF>"
12245 msgstr "B<_IONBF>"
12246
12247 #. type: Plain text
12248 #: build/C/man3/setbuf.3:107
12249 msgid "unbuffered"
12250 msgstr "unbuffered"
12251
12252 #. type: TP
12253 #: build/C/man3/setbuf.3:107
12254 #, no-wrap
12255 msgid "B<_IOLBF>"
12256 msgstr "B<_IOLBF>"
12257
12258 #. type: Plain text
12259 #: build/C/man3/setbuf.3:110
12260 msgid "line buffered"
12261 msgstr "line buffered"
12262
12263 #. type: TP
12264 #: build/C/man3/setbuf.3:110
12265 #, no-wrap
12266 msgid "B<_IOFBF>"
12267 msgstr "B<_IOFBF>"
12268
12269 #. type: Plain text
12270 #: build/C/man3/setbuf.3:113
12271 msgid "fully buffered"
12272 msgstr "fully buffered"
12273
12274 #. type: Plain text
12275 #: build/C/man3/setbuf.3:129
12276 msgid ""
12277 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
12278 "least I<size> bytes long; this buffer will be used instead of the current "
12279 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
12280 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
12281 "()  function may be used only after opening a stream and before any other "
12282 "operations have been performed on it."
12283 msgstr ""
12284 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
12285 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
12286 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
12287 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
12288 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
12289
12290 #. type: Plain text
12291 #: build/C/man3/setbuf.3:135
12292 msgid ""
12293 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
12294 "().  The B<setbuf>()  function is exactly equivalent to the call"
12295 msgstr ""
12296 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
12297 "B<setbuf>()  関数は、"
12298
12299 #. type: Plain text
12300 #: build/C/man3/setbuf.3:138
12301 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
12302 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
12303
12304 #. type: Plain text
12305 #: build/C/man3/setbuf.3:148
12306 msgid ""
12307 "The B<setbuffer>()  function is the same, except that the size of the buffer "
12308 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
12309 "The B<setlinebuf>()  function is exactly equivalent to the call:"
12310 msgstr ""
12311 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
12312 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
12313 "は以下と同じである。"
12314
12315 #. type: Plain text
12316 #: build/C/man3/setbuf.3:151
12317 msgid "setvbuf(stream, NULL, _IOLBF, 0);"
12318 msgstr "setvbuf(stream, NULL, _IOLBF, 0);"
12319
12320 #. type: Plain text
12321 #: build/C/man3/setbuf.3:162
12322 msgid ""
12323 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
12324 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
12325 "I<errno> on failure."
12326 msgstr ""
12327 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
12328 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
12329 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
12330
12331 #. type: Plain text
12332 #: build/C/man3/setbuf.3:164
12333 msgid "The other functions do not return a value."
12334 msgstr "その他の関数は値を返さない。"
12335
12336 #. type: Plain text
12337 #: build/C/man3/setbuf.3:170
12338 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
12339 msgstr ""
12340 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
12341
12342 #. type: Plain text
12343 #: build/C/man3/setbuf.3:180
12344 msgid ""
12345 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
12346 "versions of BSD before 4.2BSD, and are available under Linux since libc "
12347 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
12348 "buffer size and should be avoided."
12349 msgstr ""
12350 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
12351 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
12352 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
12353 "ズを使用するので、これも使うべきでない。"
12354
12355 #. type: Plain text
12356 #: build/C/man3/setbuf.3:187
12357 msgid ""
12358 "You must make sure that the space that I<buf> points to still exists by the "
12359 "time I<stream> is closed, which also happens at program termination.  For "
12360 "example, the following is invalid:"
12361 msgstr ""
12362 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
12363 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
12364 "な使い方は許されない:"
12365
12366 #. type: Plain text
12367 #: build/C/man3/setbuf.3:190
12368 #, no-wrap
12369 msgid "#include E<lt>stdio.hE<gt>\n"
12370 msgstr "#include E<lt>stdio.hE<gt>\n"
12371
12372 #. type: Plain text
12373 #: build/C/man3/setbuf.3:199
12374 #, no-wrap
12375 msgid ""
12376 "int\n"
12377 "main(void)\n"
12378 "{\n"
12379 "    char buf[BUFSIZ];\n"
12380 "    setbuf(stdin, buf);\n"
12381 "    printf(\"Hello, world!\\en\");\n"
12382 "    return 0;\n"
12383 "}\n"
12384 msgstr ""
12385 "int\n"
12386 "main(void)\n"
12387 "{\n"
12388 "    char buf[BUFSIZ];\n"
12389 "    setbuf(stdin, buf);\n"
12390 "    printf(\"Hello, world!\\en\");\n"
12391 "    return 0;\n"
12392 "}\n"
12393
12394 #. type: Plain text
12395 #: build/C/man3/setbuf.3:208
12396 msgid ""
12397 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
12398 "(3), B<puts>(3)"
12399 msgstr ""
12400 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
12401 "(3), B<puts>(3)"
12402
12403 #. type: TH
12404 #: build/C/man3/stdin.3:13
12405 #, no-wrap
12406 msgid "STDIN"
12407 msgstr "STDIN"
12408
12409 #. type: TH
12410 #: build/C/man3/stdin.3:13 build/C/man3/tmpfile.3:31
12411 #, no-wrap
12412 msgid "2008-07-14"
12413 msgstr "2008-07-14"
12414
12415 #. type: Plain text
12416 #: build/C/man3/stdin.3:16
12417 msgid "stdin, stdout, stderr - standard I/O streams"
12418 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
12419
12420 #. type: Plain text
12421 #: build/C/man3/stdin.3:23
12422 #, no-wrap
12423 msgid ""
12424 "B<extern FILE *>I<stdin>B<;>\n"
12425 "B<extern FILE *>I<stdout>B<;>\n"
12426 "B<extern FILE *>I<stderr>B<;>\n"
12427 msgstr ""
12428 "B<extern FILE *>I<stdin>B<;>\n"
12429 "B<extern FILE *>I<stdout>B<;>\n"
12430 "B<extern FILE *>I<stderr>B<;>\n"
12431
12432 #. type: Plain text
12433 #: build/C/man3/stdin.3:35
12434 msgid ""
12435 "Under normal circumstances every UNIX program has three streams opened for "
12436 "it when it starts up, one for input, one for output, and one for printing "
12437 "diagnostic or error messages.  These are typically attached to the user's "
12438 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
12439 "depending on what the parent process chose to set up.  (See also the "
12440 "\"Redirection\" section of B<sh>(1).)"
12441 msgstr ""
12442 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
12443 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
12444 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
12445 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
12446 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
12447
12448 #. type: Plain text
12449 #: build/C/man3/stdin.3:45
12450 msgid ""
12451 "The input stream is referred to as \"standard input\"; the output stream is "
12452 "referred to as \"standard output\"; and the error stream is referred to as "
12453 "\"standard error\".  These terms are abbreviated to form the symbols used to "
12454 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
12455 msgstr ""
12456 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
12457 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
12458 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
12459 "I<stdout>, I<stderr> である。"
12460
12461 #. type: Plain text
12462 #: build/C/man3/stdin.3:54
12463 msgid ""
12464 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
12465 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
12466 msgstr ""
12467 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
12468 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
12469
12470 #. type: Plain text
12471 #: build/C/man3/stdin.3:63
12472 msgid ""
12473 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
12474 "same underlying files may also be accessed using the raw UNIX file "
12475 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
12476 msgstr ""
12477 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
12478 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
12479 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
12480 "る。"
12481
12482 #. type: Plain text
12483 #: build/C/man3/stdin.3:82
12484 msgid ""
12485 "On program startup, the integer file descriptors associated with the streams "
12486 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
12487 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
12488 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
12489 "(3)  to one of these streams can change the file descriptor number "
12490 "associated with the stream.)"
12491 msgstr ""
12492 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
12493 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
12494 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
12495 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
12496 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
12497 "たファイルディスクリプタ の番号を変更することができる。)"
12498
12499 #. type: Plain text
12500 #: build/C/man3/stdin.3:95
12501 msgid ""
12502 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
12503 "unexpected results and should generally be avoided.  (For the masochistic "
12504 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
12505 "is supposed to work.)  A general rule is that file descriptors are handled "
12506 "in the kernel, while stdio is just a library.  This means for example, that "
12507 "after an B<exec>(3), the child inherits all open file descriptors, but all "
12508 "old streams have become inaccessible."
12509 msgstr ""
12510 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
12511 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
12512 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
12513 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
12514 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
12515 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
12516 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
12517
12518 #. type: Plain text
12519 #: build/C/man3/stdin.3:113
12520 msgid ""
12521 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
12522 "macros, assigning to them is nonportable.  The standard streams can be made "
12523 "to refer to different files with help of the library function B<freopen>(3), "
12524 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
12525 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
12526 "by normal program termination."
12527 msgstr ""
12528 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
12529 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
12530 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
12531 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
12532 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
12533 "グラムの正常終了によってクローズされる。"
12534
12535 #. type: Plain text
12536 #: build/C/man3/stdin.3:122
12537 msgid ""
12538 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
12539 "standard also stipulates that these three streams shall be open at program "
12540 "startup."
12541 msgstr ""
12542 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
12543 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
12544 "とが規定されている。"
12545
12546 #. type: Plain text
12547 #: build/C/man3/stdin.3:154
12548 msgid ""
12549 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
12550 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
12551 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
12552 "unexpected results, especially with debugging output.  The buffering mode of "
12553 "the standard streams (or any other stream)  can be changed using the "
12554 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
12555 "associated with a terminal, there may also be input buffering in the "
12556 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
12557 "terminal input is line buffered in the kernel.)  This kernel input handling "
12558 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
12559 "B<termios>(3)."
12560 msgstr ""
12561 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
12562 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
12563 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
12564 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
12565 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
12566 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
12567 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
12568 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
12569 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
12570 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
12571 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
12572 "B<termios>(3)  も参照すること。"
12573
12574 #. type: Plain text
12575 #: build/C/man3/stdin.3:160
12576 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12577 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12578
12579 #. type: TH
12580 #: build/C/man3/stdio.3:39
12581 #, no-wrap
12582 msgid "STDIO"
12583 msgstr "STDIO"
12584
12585 #. type: TH
12586 #: build/C/man3/stdio.3:39
12587 #, no-wrap
12588 msgid "2001-12-26"
12589 msgstr "2001-12-26"
12590
12591 #. type: Plain text
12592 #: build/C/man3/stdio.3:42
12593 msgid "stdio - standard input/output library functions"
12594 msgstr "stdio - 標準入出力ライブラリ関数"
12595
12596 #. type: Plain text
12597 #: build/C/man3/stdio.3:46
12598 msgid "B<FILE *>I<stdin>B<;>"
12599 msgstr "B<FILE *>I<stdin>B<;>"
12600
12601 #. type: Plain text
12602 #: build/C/man3/stdio.3:48
12603 msgid "B<FILE *>I<stdout>B<;>"
12604 msgstr "B<FILE *>I<stdout>B<;>"
12605
12606 #. type: Plain text
12607 #: build/C/man3/stdio.3:50
12608 msgid "B<FILE *>I<stderr>B<;>"
12609 msgstr "B<FILE *>I<stderr>B<;>"
12610
12611 #. type: Plain text
12612 #: build/C/man3/stdio.3:57
12613 msgid ""
12614 "The standard I/O library provides a simple and efficient buffered stream I/O "
12615 "interface.  Input and output is mapped into logical data streams and the "
12616 "physical I/O characteristics are concealed.  The functions and macros are "
12617 "listed below; more information is available from the individual man pages."
12618 msgstr ""
12619 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12620 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12621 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12622 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12623
12624 #. type: Plain text
12625 #: build/C/man3/stdio.3:80
12626 msgid ""
12627 "A stream is associated with an external file (which may be a physical "
12628 "device) by I<opening> a file, which may involve creating a new file.  "
12629 "Creating an existing file causes its former contents to be discarded.  If a "
12630 "file can support positioning requests (such as a disk file, as opposed to a "
12631 "terminal) then a I<file position indicator> associated with the stream is "
12632 "positioned at the start of the file (byte zero), unless the file is opened "
12633 "with append mode.  If append mode is used, it is unspecified whether the "
12634 "position indicator will be placed at the start or the end of the file.  The "
12635 "position indicator is maintained by subsequent reads, writes and positioning "
12636 "requests.  All input occurs as if the characters were read by successive "
12637 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12638 "characters were written by successive calls to the B<fputc>(3)  function."
12639 msgstr ""
12640 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12641 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12642 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12643 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12644 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12645 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12646 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12647 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12648 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12649 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12650 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12651 "字を書き込んだかのように行われる。"
12652
12653 #. type: Plain text
12654 #: build/C/man3/stdio.3:90
12655 msgid ""
12656 "A file is disassociated from a stream by I<closing> the file.  Output "
12657 "streams are flushed (any unwritten buffer contents are transferred to the "
12658 "host environment) before the stream is disassociated from the file.  The "
12659 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12660 "closed (garbage)."
12661 msgstr ""
12662 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12663 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12664 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12665 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12666 "確定になる (ゴミになってしまう)。"
12667
12668 #. type: Plain text
12669 #: build/C/man3/stdio.3:103
12670 msgid ""
12671 "A file may be subsequently reopened, by the same or another program "
12672 "execution, and its contents reclaimed or modified (if it can be repositioned "
12673 "at the start).  If the main function returns to its original caller, or the "
12674 "B<exit>(3)  function is called, all open files are closed (hence all output "
12675 "streams are flushed) before program termination.  Other methods of program "
12676 "termination, such as B<abort>(3)  do not bother about closing files properly."
12677 msgstr ""
12678 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12679 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12680 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12681 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12682 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12683 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12684 "保証はない。"
12685
12686 #. type: Plain text
12687 #: build/C/man3/stdio.3:119
12688 msgid ""
12689 "At program startup, three text streams are predefined and need not be opened "
12690 "explicitly: I<standard input> (for reading conventional input), I<standard "
12691 "output> (for writing conventional input), and I<standard error> (for writing "
12692 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12693 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12694 "the standard input and output streams are fully buffered if and only if the "
12695 "streams do not refer to an interactive device."
12696 msgstr ""
12697 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12698 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12699 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12700 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12701 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12702 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12703 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12704 "スを参照していなければ、 完全にバッファリングされている。"
12705
12706 #. type: Plain text
12707 #: build/C/man3/stdio.3:129
12708 msgid ""
12709 "Output streams that refer to terminal devices are always line buffered by "
12710 "default; pending output to such streams is written automatically whenever an "
12711 "input stream that refers to a terminal device is read.  In cases where a "
12712 "large amount of computation is done after printing part of a line on an "
12713 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12714 "going off and computing so that the output will appear."
12715 msgstr ""
12716 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12717 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12718 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12719 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12720 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12721 "必要がある。"
12722
12723 #. type: Plain text
12724 #: build/C/man3/stdio.3:143
12725 msgid ""
12726 "The I<stdio> library is a part of the library B<libc> and routines are "
12727 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12728 "SYNOPSIS sections of the following manual pages indicate which include files "
12729 "are to be used, what the compiler declaration for the function looks like "
12730 "and which external variables are of interest."
12731 msgstr ""
12732 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12733 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12734 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12735 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12736 "数が関係するのかが示されている。"
12737
12738 #.  Not on Linux: .BR fropen ,
12739 #.  Not on Linux: .BR fwopen ,
12740 #. type: Plain text
12741 #: build/C/man3/stdio.3:183
12742 msgid ""
12743 "The following are defined as macros; these names may not be reused without "
12744 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12745 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12746 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12747 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12748 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12749 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12750 "and B<putchar> exist and will be used if the macros definitions are "
12751 "explicitly removed."
12752 msgstr ""
12753 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12754 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12755 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12756 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12757 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12758 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12759 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12760 "示的に消去されている場合には、 これらを使用することになるだろう。"
12761
12762 #. type: SS
12763 #: build/C/man3/stdio.3:183
12764 #, no-wrap
12765 msgid "List of functions"
12766 msgstr "関数のリスト"
12767
12768 #. type: tbl table
12769 #: build/C/man3/stdio.3:188
12770 #, no-wrap
12771 msgid "Function\tDescription\n"
12772 msgstr "関数\t説明\n"
12773
12774 #. type: tbl table
12775 #: build/C/man3/stdio.3:189
12776 #, no-wrap
12777 msgid "_\n"
12778 msgstr "_\n"
12779
12780 #. type: tbl table
12781 #: build/C/man3/stdio.3:190
12782 #, no-wrap
12783 msgid "clearerr\tcheck and reset stream status\n"
12784 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12785
12786 #. type: tbl table
12787 #: build/C/man3/stdio.3:191
12788 #, no-wrap
12789 msgid "fclose\tclose a stream\n"
12790 msgstr "fclose\tストリームをクローズする\n"
12791
12792 #. type: tbl table
12793 #: build/C/man3/stdio.3:192
12794 #, no-wrap
12795 msgid "fdopen\tstream open functions\n"
12796 msgstr "fdopen\tストリームをオープンする\n"
12797
12798 #. type: tbl table
12799 #: build/C/man3/stdio.3:193
12800 #, no-wrap
12801 msgid "feof\tcheck and reset stream status\n"
12802 msgstr "feof\tストリームの状態の確認とリセット\n"
12803
12804 #. type: tbl table
12805 #: build/C/man3/stdio.3:194
12806 #, no-wrap
12807 msgid "ferror\tcheck and reset stream status\n"
12808 msgstr "ferror\tストリームの状態の確認とリセット\n"
12809
12810 #. type: tbl table
12811 #: build/C/man3/stdio.3:195
12812 #, no-wrap
12813 msgid "fflush\tflush a stream\n"
12814 msgstr "fflush\tストリームをフラッシュする\n"
12815
12816 #. type: tbl table
12817 #: build/C/man3/stdio.3:196
12818 #, no-wrap
12819 msgid "fgetc\tget next character or word from input stream\n"
12820 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12821
12822 #. type: tbl table
12823 #: build/C/man3/stdio.3:197
12824 #, no-wrap
12825 msgid "fgetpos\treposition a stream\n"
12826 msgstr "fgetpos\tストリームの位置を取得する\n"
12827
12828 #. type: tbl table
12829 #: build/C/man3/stdio.3:198
12830 #, no-wrap
12831 msgid "fgets\tget a line from a stream\n"
12832 msgstr "fgets\tストリームから行を取得する\n"
12833
12834 #. type: tbl table
12835 #: build/C/man3/stdio.3:199
12836 #, no-wrap
12837 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12838 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12839
12840 #. type: tbl table
12841 #: build/C/man3/stdio.3:200
12842 #, no-wrap
12843 msgid "fopen\tstream open functions\n"
12844 msgstr "fopen\tストリームをオープンする\n"
12845
12846 #. type: tbl table
12847 #: build/C/man3/stdio.3:201
12848 #, no-wrap
12849 msgid "fprintf\tformatted output conversion\n"
12850 msgstr "fprintf\t書式付き出力変換\n"
12851
12852 #. type: tbl table
12853 #: build/C/man3/stdio.3:202
12854 #, no-wrap
12855 msgid "fpurge\tflush a stream\n"
12856 msgstr "fpurge\tストリームをフラッシュする\n"
12857
12858 #. type: tbl table
12859 #: build/C/man3/stdio.3:203
12860 #, no-wrap
12861 msgid "fputc\toutput a character or word to a stream\n"
12862 msgstr "fputc\t文字または語をストリームに出力する\n"
12863
12864 #. type: tbl table
12865 #: build/C/man3/stdio.3:204
12866 #, no-wrap
12867 msgid "fputs\toutput a line to a stream\n"
12868 msgstr "fputs\t行をストリームに出力する\n"
12869
12870 #. type: tbl table
12871 #: build/C/man3/stdio.3:205
12872 #, no-wrap
12873 msgid "fread\tbinary stream input/output\n"
12874 msgstr "fread\tバイナリーストリーム入出力\n"
12875
12876 #. type: tbl table
12877 #: build/C/man3/stdio.3:206
12878 #, no-wrap
12879 msgid "freopen\tstream open functions\n"
12880 msgstr "freopen\tストリームをオープンする\n"
12881
12882 #. type: tbl table
12883 #: build/C/man3/stdio.3:207
12884 #, no-wrap
12885 msgid "fscanf\tinput format conversion\n"
12886 msgstr "fscanf\t書式付き入力変換\n"
12887
12888 #. type: tbl table
12889 #: build/C/man3/stdio.3:208
12890 #, no-wrap
12891 msgid "fseek\treposition a stream\n"
12892 msgstr "fseek\tストリームの位置指示子を移動する\n"
12893
12894 #. type: tbl table
12895 #: build/C/man3/stdio.3:209
12896 #, no-wrap
12897 msgid "fsetpos\treposition a stream\n"
12898 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12899
12900 #. type: tbl table
12901 #: build/C/man3/stdio.3:210
12902 #, no-wrap
12903 msgid "ftell\treposition a stream\n"
12904 msgstr "ftell\tストリームの位置を取得する\n"
12905
12906 #. type: tbl table
12907 #: build/C/man3/stdio.3:211
12908 #, no-wrap
12909 msgid "fwrite\tbinary stream input/output\n"
12910 msgstr "fwrite\tバイナリーストリーム入出力\n"
12911
12912 #. type: tbl table
12913 #: build/C/man3/stdio.3:212
12914 #, no-wrap
12915 msgid "getc\tget next character or word from input stream\n"
12916 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12917
12918 #. type: tbl table
12919 #: build/C/man3/stdio.3:213
12920 #, no-wrap
12921 msgid "getchar\tget next character or word from input stream\n"
12922 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12923
12924 #. type: tbl table
12925 #: build/C/man3/stdio.3:214
12926 #, no-wrap
12927 msgid "gets\tget a line from a stream\n"
12928 msgstr "gets\t行を入力ストリームから取得する\n"
12929
12930 #. type: tbl table
12931 #: build/C/man3/stdio.3:215
12932 #, no-wrap
12933 msgid "getw\tget next character or word from input stream\n"
12934 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12935
12936 #. type: tbl table
12937 #: build/C/man3/stdio.3:216
12938 #, no-wrap
12939 msgid "mktemp\tmake temporary filename (unique)\n"
12940 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12941
12942 #. type: tbl table
12943 #: build/C/man3/stdio.3:217
12944 #, no-wrap
12945 msgid "perror\tsystem error messages\n"
12946 msgstr "perror\tシステムエラーメッセージ\n"
12947
12948 #. type: tbl table
12949 #: build/C/man3/stdio.3:218
12950 #, no-wrap
12951 msgid "printf\tformatted output conversion\n"
12952 msgstr "printf\t書式付き出力変換\n"
12953
12954 #. type: tbl table
12955 #: build/C/man3/stdio.3:219
12956 #, no-wrap
12957 msgid "putc\toutput a character or word to a stream\n"
12958 msgstr "putc\t文字または語をストリームに出力する\n"
12959
12960 #. type: tbl table
12961 #: build/C/man3/stdio.3:220
12962 #, no-wrap
12963 msgid "putchar\toutput a character or word to a stream\n"
12964 msgstr "putchar\t文字または語をストリームに出力する\n"
12965
12966 #. type: tbl table
12967 #: build/C/man3/stdio.3:221
12968 #, no-wrap
12969 msgid "puts\toutput a line to a stream\n"
12970 msgstr "puts\t行をストリームに出力する\n"
12971
12972 #. type: tbl table
12973 #: build/C/man3/stdio.3:222
12974 #, no-wrap
12975 msgid "putw\toutput a character or word to a stream\n"
12976 msgstr "putw\t文字または語をストリームに出力する\n"
12977
12978 #. type: tbl table
12979 #: build/C/man3/stdio.3:223
12980 #, no-wrap
12981 msgid "remove\tremove directory entry\n"
12982 msgstr "remove\tディレクトリエントリを削除する\n"
12983
12984 #. type: tbl table
12985 #: build/C/man3/stdio.3:224
12986 #, no-wrap
12987 msgid "rewind\treposition a stream\n"
12988 msgstr "rewind\tストリームの位置指示子を移動する\n"
12989
12990 #. type: tbl table
12991 #: build/C/man3/stdio.3:225
12992 #, no-wrap
12993 msgid "scanf\tinput format conversion\n"
12994 msgstr "scanf\t書式付き入力変換\n"
12995
12996 #. type: tbl table
12997 #: build/C/man3/stdio.3:226
12998 #, no-wrap
12999 msgid "setbuf\tstream buffering operations\n"
13000 msgstr "setbuf\tストリームのバッファリングの操作\n"
13001
13002 #. type: tbl table
13003 #: build/C/man3/stdio.3:227
13004 #, no-wrap
13005 msgid "setbuffer\tstream buffering operations\n"
13006 msgstr "setbuffer\tストリームのバッファリングの操作\n"
13007
13008 #. type: tbl table
13009 #: build/C/man3/stdio.3:228
13010 #, no-wrap
13011 msgid "setlinebuf\tstream buffering operations\n"
13012 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
13013
13014 #. type: tbl table
13015 #: build/C/man3/stdio.3:229
13016 #, no-wrap
13017 msgid "setvbuf\tstream buffering operations\n"
13018 msgstr "setvbuf\tストリームのバッファリングの操作\n"
13019
13020 #. type: tbl table
13021 #: build/C/man3/stdio.3:230
13022 #, no-wrap
13023 msgid "sprintf\tformatted output conversion\n"
13024 msgstr "sprintf\t書式付き出力変換\n"
13025
13026 #. type: tbl table
13027 #: build/C/man3/stdio.3:231
13028 #, no-wrap
13029 msgid "sscanf\tinput format conversion\n"
13030 msgstr "sscanf\t書式付き入力変換\n"
13031
13032 #. type: tbl table
13033 #: build/C/man3/stdio.3:232
13034 #, no-wrap
13035 msgid "strerror\tsystem error messages\n"
13036 msgstr "strerror\tシステムエラーメッセージ\n"
13037
13038 #. type: tbl table
13039 #: build/C/man3/stdio.3:233
13040 #, no-wrap
13041 msgid "sys_errlist\tsystem error messages\n"
13042 msgstr "sys_errlist\tシステムエラーメッセージ\n"
13043
13044 #. type: tbl table
13045 #: build/C/man3/stdio.3:234
13046 #, no-wrap
13047 msgid "sys_nerr\tsystem error messages\n"
13048 msgstr "sys_nerr\tシステムエラーメッセージ\n"
13049
13050 #. type: tbl table
13051 #: build/C/man3/stdio.3:235
13052 #, no-wrap
13053 msgid "tempnam\ttemporary file routines\n"
13054 msgstr "tempnam\tテンポラリファイルの操作\n"
13055
13056 #. type: tbl table
13057 #: build/C/man3/stdio.3:236
13058 #, no-wrap
13059 msgid "tmpfile\ttemporary file routines\n"
13060 msgstr "tmpfile\tテンポラリファイルの操作\n"
13061
13062 #. type: tbl table
13063 #: build/C/man3/stdio.3:237
13064 #, no-wrap
13065 msgid "tmpnam\ttemporary file routines\n"
13066 msgstr "tmpnam\tテンポラリファイルの操作\n"
13067
13068 #. type: tbl table
13069 #: build/C/man3/stdio.3:238
13070 #, no-wrap
13071 msgid "ungetc\tun-get character from input stream\n"
13072 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
13073
13074 #. type: tbl table
13075 #: build/C/man3/stdio.3:239
13076 #, no-wrap
13077 msgid "vfprintf\tformatted output conversion\n"
13078 msgstr "vfprintf\t書式付き出力変換\n"
13079
13080 #. type: tbl table
13081 #: build/C/man3/stdio.3:240
13082 #, no-wrap
13083 msgid "vfscanf\tinput format conversion\n"
13084 msgstr "vfscanf\t書式付き入力変換\n"
13085
13086 #. type: tbl table
13087 #: build/C/man3/stdio.3:241
13088 #, no-wrap
13089 msgid "vprintf\tformatted output conversion\n"
13090 msgstr "vprintf\t書式付き出力変換\n"
13091
13092 #. type: tbl table
13093 #: build/C/man3/stdio.3:242
13094 #, no-wrap
13095 msgid "vscanf\tinput format conversion\n"
13096 msgstr "vscanf\t書式付き入力変換\n"
13097
13098 #. type: tbl table
13099 #: build/C/man3/stdio.3:243
13100 #, no-wrap
13101 msgid "vsprintf\tformatted output conversion\n"
13102 msgstr "vsprintf\t書式付き出力変換\n"
13103
13104 #. type: tbl table
13105 #: build/C/man3/stdio.3:244
13106 #, no-wrap
13107 msgid "vsscanf\tinput format conversion\n"
13108 msgstr "vsscanf\t書式付き入力変換\n"
13109
13110 #. type: Plain text
13111 #: build/C/man3/stdio.3:250
13112 msgid "The I<stdio> library conforms to C89."
13113 msgstr "I<stdio> ライブラリは C89 に準拠している。"
13114
13115 #. type: Plain text
13116 #: build/C/man3/stdio.3:257
13117 msgid ""
13118 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
13119 "B<unlocked_stdio>(3)"
13120 msgstr ""
13121 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
13122 "B<unlocked_stdio>(3)"
13123
13124 #. type: TH
13125 #: build/C/man3/stdio_ext.3:25
13126 #, no-wrap
13127 msgid "STDIO_EXT"
13128 msgstr "STDIO_EXT"
13129
13130 #. type: Plain text
13131 #: build/C/man3/stdio_ext.3:30
13132 msgid ""
13133 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
13134 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
13135 "structure"
13136 msgstr ""
13137 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
13138 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
13139 "へのインタフェース"
13140
13141 #. type: Plain text
13142 #: build/C/man3/stdio_ext.3:34
13143 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
13144 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
13145
13146 #. type: Plain text
13147 #: build/C/man3/stdio_ext.3:36
13148 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
13149 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
13150
13151 #. type: Plain text
13152 #: build/C/man3/stdio_ext.3:38
13153 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
13154 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
13155
13156 #. type: Plain text
13157 #: build/C/man3/stdio_ext.3:40
13158 msgid "B<int __flbf(FILE *>I<stream>B<);>"
13159 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
13160
13161 #. type: Plain text
13162 #: build/C/man3/stdio_ext.3:42
13163 msgid "B<int __freadable(FILE *>I<stream>B<);>"
13164 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
13165
13166 #. type: Plain text
13167 #: build/C/man3/stdio_ext.3:44
13168 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
13169 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
13170
13171 #. type: Plain text
13172 #: build/C/man3/stdio_ext.3:46
13173 msgid "B<int __freading(FILE *>I<stream>B<);>"
13174 msgstr "B<int __freading(FILE *>I<stream>B<);>"
13175
13176 #. type: Plain text
13177 #: build/C/man3/stdio_ext.3:48
13178 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
13179 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
13180
13181 #. type: Plain text
13182 #: build/C/man3/stdio_ext.3:50
13183 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
13184 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
13185
13186 #. type: Plain text
13187 #: build/C/man3/stdio_ext.3:52
13188 msgid "B<void _flushlbf(void);>"
13189 msgstr "B<void _flushlbf(void);>"
13190
13191 #. type: Plain text
13192 #: build/C/man3/stdio_ext.3:54
13193 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
13194 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
13195
13196 #. type: Plain text
13197 #: build/C/man3/stdio_ext.3:59
13198 msgid ""
13199 "Solaris introduced routines to allow portable access to the internals of the "
13200 "I<FILE> structure, and glibc also implemented these."
13201 msgstr ""
13202 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
13203 "が導入されており、これらは glibc でも実装されている。"
13204
13205 #. type: Plain text
13206 #: build/C/man3/stdio_ext.3:64
13207 msgid ""
13208 "The B<__fbufsize>()  function returns the size of the buffer currently used "
13209 "by the given stream."
13210 msgstr ""
13211 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファサイズを返"
13212 "す。"
13213
13214 #. type: Plain text
13215 #: build/C/man3/stdio_ext.3:71
13216 msgid ""
13217 "The B<__fpending>()  function returns the number of bytes in the output "
13218 "buffer.  For wide-oriented streams the unit is wide characters.  This "
13219 "function is undefined on buffers in reading mode, or opened read-only."
13220 msgstr ""
13221 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
13222 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
13223 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
13224 "は未定義である。"
13225
13226 #. type: Plain text
13227 #: build/C/man3/stdio_ext.3:76
13228 msgid ""
13229 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
13230 "buffered, and zero otherwise."
13231 msgstr ""
13232 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
13233 "場合は 0 を返す。"
13234
13235 #. type: Plain text
13236 #: build/C/man3/stdio_ext.3:81
13237 msgid ""
13238 "The B<__freadable>()  function returns a nonzero value if the stream allows "
13239 "reading, and zero otherwise."
13240 msgstr ""
13241 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
13242 "外の場合は 0 を返す。"
13243
13244 #. type: Plain text
13245 #: build/C/man3/stdio_ext.3:86
13246 msgid ""
13247 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
13248 "writing, and zero otherwise."
13249 msgstr ""
13250 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
13251 "外の場合は 0 を返す。"
13252
13253 #. type: Plain text
13254 #: build/C/man3/stdio_ext.3:92
13255 msgid ""
13256 "The B<__freading>()  function returns a nonzero value if the stream is read-"
13257 "only, or if the last operation on the stream was a read operation, and zero "
13258 "otherwise."
13259 msgstr ""
13260 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
13261 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
13262 "を返す。"
13263
13264 #. type: Plain text
13265 #: build/C/man3/stdio_ext.3:98
13266 msgid ""
13267 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
13268 "only (or append-only), or if the last operation on the stream was a write "
13269 "operation, and zero otherwise."
13270 msgstr ""
13271 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
13272 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
13273 "し、 それ以外の場合は 0 を返す。"
13274
13275 #. type: Plain text
13276 #: build/C/man3/stdio_ext.3:106
13277 msgid ""
13278 "The B<__fsetlocking>()  function can be used to select the desired type of "
13279 "locking on the stream.  It returns the current type.  The I<type> argument "
13280 "can take the following three values:"
13281 msgstr ""
13282 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
13283 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
13284 "ることができる :"
13285
13286 #. type: TP
13287 #: build/C/man3/stdio_ext.3:106
13288 #, no-wrap
13289 msgid "B<FSETLOCKING_INTERNAL>"
13290 msgstr "B<FSETLOCKING_INTERNAL>"
13291
13292 #. type: Plain text
13293 #: build/C/man3/stdio_ext.3:111
13294 msgid ""
13295 "Perform implicit locking around every operation on the given stream (except "
13296 "for the *_unlocked ones).  This is the default."
13297 msgstr ""
13298 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
13299 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
13300 "である)。 これがデフォルトのロック形式である。"
13301
13302 #. type: TP
13303 #: build/C/man3/stdio_ext.3:111
13304 #, no-wrap
13305 msgid "B<FSETLOCKING_BYCALLER>"
13306 msgstr "B<FSETLOCKING_BYCALLER>"
13307
13308 #. type: Plain text
13309 #: build/C/man3/stdio_ext.3:118
13310 msgid ""
13311 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
13312 "case there is more than one thread), and the stdio routines will not do "
13313 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
13314 msgstr ""
13315 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
13316 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
13317 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
13318 "理を行わない。"
13319
13320 #. type: TP
13321 #: build/C/man3/stdio_ext.3:118
13322 #, no-wrap
13323 msgid "B<FSETLOCKING_QUERY>"
13324 msgstr "B<FSETLOCKING_QUERY>"
13325
13326 #. type: Plain text
13327 #: build/C/man3/stdio_ext.3:122
13328 msgid "Don't change the type of locking.  (Only return it.)"
13329 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
13330
13331 #. type: Plain text
13332 #: build/C/man3/stdio_ext.3:128
13333 msgid ""
13334 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
13335 "so that output to a terminal is forced out, say before reading keyboard "
13336 "input.)"
13337 msgstr ""
13338 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
13339 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
13340 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
13341 "いだろう)"
13342
13343 #. type: Plain text
13344 #: build/C/man3/stdio_ext.3:132
13345 msgid ""
13346 "The B<__fpurge>()  function discards the contents of the stream's buffer."
13347 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
13348
13349 #. type: Plain text
13350 #: build/C/man3/stdio_ext.3:141
13351 msgid ""
13352 "The B<__fbufsize>(), B<__fpending>(), B<__fpurge>()  and B<__fsetlocking>()  "
13353 "functions do not lock the stream, so they are not thread-safe."
13354 msgstr ""
13355 "関数 B<__fbufsize>(), B<__fpending>(), B<__fpurge>(), B<__fsetlocking>() "
13356 "は、 ストリームのロックを行わない。 そのため、スレッドセーフではない。"
13357
13358 #. type: Plain text
13359 #: build/C/man3/stdio_ext.3:151
13360 msgid ""
13361 "The B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
13362 "B<__fwriting>()  and B<_flushlbf>()  functions are thread-safe."
13363 msgstr ""
13364 "関数 B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
13365 "B<__fwriting>(), B<_flushlbf>() はスレッドセーフである。"
13366
13367 #. type: Plain text
13368 #: build/C/man3/stdio_ext.3:154
13369 msgid "B<flockfile>(3), B<fpurge>(3)"
13370 msgstr "B<flockfile>(3), B<fpurge>(3)"
13371
13372 #. type: TH
13373 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
13374 #, no-wrap
13375 msgid "SYMLINK"
13376 msgstr "SYMLINK"
13377
13378 #. type: Plain text
13379 #: build/C/man2/symlink.2:35
13380 msgid "symlink - make a new name for a file"
13381 msgstr "symlink - ファイルに新しい名前を付ける"
13382
13383 #. type: Plain text
13384 #: build/C/man2/symlink.2:39
13385 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
13386 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
13387
13388 #. type: Plain text
13389 #: build/C/man2/symlink.2:47
13390 msgid "B<symlink>():"
13391 msgstr "B<symlink>():"
13392
13393 #. type: Plain text
13394 #: build/C/man2/symlink.2:58
13395 msgid ""
13396 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
13397 "string I<oldpath>."
13398 msgstr ""
13399 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
13400 "I<newpath> というシンボリックリンク (symbolic link) を作成する。"
13401
13402 #. type: Plain text
13403 #: build/C/man2/symlink.2:62
13404 msgid ""
13405 "Symbolic links are interpreted at run time as if the contents of the link "
13406 "had been substituted into the path being followed to find a file or "
13407 "directory."
13408 msgstr ""
13409 "シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
13410 "スを辿ることで、 ファイルやディレクトリに到達する。"
13411
13412 #. type: Plain text
13413 #: build/C/man2/symlink.2:67
13414 msgid ""
13415 "Symbolic links may contain I<..> path components, which (if used at the "
13416 "start of the link) refer to the parent directories of that in which the link "
13417 "resides."
13418 msgstr ""
13419 "シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
13420 "の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
13421 "される。"
13422
13423 #. type: Plain text
13424 #: build/C/man2/symlink.2:71
13425 msgid ""
13426 "A symbolic link (also known as a soft link) may point to an existing file or "
13427 "to a nonexistent one; the latter case is known as a dangling link."
13428 msgstr ""
13429 "シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
13430 "を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
13431 "の場合は壊れたリンク (dangling link) とも呼ばれる。"
13432
13433 #. type: Plain text
13434 #: build/C/man2/symlink.2:78
13435 msgid ""
13436 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
13437 "when following the link, but is checked when removal or renaming of the link "
13438 "is requested and the link is in a directory with the sticky bit "
13439 "(B<S_ISVTX>)  set."
13440 msgstr ""
13441 "シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
13442 "は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
13443 "れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
13444 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
13445
13446 #. type: Plain text
13447 #: build/C/man2/symlink.2:99
13448 msgid ""
13449 "Write access to the directory containing I<newpath> is denied, or one of the "
13450 "directories in the path prefix of I<newpath> did not allow search "
13451 "permission.  (See also B<path_resolution>(7).)"
13452 msgstr ""
13453 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
13454 "含まれているディレクトリのどれかに検索許可が与えられていない "
13455 "(B<path_resolution>(7)  も参照すること)。"
13456
13457 #. type: Plain text
13458 #: build/C/man2/symlink.2:104
13459 #, fuzzy
13460 #| msgid ""
13461 #| "The user's quota of resources on the file system has been exhausted.  The "
13462 #| "resources could be inodes or disk blocks, depending on the file system "
13463 #| "implementation."
13464 msgid ""
13465 "The user's quota of resources on the filesystem has been exhausted.  The "
13466 "resources could be inodes or disk blocks, depending on the filesystem "
13467 "implementation."
13468 msgstr ""
13469 "そのファイルシステムのリソース使用量がユーザクォータに達している。対象となる"
13470 "リソースは inode かディスクブロックで、どちらになるかはファイルシステムの実装"
13471 "依存である。"
13472
13473 #. type: Plain text
13474 #: build/C/man2/symlink.2:118
13475 msgid "Too many symbolic links were encountered in resolving I<newpath>."
13476 msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
13477
13478 #. type: Plain text
13479 #: build/C/man2/symlink.2:128
13480 msgid ""
13481 "A directory component in I<newpath> does not exist or is a dangling symbolic "
13482 "link, or I<oldpath> is the empty string."
13483 msgstr ""
13484 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
13485 "I<oldpath> が空文字列である。"
13486
13487 #. type: Plain text
13488 #: build/C/man2/symlink.2:140
13489 msgid ""
13490 "A component used as a directory in I<newpath> is not, in fact, a directory."
13491 msgstr ""
13492 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
13493
13494 #. type: Plain text
13495 #: build/C/man2/symlink.2:145
13496 #, fuzzy
13497 #| msgid ""
13498 #| "The file system containing I<newpath> does not support the creation of "
13499 #| "symbolic links."
13500 msgid ""
13501 "The filesystem containing I<newpath> does not support the creation of "
13502 "symbolic links."
13503 msgstr ""
13504 "I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
13505 "作成をサポートしていない。"
13506
13507 #. type: Plain text
13508 #: build/C/man2/symlink.2:149
13509 #, fuzzy
13510 #| msgid "I<newpath> is on a read-only file system."
13511 msgid "I<newpath> is on a read-only filesystem."
13512 msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
13513
13514 #. type: Plain text
13515 #: build/C/man2/symlink.2:159
13516 msgid "No checking of I<oldpath> is done."
13517 msgstr "I<oldpath> についてのチェックは行なわれない。"
13518
13519 #. type: Plain text
13520 #: build/C/man2/symlink.2:164
13521 msgid ""
13522 "Deleting the name referred to by a symlink will actually delete the file "
13523 "(unless it also has other hard links).  If this behavior is not desired, use "
13524 "B<link>(2)."
13525 msgstr ""
13526 "symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
13527 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
13528 "場合は、 B<link>(2)  を使用すること。"
13529
13530 #. type: Plain text
13531 #: build/C/man2/symlink.2:176
13532 msgid ""
13533 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13534 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13535 "B<symlink>(7)"
13536 msgstr ""
13537 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13538 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13539 "B<symlink>(7)"
13540
13541 #. type: TH
13542 #: build/C/man7/symlink.7:36
13543 #, no-wrap
13544 msgid "2008-06-18"
13545 msgstr "2008-06-18"
13546
13547 #. type: Plain text
13548 #: build/C/man7/symlink.7:39
13549 msgid "symlink - symbolic link handling"
13550 msgstr ""
13551
13552 #. type: SH
13553 #: build/C/man7/symlink.7:39
13554 #, no-wrap
13555 msgid "SYMBOLIC LINK HANDLING"
13556 msgstr ""
13557
13558 #. type: Plain text
13559 #: build/C/man7/symlink.7:43
13560 msgid ""
13561 "Symbolic links are files that act as pointers to other files.  To understand "
13562 "their behavior, you must first understand how hard links work."
13563 msgstr ""
13564
13565 #. type: Plain text
13566 #: build/C/man7/symlink.7:59
13567 msgid ""
13568 "A hard link to a file is indistinguishable from the original file because it "
13569 "is a reference to the object underlying the original filename.  (To be "
13570 "precise: each of the hard links to a file is a reference to the same I<i-"
13571 "node number>, where an i-node number is an index into the i-node table, "
13572 "which contains metadata about all files on a filesystem.  See B<stat>(2).)  "
13573 "Changes to a file are independent of the name used to reference the file.  "
13574 "Hard links may not refer to directories (to prevent the possibility of loops "
13575 "within the filesystem tree, which would confuse many programs)  and may not "
13576 "refer to files on different filesystems (because i-node numbers are not "
13577 "unique across filesystems)."
13578 msgstr ""
13579
13580 #. type: Plain text
13581 #: build/C/man7/symlink.7:66
13582 msgid ""
13583 "A symbolic link is a special type of file whose contents are a string that "
13584 "is the pathname another file, the file to which the link refers.  In other "
13585 "words, a symbolic link is a pointer to another name, and not to an "
13586 "underlying object.  For this reason, symbolic links may refer to directories "
13587 "and may cross filesystem boundaries."
13588 msgstr ""
13589
13590 #. type: Plain text
13591 #: build/C/man7/symlink.7:72
13592 msgid ""
13593 "There is no requirement that the pathname referred to by a symbolic link "
13594 "should exist.  A symbolic link that refers to a pathname that does not exist "
13595 "is said to be a I<dangling link>."
13596 msgstr ""
13597
13598 #. type: Plain text
13599 #: build/C/man7/symlink.7:84
13600 msgid ""
13601 "Because a symbolic link and its referenced object coexist in the filesystem "
13602 "name space, confusion can arise in distinguishing between the link itself "
13603 "and the referenced object.  On historical systems, commands and system calls "
13604 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13605 "Rules for a more uniform approach, as they are implemented on Linux and "
13606 "other systems, are outlined here.  It is important that site-local "
13607 "applications also conform to these rules, so that the user interface can be "
13608 "as consistent as possible."
13609 msgstr ""
13610
13611 #. type: SS
13612 #: build/C/man7/symlink.7:84
13613 #, no-wrap
13614 msgid "Symbolic link ownership, permissions, and timestamps"
13615 msgstr ""
13616
13617 #. type: Plain text
13618 #: build/C/man7/symlink.7:92
13619 msgid ""
13620 "The owner and group of an existing symbolic link can be changed using "
13621 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13622 "is when the link is being removed or renamed in a directory that has the "
13623 "sticky bit set (see B<stat>(2))."
13624 msgstr ""
13625
13626 #. type: Plain text
13627 #: build/C/man7/symlink.7:98
13628 msgid ""
13629 "The last access and last modification timestamps of a symbolic link can be "
13630 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13631 msgstr ""
13632
13633 #.  Linux does not currently implement an lchmod(2).
13634 #.  The
13635 #.  4.4BSD
13636 #.  system differs from historical
13637 #.  4BSD
13638 #.  systems in that the system call
13639 #.  .BR chown (2)
13640 #.  has been changed to follow symbolic links.
13641 #.  The
13642 #.  .BR lchown (2)
13643 #.  system call was added later when the limitations of the new
13644 #.  .BR chown (2)
13645 #.  became apparent.
13646 #. type: Plain text
13647 #: build/C/man7/symlink.7:117
13648 msgid ""
13649 "On Linux, the permissions of a symbolic link are not used in any operations; "
13650 "the permissions are always 0777 (read, write, and execute for all user "
13651 "categories), and can't be changed."
13652 msgstr ""
13653
13654 #. type: SS
13655 #: build/C/man7/symlink.7:117
13656 #, no-wrap
13657 msgid "Handling of symbolic links by system calls and commands"
13658 msgstr ""
13659
13660 #. type: Plain text
13661 #: build/C/man7/symlink.7:132
13662 msgid ""
13663 "Symbolic links are handled either by operating on the link itself, or by "
13664 "operating on the object referred to by the link.  In the latter case, an "
13665 "application or system call is said to I<follow> the link.  Symbolic links "
13666 "may refer to other symbolic links, in which case the links are dereferenced "
13667 "until an object that is not a symbolic link is found, a symbolic link that "
13668 "refers to a file which does not exist is found, or a loop is detected.  "
13669 "(Loop detection is done by placing an upper limit on the number of links "
13670 "that may be followed, and an error results if this limit is exceeded.)"
13671 msgstr ""
13672
13673 #. type: Plain text
13674 #: build/C/man7/symlink.7:135
13675 msgid ""
13676 "There are three separate areas that need to be discussed.  They are as "
13677 "follows:"
13678 msgstr ""
13679
13680 #. type: IP
13681 #: build/C/man7/symlink.7:135
13682 #, no-wrap
13683 msgid "1."
13684 msgstr "1."
13685
13686 #. type: Plain text
13687 #: build/C/man7/symlink.7:137
13688 msgid "Symbolic links used as filename arguments for system calls."
13689 msgstr ""
13690
13691 #. type: IP
13692 #: build/C/man7/symlink.7:137
13693 #, no-wrap
13694 msgid "2."
13695 msgstr "2."
13696
13697 #. type: Plain text
13698 #: build/C/man7/symlink.7:140
13699 msgid ""
13700 "Symbolic links specified as command-line arguments to utilities that are not "
13701 "traversing a file tree."
13702 msgstr ""
13703
13704 #. type: IP
13705 #: build/C/man7/symlink.7:140
13706 #, no-wrap
13707 msgid "3."
13708 msgstr "3."
13709
13710 #. type: Plain text
13711 #: build/C/man7/symlink.7:144
13712 msgid ""
13713 "Symbolic links encountered by utilities that are traversing a file tree "
13714 "(either specified on the command line or encountered as part of the file "
13715 "hierarchy walk)."
13716 msgstr ""
13717
13718 #. type: SS
13719 #: build/C/man7/symlink.7:144
13720 #, no-wrap
13721 msgid "System calls"
13722 msgstr ""
13723
13724 #. type: Plain text
13725 #: build/C/man7/symlink.7:147
13726 msgid ""
13727 "The first area is symbolic links used as filename arguments for system calls."
13728 msgstr ""
13729
13730 #. type: Plain text
13731 #: build/C/man7/symlink.7:157
13732 msgid ""
13733 "Except as noted below, all system calls follow symbolic links.  For example, "
13734 "if there were a symbolic link I<slink> which pointed to a file named "
13735 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13736 "descriptor referring to the file I<afile>."
13737 msgstr ""
13738
13739 #.  Maybe one day: .BR fchownat (2)
13740 #. type: Plain text
13741 #: build/C/man7/symlink.7:207
13742 msgid ""
13743 "Various system calls do not follow links, and operate on the symbolic link "
13744 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13745 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13746 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13747 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13748 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13749 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13750 "(2), that library function also does not follow symbolic links.  When "
13751 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13752 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13753 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13754 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13755 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13756 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13757 "to allow either behavior in an implementation."
13758 msgstr ""
13759
13760 #. type: SS
13761 #: build/C/man7/symlink.7:207
13762 #, no-wrap
13763 msgid "Commands not traversing a file tree"
13764 msgstr ""
13765
13766 #. type: Plain text
13767 #: build/C/man7/symlink.7:210
13768 msgid ""
13769 "The second area is symbolic links, specified as command-line filename "
13770 "arguments, to commands which are not traversing a file tree."
13771 msgstr ""
13772
13773 #. type: Plain text
13774 #: build/C/man7/symlink.7:221
13775 msgid ""
13776 "Except as noted below, commands follow symbolic links named as command-line "
13777 "arguments.  For example, if there were a symbolic link I<slink> which "
13778 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13779 "contents of the file I<afile>."
13780 msgstr ""
13781
13782 #. type: Plain text
13783 #: build/C/man7/symlink.7:229
13784 msgid ""
13785 "It is important to realize that this rule includes commands which may "
13786 "optionally traverse file trees, e.g., the command I<chown file> is included "
13787 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13788 "traversal, is not.  (The latter is described in the third area, below.)"
13789 msgstr ""
13790
13791 #. type: Plain text
13792 #: build/C/man7/symlink.7:247
13793 msgid ""
13794 "If it is explicitly intended that the command operate on the symbolic link "
13795 "instead of following the symbolic link, e.g., it is desired that I<chown "
13796 "slink> change the ownership of the file that I<slink> is, whether it is a "
13797 "symbolic link or not, the I<-h> option should be used.  In the above "
13798 "example, I<chown root slink> would change the ownership of the file referred "
13799 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13800 "I<slink> itself."
13801 msgstr ""
13802
13803 #. type: Plain text
13804 #: build/C/man7/symlink.7:249
13805 msgid "There are some exceptions to this rule:"
13806 msgstr ""
13807
13808 #. type: Plain text
13809 #: build/C/man7/symlink.7:259
13810 msgid ""
13811 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13812 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13813 "the symbolic link references a file via a relative path, moving it to "
13814 "another directory may very well cause it to stop working, since the path may "
13815 "no longer be correct.)"
13816 msgstr ""
13817
13818 #. type: Plain text
13819 #: build/C/man7/symlink.7:289
13820 msgid ""
13821 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13822 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13823 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13824 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13825 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13826 "the only command where the I<-H> and I<-L> options affect its behavior even "
13827 "though it is not doing a walk of a file tree.)"
13828 msgstr ""
13829
13830 #. The 4.4BSD system differs from historical 4BSD systems in that the
13831 #. .BR chown (1)
13832 #. and
13833 #. .BR chgrp (1)
13834 #. commands follow symbolic links specified on the command line.
13835 #. type: Plain text
13836 #: build/C/man7/symlink.7:307
13837 msgid ""
13838 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13839 "command does not follow symbolic links named as argument by default.  The "
13840 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13841 "L> option is specified."
13842 msgstr ""
13843
13844 #. type: SS
13845 #: build/C/man7/symlink.7:307
13846 #, no-wrap
13847 msgid "Commands traversing a file tree"
13848 msgstr ""
13849
13850 #. type: Plain text
13851 #: build/C/man7/symlink.7:320
13852 msgid ""
13853 "The following commands either optionally or always traverse file trees: "
13854 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13855 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13856 msgstr ""
13857
13858 #. type: Plain text
13859 #: build/C/man7/symlink.7:324
13860 msgid ""
13861 "It is important to realize that the following rules apply equally to "
13862 "symbolic links encountered during the file tree traversal and symbolic links "
13863 "listed as command-line arguments."
13864 msgstr ""
13865
13866 #. type: Plain text
13867 #: build/C/man7/symlink.7:329
13868 msgid ""
13869 "The I<first rule> applies to symbolic links that reference files other than "
13870 "directories.  Operations that apply to symbolic links are performed on the "
13871 "links themselves, but otherwise the links are ignored."
13872 msgstr ""
13873
13874 #. type: Plain text
13875 #: build/C/man7/symlink.7:341
13876 msgid ""
13877 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13878 "symbolic links encountered in the tree traversal of I<directory>, because "
13879 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13880 "referred to by I<slink>."
13881 msgstr ""
13882
13883 #. type: Plain text
13884 #: build/C/man7/symlink.7:346
13885 msgid ""
13886 "The I<second rule> applies to symbolic links that refer to directories.  "
13887 "Symbolic links that refer to directories are never followed by default.  "
13888 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13889 "\" walk (where symbolic links the refer to directories are followed)."
13890 msgstr ""
13891
13892 #. type: Plain text
13893 #: build/C/man7/symlink.7:349
13894 msgid ""
13895 "Certain conventions are (should be) followed as consistently as possible by "
13896 "commands that perform file tree walks:"
13897 msgstr ""
13898
13899 #. type: Plain text
13900 #: build/C/man7/symlink.7:362
13901 msgid ""
13902 "A command can be made to follow any symbolic links named on the command "
13903 "line, regardless of the type of file they reference, by specifying the I<-H> "
13904 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13905 "name space look like the logical name space.  (Note, for commands that do "
13906 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13907 "R> flag is not also specified.)"
13908 msgstr ""
13909
13910 #. type: Plain text
13911 #: build/C/man7/symlink.7:378
13912 msgid ""
13913 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13914 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13915 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13916 "symbolic links specified on the command line to be dereferenced for the "
13917 "purposes of both the action to be performed and the tree walk, and it is as "
13918 "if the user had specified the name of the file to which the symbolic link "
13919 "pointed."
13920 msgstr ""
13921
13922 #. type: Plain text
13923 #: build/C/man7/symlink.7:392
13924 msgid ""
13925 "A command can be made to follow any symbolic links named on the command "
13926 "line, as well as any symbolic links encountered during the traversal, "
13927 "regardless of the type of file they reference, by specifying the I<-L> (for "
13928 "\"logical\") flag.  This flag is intended to make the entire name space look "
13929 "like the logical name space.  (Note, for commands that do not always do file "
13930 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13931 "also specified.)"
13932 msgstr ""
13933
13934 #. type: Plain text
13935 #: build/C/man7/symlink.7:407
13936 msgid ""
13937 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13938 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13939 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13940 "references.  In addition, if any symbolic links are encountered in any file "
13941 "tree that B<chown> traverses, they will be treated in the same fashion as "
13942 "I<slink>."
13943 msgstr ""
13944
13945 #. type: Plain text
13946 #: build/C/man7/symlink.7:414
13947 msgid ""
13948 "A command can be made to provide the default behavior by specifying the I<-"
13949 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13950 "space look like the physical name space."
13951 msgstr ""
13952
13953 #. type: Plain text
13954 #: build/C/man7/symlink.7:432
13955 msgid ""
13956 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13957 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13958 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13959 "once; the last one specified determines the command's behavior.  This is "
13960 "intended to permit you to alias commands to behave one way or the other, and "
13961 "then override that behavior on the command line."
13962 msgstr ""
13963
13964 #. type: Plain text
13965 #: build/C/man7/symlink.7:438
13966 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13967 msgstr ""
13968
13969 #. type: Plain text
13970 #: build/C/man7/symlink.7:451
13971 msgid ""
13972 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13973 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13974 "command does not support the I<-H>, I<-L>, or I<-P> options."
13975 msgstr ""
13976
13977 #. type: Plain text
13978 #: build/C/man7/symlink.7:471
13979 msgid ""
13980 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13981 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13982 "options, B<ls>(1)  will follow symbolic links specified on the command "
13983 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13984 "regardless of their type, whether specified on the command line or "
13985 "encountered in the tree walk."
13986 msgstr ""
13987
13988 #. type: Plain text
13989 #: build/C/man7/symlink.7:489
13990 msgid ""
13991 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13992 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13993 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13994 "B<path_resolution>(7)"
13995 msgstr ""
13996 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1),\n"
13997 "B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2),\n"
13998 "B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2),\n"
13999 "B<lutimes>(3), B<path_resolution>(7)"
14000
14001 #. type: TH
14002 #: build/C/man3/tempnam.3:25
14003 #, no-wrap
14004 msgid "TEMPNAM"
14005 msgstr "TEMPNAM"
14006
14007 #. type: Plain text
14008 #: build/C/man3/tempnam.3:28
14009 msgid "tempnam - create a name for a temporary file"
14010 msgstr "tempnam - テンポラリファイルの名前を作成する"
14011
14012 #. type: Plain text
14013 #: build/C/man3/tempnam.3:33
14014 #, no-wrap
14015 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
14016 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
14017
14018 #. type: Plain text
14019 #: build/C/man3/tempnam.3:42
14020 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
14021 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
14022
14023 #. type: Plain text
14024 #: build/C/man3/tempnam.3:56
14025 msgid ""
14026 "The B<tempnam>()  function returns a pointer to a string that is a valid "
14027 "filename, and such that a file with this name did not exist when B<tempnam>"
14028 "()  checked.  The filename suffix of the pathname generated will start with "
14029 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
14030 "directory prefix part of the pathname generated is required to be "
14031 "\"appropriate\" (often that at least implies writable)."
14032 msgstr ""
14033 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
14034 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
14035 "い (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成さ"
14036 "れるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成される"
14037 "ディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」である"
14038 "ためにはまず少なくとも 書き込み可能でなければならない)。"
14039
14040 #. type: Plain text
14041 #: build/C/man3/tempnam.3:59
14042 msgid ""
14043 "Attempts to find an appropriate directory go through the following steps:"
14044 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
14045
14046 #. type: TP
14047 #: build/C/man3/tempnam.3:59
14048 #, no-wrap
14049 msgid "a)"
14050 msgstr "a)"
14051
14052 #. type: Plain text
14053 #: build/C/man3/tempnam.3:65
14054 msgid ""
14055 "In case the environment variable B<TMPDIR> exists and contains the name of "
14056 "an appropriate directory, that is used."
14057 msgstr ""
14058 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
14059 "ら、それを用いる。"
14060
14061 #. type: TP
14062 #: build/C/man3/tempnam.3:65
14063 #, no-wrap
14064 msgid "b)"
14065 msgstr "b)"
14066
14067 #. type: Plain text
14068 #: build/C/man3/tempnam.3:70
14069 msgid ""
14070 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
14071 msgstr ""
14072 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
14073 "る。"
14074
14075 #. type: TP
14076 #: build/C/man3/tempnam.3:70
14077 #, no-wrap
14078 msgid "c)"
14079 msgstr "c)"
14080
14081 #. type: Plain text
14082 #: build/C/man3/tempnam.3:77
14083 msgid ""
14084 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
14085 "appropriate."
14086 msgstr ""
14087 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
14088 "なら、それを用いる。"
14089
14090 #. type: TP
14091 #: build/C/man3/tempnam.3:77
14092 #, no-wrap
14093 msgid "d)"
14094 msgstr "d)"
14095
14096 #. type: Plain text
14097 #: build/C/man3/tempnam.3:80
14098 msgid "Finally an implementation-defined directory may be used."
14099 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
14100
14101 #. type: Plain text
14102 #: build/C/man3/tempnam.3:87
14103 msgid ""
14104 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
14105 "hence should be freed by B<free>(3)."
14106 msgstr ""
14107 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
14108 "B<free>(3)  で解放すべきである。"
14109
14110 #. type: Plain text
14111 #: build/C/man3/tempnam.3:94
14112 #, fuzzy
14113 #| msgid ""
14114 #| "On succes, the B<tempnam>()  function returns a pointer to a unique "
14115 #| "temporary filename.  It returns NULL if a unique name cannot be "
14116 #| "generated, with I<errno> set to indicate the cause of the error."
14117 msgid ""
14118 "On success, the B<tempnam>()  function returns a pointer to a unique "
14119 "temporary filename.  It returns NULL if a unique name cannot be generated, "
14120 "with I<errno> set to indicate the cause of the error."
14121 msgstr ""
14122 "成功すると B<tempnam>()  関数は、一意なテンポラリファイル名へのポインタを返"
14123 "す。 一意な名前が生成できなければ NULL を返し、 I<errno> にエラーの原因を示す"
14124 "値を設定する。"
14125
14126 #. type: Plain text
14127 #: build/C/man3/tempnam.3:98
14128 msgid "Allocation of storage failed."
14129 msgstr "保存領域の割り当てに失敗した。"
14130
14131 #. type: Plain text
14132 #: build/C/man3/tempnam.3:103
14133 msgid ""
14134 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
14135 msgstr ""
14136 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
14137 "る。"
14138
14139 #. type: Plain text
14140 #: build/C/man3/tempnam.3:122
14141 msgid ""
14142 "Although B<tempnam>()  generates names that are difficult to guess, it is "
14143 "nevertheless possible that between the time that B<tempnam>()  returns a "
14144 "pathname, and the time that the program opens it, another program might "
14145 "create that pathname using B<open>(2), or create it as a symbolic link.  "
14146 "This can lead to security holes.  To avoid such possibilities, use the "
14147 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
14148 "B<mkstemp>(3)  or B<tmpfile>(3)."
14149 msgstr ""
14150 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
14151 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
14152 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
14153 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
14154 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
14155 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
14156 "B<tmpfile>(3)  を使うことである。"
14157
14158 #. type: Plain text
14159 #: build/C/man3/tempnam.3:130
14160 msgid ""
14161 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
14162 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
14163 "tmp> (and this is what glibc does)."
14164 msgstr ""
14165 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
14166 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
14167 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
14168
14169 #. type: Plain text
14170 #: build/C/man3/tempnam.3:135
14171 msgid ""
14172 "Because it dynamically allocates memory used to return the pathname, "
14173 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
14174 msgstr ""
14175 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
14176 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
14177
14178 #. type: Plain text
14179 #: build/C/man3/tempnam.3:148
14180 msgid ""
14181 "The B<tempnam>()  function generates a different string each time it is "
14182 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
14183 "called more than B<TMP_MAX> times, the behavior is implementation defined."
14184 msgstr ""
14185 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
14186 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
14187 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
14188
14189 #. type: Plain text
14190 #: build/C/man3/tempnam.3:152
14191 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
14192 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
14193
14194 #. type: Plain text
14195 #: build/C/man3/tempnam.3:158
14196 msgid ""
14197 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
14198 "upon failure to find a unique name."
14199 msgstr ""
14200 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
14201 "ラー B<EEXIST> で失敗する。"
14202
14203 #. type: Plain text
14204 #: build/C/man3/tempnam.3:161
14205 msgid ""
14206 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
14207 "accessibility of a directory is determined."
14208 msgstr ""
14209 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
14210 "度のアクセス権限が必要なのかは指定されていない。"
14211
14212 #. type: Plain text
14213 #: build/C/man3/tempnam.3:168 build/C/man3/tmpnam.3:163
14214 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
14215 msgstr ""
14216 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
14217 "を使うこと。"
14218
14219 #. type: Plain text
14220 #: build/C/man3/tempnam.3:173
14221 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
14222 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
14223
14224 #. type: TH
14225 #: build/C/man3/tmpfile.3:31
14226 #, no-wrap
14227 msgid "TMPFILE"
14228 msgstr "TMPFILE"
14229
14230 #. type: Plain text
14231 #: build/C/man3/tmpfile.3:34
14232 msgid "tmpfile - create a temporary file"
14233 msgstr "tmpfile - テンポラリファイルを作成する"
14234
14235 #. type: Plain text
14236 #: build/C/man3/tmpfile.3:39
14237 #, no-wrap
14238 msgid "B<FILE *tmpfile(void);>\n"
14239 msgstr "B<FILE *tmpfile(void);>\n"
14240
14241 #. type: Plain text
14242 #: build/C/man3/tmpfile.3:47
14243 msgid ""
14244 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
14245 "write (w+b) mode.  The file will be automatically deleted when it is closed "
14246 "or the program terminates."
14247 msgstr ""
14248 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
14249 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
14250 "自動的に削除される。"
14251
14252 #. type: Plain text
14253 #: build/C/man3/tmpfile.3:56
14254 msgid ""
14255 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
14256 "filename cannot be generated or the unique file cannot be opened.  In the "
14257 "latter case, I<errno> is set to indicate the error."
14258 msgstr ""
14259 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
14260 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
14261 "I<errno> を設定する。"
14262
14263 #. type: Plain text
14264 #: build/C/man3/tmpfile.3:60
14265 msgid "Search permission denied for directory in file's path prefix."
14266 msgstr ""
14267 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
14268
14269 #. type: Plain text
14270 #: build/C/man3/tmpfile.3:63
14271 msgid "Unable to generate a unique filename."
14272 msgstr "ユニークなファイル名が作成できなかった。"
14273
14274 #. type: Plain text
14275 #: build/C/man3/tmpfile.3:66
14276 msgid "The call was interrupted by a signal."
14277 msgstr "呼び出しがシグナルによって中断された。"
14278
14279 #. type: Plain text
14280 #: build/C/man3/tmpfile.3:69
14281 msgid "Too many file descriptors in use by the process."
14282 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
14283
14284 #. type: Plain text
14285 #: build/C/man3/tmpfile.3:72
14286 msgid "Too many files open in the system."
14287 msgstr "システム全体でオープン可能なファイル数を超過した。"
14288
14289 #. type: Plain text
14290 #: build/C/man3/tmpfile.3:75
14291 msgid "There was no room in the directory to add the new filename."
14292 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
14293
14294 #. type: Plain text
14295 #: build/C/man3/tmpfile.3:78
14296 #, fuzzy
14297 #| msgid "Read-only file system."
14298 msgid "Read-only filesystem."
14299 msgstr "読みだし専用ファイルシステムである。"
14300
14301 #. type: Plain text
14302 #: build/C/man3/tmpfile.3:80
14303 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
14304 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
14305
14306 #. type: Plain text
14307 #: build/C/man3/tmpfile.3:86
14308 msgid ""
14309 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
14310 "stream cannot be opened."
14311 msgstr ""
14312 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
14313 "メッセージが書き出される、と規定されている。"
14314
14315 #. type: Plain text
14316 #: build/C/man3/tmpfile.3:97
14317 msgid ""
14318 "The standard does not specify the directory that B<tmpfile>()  will use.  "
14319 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
14320 "and if that fails the directory I</tmp>."
14321 msgstr ""
14322 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
14323 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
14324 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
14325
14326 #. type: Plain text
14327 #: build/C/man3/tmpfile.3:103
14328 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
14329 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
14330
14331 #. type: TH
14332 #: build/C/man3/tmpnam.3:27
14333 #, no-wrap
14334 msgid "TMPNAM"
14335 msgstr "TMPNAM"
14336
14337 #. type: Plain text
14338 #: build/C/man3/tmpnam.3:30
14339 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
14340 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
14341
14342 #. type: Plain text
14343 #: build/C/man3/tmpnam.3:35
14344 #, no-wrap
14345 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
14346 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
14347
14348 #. type: Plain text
14349 #: build/C/man3/tmpnam.3:58
14350 msgid ""
14351 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
14352 "filename, and such that a file with this name did not exist at some point in "
14353 "time, so that naive programmers may think it a suitable name for a temporary "
14354 "file.  If the argument I<s> is NULL this name is generated in an internal "
14355 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
14356 "I<s> is not NULL, the name is copied to the character array (of length at "
14357 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
14358 "case of success."
14359 msgstr ""
14360 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
14361 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
14362 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
14363 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
14364 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
14365 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
14366 "ピーされ、 成功した場合は I<s> が返される。"
14367
14368 #. type: Plain text
14369 #: build/C/man3/tmpnam.3:70
14370 msgid ""
14371 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
14372 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
14373 "the B<TMP_MAX> mentioned below.)"
14374 msgstr ""
14375 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
14376 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
14377 "hE<gt>> で定義されている。)"
14378
14379 #. type: Plain text
14380 #: build/C/man3/tmpnam.3:75
14381 msgid ""
14382 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
14383 "or NULL if a unique name cannot be generated."
14384 msgstr ""
14385 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
14386 "が作成できなかった場合は NULL を返す。"
14387
14388 #. type: Plain text
14389 #: build/C/man3/tmpnam.3:77
14390 msgid "No errors are defined."
14391 msgstr "エラーは定義されていない。"
14392
14393 #. type: Plain text
14394 #: build/C/man3/tmpnam.3:83
14395 msgid ""
14396 "The B<tmpnam>()  function is thread-safe with exceptions.  It is not thread-"
14397 "safe if called with a NULL parameter."
14398 msgstr ""
14399 "B<tmpnam>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
14400 "れた場合はスレッドセーフではない。"
14401
14402 #. type: Plain text
14403 #: build/C/man3/tmpnam.3:87
14404 msgid "The B<tmpnam_r>()  function is thread-safe."
14405 msgstr "B<tmpnam_r>() 関数はスレッドセーフである。"
14406
14407 #. type: Plain text
14408 #: build/C/man3/tmpnam.3:92
14409 msgid ""
14410 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
14411 "obsolete."
14412 msgstr ""
14413 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
14414 "定としている。"
14415
14416 #. type: Plain text
14417 #: build/C/man3/tmpnam.3:103
14418 msgid ""
14419 "The B<tmpnam>()  function generates a different string each time it is "
14420 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
14421 "the behavior is implementation defined."
14422 msgstr ""
14423 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
14424 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
14425
14426 #. type: Plain text
14427 #: build/C/man3/tmpnam.3:122
14428 msgid ""
14429 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
14430 "nevertheless possible that between the time that B<tmpnam>()  returns a "
14431 "pathname, and the time that the program opens it, another program might "
14432 "create that pathname using B<open>(2), or create it as a symbolic link.  "
14433 "This can lead to security holes.  To avoid such possibilities, use the "
14434 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
14435 "B<mkstemp>(3)  or B<tmpfile>(3)."
14436 msgstr ""
14437 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
14438 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
14439 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
14440 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
14441 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
14442 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
14443 "B<tmpfile>(3)  を使うことである。"
14444
14445 #. type: Plain text
14446 #: build/C/man3/tmpnam.3:130
14447 msgid ""
14448 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
14449 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
14450 "defined."
14451 msgstr ""
14452 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
14453 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
14454 "NULL 引き数で呼び出してはならない。"
14455
14456 #. type: Plain text
14457 #: build/C/man3/tmpnam.3:134
14458 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
14459 msgstr ""
14460 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
14461 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
14462 "扱いしている。"
14463
14464 #. type: Plain text
14465 #: build/C/man3/tmpnam.3:142
14466 #, no-wrap
14467 msgid ""
14468 "char *\n"
14469 "tmpnam_r(char *s)\n"
14470 "{\n"
14471 "    return s ? tmpnam(s) : NULL;\n"
14472 "}\n"
14473 msgstr ""
14474 "char *\n"
14475 "tmpnam_r(char *s)\n"
14476 "{\n"
14477 "    return s ? tmpnam(s) : NULL;\n"
14478 "}\n"
14479
14480 #. type: Plain text
14481 #: build/C/man3/tmpnam.3:156
14482 msgid ""
14483 "apparently as a warning not to use NULL.  A few systems implement it.  To "
14484 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
14485 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
14486 msgstr ""
14487 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
14488 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
14489 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
14490 "がある。"
14491
14492 #. type: Plain text
14493 #: build/C/man3/tmpnam.3:168
14494 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14495 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14496
14497 #. type: TH
14498 #: build/C/man2/unlink.2:32
14499 #, no-wrap
14500 msgid "UNLINK"
14501 msgstr "UNLINK"
14502
14503 #. type: TH
14504 #: build/C/man2/unlink.2:32
14505 #, no-wrap
14506 msgid "2011-09-15"
14507 msgstr "2011-09-15"
14508
14509 #. type: Plain text
14510 #: build/C/man2/unlink.2:35
14511 msgid "unlink - delete a name and possibly the file it refers to"
14512 msgstr ""
14513 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
14514
14515 #. type: Plain text
14516 #: build/C/man2/unlink.2:39
14517 msgid "B<int unlink(const char *>I<pathname>B<);>"
14518 msgstr "B<int unlink(const char *>I<pathname>B<);>"
14519
14520 #. type: Plain text
14521 #: build/C/man2/unlink.2:45
14522 #, fuzzy
14523 #| msgid ""
14524 #| "B<unlink>()  deletes a name from the file system.  If that name was the "
14525 #| "last link to a file and no processes have the file open the file is "
14526 #| "deleted and the space it was using is made available for reuse."
14527 msgid ""
14528 "B<unlink>()  deletes a name from the filesystem.  If that name was the last "
14529 "link to a file and no processes have the file open the file is deleted and "
14530 "the space it was using is made available for reuse."
14531 msgstr ""
14532 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14533 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14534 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14535 "は再利用が可能になる。"
14536
14537 #. type: Plain text
14538 #: build/C/man2/unlink.2:49
14539 msgid ""
14540 "If the name was the last link to a file but any processes still have the "
14541 "file open the file will remain in existence until the last file descriptor "
14542 "referring to it is closed."
14543 msgstr ""
14544 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14545 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14546 "スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
14547 "ける。"
14548
14549 #. type: Plain text
14550 #: build/C/man2/unlink.2:51
14551 msgid "If the name referred to a symbolic link the link is removed."
14552 msgstr ""
14553 "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
14554 "削除される。"
14555
14556 #. type: Plain text
14557 #: build/C/man2/unlink.2:55
14558 msgid ""
14559 "If the name referred to a socket, fifo or device the name for it is removed "
14560 "but processes which have the object open may continue to use it."
14561 msgstr ""
14562 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14563 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14564 "とができる。"
14565
14566 #. type: Plain text
14567 #: build/C/man2/unlink.2:71
14568 msgid ""
14569 "Write access to the directory containing I<pathname> is not allowed for the "
14570 "process's effective UID, or one of the directories in I<pathname> did not "
14571 "allow search permission.  (See also B<path_resolution>(7).)"
14572 msgstr ""
14573 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14574 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14575 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14576 "と)。"
14577
14578 #. type: Plain text
14579 #: build/C/man2/unlink.2:80
14580 msgid ""
14581 "The file I<pathname> cannot be unlinked because it is being used by the "
14582 "system or another process; for example, it is a mount point or the NFS "
14583 "client software created it to represent an active but otherwise nameless "
14584 "inode (\"NFS silly renamed\")."
14585 msgstr ""
14586 "システムか別のプロセスがそのファイルを使用中のため、\n"
14587 "ファイル I<pathname> を unlink できない。\n"
14588 "例えば、そのファイルがマウントポイントの場合や、\n"
14589 "NFS クライアントソフトウェアがそのファイルがアクティブであるが\n"
14590 "名前なし inode (nameless inode) であることを示すために作成した\n"
14591 "場合 (\"NFS silly renamed\") などがある。"
14592
14593 #. type: Plain text
14594 #: build/C/man2/unlink.2:92
14595 msgid ""
14596 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14597 "Linux since 2.1.132.)"
14598 msgstr ""
14599 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14600 "で、Linux 2.1.132 以降で返される。)"
14601
14602 #. type: Plain text
14603 #: build/C/man2/unlink.2:96
14604 msgid "Too many symbolic links were encountered in translating I<pathname>."
14605 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
14606
14607 #. type: Plain text
14608 #: build/C/man2/unlink.2:106
14609 msgid ""
14610 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14611 "I<pathname> is empty."
14612 msgstr ""
14613 "I<pathname> に対応するものが存在しないか、壊れたシンボリックリンクであるか、 "
14614 "I<pathname> が空である。"
14615
14616 #. type: Plain text
14617 #: build/C/man2/unlink.2:114
14618 msgid ""
14619 "A component used as a directory in I<pathname> is not, in fact, a directory."
14620 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14621
14622 #. type: Plain text
14623 #: build/C/man2/unlink.2:123
14624 msgid ""
14625 "The system does not allow unlinking of directories, or unlinking of "
14626 "directories requires privileges that the calling process doesn't have.  "
14627 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14628 "B<EISDIR> for this case.)"
14629 msgstr ""
14630 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14631 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14632 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14633 "合には Linux は B<EISDIR> を返す。)"
14634
14635 #. type: TP
14636 #: build/C/man2/unlink.2:123
14637 #, no-wrap
14638 msgid "B<EPERM> (Linux only)"
14639 msgstr "B<EPERM> (Linux のみ)"
14640
14641 #. type: Plain text
14642 #: build/C/man2/unlink.2:126
14643 #, fuzzy
14644 #| msgid "The file system does not allow unlinking of files."
14645 msgid "The filesystem does not allow unlinking of files."
14646 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14647
14648 #. type: Plain text
14649 #: build/C/man2/unlink.2:137
14650 msgid ""
14651 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14652 "and the process's effective UID is neither the UID of the file to be deleted "
14653 "nor that of the directory containing it, and the process is not privileged "
14654 "(Linux: does not have the B<CAP_FOWNER> capability)."
14655 msgstr ""
14656 "I<pathname> を含んでいるディレクトリにスティッキービット (sticky-bit)  "
14657 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14658 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14659 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14660
14661 #. type: Plain text
14662 #: build/C/man2/unlink.2:141
14663 #, fuzzy
14664 #| msgid "I<pathname> refers to a file on a read-only file system."
14665 msgid "I<pathname> refers to a file on a read-only filesystem."
14666 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14667
14668 #. type: Plain text
14669 #: build/C/man2/unlink.2:161
14670 msgid ""
14671 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14672 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14673 "(7), B<symlink>(7)"
14674 msgstr ""
14675 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14676 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14677 "(7), B<symlink>(7)"
14678
14679 #. type: TH
14680 #: build/C/man3/unlocked_stdio.3:25
14681 #, no-wrap
14682 msgid "UNLOCKED_STDIO"
14683 msgstr "UNLOCKED_STDIO"
14684
14685 #. type: TH
14686 #: build/C/man3/unlocked_stdio.3:25
14687 #, no-wrap
14688 msgid "2008-08-29"
14689 msgstr "2008-08-29"
14690
14691 #. type: Plain text
14692 #: build/C/man3/unlocked_stdio.3:29
14693 msgid ""
14694 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14695 "nonlocking stdio functions"
14696 msgstr ""
14697 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14698 "わずに標準入出力を行う関数群"
14699
14700 #. type: Plain text
14701 #: build/C/man3/unlocked_stdio.3:37
14702 #, no-wrap
14703 msgid ""
14704 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14705 "B<int getchar_unlocked(void);>\n"
14706 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14707 "B<int putchar_unlocked(int >I<c>B<);>\n"
14708 msgstr ""
14709 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14710 "B<int getchar_unlocked(void);>\n"
14711 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14712 "B<int putchar_unlocked(int >I<c>B<);>\n"
14713
14714 #. type: Plain text
14715 #: build/C/man3/unlocked_stdio.3:49
14716 #, no-wrap
14717 msgid ""
14718 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14719 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14720 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14721 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14722 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14723 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14724 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14725 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14726 "B<                      FILE *>I<stream>B<);>\n"
14727 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14728 "B<                      FILE *>I<stream>B<);>\n"
14729 msgstr ""
14730 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14731 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14732 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14733 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14734 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14735 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14736 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14737 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14738 "B<                      FILE *>I<stream>B<);>\n"
14739 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14740 "B<                      FILE *>I<stream>B<);>\n"
14741
14742 #. type: Plain text
14743 #: build/C/man3/unlocked_stdio.3:52
14744 #, no-wrap
14745 msgid ""
14746 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14747 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14748 msgstr ""
14749 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14750 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14751
14752 #. type: Plain text
14753 #: build/C/man3/unlocked_stdio.3:63
14754 #, no-wrap
14755 msgid ""
14756 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14757 "B<wint_t getwchar_unlocked(void);>\n"
14758 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14759 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14760 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14761 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14762 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14763 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14764 msgstr ""
14765 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14766 "B<wint_t getwchar_unlocked(void);>\n"
14767 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14768 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14769 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14770 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14771 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14772 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14773
14774 #. type: Plain text
14775 #: build/C/man3/unlocked_stdio.3:75
14776 msgid ""
14777 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14778 "B<putchar_unlocked>():"
14779 msgstr ""
14780 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14781 "B<putchar_unlocked>():"
14782
14783 #. type: Plain text
14784 #: build/C/man3/unlocked_stdio.3:78
14785 msgid ""
14786 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14787 "_BSD_SOURCE || _SVID_SOURCE"
14788 msgstr ""
14789 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14790 "_BSD_SOURCE || _SVID_SOURCE"
14791
14792 #. type: Plain text
14793 #: build/C/man3/unlocked_stdio.3:89
14794 msgid ""
14795 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14796 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14797 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14798 msgstr ""
14799 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14800 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14801 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14802
14803 #. type: Plain text
14804 #: build/C/man3/unlocked_stdio.3:91
14805 msgid "_BSD_SOURCE || _SVID_SOURCE"
14806 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14807
14808 #. type: Plain text
14809 #: build/C/man3/unlocked_stdio.3:102
14810 msgid ""
14811 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14812 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14813 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14814 msgstr ""
14815 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14816 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14817 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14818
14819 #. type: Plain text
14820 #: build/C/man3/unlocked_stdio.3:113
14821 msgid ""
14822 "Each of these functions has the same behavior as its counterpart without the "
14823 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14824 "locks themselves, and do not test for the presence of locks set by others) "
14825 "and hence are thread-unsafe.  See B<flockfile>(3)."
14826 msgstr ""
14827 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14828 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14829 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14830 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14831 "B<flockfile>(3)  を参照のこと。"
14832
14833 #. type: Plain text
14834 #: build/C/man3/unlocked_stdio.3:120
14835 msgid ""
14836 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14837 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14838 msgstr ""
14839 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14840 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14841
14842 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14843 #.  moved to a compatibility library.
14844 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14845 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14846 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14847 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14848 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14849 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14850 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14851 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14852 #.  ungetc_unlocked, ungetwc_unlocked.
14853 #. type: Plain text
14854 #: build/C/man3/unlocked_stdio.3:136
14855 msgid ""
14856 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14857 "are available in recent glibc.  They should probably not be used."
14858 msgstr ""
14859 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14860 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14861
14862 #. type: Plain text
14863 #: build/C/man3/unlocked_stdio.3:139
14864 msgid "B<flockfile>(3), B<stdio>(3)"
14865 msgstr "B<flockfile>(3), B<stdio>(3)"
14866
14867 #. type: TH
14868 #: build/C/man3/wprintf.3:16
14869 #, no-wrap
14870 msgid "WPRINTF"
14871 msgstr "WPRINTF"
14872
14873 #. type: TH
14874 #: build/C/man3/wprintf.3:16
14875 #, no-wrap
14876 msgid "2011-09-17"
14877 msgstr "2011-09-17"
14878
14879 #. type: Plain text
14880 #: build/C/man3/wprintf.3:20
14881 msgid ""
14882 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14883 "character output conversion"
14884 msgstr ""
14885 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14886 "フォーマットして出力する"
14887
14888 #. type: Plain text
14889 #: build/C/man3/wprintf.3:24
14890 #, no-wrap
14891 msgid ""
14892 "B<#include E<lt>stdio.hE<gt>>\n"
14893 "B<#include E<lt>wchar.hE<gt>>\n"
14894 msgstr ""
14895 "B<#include E<lt>stdio.hE<gt>>\n"
14896 "B<#include E<lt>wchar.hE<gt>>\n"
14897
14898 #. type: Plain text
14899 #: build/C/man3/wprintf.3:29
14900 #, no-wrap
14901 msgid ""
14902 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14903 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14904 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14905 "B<             const wchar_t *>I<format>B<, ...);>\n"
14906 msgstr ""
14907 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14908 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14909 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14910 "B<             const wchar_t *>I<format>B<, ...);>\n"
14911
14912 #. type: Plain text
14913 #: build/C/man3/wprintf.3:34
14914 #, no-wrap
14915 msgid ""
14916 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14917 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14918 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14919 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14920 msgstr ""
14921 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14922 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14923 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14924 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14925
14926 #.  .BR wprintf (),
14927 #.  .BR fwprintf (),
14928 #.  .BR swprintf (),
14929 #.  .BR vwprintf (),
14930 #.  .BR vfwprintf (),
14931 #.  .BR vswprintf ():
14932 #. type: Plain text
14933 #: build/C/man3/wprintf.3:51
14934 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14935 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14936
14937 #. type: Plain text
14938 #: build/C/man3/wprintf.3:53
14939 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14940 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14941
14942 #. type: Plain text
14943 #: build/C/man3/wprintf.3:55
14944 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14945 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14946
14947 #. type: Plain text
14948 #: build/C/man3/wprintf.3:58
14949 msgid "or I<cc\\ -std=c99>"
14950 msgstr "or I<cc\\ -std=c99>"
14951
14952 #. type: Plain text
14953 #: build/C/man3/wprintf.3:69
14954 msgid ""
14955 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14956 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14957 "characters."
14958 msgstr ""
14959 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14960 "版である。これらはワイド文字をフォーマットして出力する。"
14961
14962 #. type: Plain text
14963 #: build/C/man3/wprintf.3:81
14964 msgid ""
14965 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14966 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14967 "more information."
14968 msgstr ""
14969 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14970 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14971 "ること。"
14972
14973 #. type: Plain text
14974 #: build/C/man3/wprintf.3:93
14975 msgid ""
14976 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14977 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14978 "for more information."
14979 msgstr ""
14980 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14981 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14982 "B<fwide>(3)  を参照すること。"
14983
14984 #. type: Plain text
14985 #: build/C/man3/wprintf.3:107
14986 msgid ""
14987 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14988 "output to an array of wide characters.  The programmer must ensure that "
14989 "there is room for at least I<maxlen> wide characters at I<wcs>."
14990 msgstr ""
14991 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14992 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14993 "空きがあることを保証しなければ ならない。"
14994
14995 #. type: Plain text
14996 #: build/C/man3/wprintf.3:118
14997 msgid ""
14998 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14999 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
15000 "following differences:"
15001 msgstr ""
15002 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
15003 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
15004
15005 #. type: TP
15006 #: build/C/man3/wprintf.3:118 build/C/man3/wprintf.3:123
15007 #: build/C/man3/wprintf.3:126
15008 #, no-wrap
15009 msgid "B<\\(bu>"
15010 msgstr "B<\\(bu>"
15011
15012 #. type: Plain text
15013 #: build/C/man3/wprintf.3:123
15014 msgid "The I<format> string is a wide-character string."
15015 msgstr "I<format> がワイド文字列で与えられる。"
15016
15017 #. type: Plain text
15018 #: build/C/man3/wprintf.3:126
15019 msgid "The output consists of wide characters, not bytes."
15020 msgstr "出力がバイトではなくワイド文字で構成される。"
15021
15022 #. type: Plain text
15023 #: build/C/man3/wprintf.3:145
15024 msgid ""
15025 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
15026 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
15027 "I<maxlen> argument, but these functions do not return -1 upon buffer "
15028 "overflow on Linux.)"
15029 msgstr ""
15030 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
15031 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
15032 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
15033 "も -1 を返さない)。"
15034
15035 #. type: Plain text
15036 #: build/C/man3/wprintf.3:151
15037 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
15038 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
15039
15040 #. type: Plain text
15041 #: build/C/man3/wprintf.3:165
15042 msgid ""
15043 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
15044 "character by a call to the B<btowc>(3)  function, and the resulting wide "
15045 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
15046 "character) argument is written."
15047 msgstr ""
15048 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
15049 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
15050 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
15051
15052 #. type: Plain text
15053 #: build/C/man3/wprintf.3:205
15054 msgid ""
15055 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
15056 "to be a pointer to an array of character type (pointer to a string) "
15057 "containing a multibyte character sequence beginning in the initial shift "
15058 "state.  Characters from the array are converted to wide characters (each by "
15059 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
15060 "the initial state before the first byte).  The resulting wide characters are "
15061 "written up to (but not including) the terminating null wide character (L\\(aq"
15062 "\\e0\\(aq).  If a precision is specified, no more wide characters than the "
15063 "number specified are written.  Note that the precision determines the number "
15064 "of I<wide characters> written, not the number of I<bytes> or I<screen "
15065 "positions>.  The array must contain a terminating null byte (\\(aq"
15066 "\\e0\\(aq), unless a precision is given and it is so small that the number "
15067 "of converted wide characters reaches it before the end of the array is "
15068 "reached.  If an B<l> modifier is present: The I<const\\ wchar_t\\ *> "
15069 "argument is expected to be a pointer to an array of wide characters.  Wide "
15070 "characters from the array are written up to (but not including) a "
15071 "terminating null wide character.  If a precision is specified, no more than "
15072 "the number specified are written.  The array must contain a terminating null "
15073 "wide character, unless a precision is given and it is smaller than or equal "
15074 "to the number of wide characters in the array."
15075 msgstr ""
15076 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
15077 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
15078 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
15079 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
15080 "字は終端の ナルワイド文字 (L\\(aq\\e0\\(aq) の手前までが書き込まれる。精度"
15081 "(precision)が指定された 場合、指定された数字を超えるワイド文字は書き込まれな"
15082 "い。精度は 書き込まれる I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字"
15083 "> の数を指定することに注意すること。 精度がない場合には配列の終端にナルバイ"
15084 "ト (\\(aq\\e0\\(aq) を含む必要がある。 精度を指定する場合には、配列の最後に到"
15085 "着する前に変換されたワイド文字の 数がそれに到達するよう、精度は十分に小さな数"
15086 "でなければならない。 もし B<l> 修飾子が存在する場合、 I<const\\ wchar_t\\ *> "
15087 "引き数はワイド文字の配列へのポインタとみなされる。 配列のワイド文字列は終端の"
15088 "ナルワイド文字の手間まで出力される。 もし精度が指定された場合には指定された精"
15089 "度以上の文字は出力されない。 精度を指定しない場合には終端のナルワイド文字を含"
15090 "む必要がある。 精度を指定する場合にはそれはワイド文字の配列の大きさよりも小さ"
15091 "くな ければならない。"
15092
15093 #. type: Plain text
15094 #: build/C/man3/wprintf.3:213
15095 msgid ""
15096 "The functions return the number of wide characters written, excluding the "
15097 "terminating null wide character in case of the functions B<swprintf>()  and "
15098 "B<vswprintf>().  They return -1 when an error occurs."
15099 msgstr ""
15100 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
15101 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
15102 "場合は -1 を返す。"
15103
15104 #. type: Plain text
15105 #: build/C/man3/wprintf.3:215
15106 msgid "C99."
15107 msgstr "C99."
15108
15109 #. type: Plain text
15110 #: build/C/man3/wprintf.3:223
15111 msgid ""
15112 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
15113 "the current locale."
15114 msgstr ""
15115 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
15116
15117 #. type: Plain text
15118 #: build/C/man3/wprintf.3:253
15119 msgid ""
15120 "If the I<format> string contains non-ASCII wide characters, the program will "
15121 "work correctly only if the B<LC_CTYPE> category of the current locale at run "
15122 "time is the same as the B<LC_CTYPE> category of the current locale at "
15123 "compile time.  This is because the I<wchar_t> representation is platform- "
15124 "and locale-dependent.  (The glibc represents wide characters using their "
15125 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
15126 "the use of C99 universal character names of the form \\eunnnn does not solve "
15127 "this problem.)  Therefore, in internationalized programs, the I<format> "
15128 "string should consist of ASCII wide characters only, or should be "
15129 "constructed at run time in an internationalized way (e.g., using B<gettext>"
15130 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
15131 msgstr ""
15132 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
15133 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
15134 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
15135 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
15136 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
15137 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
15138 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
15139 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
15140 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
15141
15142 #.  .BR wscanf (3)
15143 #. type: Plain text
15144 #: build/C/man3/wprintf.3:260
15145 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
15146 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
15147
15148 #. type: TH
15149 #: build/C/man2/write.2:39
15150 #, no-wrap
15151 msgid "WRITE"
15152 msgstr "WRITE"
15153
15154 #. type: Plain text
15155 #: build/C/man2/write.2:42
15156 msgid "write - write to a file descriptor"
15157 msgstr "write - ファイルディスクリプタ (file descriptor) に書き込む"
15158
15159 #. type: Plain text
15160 #: build/C/man2/write.2:46
15161 msgid ""
15162 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
15163 msgstr ""
15164 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
15165
15166 #. type: Plain text
15167 #: build/C/man2/write.2:54
15168 msgid ""
15169 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
15170 "the file referred to by the file descriptor I<fd>."
15171 msgstr ""
15172 "B<write>()  は、 I<buf> が指すバッファから、ファイルディスクリプタ I<fd> が参"
15173 "照するファイルへ、最大 I<count> バイトを書き込む。"
15174
15175 #. type: Plain text
15176 #: build/C/man2/write.2:68
15177 msgid ""
15178 "The number of bytes written may be less than I<count> if, for example, there "
15179 "is insufficient space on the underlying physical medium, or the "
15180 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
15181 "call was interrupted by a signal handler after having written less than "
15182 "I<count> bytes.  (See also B<pipe>(7).)"
15183 msgstr ""
15184 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
15185 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
15186 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
15187 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
15188 "(7)  も参照のこと。)"
15189
15190 #. type: Plain text
15191 #: build/C/man2/write.2:82
15192 msgid ""
15193 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
15194 "example, a regular file)  writing takes place at the current file offset, "
15195 "and the file offset is incremented by the number of bytes actually written.  "
15196 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
15197 "to the end of the file before writing.  The adjustment of the file offset "
15198 "and the write operation are performed as an atomic step."
15199 msgstr ""
15200 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
15201 "ファイル) では、 書き込みは現在のファイルオフセットから行われ、 ファイルオフ"
15202 "セットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
15203 "B<O_APPEND> で B<open>(2)  された場合、ファイルオフセットは書き込み前に ファ"
15204 "イルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな"
15205 "処理として 実行される。"
15206
15207 #. type: Plain text
15208 #: build/C/man2/write.2:89
15209 #, fuzzy
15210 #| msgid ""
15211 #| "POSIX requires that a B<read>(2)  which can be proved to occur after a "
15212 #| "B<write>()  has returned returns the new data.  Note that not all file "
15213 #| "systems are POSIX conforming."
15214 msgid ""
15215 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
15216 "B<write>()  has returned returns the new data.  Note that not all "
15217 "filesystems are POSIX conforming."
15218 msgstr ""
15219 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
15220 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
15221 "ること。"
15222
15223 #. type: Plain text
15224 #: build/C/man2/write.2:94
15225 msgid ""
15226 "On success, the number of bytes written is returned (zero indicates nothing "
15227 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
15228 msgstr ""
15229 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
15230 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
15231
15232 #. type: Plain text
15233 #: build/C/man2/write.2:107
15234 msgid ""
15235 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
15236 "return a failure status if one of the errors below is detected.  If no "
15237 "errors are detected, 0 will be returned without causing any other effect.  "
15238 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
15239 "the results are not specified."
15240 msgstr ""
15241 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
15242 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
15243 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
15244 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
15245 "その結果は規定されていない。"
15246
15247 #. type: Plain text
15248 #: build/C/man2/write.2:115
15249 msgid ""
15250 "The file descriptor I<fd> refers to a file other than a socket and has been "
15251 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
15252 msgstr ""
15253 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
15254 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
15255 "する状況にある。"
15256
15257 #.  Actually EAGAIN on Linux
15258 #. type: Plain text
15259 #: build/C/man2/write.2:126
15260 msgid ""
15261 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
15262 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
15263 "error to be returned for this case, and does not require these constants to "
15264 "have the same value, so a portable application should check for both "
15265 "possibilities."
15266 msgstr ""
15267 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
15268 "モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にあ"
15269 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
15270 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
15271 "プリケーションでは、両方の可能性を 確認すべきである。"
15272
15273 #. type: Plain text
15274 #: build/C/man2/write.2:130
15275 msgid "I<fd> is not a valid file descriptor or is not open for writing."
15276 msgstr ""
15277 "I<fd> が有効なファイルディスクリプタでないか書き込みのためにオープン (open) "
15278 "されていない。"
15279
15280 #. type: TP
15281 #: build/C/man2/write.2:130
15282 #, no-wrap
15283 msgid "B<EDESTADDRREQ>"
15284 msgstr "B<EDESTADDRREQ>"
15285
15286 #. type: Plain text
15287 #: build/C/man2/write.2:135
15288 msgid ""
15289 "I<fd> refers to a datagram socket for which a peer address has not been set "
15290 "using B<connect>(2)."
15291 msgstr ""
15292 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
15293 "グラムソケットを 参照している。"
15294
15295 #. type: Plain text
15296 #: build/C/man2/write.2:141
15297 #, fuzzy
15298 #| msgid ""
15299 #| "The user's quota of disk blocks on the file system containing the file "
15300 #| "referred to by I<fd> has been exhausted."
15301 msgid ""
15302 "The user's quota of disk blocks on the filesystem containing the file "
15303 "referred to by I<fd> has been exhausted."
15304 msgstr ""
15305 "I<fd> が参照するファイルを含むファイルシステムのディスクブロックのユーザ"
15306 "クォータの上限に達している。"
15307
15308 #. type: Plain text
15309 #: build/C/man2/write.2:150
15310 msgid ""
15311 "An attempt was made to write a file that exceeds the implementation-defined "
15312 "maximum file size or the process's file size limit, or to write at a "
15313 "position past the maximum allowed offset."
15314 msgstr ""
15315 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
15316 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
15317 "書き込もうとした。"
15318
15319 #. type: Plain text
15320 #: build/C/man2/write.2:154
15321 msgid ""
15322 "The call was interrupted by a signal before any data was written; see "
15323 "B<signal>(7)."
15324 msgstr ""
15325 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
15326 "(7)  参照。"
15327
15328 #. type: Plain text
15329 #: build/C/man2/write.2:165
15330 msgid ""
15331 "I<fd> is attached to an object which is unsuitable for writing; or the file "
15332 "was opened with the B<O_DIRECT> flag, and either the address specified in "
15333 "I<buf>, the value specified in I<count>, or the current file offset is not "
15334 "suitably aligned."
15335 msgstr ""
15336 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
15337 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
15338 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
15339 "メントが不適切である。"
15340
15341 #. type: Plain text
15342 #: build/C/man2/write.2:168
15343 msgid "A low-level I/O error occurred while modifying the inode."
15344 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
15345
15346 #. type: Plain text
15347 #: build/C/man2/write.2:173
15348 msgid ""
15349 "The device containing the file referred to by I<fd> has no room for the data."
15350 msgstr ""
15351 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
15352
15353 #. type: TP
15354 #: build/C/man2/write.2:173
15355 #, no-wrap
15356 msgid "B<EPIPE>"
15357 msgstr "B<EPIPE>"
15358
15359 #. type: Plain text
15360 #: build/C/man2/write.2:182
15361 msgid ""
15362 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
15363 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
15364 "(Thus, the write return value is seen only if the program catches, blocks or "
15365 "ignores this signal.)"
15366 msgstr ""
15367 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
15368 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
15369 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
15370 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
15371 "write の返り値を参照できる。)"
15372
15373 #. type: Plain text
15374 #: build/C/man2/write.2:185
15375 msgid "Other errors may occur, depending on the object connected to I<fd>."
15376 msgstr ""
15377 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
15378
15379 #. type: Plain text
15380 #: build/C/man2/write.2:194
15381 msgid ""
15382 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
15383 "just before any data is written."
15384 msgstr ""
15385 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
15386 "で B<EINTR> が返る。"
15387
15388 #. type: Plain text
15389 #: build/C/man2/write.2:203
15390 msgid ""
15391 "A successful return from B<write>()  does not make any guarantee that data "
15392 "has been committed to disk.  In fact, on some buggy implementations, it does "
15393 "not even guarantee that space has successfully been reserved for the data.  "
15394 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
15395 "all your data."
15396 msgstr ""
15397 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
15398 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
15399 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
15400 "write した後に B<fsync>(2)  を呼び出すことである。"
15401
15402 #. type: Plain text
15403 #: build/C/man2/write.2:211
15404 msgid ""
15405 "If a B<write>()  is interrupted by a signal handler before any bytes are "
15406 "written, then the call fails with the error B<EINTR>; if it is interrupted "
15407 "after at least one byte has been written, the call succeeds, and returns the "
15408 "number of bytes written."
15409 msgstr ""
15410 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
15411 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
15412 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
15413
15414 #. type: Plain text
15415 #: build/C/man2/write.2:223
15416 msgid ""
15417 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
15418 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
15419 msgstr ""
15420 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
15421 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
15422
15423 #~ msgid "2004-12-11"
15424 #~ msgstr "2004-12-11"
15425
15426 #~ msgid "2013-07-21"
15427 #~ msgstr "2013-07-21"
15428
15429 #~ msgid "2013-03-05"
15430 #~ msgstr "2013-03-05"