OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.40.
[linuxjm/LDP_man-pages.git] / po4a / stdio / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-05-01 04:22+0900\n"
10 "PO-Revision-Date: 2012-05-01 04:53+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/asprintf.3:25
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:25
26 #, no-wrap
27 msgid "2001-12-18"
28 msgstr "2001-12-18"
29
30 #. type: TH
31 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
32 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
33 #: build/C/man3/fcloseall.3:24 build/C/man3/fflush.3:43
34 #: build/C/man3/fgetwc.3:16 build/C/man3/fmemopen.3:6 build/C/man3/fopen.3:42
35 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
36 #: build/C/man3/getline.3:24 build/C/man3/gets.3:25 build/C/man3/getw.3:23
37 #: build/C/man3/popen.3:38 build/C/man3/printf.3:34 build/C/man3/puts.3:24
38 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:50 build/C/man3/wprintf.3:14
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
44 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
45 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
46 #: build/C/man3/fcloseall.3:24 build/C/man3/ferror.3:42
47 #: build/C/man3/fflush.3:43 build/C/man3/fgetwc.3:16
48 #: build/C/man3/flockfile.3:23 build/C/man3/fmemopen.3:6
49 #: build/C/man3/fmtmsg.3:9 build/C/man3/fopen.3:42
50 #: build/C/man3/fopencookie.3:24 build/C/man3/fpurge.3:23
51 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
52 #: build/C/man3/fseeko.3:23 build/C/man3/getline.3:24 build/C/man3/gets.3:25
53 #: build/C/man3/getw.3:23 build/C/man2/link.2:31 build/C/man2/llseek.2:26
54 #: build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23 build/C/man2/open.2:52
55 #: build/C/man3/perror.3:30 build/C/man2/pipe.2:36 build/C/man3/popen.3:38
56 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man2/read.2:35
57 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man3/remove.3:31
58 #: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:50
59 #: build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9 build/C/man3/stdio.3:37
60 #: build/C/man3/stdio_ext.3:23 build/C/man2/symlink.2:32
61 #: build/C/man7/symlink.7:35 build/C/man3/tempnam.3:23
62 #: build/C/man3/tmpfile.3:29 build/C/man3/tmpnam.3:25 build/C/man2/unlink.2:32
63 #: build/C/man3/unlocked_stdio.3:23 build/C/man3/wprintf.3:14
64 #: build/C/man2/write.2:39 build/C/man2/process_vm_readv.2:27
65 #, no-wrap
66 msgid "Linux Programmer's Manual"
67 msgstr "Linux Programmer's Manual"
68
69 #. type: SH
70 #: build/C/man3/asprintf.3:26 build/C/man3/ctermid.3:25
71 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:43
72 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:43
73 #: build/C/man3/fflush.3:44 build/C/man3/fgetwc.3:17
74 #: build/C/man3/flockfile.3:24 build/C/man3/fmemopen.3:7
75 #: build/C/man3/fmtmsg.3:10 build/C/man3/fopen.3:43
76 #: build/C/man3/fopencookie.3:25 build/C/man3/fpurge.3:24
77 #: build/C/man3/fputwc.3:15 build/C/man3/fread.3:44 build/C/man3/fseek.3:41
78 #: build/C/man3/fseeko.3:24 build/C/man3/getline.3:25 build/C/man3/gets.3:26
79 #: build/C/man3/getw.3:24 build/C/man2/link.2:32 build/C/man2/llseek.2:27
80 #: build/C/man2/lseek.2:46 build/C/man3/lseek64.3:24 build/C/man2/open.2:53
81 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:37 build/C/man3/popen.3:39
82 #: build/C/man3/printf.3:35 build/C/man3/puts.3:25 build/C/man2/read.2:36
83 #: build/C/man2/readlink.2:42 build/C/man2/readv.2:31 build/C/man3/remove.3:32
84 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:51
85 #: build/C/man3/setbuf.3:47 build/C/man3/stdin.3:10 build/C/man3/stdio.3:38
86 #: build/C/man3/stdio_ext.3:24 build/C/man2/symlink.2:33
87 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:24
88 #: build/C/man3/tmpfile.3:30 build/C/man3/tmpnam.3:26 build/C/man2/unlink.2:33
89 #: build/C/man3/unlocked_stdio.3:24 build/C/man3/wprintf.3:15
90 #: build/C/man2/write.2:40 build/C/man2/process_vm_readv.2:28
91 #, no-wrap
92 msgid "NAME"
93 msgstr "名前"
94
95 #. type: Plain text
96 #: build/C/man3/asprintf.3:28
97 msgid "asprintf, vasprintf - print to allocated string"
98 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
99
100 #. type: SH
101 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
102 #: build/C/man3/dprintf.3:28 build/C/man3/fclose.3:45
103 #: build/C/man3/fcloseall.3:27 build/C/man3/ferror.3:45
104 #: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
105 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:9
106 #: build/C/man3/fmtmsg.3:12 build/C/man3/fopen.3:45
107 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
108 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
109 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
110 #: build/C/man3/getw.3:26 build/C/man2/link.2:34 build/C/man2/llseek.2:29
111 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:55
112 #: build/C/man3/perror.3:33 build/C/man2/pipe.2:39 build/C/man3/popen.3:41
113 #: build/C/man3/printf.3:38 build/C/man3/puts.3:27 build/C/man2/read.2:38
114 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:34
115 #: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:53
116 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:12 build/C/man3/stdio.3:40
117 #: build/C/man3/stdio_ext.3:28 build/C/man2/symlink.2:35
118 #: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
119 #: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:35
120 #: build/C/man3/unlocked_stdio.3:27 build/C/man3/wprintf.3:18
121 #: build/C/man2/write.2:42 build/C/man2/process_vm_readv.2:30
122 #, no-wrap
123 msgid "SYNOPSIS"
124 msgstr "書式"
125
126 #. type: Plain text
127 #: build/C/man3/asprintf.3:30
128 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
129 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
130
131 #. type: Plain text
132 #: build/C/man3/asprintf.3:32 build/C/man3/dprintf.3:30
133 #: build/C/man3/fclose.3:47 build/C/man3/ferror.3:47 build/C/man3/fflush.3:48
134 #: build/C/man3/fseek.3:45 build/C/man3/perror.3:35 build/C/man3/printf.3:40
135 #: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:42
136 #: build/C/man3/stdio_ext.3:30
137 msgid "B<#include E<lt>stdio.hE<gt>>"
138 msgstr "B<#include E<lt>stdio.hE<gt>>"
139
140 #. type: Plain text
141 #: build/C/man3/asprintf.3:34
142 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
143 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
144
145 #. type: Plain text
146 #: build/C/man3/asprintf.3:36
147 msgid ""
148 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
149 msgstr ""
150 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
151
152 #. type: SH
153 #: build/C/man3/asprintf.3:36 build/C/man3/ctermid.3:44
154 #: build/C/man3/dprintf.3:54 build/C/man3/fclose.3:49
155 #: build/C/man3/fcloseall.3:34 build/C/man3/ferror.3:63
156 #: build/C/man3/fflush.3:50 build/C/man3/fgetwc.3:28
157 #: build/C/man3/flockfile.3:49 build/C/man3/fmemopen.3:42
158 #: build/C/man3/fmtmsg.3:22 build/C/man3/fopen.3:63
159 #: build/C/man3/fopencookie.3:35 build/C/man3/fpurge.3:40
160 #: build/C/man3/fputwc.3:26 build/C/man3/fread.3:56 build/C/man3/fseek.3:55
161 #: build/C/man3/fseeko.3:35 build/C/man3/getline.3:56 build/C/man3/gets.3:44
162 #: build/C/man3/getw.3:57 build/C/man2/link.2:38 build/C/man2/llseek.2:38
163 #: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/open.2:66
164 #: build/C/man3/perror.3:54 build/C/man2/pipe.2:51 build/C/man3/popen.3:62
165 #: build/C/man3/printf.3:76 build/C/man3/puts.3:41 build/C/man2/read.2:44
166 #: build/C/man2/readlink.2:61 build/C/man2/readv.2:56 build/C/man3/remove.3:38
167 #: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:85
168 #: build/C/man3/setbuf.3:71 build/C/man3/stdin.3:20 build/C/man3/stdio.3:48
169 #: build/C/man3/stdio_ext.3:52 build/C/man2/symlink.2:52
170 #: build/C/man3/tempnam.3:40 build/C/man3/tmpfile.3:38
171 #: build/C/man3/tmpnam.3:34 build/C/man2/unlink.2:39
172 #: build/C/man3/unlocked_stdio.3:104 build/C/man3/wprintf.3:58
173 #: build/C/man2/write.2:46 build/C/man2/process_vm_readv.2:48
174 #, no-wrap
175 msgid "DESCRIPTION"
176 msgstr "説明"
177
178 #. type: Plain text
179 #: build/C/man3/asprintf.3:51
180 msgid ""
181 "The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
182 "(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
183 "hold the output including the terminating null byte, and return a pointer to "
184 "it via the first argument.  This pointer should be passed to B<free>(3)  to "
185 "release the allocated storage when it is no longer needed."
186 msgstr ""
187 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
188 "と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイトも含"
189 "めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数にその文字列への"
190 "ポインタを返す。 このポインタは、不要になったら B<free>(3)  に渡し、割り当て"
191 "られた記憶領域を解放すべきである。"
192
193 #. type: SH
194 #: build/C/man3/asprintf.3:51 build/C/man3/ctermid.3:57
195 #: build/C/man3/fclose.3:57 build/C/man3/fcloseall.3:49
196 #: build/C/man3/fflush.3:72 build/C/man3/fgetwc.3:53
197 #: build/C/man3/flockfile.3:112 build/C/man3/fmemopen.3:172
198 #: build/C/man3/fmtmsg.3:148 build/C/man3/fopen.3:187
199 #: build/C/man3/fopencookie.3:235 build/C/man3/fpurge.3:56
200 #: build/C/man3/fputwc.3:52 build/C/man3/fread.3:81 build/C/man3/fseek.3:117
201 #: build/C/man3/fseeko.3:63 build/C/man3/getline.3:108 build/C/man3/gets.3:109
202 #: build/C/man3/getw.3:71 build/C/man2/link.2:52 build/C/man2/llseek.2:57
203 #: build/C/man2/lseek.2:151 build/C/man2/open.2:464 build/C/man2/pipe.2:92
204 #: build/C/man3/popen.3:121 build/C/man3/puts.3:82 build/C/man2/read.2:63
205 #: build/C/man2/readlink.2:75 build/C/man2/readv.2:175
206 #: build/C/man3/remove.3:60 build/C/man2/rename.2:91 build/C/man2/rmdir.2:40
207 #: build/C/man3/scanf.3:528 build/C/man3/setbuf.3:150
208 #: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:85
209 #: build/C/man3/tmpfile.3:45 build/C/man3/tmpnam.3:68 build/C/man2/unlink.2:55
210 #: build/C/man3/wprintf.3:185 build/C/man2/write.2:89
211 #: build/C/man2/process_vm_readv.2:207
212 #, no-wrap
213 msgid "RETURN VALUE"
214 msgstr "返り値"
215
216 #. type: Plain text
217 #: build/C/man3/asprintf.3:59
218 msgid ""
219 "When successful, these functions return the number of bytes printed, just "
220 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
221 "error occurs, these functions will return -1, and the contents of I<strp> is "
222 "undefined."
223 msgstr ""
224 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
225 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
226 "は -1 を返し、 I<strp> の内容は未定義となる。"
227
228 #. type: SH
229 #: build/C/man3/asprintf.3:59 build/C/man3/ctermid.3:59
230 #: build/C/man3/dprintf.3:68 build/C/man3/fclose.3:88
231 #: build/C/man3/fcloseall.3:54 build/C/man3/ferror.3:105
232 #: build/C/man3/fflush.3:91 build/C/man3/fgetwc.3:65
233 #: build/C/man3/flockfile.3:119 build/C/man3/fmemopen.3:191
234 #: build/C/man3/fmtmsg.3:221 build/C/man3/fopen.3:244
235 #: build/C/man3/fopencookie.3:242 build/C/man3/fpurge.3:68
236 #: build/C/man3/fputwc.3:63 build/C/man3/fread.3:101 build/C/man3/fseek.3:164
237 #: build/C/man3/fseeko.3:75 build/C/man3/getline.3:132 build/C/man3/gets.3:136
238 #: build/C/man3/getw.3:78 build/C/man2/link.2:128 build/C/man2/llseek.2:76
239 #: build/C/man2/lseek.2:189 build/C/man2/open.2:610 build/C/man3/perror.3:111
240 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:167 build/C/man3/printf.3:807
241 #: build/C/man3/puts.3:101 build/C/man2/read.2:155 build/C/man2/readlink.2:123
242 #: build/C/man2/readv.2:212 build/C/man3/remove.3:70 build/C/man2/rename.2:229
243 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:575 build/C/man3/setbuf.3:162
244 #: build/C/man3/stdin.3:109 build/C/man3/stdio.3:244
245 #: build/C/man2/symlink.2:144 build/C/man3/tempnam.3:94
246 #: build/C/man3/tmpfile.3:74 build/C/man3/tmpnam.3:75
247 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:111
248 #: build/C/man3/wprintf.3:193 build/C/man2/write.2:179
249 #: build/C/man2/process_vm_readv.2:277
250 #, no-wrap
251 msgid "CONFORMING TO"
252 msgstr "準拠"
253
254 #. type: Plain text
255 #: build/C/man3/asprintf.3:65
256 msgid ""
257 "These functions are GNU extensions, not in C or POSIX.  They are also "
258 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
259 "error."
260 msgstr ""
261 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
262 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
263 "る。"
264
265 #. type: SH
266 #: build/C/man3/asprintf.3:65 build/C/man3/ctermid.3:69
267 #: build/C/man3/dprintf.3:94 build/C/man3/fclose.3:100
268 #: build/C/man3/fcloseall.3:56 build/C/man3/ferror.3:112
269 #: build/C/man3/fflush.3:106 build/C/man3/fgetwc.3:82
270 #: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:273
271 #: build/C/man3/fmtmsg.3:293 build/C/man3/fopen.3:348
272 #: build/C/man3/fopencookie.3:434 build/C/man3/fpurge.3:78
273 #: build/C/man3/fputwc.3:80 build/C/man3/fread.3:103 build/C/man3/fseek.3:166
274 #: build/C/man3/fseeko.3:81 build/C/man3/getline.3:166 build/C/man3/gets.3:171
275 #: build/C/man3/getw.3:84 build/C/man2/link.2:177 build/C/man2/llseek.2:82
276 #: build/C/man2/lseek.2:234 build/C/man3/lseek64.3:157 build/C/man2/open.2:849
277 #: build/C/man3/perror.3:139 build/C/man2/pipe.2:190 build/C/man3/popen.3:196
278 #: build/C/man3/printf.3:1074 build/C/man3/puts.3:110 build/C/man2/read.2:178
279 #: build/C/man2/readlink.2:212 build/C/man2/readv.2:282
280 #: build/C/man3/remove.3:81 build/C/man2/rename.2:242 build/C/man2/rmdir.2:132
281 #: build/C/man3/scanf.3:717 build/C/man3/setbuf.3:198 build/C/man3/stdin.3:150
282 #: build/C/man3/stdio.3:248 build/C/man3/stdio_ext.3:130
283 #: build/C/man2/symlink.2:159 build/C/man7/symlink.7:470
284 #: build/C/man3/tempnam.3:164 build/C/man3/tmpfile.3:86
285 #: build/C/man3/tmpnam.3:151 build/C/man2/unlink.2:148
286 #: build/C/man3/unlocked_stdio.3:134 build/C/man3/wprintf.3:229
287 #: build/C/man2/write.2:205 build/C/man2/process_vm_readv.2:329
288 #, no-wrap
289 msgid "SEE ALSO"
290 msgstr "関連項目"
291
292 #. type: Plain text
293 #: build/C/man3/asprintf.3:69
294 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
295 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
296
297 #. type: SH
298 #: build/C/man3/asprintf.3:69 build/C/man3/ctermid.3:71
299 #: build/C/man3/dprintf.3:96 build/C/man3/fclose.3:106
300 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:117
301 #: build/C/man3/fflush.3:114 build/C/man3/fgetwc.3:87
302 #: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:276
303 #: build/C/man3/fmtmsg.3:296 build/C/man3/fopen.3:354
304 #: build/C/man3/fopencookie.3:439 build/C/man3/fpurge.3:83
305 #: build/C/man3/fputwc.3:84 build/C/man3/fread.3:109 build/C/man3/fseek.3:169
306 #: build/C/man3/fseeko.3:83 build/C/man3/getline.3:173 build/C/man3/gets.3:187
307 #: build/C/man3/getw.3:90 build/C/man2/link.2:187 build/C/man2/llseek.2:85
308 #: build/C/man2/lseek.2:241 build/C/man3/lseek64.3:160 build/C/man2/open.2:871
309 #: build/C/man3/perror.3:144 build/C/man2/pipe.2:197 build/C/man3/popen.3:206
310 #: build/C/man3/printf.3:1083 build/C/man3/puts.3:122 build/C/man2/read.2:191
311 #: build/C/man2/readlink.2:220 build/C/man2/readv.2:286
312 #: build/C/man3/remove.3:92 build/C/man2/rename.2:251 build/C/man2/rmdir.2:141
313 #: build/C/man3/scanf.3:724 build/C/man3/setbuf.3:206 build/C/man3/stdin.3:156
314 #: build/C/man3/stdio.3:255 build/C/man3/stdio_ext.3:133
315 #: build/C/man2/symlink.2:171 build/C/man7/symlink.7:488
316 #: build/C/man3/tempnam.3:169 build/C/man3/tmpfile.3:92
317 #: build/C/man3/tmpnam.3:156 build/C/man2/unlink.2:161
318 #: build/C/man3/unlocked_stdio.3:137 build/C/man3/wprintf.3:236
319 #: build/C/man2/write.2:217 build/C/man2/process_vm_readv.2:332
320 #, no-wrap
321 msgid "COLOPHON"
322 msgstr "この文書について"
323
324 #. type: Plain text
325 #: build/C/man3/asprintf.3:76 build/C/man3/ctermid.3:78
326 #: build/C/man3/dprintf.3:103 build/C/man3/fclose.3:113
327 #: build/C/man3/fcloseall.3:69 build/C/man3/ferror.3:124
328 #: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:94
329 #: build/C/man3/flockfile.3:136 build/C/man3/fmemopen.3:283
330 #: build/C/man3/fmtmsg.3:303 build/C/man3/fopen.3:361
331 #: build/C/man3/fopencookie.3:446 build/C/man3/fpurge.3:90
332 #: build/C/man3/fputwc.3:91 build/C/man3/fread.3:116 build/C/man3/fseek.3:176
333 #: build/C/man3/fseeko.3:90 build/C/man3/getline.3:180 build/C/man3/gets.3:194
334 #: build/C/man3/getw.3:97 build/C/man2/link.2:194 build/C/man2/llseek.2:92
335 #: build/C/man2/lseek.2:248 build/C/man3/lseek64.3:167 build/C/man2/open.2:878
336 #: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:213
337 #: build/C/man3/printf.3:1090 build/C/man3/puts.3:129 build/C/man2/read.2:198
338 #: build/C/man2/readlink.2:227 build/C/man2/readv.2:293
339 #: build/C/man3/remove.3:99 build/C/man2/rename.2:258 build/C/man2/rmdir.2:148
340 #: build/C/man3/scanf.3:731 build/C/man3/setbuf.3:213 build/C/man3/stdin.3:163
341 #: build/C/man3/stdio.3:262 build/C/man3/stdio_ext.3:140
342 #: build/C/man2/symlink.2:178 build/C/man7/symlink.7:495
343 #: build/C/man3/tempnam.3:176 build/C/man3/tmpfile.3:99
344 #: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:168
345 #: build/C/man3/unlocked_stdio.3:144 build/C/man3/wprintf.3:243
346 #: build/C/man2/write.2:224 build/C/man2/process_vm_readv.2:339
347 msgid ""
348 "This page is part of release 3.40 of the Linux I<man-pages> project.  A "
349 "description of the project, and information about reporting bugs, can be "
350 "found at http://www.kernel.org/doc/man-pages/."
351 msgstr ""
352 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
353 "である。プロジェクトの説明とバグ報告に関する情報は\n"
354 "http://www.kernel.org/doc/man-pages/ に書かれている。"
355
356 #. type: TH
357 #: build/C/man3/ctermid.3:24
358 #, no-wrap
359 msgid "CTERMID"
360 msgstr "CTERMID"
361
362 #. type: TH
363 #: build/C/man3/ctermid.3:24
364 #, no-wrap
365 msgid "2007-07-26"
366 msgstr "2007-07-26"
367
368 #. type: Plain text
369 #: build/C/man3/ctermid.3:27
370 msgid "ctermid - get controlling terminal name"
371 msgstr "ctermid - 制御端末名の取得"
372
373 #. type: Plain text
374 #: build/C/man3/ctermid.3:32 build/C/man3/fgetwc.3:22
375 #: build/C/man3/flockfile.3:29 build/C/man3/fmemopen.3:12
376 #: build/C/man3/fopen.3:48 build/C/man3/fputwc.3:20 build/C/man3/fread.3:49
377 #: build/C/man3/fseeko.3:29 build/C/man3/getline.3:30 build/C/man3/gets.3:31
378 #: build/C/man3/getw.3:29 build/C/man3/popen.3:44 build/C/man3/puts.3:30
379 #: build/C/man3/scanf.3:56 build/C/man3/setbuf.3:52 build/C/man3/stdin.3:15
380 #: build/C/man3/tempnam.3:29 build/C/man3/tmpfile.3:35
381 #: build/C/man3/tmpnam.3:31 build/C/man3/unlocked_stdio.3:30
382 #, no-wrap
383 msgid "B<#include E<lt>stdio.hE<gt>>\n"
384 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
385
386 #. type: Plain text
387 #: build/C/man3/ctermid.3:34
388 #, no-wrap
389 msgid "B<char *ctermid(char *>I<s>B<);>\n"
390 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
391
392 #. type: Plain text
393 #: build/C/man3/ctermid.3:39 build/C/man3/dprintf.3:38
394 #: build/C/man3/ferror.3:59 build/C/man3/flockfile.3:40
395 #: build/C/man3/fmemopen.3:25 build/C/man3/fopen.3:59
396 #: build/C/man3/getline.3:40 build/C/man3/getw.3:38 build/C/man3/perror.3:49
397 #: build/C/man3/popen.3:53 build/C/man3/printf.3:63 build/C/man2/readlink.2:52
398 #: build/C/man2/readv.2:51 build/C/man3/scanf.3:71 build/C/man3/setbuf.3:66
399 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:36
400 #: build/C/man3/unlocked_stdio.3:66 build/C/man3/wprintf.3:37
401 msgid ""
402 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
403 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
404
405 #.  From <unistd.h>: _XOPEN_SOURCE
406 #. type: Plain text
407 #: build/C/man3/ctermid.3:44
408 msgid ""
409 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
410 msgstr ""
411 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
412
413 #. type: Plain text
414 #: build/C/man3/ctermid.3:57
415 msgid ""
416 "B<ctermid>()  returns a string which is the pathname for the current "
417 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
418 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
419 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
420 "the returned pathname."
421 msgstr ""
422 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
423 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
424 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
425 "ス名の最大文字数である。"
426
427 #. type: Plain text
428 #: build/C/man3/ctermid.3:59
429 msgid "The pointer to the pathname."
430 msgstr "パス名へのポインタ。"
431
432 #. type: Plain text
433 #: build/C/man3/ctermid.3:61
434 msgid "Svr4, POSIX.1-2001."
435 msgstr "SVr4, POSIX.1-2001."
436
437 #. type: SH
438 #: build/C/man3/ctermid.3:61 build/C/man3/fmemopen.3:201
439 #: build/C/man3/fopen.3:329 build/C/man3/fopen.3:331 build/C/man3/gets.3:150
440 #: build/C/man3/getw.3:80 build/C/man2/link.2:171 build/C/man2/open.2:838
441 #: build/C/man3/popen.3:173 build/C/man3/printf.3:930 build/C/man3/puts.3:103
442 #: build/C/man2/readv.2:256 build/C/man3/remove.3:78 build/C/man2/rename.2:231
443 #: build/C/man2/rmdir.2:129 build/C/man3/scanf.3:682 build/C/man3/setbuf.3:168
444 #: build/C/man3/tempnam.3:154 build/C/man3/tmpnam.3:144
445 #: build/C/man2/unlink.2:145
446 #, no-wrap
447 msgid "BUGS"
448 msgstr "バグ"
449
450 #. type: Plain text
451 #: build/C/man3/ctermid.3:65
452 msgid ""
453 "The path returned may not uniquely identify the controlling terminal; it "
454 "may, for example, be I</dev/tty>."
455 msgstr ""
456 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
457 "ように。"
458
459 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
460 #.  if ctermid() was given an argument; fixed in 2.4.
461 #. type: Plain text
462 #: build/C/man3/ctermid.3:69
463 msgid "It is not assured that the program can open the terminal."
464 msgstr "プログラムが端末をオープンできることは保証されていない。"
465
466 #. type: Plain text
467 #: build/C/man3/ctermid.3:71
468 msgid "B<ttyname>(3)"
469 msgstr "B<ttyname>(3)"
470
471 #. type: TH
472 #: build/C/man3/dprintf.3:25
473 #, no-wrap
474 msgid "DPRINTF"
475 msgstr "DPRINTF"
476
477 #. type: TH
478 #: build/C/man3/dprintf.3:25 build/C/man3/fmemopen.3:6
479 #, no-wrap
480 msgid "2010-09-15"
481 msgstr "2010-09-15"
482
483 #. type: Plain text
484 #: build/C/man3/dprintf.3:28
485 msgid "dprintf, vdprintf - print to a file descriptor"
486 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
487
488 #. type: Plain text
489 #: build/C/man3/dprintf.3:32
490 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
491 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
492
493 #. type: Plain text
494 #: build/C/man3/dprintf.3:34
495 msgid ""
496 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
497 msgstr ""
498 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
499
500 #. type: Plain text
501 #: build/C/man3/dprintf.3:42
502 msgid "B<dprintf>(), B<vdprintf>():"
503 msgstr "B<dprintf>(), B<vdprintf>():"
504
505 #. type: TP
506 #: build/C/man3/dprintf.3:45 build/C/man3/fmemopen.3:33
507 #: build/C/man3/getline.3:47
508 #, no-wrap
509 msgid "Since glibc 2.10:"
510 msgstr "glibc 2.10 以降:"
511
512 #. type: Plain text
513 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
514 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
515 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
516
517 #. type: TP
518 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
519 #: build/C/man3/getline.3:50
520 #, no-wrap
521 msgid "Before glibc 2.10:"
522 msgstr "glibc 2.10 より前:"
523
524 #. type: Plain text
525 #: build/C/man3/dprintf.3:51 build/C/man3/fmemopen.3:39
526 #: build/C/man3/getline.3:53 build/C/man3/unlocked_stdio.3:102
527 msgid "_GNU_SOURCE"
528 msgstr "_GNU_SOURCE"
529
530 #. type: Plain text
531 #: build/C/man3/dprintf.3:68
532 msgid ""
533 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
534 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
535 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
536 msgstr ""
537 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
538 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
539 "れらは I<stdio> ストリームではなくファイルディスクリプタ I<fd> に対して出力を"
540 "行う。"
541
542 #.  .SH NOTES
543 #.  These functions are GNU extensions, not in C or POSIX.
544 #.  Clearly, the names were badly chosen.
545 #.  Many systems (like MacOS) have incompatible functions called
546 #.  .BR dprintf (),
547 #.  usually some debugging version of
548 #.  .BR printf (3),
549 #.  perhaps with a prototype like
550 #.  .BI "void dprintf(int level, const char *" format ", ...);"
551 #.  where the first argument is a debugging level (and output is to
552 #.  .IR stderr ).
553 #.  Moreover,
554 #.  .BR dprintf ()
555 #.  (or
556 #.  .BR DPRINTF )
557 #.  is also a popular macro name for a debugging printf.
558 #.  So, probably, it is better to avoid this function in programs
559 #.  intended to be portable.
560 #.  A better name would have been
561 #.  .BR fdprintf ().
562 #. type: Plain text
563 #: build/C/man3/dprintf.3:94
564 msgid ""
565 "These functions are GNU extensions that are nowadays specified in "
566 "POSIX.1-2008."
567 msgstr ""
568 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
569 "る。"
570
571 #. type: Plain text
572 #: build/C/man3/dprintf.3:96
573 msgid "B<printf>(3)"
574 msgstr "B<printf>(3)"
575
576 #. type: TH
577 #: build/C/man3/fclose.3:42
578 #, no-wrap
579 msgid "FCLOSE"
580 msgstr "FCLOSE"
581
582 #. type: TH
583 #: build/C/man3/fclose.3:42 build/C/man2/read.2:35
584 #, no-wrap
585 msgid "2009-02-23"
586 msgstr "2009-02-23"
587
588 #. type: Plain text
589 #: build/C/man3/fclose.3:45
590 msgid "fclose - close a stream"
591 msgstr "fclose - ストリームを閉じる"
592
593 #. type: Plain text
594 #: build/C/man3/fclose.3:49
595 msgid "B<int fclose(FILE *>I<fp>B<);>"
596 msgstr "B<int fclose(FILE *>I<fp>B<);>"
597
598 #. type: Plain text
599 #: build/C/man3/fclose.3:57
600 msgid ""
601 "The B<fclose>()  function will flushes the stream pointed to by I<fp> "
602 "(writing any buffered output data using B<fflush>(3))  and closes the "
603 "underlying file descriptor."
604 msgstr ""
605 "B<fclose>()  関数は I<fp> で指されるストリームを (バッファリングされていた全"
606 "ての出力データを B<fflush>(3)  を用いて書き込んで) フラッシュし、 その基とな"
607 "るファイルディスクリプタをクローズする。"
608
609 #. type: Plain text
610 #: build/C/man3/fclose.3:68
611 msgid ""
612 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
613 "I<errno> is set to indicate the error.  In either case any further access "
614 "(including another call to B<fclose>())  to the stream results in undefined "
615 "behavior."
616 msgstr ""
617 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
618 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
619 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
620 "は 未定義の動作を生じさせる。"
621
622 #. type: SH
623 #: build/C/man3/fclose.3:68 build/C/man3/ferror.3:95 build/C/man3/fflush.3:79
624 #: build/C/man3/fgetwc.3:59 build/C/man3/flockfile.3:117
625 #: build/C/man3/fopen.3:199 build/C/man3/fpurge.3:63 build/C/man3/fputwc.3:58
626 #: build/C/man3/fseek.3:132 build/C/man3/fseeko.3:72
627 #: build/C/man3/getline.3:120 build/C/man2/link.2:57 build/C/man2/llseek.2:64
628 #: build/C/man2/lseek.2:159 build/C/man2/open.2:472 build/C/man2/pipe.2:97
629 #: build/C/man3/popen.3:141 build/C/man2/read.2:77 build/C/man2/readlink.2:83
630 #: build/C/man2/readv.2:186 build/C/man3/remove.3:65 build/C/man2/rename.2:96
631 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:545 build/C/man2/symlink.2:89
632 #: build/C/man3/tempnam.3:90 build/C/man3/tmpfile.3:52
633 #: build/C/man3/tmpnam.3:73 build/C/man2/unlink.2:60 build/C/man2/write.2:107
634 #: build/C/man2/process_vm_readv.2:227
635 #, no-wrap
636 msgid "ERRORS"
637 msgstr "エラー"
638
639 #. type: TP
640 #: build/C/man3/fclose.3:69 build/C/man3/fflush.3:80 build/C/man3/fpurge.3:64
641 #: build/C/man3/fseek.3:133 build/C/man2/llseek.2:65 build/C/man2/lseek.2:160
642 #: build/C/man2/read.2:96 build/C/man3/scanf.3:551 build/C/man2/write.2:126
643 #, no-wrap
644 msgid "B<EBADF>"
645 msgstr "B<EBADF>"
646
647 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
648 #.   low-level file operations on the same stream. If you do get this error,
649 #.   you must have closed the stream's low-level file descriptor using
650 #.   something like close(fileno(fp)).
651 #. type: Plain text
652 #: build/C/man3/fclose.3:78
653 msgid "The file descriptor underlying I<fp> is not valid."
654 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
655
656 #. type: Plain text
657 #: build/C/man3/fclose.3:88
658 msgid ""
659 "The B<fclose>()  function may also fail and set I<errno> for any of the "
660 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
661 msgstr ""
662 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
663 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
664 "された値に設定される。"
665
666 #. type: Plain text
667 #: build/C/man3/fclose.3:90 build/C/man3/fseek.3:166 build/C/man3/puts.3:103
668 msgid "C89, C99."
669 msgstr "C89, C99."
670
671 #. type: SH
672 #: build/C/man3/fclose.3:90 build/C/man3/fflush.3:97 build/C/man3/fgetwc.3:67
673 #: build/C/man3/fmemopen.3:195 build/C/man3/fmtmsg.3:236
674 #: build/C/man3/fopen.3:253 build/C/man3/fpurge.3:76 build/C/man3/fputwc.3:65
675 #: build/C/man3/fseeko.3:77 build/C/man2/link.2:133 build/C/man2/llseek.2:79
676 #: build/C/man2/lseek.2:199 build/C/man2/open.2:636 build/C/man3/perror.3:124
677 #: build/C/man3/printf.3:868 build/C/man2/read.2:157
678 #: build/C/man2/readlink.2:128 build/C/man2/readv.2:224
679 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:606 build/C/man3/stdin.3:118
680 #: build/C/man2/symlink.2:150 build/C/man3/tempnam.3:99
681 #: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:80
682 #: build/C/man3/wprintf.3:195 build/C/man2/write.2:188
683 #: build/C/man2/process_vm_readv.2:279
684 #, no-wrap
685 msgid "NOTES"
686 msgstr "注意"
687
688 #. type: Plain text
689 #: build/C/man3/fclose.3:100
690 msgid ""
691 "Note that B<fclose>()  only flushes the user space buffers provided by the C "
692 "library.  To ensure that the data is physically stored on disk the kernel "
693 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
694 msgstr ""
695 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
696 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
697 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
698 "ればならない。"
699
700 #. type: Plain text
701 #: build/C/man3/fclose.3:106
702 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
703 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
704
705 #. type: TH
706 #: build/C/man3/fcloseall.3:24
707 #, no-wrap
708 msgid "FCLOSEALL"
709 msgstr "FCLOSEALL"
710
711 #. type: TH
712 #: build/C/man3/fcloseall.3:24
713 #, no-wrap
714 msgid "2006-12-27"
715 msgstr "2006-12-27"
716
717 #. type: Plain text
718 #: build/C/man3/fcloseall.3:27
719 msgid "fcloseall - close all open streams"
720 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
721
722 #. type: Plain text
723 #: build/C/man3/fcloseall.3:31 build/C/man3/fopencookie.3:31
724 #, no-wrap
725 msgid ""
726 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
727 "B<#include E<lt>stdio.hE<gt>>\n"
728 msgstr ""
729 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
730 "B<#include E<lt>stdio.hE<gt>>\n"
731
732 #. type: Plain text
733 #: build/C/man3/fcloseall.3:33
734 #, no-wrap
735 msgid "B<int fcloseall(void);>\n"
736 msgstr "B<int fcloseall(void);>\n"
737
738 #. type: Plain text
739 #: build/C/man3/fcloseall.3:42
740 msgid ""
741 "The B<fcloseall>()  function closes all of the calling process's open "
742 "streams.  Buffered output for each stream is written before it is closed (as "
743 "for B<fflush>(3)); buffered input is discarded."
744 msgstr ""
745 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
746 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
747 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
748 "れる。"
749
750 #. type: Plain text
751 #: build/C/man3/fcloseall.3:49
752 msgid ""
753 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
754 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
755
756 #. type: Plain text
757 #: build/C/man3/fcloseall.3:54
758 msgid ""
759 "This function returns 0 if all files were successfully closed; on error, "
760 "B<EOF> is returned."
761 msgstr ""
762 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
763 "B<EOF> を返す。"
764
765 #. type: Plain text
766 #: build/C/man3/fcloseall.3:56
767 msgid "This function is a GNU extension."
768 msgstr "この関数は GNU 拡張である。"
769
770 #. type: Plain text
771 #: build/C/man3/fcloseall.3:62
772 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
773 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
774
775 #. type: TH
776 #: build/C/man3/ferror.3:42
777 #, no-wrap
778 msgid "FERROR"
779 msgstr "FERROR"
780
781 #. type: TH
782 #: build/C/man3/ferror.3:42 build/C/man3/flockfile.3:23
783 #: build/C/man3/unlocked_stdio.3:23
784 #, no-wrap
785 msgid "2008-08-29"
786 msgstr "2008-08-29"
787
788 #. type: Plain text
789 #: build/C/man3/ferror.3:45
790 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
791 msgstr ""
792 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
793
794 #. type: Plain text
795 #: build/C/man3/ferror.3:49
796 msgid "B<void clearerr(FILE *>I<stream>B<);>"
797 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
798
799 #. type: Plain text
800 #: build/C/man3/ferror.3:51
801 msgid "B<int feof(FILE *>I<stream>B<);>"
802 msgstr "B<int feof(FILE *>I<stream>B<);>"
803
804 #. type: Plain text
805 #: build/C/man3/ferror.3:53
806 msgid "B<int ferror(FILE *>I<stream>B<);>"
807 msgstr "B<int ferror(FILE *>I<stream>B<);>"
808
809 #. type: Plain text
810 #: build/C/man3/ferror.3:55
811 msgid "B<int fileno(FILE *>I<stream>B<);>"
812 msgstr "B<int fileno(FILE *>I<stream>B<);>"
813
814 #. type: Plain text
815 #: build/C/man3/ferror.3:63
816 msgid ""
817 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
818 msgstr ""
819 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
820
821 #. type: Plain text
822 #: build/C/man3/ferror.3:68
823 msgid ""
824 "The function B<clearerr>()  clears the end-of-file and error indicators for "
825 "the stream pointed to by I<stream>."
826 msgstr ""
827 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
828 "子とエラー指示子をクリアする。"
829
830 #. type: Plain text
831 #: build/C/man3/ferror.3:77
832 msgid ""
833 "The function B<feof>()  tests the end-of-file indicator for the stream "
834 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
835 "indicator can only be cleared by the function B<clearerr>()."
836 msgstr ""
837 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
838 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
839 "よってのみクリアすることができる。"
840
841 #. type: Plain text
842 #: build/C/man3/ferror.3:86
843 msgid ""
844 "The function B<ferror>()  tests the error indicator for the stream pointed "
845 "to by I<stream>, returning nonzero if it is set.  The error indicator can "
846 "only be reset by the B<clearerr>()  function."
847 msgstr ""
848 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
849 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
850 "()  によってのみリセットすることができる。"
851
852 #. type: Plain text
853 #: build/C/man3/ferror.3:92
854 msgid ""
855 "The function B<fileno>()  examines the argument I<stream> and returns its "
856 "integer descriptor."
857 msgstr ""
858 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
859
860 #. type: Plain text
861 #: build/C/man3/ferror.3:95 build/C/man3/fgetwc.3:53 build/C/man3/fputwc.3:52
862 #: build/C/man3/fread.3:81 build/C/man3/gets.3:109 build/C/man3/puts.3:82
863 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
864 msgstr ""
865 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
866
867 #. type: Plain text
868 #: build/C/man3/ferror.3:105
869 msgid ""
870 "These functions should not fail and do not set the external variable "
871 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
872 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
873 msgstr ""
874 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
875 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
876 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
877
878 #. type: Plain text
879 #: build/C/man3/ferror.3:112
880 msgid ""
881 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
882 "C99."
883 msgstr ""
884 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
885
886 #. type: Plain text
887 #: build/C/man3/ferror.3:117
888 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
889 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
890
891 #. type: TH
892 #: build/C/man3/fflush.3:43
893 #, no-wrap
894 msgid "FFLUSH"
895 msgstr "FFLUSH"
896
897 #. type: TH
898 #: build/C/man3/fflush.3:43
899 #, no-wrap
900 msgid "2009-09-06"
901 msgstr "2009-09-06"
902
903 #. type: Plain text
904 #: build/C/man3/fflush.3:46
905 msgid "fflush - flush a stream"
906 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
907
908 #. type: Plain text
909 #: build/C/man3/fflush.3:50
910 msgid "B<int fflush(FILE *>I<stream>B<);>"
911 msgstr "B<int fflush(FILE *>I<stream>B<);>"
912
913 #. type: Plain text
914 #: build/C/man3/fflush.3:61
915 msgid ""
916 "For output streams, B<fflush>()  forces a write of all user-space buffered "
917 "data for the given output or update I<stream> via the stream's underlying "
918 "write function.  For input streams, B<fflush>()  discards any buffered data "
919 "that has been fetched from the underlying file, but has not been consumed by "
920 "the application.  The open status of the stream is unaffected."
921 msgstr ""
922 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
923 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
924 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
925 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
926 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
927 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
928 "い。"
929
930 #. type: Plain text
931 #: build/C/man3/fflush.3:69
932 msgid ""
933 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
934 "streams."
935 msgstr ""
936 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
937 "トリームをフラッシュする。"
938
939 #. type: Plain text
940 #: build/C/man3/fflush.3:72
941 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
942 msgstr ""
943 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
944 "と。"
945
946 #. type: Plain text
947 #: build/C/man3/fflush.3:79
948 msgid ""
949 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
950 "I<errno> is set to indicate the error."
951 msgstr ""
952 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
953 "ラーに対応した値に設定される。"
954
955 #. type: Plain text
956 #: build/C/man3/fflush.3:84
957 msgid "I<Stream> is not an open stream, or is not open for writing."
958 msgstr ""
959 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
960 "ない。"
961
962 #. type: Plain text
963 #: build/C/man3/fflush.3:91
964 msgid ""
965 "The function B<fflush>()  may also fail and set I<errno> for any of the "
966 "errors specified for B<write>(2)."
967 msgstr ""
968 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
969 "ある。 この場合 I<errno> もその値に設定される。"
970
971 #. type: Plain text
972 #: build/C/man3/fflush.3:93
973 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
974 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
975
976 #.  Verified on: Solaris 8.
977 #. type: Plain text
978 #: build/C/man3/fflush.3:97
979 msgid ""
980 "The standards do not specify the behavior for input streams.  Most other "
981 "implementations behave the same as Linux."
982 msgstr ""
983 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
984 "は Linux と同じ動作をする。"
985
986 #. type: Plain text
987 #: build/C/man3/fflush.3:106
988 msgid ""
989 "Note that B<fflush>()  only flushes the user space buffers provided by the C "
990 "library.  To ensure that the data is physically stored on disk the kernel "
991 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
992 msgstr ""
993 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
994 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
995 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
996 "B<fsync>(2)  を用いる。"
997
998 #. type: Plain text
999 #: build/C/man3/fflush.3:114
1000 msgid ""
1001 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1002 "(3), B<unlocked_stdio>(3)"
1003 msgstr ""
1004 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1005 "(3), B<unlocked_stdio>(3)"
1006
1007 #. type: TH
1008 #: build/C/man3/fgetwc.3:16
1009 #, no-wrap
1010 msgid "FGETWC"
1011 msgstr "FGETWC"
1012
1013 #. type: TH
1014 #: build/C/man3/fgetwc.3:16 build/C/man3/fputwc.3:14
1015 #, no-wrap
1016 msgid "1999-07-25"
1017 msgstr "1999-07-25"
1018
1019 #. type: Plain text
1020 #: build/C/man3/fgetwc.3:19
1021 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1022 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1023
1024 #. type: Plain text
1025 #: build/C/man3/fgetwc.3:24 build/C/man3/fmemopen.3:18
1026 #: build/C/man3/fputwc.3:22 build/C/man3/unlocked_stdio.3:52
1027 #, no-wrap
1028 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1029 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1030
1031 #. type: Plain text
1032 #: build/C/man3/fgetwc.3:27
1033 #, no-wrap
1034 msgid ""
1035 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1036 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1037 msgstr ""
1038 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1039 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1040
1041 #. type: Plain text
1042 #: build/C/man3/fgetwc.3:42
1043 msgid ""
1044 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1045 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1046 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1047 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1048 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1049 msgstr ""
1050 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1051 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1052 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1053 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1054 "し、 B<WEOF> を返す。"
1055
1056 #. type: Plain text
1057 #: build/C/man3/fgetwc.3:50
1058 msgid ""
1059 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1060 "may be implemented as a macro, and may evaluate its argument more than "
1061 "once.  There is no reason ever to use it."
1062 msgstr ""
1063 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1064 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1065 "ない。この関数を使う理由はもはや存在しない。"
1066
1067 #. type: Plain text
1068 #: build/C/man3/fgetwc.3:59
1069 msgid ""
1070 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1071 "or B<WEOF>."
1072 msgstr ""
1073 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
1074
1075 #. type: Plain text
1076 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60
1077 msgid "Apart from the usual ones, there is"
1078 msgstr "通常のエラーに加えて、以下のエラーがある:"
1079
1080 #. type: TP
1081 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60 build/C/man3/scanf.3:556
1082 #, no-wrap
1083 msgid "B<EILSEQ>"
1084 msgstr "B<EILSEQ>"
1085
1086 #. type: Plain text
1087 #: build/C/man3/fgetwc.3:65
1088 msgid ""
1089 "The data obtained from the input stream does not form a valid character."
1090 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1091
1092 #. type: Plain text
1093 #: build/C/man3/fgetwc.3:67 build/C/man3/fputwc.3:65
1094 msgid "C99, POSIX.1-2001."
1095 msgstr "C99, POSIX.1-2001."
1096
1097 #. type: Plain text
1098 #: build/C/man3/fgetwc.3:74
1099 msgid ""
1100 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1101 "current locale."
1102 msgstr ""
1103 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1104
1105 #. type: Plain text
1106 #: build/C/man3/fgetwc.3:82
1107 msgid ""
1108 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1109 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1110 "sequence from the stream and then convert it to a wide character."
1111 msgstr ""
1112 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1113 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1114 "換すると期待することは適切である。"
1115
1116 #. type: Plain text
1117 #: build/C/man3/fgetwc.3:87
1118 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1119 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1120
1121 #. type: TH
1122 #: build/C/man3/flockfile.3:23
1123 #, no-wrap
1124 msgid "FLOCKFILE"
1125 msgstr "FLOCKFILE"
1126
1127 #. type: Plain text
1128 #: build/C/man3/flockfile.3:26
1129 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1130 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1131
1132 #. type: Plain text
1133 #: build/C/man3/flockfile.3:31
1134 #, no-wrap
1135 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1136 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1137
1138 #. type: Plain text
1139 #: build/C/man3/flockfile.3:33
1140 #, no-wrap
1141 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1142 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1143
1144 #. type: Plain text
1145 #: build/C/man3/flockfile.3:35
1146 #, no-wrap
1147 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1148 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1149
1150 #. type: Plain text
1151 #: build/C/man3/flockfile.3:44 build/C/man3/wprintf.3:41
1152 msgid "All functions shown above:"
1153 msgstr "上記の全ての関数:"
1154
1155 #. type: Plain text
1156 #: build/C/man3/flockfile.3:47
1157 msgid ""
1158 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1159 "|| _POSIX_SOURCE"
1160 msgstr ""
1161 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1162 "|| _POSIX_SOURCE"
1163
1164 #. type: Plain text
1165 #: build/C/man3/flockfile.3:61
1166 msgid ""
1167 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1168 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1169 "thread.  For each library call, these functions wait until the I<FILE> "
1170 "object is no longer locked by a different thread, then lock it, do the "
1171 "requested I/O, and unlock the object again."
1172 msgstr ""
1173 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1174 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1175 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1176 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1177 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1178 "オブジェクトのロックを解除する。"
1179
1180 #. type: Plain text
1181 #: build/C/man3/flockfile.3:67
1182 msgid ""
1183 "(Note: this locking has nothing to do with the file locking done by "
1184 "functions like B<flock>(2)  and B<lockf>(3).)"
1185 msgstr ""
1186 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1187 "全く無関係である。)"
1188
1189 #. type: Plain text
1190 #: build/C/man3/flockfile.3:75
1191 msgid ""
1192 "All this is invisible to the C-programmer, but there may be two reasons to "
1193 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1194 "actions by one thread belongs together, and should not be interrupted by the "
1195 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1196 "should be avoided for greater efficiency."
1197 msgstr ""
1198 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1199 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1200 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1201 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1202 "避ける必要があるということであろう。"
1203
1204 #. type: Plain text
1205 #: build/C/man3/flockfile.3:92
1206 msgid ""
1207 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1208 "series of I/O actions, then unlock.  This prevents other threads from coming "
1209 "in between.  If the reason for doing this was to achieve greater efficiency, "
1210 "one does the I/O with the nonlocking versions of the stdio functions: with "
1211 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1212 "B<putc>(3)."
1213 msgstr ""
1214 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1215 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1216 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1217 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1218 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1219 "B<putc_unlocked>(3)  を使用する。"
1220
1221 #. type: Plain text
1222 #: build/C/man3/flockfile.3:99
1223 msgid ""
1224 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1225 "by a different thread, then makes the current thread owner of "
1226 "I<*filehandle>, and increments the lockcount."
1227 msgstr ""
1228 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1229 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1230 "ロック数を加算する。"
1231
1232 #. type: Plain text
1233 #: build/C/man3/flockfile.3:103
1234 msgid "The B<funlockfile>()  function decrements the lock count."
1235 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1236
1237 #. type: Plain text
1238 #: build/C/man3/flockfile.3:112
1239 msgid ""
1240 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1241 "It does nothing in case some other thread owns I<*filehandle>, and it "
1242 "obtains ownership and increments the lockcount otherwise."
1243 msgstr ""
1244 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1245 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1246 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1247
1248 #. type: Plain text
1249 #: build/C/man3/flockfile.3:117
1250 msgid ""
1251 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1252 "obtained), and nonzero for failure."
1253 msgstr ""
1254 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1255 "の値を返す。"
1256
1257 #. type: Plain text
1258 #: build/C/man3/flockfile.3:119
1259 msgid "None."
1260 msgstr "なし。"
1261
1262 #. type: Plain text
1263 #: build/C/man3/flockfile.3:121 build/C/man3/popen.3:169
1264 msgid "POSIX.1-2001."
1265 msgstr "POSIX.1-2001."
1266
1267 #. type: SH
1268 #: build/C/man3/flockfile.3:121
1269 #, no-wrap
1270 msgid "AVAILABILITY"
1271 msgstr "可用性"
1272
1273 #. type: Plain text
1274 #: build/C/man3/flockfile.3:127
1275 msgid ""
1276 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1277 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1278 msgstr ""
1279 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1280 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1281
1282 #. type: Plain text
1283 #: build/C/man3/flockfile.3:129
1284 msgid "B<unlocked_stdio>(3)"
1285 msgstr "B<unlocked_stdio>(3)"
1286
1287 #. type: TH
1288 #: build/C/man3/fmemopen.3:6
1289 #, no-wrap
1290 msgid "FMEMOPEN"
1291 msgstr "FMEMOPEN"
1292
1293 #. type: Plain text
1294 #: build/C/man3/fmemopen.3:9
1295 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1296 msgstr ""
1297 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1298 "する"
1299
1300 #. type: Plain text
1301 #: build/C/man3/fmemopen.3:14
1302 #, no-wrap
1303 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1304 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1305
1306 #. type: Plain text
1307 #: build/C/man3/fmemopen.3:16
1308 #, no-wrap
1309 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1310 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1311
1312 #. type: Plain text
1313 #: build/C/man3/fmemopen.3:20
1314 #, no-wrap
1315 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1316 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1317
1318 #. type: Plain text
1319 #: build/C/man3/fmemopen.3:30
1320 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1321 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1322
1323 #. type: Plain text
1324 #: build/C/man3/fmemopen.3:53
1325 msgid ""
1326 "The B<fmemopen>()  function opens a stream that permits the access specified "
1327 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1328 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1329 "long."
1330 msgstr ""
1331 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1332 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1333 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1334 "I<size> バイトの長さでなければならない。"
1335
1336 #. type: Plain text
1337 #: build/C/man3/fmemopen.3:73
1338 msgid ""
1339 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1340 "an append mode, then the initial file position is set to the location of the "
1341 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1342 "position is set to the start of the buffer.  Since glibc 2.9, the letter 'b' "
1343 "may be specified as the second character in I<mode>.  This provides \"binary"
1344 "\" mode: writes don't implicitly add a terminating null byte, and B<fseek>"
1345 "(3)  B<SEEK_END> is relative to the end of the buffer (i.e., the value "
1346 "specified by the I<size> argument), rather than the current string length."
1347 msgstr ""
1348 "引き数 I<mode> は B<fopen>(3)  の場合と同じである。 I<mode> で追記モード "
1349 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の最初の "
1350 "NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。 それ以外の場合は、ファイル"
1351 "位置の初期値はバッファの先頭になる。 glibc 2.9 以降では、文字 'b' を I<mode> "
1352 "の二番目の文字として指定することができる。 この文字は「バイナリ」モードを指定"
1353 "するものである。 このモードでは、書き込み時に文字列終端のヌルバイトが黙って追"
1354 "加 されることはない。また、 B<fseek>(3)  B<SEEK_END> は、文字列の長さからの相"
1355 "対値ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1356
1357 #. type: Plain text
1358 #: build/C/man3/fmemopen.3:85
1359 msgid ""
1360 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1361 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1362 "there is space.  The caller should ensure that an extra byte is available in "
1363 "the buffer (and that I<size> counts that byte)  to allow for this."
1364 msgstr ""
1365 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1366 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1367 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1368 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1369
1370 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1371 #.  and
1372 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1373 #. type: Plain text
1374 #: build/C/man3/fmemopen.3:103
1375 msgid ""
1376 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1377 "(By default, such errors will only be visible when the I<stdio> buffer is "
1378 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1379 "detect errors at the time of an output operation.  Alternatively, the caller "
1380 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1381 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1382 msgstr ""
1383 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1384 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1385 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1386 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1387 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1388 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1389 "stdio に教える方法がある。)"
1390
1391 #. type: Plain text
1392 #: build/C/man3/fmemopen.3:111
1393 msgid ""
1394 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1395 "not cause read operations to return an end-of-file indication.  A read from "
1396 "the buffer will only indicate end-of-file when the file pointer advances "
1397 "I<size> bytes past the start of the buffer."
1398 msgstr ""
1399 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1400 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1401 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1402 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1403
1404 #. type: Plain text
1405 #: build/C/man3/fmemopen.3:126
1406 msgid ""
1407 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1408 "buffer I<size> bytes long.  This is useful for an application that wants to "
1409 "write data to a temporary buffer and then read it back again.  The buffer is "
1410 "automatically freed when the stream is closed.  Note that the caller has no "
1411 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1412 "see B<open_memstream>()  below)."
1413 msgstr ""
1414 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1415 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1416 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1417 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1418 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1419 "の B<open_memstream>()  も参照)。"
1420
1421 #. type: Plain text
1422 #: build/C/man3/fmemopen.3:137
1423 msgid ""
1424 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1425 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1426 "automatically grows as required.  After closing the stream, the caller "
1427 "should B<free>(3)  this buffer."
1428 msgstr ""
1429 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1430 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1431 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1432 "B<free>(3)  すべきである。"
1433
1434 #. type: Plain text
1435 #: build/C/man3/fmemopen.3:152
1436 msgid ""
1437 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1438 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1439 "respectively, a pointer to the buffer and the current size of the buffer.  "
1440 "These values remain valid only as long as the caller performs no further "
1441 "output on the stream.  If further output is performed, then the stream must "
1442 "again be flushed before trying to access these variables."
1443 msgstr ""
1444 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1445 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1446 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1447 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1448 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1449
1450 #. type: Plain text
1451 #: build/C/man3/fmemopen.3:158
1452 msgid ""
1453 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1454 "included in the size value stored at I<sizeloc>."
1455 msgstr ""
1456 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1457 "されるサイズには「含まれない」。"
1458
1459 #. type: Plain text
1460 #: build/C/man3/fmemopen.3:166
1461 msgid ""
1462 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1463 "(3).  Moving the file position past the end of the data already written "
1464 "fills the intervening space with zeros."
1465 msgstr ""
1466 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1467 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1468 "は 0 で埋められる。"
1469
1470 #. type: Plain text
1471 #: build/C/man3/fmemopen.3:172
1472 msgid ""
1473 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1474 "wide characters instead of bytes."
1475 msgstr ""
1476 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1477 "ド文字に対して操作を行う点が異なる。"
1478
1479 #. type: Plain text
1480 #: build/C/man3/fmemopen.3:184
1481 msgid ""
1482 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1483 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1484 "and I<errno> is set to indicate the error."
1485 msgstr ""
1486 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1487 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1488 "し、 I<errno> にエラーを示す値をセットする。"
1489
1490 #. type: SH
1491 #: build/C/man3/fmemopen.3:184 build/C/man3/fmtmsg.3:218
1492 #: build/C/man3/getline.3:130 build/C/man2/pipe.2:113 build/C/man2/readv.2:207
1493 #: build/C/man2/process_vm_readv.2:274
1494 #, no-wrap
1495 msgid "VERSIONS"
1496 msgstr "バージョン"
1497
1498 #. type: Plain text
1499 #: build/C/man3/fmemopen.3:191
1500 msgid ""
1501 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1502 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1503 msgstr ""
1504 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1505 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1506
1507 #. type: Plain text
1508 #: build/C/man3/fmemopen.3:195
1509 msgid ""
1510 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1511 "not widely available on other systems."
1512 msgstr ""
1513 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1514 "のシステムで広く利用可能である。"
1515
1516 #. type: Plain text
1517 #: build/C/man3/fmemopen.3:201
1518 msgid ""
1519 "There is no file descriptor associated with the file stream returned by "
1520 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1521 "returned stream)."
1522 msgstr ""
1523 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1524 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1525 "とになる)。"
1526
1527 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1528 #. type: Plain text
1529 #: build/C/man3/fmemopen.3:208
1530 msgid ""
1531 "In glibc before version 2.7, seeking past the end of a stream created by "
1532 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1533 "call fails, returning -1."
1534 msgstr ""
1535 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1536 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1537 "B<fseek>(3)  が失敗し -1 が返る。"
1538
1539 #. type: SH
1540 #: build/C/man3/fmemopen.3:208 build/C/man3/fmtmsg.3:240
1541 #: build/C/man3/fopencookie.3:244 build/C/man3/getline.3:139
1542 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:974
1543 #: build/C/man2/readlink.2:155 build/C/man2/readv.2:263
1544 #: build/C/man2/process_vm_readv.2:293
1545 #, no-wrap
1546 msgid "EXAMPLE"
1547 msgstr "例"
1548
1549 #. type: Plain text
1550 #: build/C/man3/fmemopen.3:218
1551 msgid ""
1552 "The program below uses B<fmemopen>()  to open an input buffer, and "
1553 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1554 "scans its input string (taken from the program's first command-line "
1555 "argument) reading integers, and writes the squares of these integers to the "
1556 "output buffer.  An example of the output produced by this program is the "
1557 "following:"
1558 msgstr ""
1559 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1560 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1561 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1562 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1563 "ムの実行例は以下のようになる。"
1564
1565 #. type: Plain text
1566 #: build/C/man3/fmemopen.3:223
1567 #, no-wrap
1568 msgid ""
1569 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1570 "size=11; ptr=1 529 1849\n"
1571 msgstr ""
1572 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1573 "size=11; ptr=1 529 1849\n"
1574
1575 #. type: SS
1576 #: build/C/man3/fmemopen.3:225 build/C/man3/fopencookie.3:268
1577 #, no-wrap
1578 msgid "Program source"
1579 msgstr "プログラムのソース"
1580
1581 #. type: Plain text
1582 #: build/C/man3/fmemopen.3:232
1583 #, no-wrap
1584 msgid ""
1585 "#define _GNU_SOURCE\n"
1586 "#include E<lt>string.hE<gt>\n"
1587 "#include E<lt>stdio.hE<gt>\n"
1588 "#include E<lt>stdlib.hE<gt>\n"
1589 msgstr ""
1590 "#define _GNU_SOURCE\n"
1591 "#include E<lt>string.hE<gt>\n"
1592 "#include E<lt>stdio.hE<gt>\n"
1593 "#include E<lt>stdlib.hE<gt>\n"
1594
1595 #. type: Plain text
1596 #: build/C/man3/fmemopen.3:235
1597 #, no-wrap
1598 msgid ""
1599 "#define handle_error(msg) \\e\n"
1600 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1601 msgstr ""
1602 "#define handle_error(msg) \\e\n"
1603 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1604
1605 #. type: Plain text
1606 #: build/C/man3/fmemopen.3:243
1607 #, no-wrap
1608 msgid ""
1609 "int\n"
1610 "main(int argc, char *argv[])\n"
1611 "{\n"
1612 "    FILE *out, *in;\n"
1613 "    int v, s;\n"
1614 "    size_t size;\n"
1615 "    char *ptr;\n"
1616 msgstr ""
1617 "int\n"
1618 "main(int argc, char *argv[])\n"
1619 "{\n"
1620 "    FILE *out, *in;\n"
1621 "    int v, s;\n"
1622 "    size_t size;\n"
1623 "    char *ptr;\n"
1624
1625 #. type: Plain text
1626 #: build/C/man3/fmemopen.3:248
1627 #, no-wrap
1628 msgid ""
1629 "    if (argc != 2) {\n"
1630 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1631 "\texit(EXIT_FAILURE);\n"
1632 "    }\n"
1633 msgstr ""
1634 "    if (argc != 2) {\n"
1635 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1636 "\texit(EXIT_FAILURE);\n"
1637 "    }\n"
1638
1639 #. type: Plain text
1640 #: build/C/man3/fmemopen.3:252
1641 #, no-wrap
1642 msgid ""
1643 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1644 "    if (in == NULL)\n"
1645 "        handle_error(\"fmemopen\");\n"
1646 msgstr ""
1647 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1648 "    if (in == NULL)\n"
1649 "        handle_error(\"fmemopen\");\n"
1650
1651 #. type: Plain text
1652 #: build/C/man3/fmemopen.3:256
1653 #, no-wrap
1654 msgid ""
1655 "    out = open_memstream(&ptr, &size);\n"
1656 "    if (out == NULL)\n"
1657 "        handle_error(\"open_memstream\");\n"
1658 msgstr ""
1659 "    out = open_memstream(&ptr, &size);\n"
1660 "    if (out == NULL)\n"
1661 "        handle_error(\"open_memstream\");\n"
1662
1663 #. type: Plain text
1664 #: build/C/man3/fmemopen.3:261
1665 #, no-wrap
1666 msgid ""
1667 "    for (;;) {\n"
1668 "        s = fscanf(in, \"%d\", &v);\n"
1669 "        if (s E<lt>= 0)\n"
1670 "            break;\n"
1671 msgstr ""
1672 "    for (;;) {\n"
1673 "        s = fscanf(in, \"%d\", &v);\n"
1674 "        if (s E<lt>= 0)\n"
1675 "            break;\n"
1676
1677 #. type: Plain text
1678 #: build/C/man3/fmemopen.3:272
1679 #, no-wrap
1680 msgid ""
1681 "        s = fprintf(out, \"%d \", v * v);\n"
1682 "        if (s == -1)\n"
1683 "            handle_error(\"fprintf\");\n"
1684 "    }\n"
1685 "    fclose(in);\n"
1686 "    fclose(out);\n"
1687 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1688 "    free(ptr);\n"
1689 "    exit(EXIT_SUCCESS);\n"
1690 "}\n"
1691 msgstr ""
1692 "        s = fprintf(out, \"%d \", v * v);\n"
1693 "        if (s == -1)\n"
1694 "            handle_error(\"fprintf\");\n"
1695 "    }\n"
1696 "    fclose(in);\n"
1697 "    fclose(out);\n"
1698 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1699 "    free(ptr);\n"
1700 "    exit(EXIT_SUCCESS);\n"
1701 "}\n"
1702
1703 #. type: Plain text
1704 #: build/C/man3/fmemopen.3:276
1705 msgid "B<fopen>(3), B<fopencookie>(3)"
1706 msgstr "B<fopen>(3), B<fopencookie>(3)"
1707
1708 #. type: TH
1709 #: build/C/man3/fmtmsg.3:9
1710 #, no-wrap
1711 msgid "FMTMSG"
1712 msgstr "FMTMSG"
1713
1714 #. type: TH
1715 #: build/C/man3/fmtmsg.3:9
1716 #, no-wrap
1717 msgid "2008-06-14"
1718 msgstr "2008-06-14"
1719
1720 #. type: Plain text
1721 #: build/C/man3/fmtmsg.3:12
1722 msgid "fmtmsg - print formatted error messages"
1723 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1724
1725 #. type: Plain text
1726 #: build/C/man3/fmtmsg.3:15
1727 #, no-wrap
1728 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1729 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1730
1731 #. type: Plain text
1732 #: build/C/man3/fmtmsg.3:17
1733 #, no-wrap
1734 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1735 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1736
1737 #. type: Plain text
1738 #: build/C/man3/fmtmsg.3:19
1739 #, no-wrap
1740 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1741 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1742
1743 #. type: Plain text
1744 #: build/C/man3/fmtmsg.3:21
1745 #, no-wrap
1746 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1747 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1748
1749 #. type: Plain text
1750 #: build/C/man3/fmtmsg.3:32
1751 msgid ""
1752 "This function displays a message described by its arguments on the device"
1753 "(s)  specified in the I<classification> argument.  For messages written to "
1754 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1755 msgstr ""
1756 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1757 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1758 "は、 B<MSGVERB> 環境変数に依存する。"
1759
1760 #. type: Plain text
1761 #: build/C/man3/fmtmsg.3:39
1762 msgid ""
1763 "The I<label> argument identifies the source of the message.  The string must "
1764 "consist of two colon separated parts where the first part has not more than "
1765 "10 and the second part not more than 14 characters."
1766 msgstr ""
1767 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1768 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1769 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1770
1771 #. type: Plain text
1772 #: build/C/man3/fmtmsg.3:43
1773 msgid "The I<text> argument describes the condition of the error."
1774 msgstr "I<text> 引き数にはエラー条件を記述する。"
1775
1776 #. type: Plain text
1777 #: build/C/man3/fmtmsg.3:48
1778 msgid ""
1779 "The I<action> argument describes possible steps to recover from the error.  "
1780 "If it is printed, it is prefixed by \"TO FIX: \"."
1781 msgstr ""
1782 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1783 "れが表示される場合、\"TO FIX: \" が前に付く。"
1784
1785 #. type: Plain text
1786 #: build/C/man3/fmtmsg.3:56
1787 msgid ""
1788 "The I<tag> argument is a reference to the online documentation where more "
1789 "information can be found.  It should contain the I<label> value and a unique "
1790 "identification number."
1791 msgstr ""
1792 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1793 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1794
1795 #. type: SS
1796 #: build/C/man3/fmtmsg.3:56
1797 #, no-wrap
1798 msgid "Dummy arguments"
1799 msgstr "ダミー引き数"
1800
1801 #. type: Plain text
1802 #: build/C/man3/fmtmsg.3:75
1803 msgid ""
1804 "Each of the arguments can have a dummy value.  The dummy classification "
1805 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1806 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1807 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1808 "synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
1809 "synonym for B<NO_SEV>."
1810 msgstr ""
1811 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1812 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1813 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1814 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1815 "((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
1816 "る。"
1817
1818 #. type: SS
1819 #: build/C/man3/fmtmsg.3:75
1820 #, no-wrap
1821 msgid "The classification argument"
1822 msgstr "classification 引き数"
1823
1824 #. type: Plain text
1825 #: build/C/man3/fmtmsg.3:79
1826 msgid ""
1827 "The I<classification> argument is the sum of values describing 4 types of "
1828 "information."
1829 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1830
1831 #. type: Plain text
1832 #: build/C/man3/fmtmsg.3:82
1833 msgid "The first value defines the output channel."
1834 msgstr "最初の値は出力チャンネルを定義する。"
1835
1836 #. type: TP
1837 #: build/C/man3/fmtmsg.3:82
1838 #, no-wrap
1839 msgid "B<MM_PRINT>"
1840 msgstr "B<MM_PRINT>"
1841
1842 #. type: Plain text
1843 #: build/C/man3/fmtmsg.3:86
1844 msgid "Output to I<stderr>."
1845 msgstr "I<stderr> に出力する。"
1846
1847 #. type: TP
1848 #: build/C/man3/fmtmsg.3:86
1849 #, no-wrap
1850 msgid "B<MM_CONSOLE>"
1851 msgstr "B<MM_CONSOLE>"
1852
1853 #. type: Plain text
1854 #: build/C/man3/fmtmsg.3:89
1855 msgid "Output to the system console."
1856 msgstr "システムコンソールに出力する。"
1857
1858 #. type: TP
1859 #: build/C/man3/fmtmsg.3:89
1860 #, no-wrap
1861 msgid "B<MM_PRINT | MM_CONSOLE>"
1862 msgstr "B<MM_PRINT | MM_CONSOLE>"
1863
1864 #. type: Plain text
1865 #: build/C/man3/fmtmsg.3:92
1866 msgid "Output to both."
1867 msgstr "両方に出力する。"
1868
1869 #. type: Plain text
1870 #: build/C/man3/fmtmsg.3:94
1871 msgid "The second value is the source of the error:"
1872 msgstr "2 番目の値はエラーの発生源である:"
1873
1874 #. type: TP
1875 #: build/C/man3/fmtmsg.3:94
1876 #, no-wrap
1877 msgid "B<MM_HARD>"
1878 msgstr "B<MM_HARD>"
1879
1880 #. type: Plain text
1881 #: build/C/man3/fmtmsg.3:97
1882 msgid "A hardware error occurred."
1883 msgstr "ハードウェアエラーが起こった。"
1884
1885 #. type: TP
1886 #: build/C/man3/fmtmsg.3:97
1887 #, no-wrap
1888 msgid "B<MM_FIRM>"
1889 msgstr "B<MM_FIRM>"
1890
1891 #. type: Plain text
1892 #: build/C/man3/fmtmsg.3:100
1893 msgid "A firmware error occurred."
1894 msgstr "ファームウェアエラーが起こった。"
1895
1896 #. type: TP
1897 #: build/C/man3/fmtmsg.3:100
1898 #, no-wrap
1899 msgid "B<MM_SOFT>"
1900 msgstr "B<MM_SOFT>"
1901
1902 #. type: Plain text
1903 #: build/C/man3/fmtmsg.3:103
1904 msgid "A software error occurred."
1905 msgstr "ソフトウェアエラーが起こった。"
1906
1907 #. type: Plain text
1908 #: build/C/man3/fmtmsg.3:105
1909 msgid "The third value encodes the detector of the problem:"
1910 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
1911
1912 #. type: TP
1913 #: build/C/man3/fmtmsg.3:105
1914 #, no-wrap
1915 msgid "B<MM_APPL>"
1916 msgstr "B<MM_APPL>"
1917
1918 #. type: Plain text
1919 #: build/C/man3/fmtmsg.3:108
1920 msgid "It is detected by an application."
1921 msgstr "アプリケーションによって検知された。"
1922
1923 #. type: TP
1924 #: build/C/man3/fmtmsg.3:108
1925 #, no-wrap
1926 msgid "B<MM_UTIL>"
1927 msgstr "B<MM_UTIL>"
1928
1929 #. type: Plain text
1930 #: build/C/man3/fmtmsg.3:111
1931 msgid "It is detected by a utility."
1932 msgstr "ユーティリティによって検知された。"
1933
1934 #. type: TP
1935 #: build/C/man3/fmtmsg.3:111
1936 #, no-wrap
1937 msgid "B<MM_OPSYS>"
1938 msgstr "B<MM_OPSYS>"
1939
1940 #. type: Plain text
1941 #: build/C/man3/fmtmsg.3:114
1942 msgid "It is detected by the operating system."
1943 msgstr "オペレーティングシステムによって検知された。"
1944
1945 #. type: Plain text
1946 #: build/C/man3/fmtmsg.3:116
1947 msgid "The fourth value shows the severity of the incident:"
1948 msgstr "4 番目の値は問題の重大度を表す:"
1949
1950 #. type: TP
1951 #: build/C/man3/fmtmsg.3:116
1952 #, no-wrap
1953 msgid "B<MM_RECOVER>"
1954 msgstr "B<MM_RECOVER>"
1955
1956 #. type: Plain text
1957 #: build/C/man3/fmtmsg.3:119
1958 msgid "It is a recoverable error."
1959 msgstr "回復可能なエラーである。"
1960
1961 #. type: TP
1962 #: build/C/man3/fmtmsg.3:119
1963 #, no-wrap
1964 msgid "B<MM_NRECOV>"
1965 msgstr "B<MM_NRECOV>"
1966
1967 #. type: Plain text
1968 #: build/C/man3/fmtmsg.3:122
1969 msgid "It is a nonrecoverable error."
1970 msgstr "回復不可能なエラーである。"
1971
1972 #. type: SS
1973 #: build/C/man3/fmtmsg.3:122
1974 #, no-wrap
1975 msgid "The severity argument"
1976 msgstr "severity 引き数"
1977
1978 #. type: Plain text
1979 #: build/C/man3/fmtmsg.3:126
1980 msgid "The I<severity> argument can take one of the following values:"
1981 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
1982
1983 #. type: TP
1984 #: build/C/man3/fmtmsg.3:126
1985 #, no-wrap
1986 msgid "B<MM_NOSEV>"
1987 msgstr "B<MM_NOSEV>"
1988
1989 #. type: Plain text
1990 #: build/C/man3/fmtmsg.3:129
1991 msgid "No severity is printed."
1992 msgstr "重大度は表示されない。"
1993
1994 #. type: TP
1995 #: build/C/man3/fmtmsg.3:129
1996 #, no-wrap
1997 msgid "B<MM_HALT>"
1998 msgstr "B<MM_HALT>"
1999
2000 #. type: Plain text
2001 #: build/C/man3/fmtmsg.3:132
2002 msgid "This value is printed as HALT."
2003 msgstr "この値は HALT として表示される。"
2004
2005 #. type: TP
2006 #: build/C/man3/fmtmsg.3:132
2007 #, no-wrap
2008 msgid "B<MM_ERROR>"
2009 msgstr "B<MM_ERROR>"
2010
2011 #. type: Plain text
2012 #: build/C/man3/fmtmsg.3:135
2013 msgid "This value is printed as ERROR."
2014 msgstr "この値は ERROR として表示される。"
2015
2016 #. type: TP
2017 #: build/C/man3/fmtmsg.3:135
2018 #, no-wrap
2019 msgid "B<MM_WARNING>"
2020 msgstr "B<MM_WARNING>"
2021
2022 #. type: Plain text
2023 #: build/C/man3/fmtmsg.3:138
2024 msgid "This value is printed as WARNING."
2025 msgstr "この値は WARNING として表示される。"
2026
2027 #. type: TP
2028 #: build/C/man3/fmtmsg.3:138
2029 #, no-wrap
2030 msgid "B<MM_INFO>"
2031 msgstr "B<MM_INFO>"
2032
2033 #. type: Plain text
2034 #: build/C/man3/fmtmsg.3:141
2035 msgid "This value is printed as INFO."
2036 msgstr "この値は INFO として表示される。"
2037
2038 #. type: Plain text
2039 #: build/C/man3/fmtmsg.3:148
2040 msgid ""
2041 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2042 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2043 "print."
2044 msgstr ""
2045 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2046 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2047
2048 #. type: Plain text
2049 #: build/C/man3/fmtmsg.3:150
2050 msgid "The function can return 4 values:"
2051 msgstr "関数は 4 つの値を返す:"
2052
2053 #. type: TP
2054 #: build/C/man3/fmtmsg.3:150
2055 #, no-wrap
2056 msgid "B<MM_OK>"
2057 msgstr "B<MM_OK>"
2058
2059 #. type: Plain text
2060 #: build/C/man3/fmtmsg.3:153
2061 msgid "Everything went smooth."
2062 msgstr "全てがうまくいった。"
2063
2064 #. type: TP
2065 #: build/C/man3/fmtmsg.3:153
2066 #, no-wrap
2067 msgid "B<MM_NOTOK>"
2068 msgstr "B<MM_NOTOK>"
2069
2070 #. type: Plain text
2071 #: build/C/man3/fmtmsg.3:156
2072 msgid "Complete failure."
2073 msgstr "完全に失敗した。"
2074
2075 #. type: TP
2076 #: build/C/man3/fmtmsg.3:156
2077 #, no-wrap
2078 msgid "B<MM_NOMSG>"
2079 msgstr "B<MM_NOMSG>"
2080
2081 #. type: Plain text
2082 #: build/C/man3/fmtmsg.3:160
2083 msgid "Error writing to I<stderr>."
2084 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2085
2086 #. type: TP
2087 #: build/C/man3/fmtmsg.3:160
2088 #, no-wrap
2089 msgid "B<MM_NOCON>"
2090 msgstr "B<MM_NOCON>"
2091
2092 #. type: Plain text
2093 #: build/C/man3/fmtmsg.3:163
2094 msgid "Error writing to the console."
2095 msgstr "コンソールに書き込むときにエラーが起こった。"
2096
2097 #. type: SH
2098 #: build/C/man3/fmtmsg.3:163
2099 #, no-wrap
2100 msgid "ENVIRONMENT"
2101 msgstr "環境変数"
2102
2103 #. type: Plain text
2104 #: build/C/man3/fmtmsg.3:174
2105 msgid ""
2106 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2107 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2108 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2109 "separated list of valid keywords, then only the parts of the message "
2110 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2111 "\"severity\", \"text\", \"action\" and \"tag\"."
2112 msgstr ""
2113 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2114 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2115 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2116 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2117 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2118
2119 #. type: Plain text
2120 #: build/C/man3/fmtmsg.3:186
2121 msgid ""
2122 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2123 "levels.  By default, only the five severity levels described above are "
2124 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2125 "If the user puts B<SEV_LEVEL> with a format like"
2126 msgstr ""
2127 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2128 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2129 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2130 "B<SEV_LEVEL> を"
2131
2132 #. type: Plain text
2133 #: build/C/man3/fmtmsg.3:189
2134 msgid "SEV_LEVEL=[description[:description[:...]]]"
2135 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2136
2137 #. type: Plain text
2138 #: build/C/man3/fmtmsg.3:194
2139 msgid ""
2140 "in the environment of the process before the first call to B<fmtmsg>(), "
2141 "where each description is of the form"
2142 msgstr ""
2143 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2144 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2145 "指定された printstring を表示する。 各 description は"
2146
2147 #. type: Plain text
2148 #: build/C/man3/fmtmsg.3:197
2149 msgid "severity-keyword,level,printstring"
2150 msgstr "severity-keyword,level,printstring"
2151
2152 #. type: Plain text
2153 #: build/C/man3/fmtmsg.3:204
2154 msgid ""
2155 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2156 "addition to the standard levels 0-4), and use the indicated printstring when "
2157 "such a level occurs."
2158 msgstr "という形式である。"
2159
2160 #. type: Plain text
2161 #: build/C/man3/fmtmsg.3:218
2162 msgid ""
2163 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2164 "present.  The level part is a string representation of a number.  The "
2165 "numeric value must be a number greater than 4.  This value must be used in "
2166 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2167 "possible to overwrite any of the predefined classes.  The printstring is the "
2168 "string printed when a message of this class is processed by B<fmtmsg>()."
2169 msgstr ""
2170 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2171 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2172 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2173 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2174 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2175 "た場合に表示される文字列である。"
2176
2177 #. type: Plain text
2178 #: build/C/man3/fmtmsg.3:221
2179 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2180 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2181
2182 #. type: Plain text
2183 #: build/C/man3/fmtmsg.3:236
2184 msgid ""
2185 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2186 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2187 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2188 msgstr ""
2189 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2190 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2191 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2192
2193 #. type: Plain text
2194 #: build/C/man3/fmtmsg.3:240
2195 msgid ""
2196 "System V and UnixWare man pages tell us that these functions have been "
2197 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2198 "vlfmt()\", and will be removed later."
2199 msgstr ""
2200 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2201 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2202 "は削除される予定である」と書かれている。"
2203
2204 #. type: Plain text
2205 #: build/C/man3/fmtmsg.3:245
2206 #, no-wrap
2207 msgid ""
2208 "#include E<lt>stdio.hE<gt>\n"
2209 "#include E<lt>stdlib.hE<gt>\n"
2210 "#include E<lt>fmtmsg.hE<gt>\n"
2211 msgstr ""
2212 "#include E<lt>stdio.hE<gt>\n"
2213 "#include E<lt>stdlib.hE<gt>\n"
2214 "#include E<lt>fmtmsg.hE<gt>\n"
2215
2216 #. type: Plain text
2217 #: build/C/man3/fmtmsg.3:251
2218 #, no-wrap
2219 msgid ""
2220 "int\n"
2221 "main(void)\n"
2222 "{\n"
2223 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2224 "    int err;\n"
2225 msgstr ""
2226 "int\n"
2227 "main(void)\n"
2228 "{\n"
2229 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2230 "    int err;\n"
2231
2232 #. type: Plain text
2233 #: build/C/man3/fmtmsg.3:272
2234 #, no-wrap
2235 msgid ""
2236 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2237 "                \"unknown mount option\", \"See mount(8).\",\n"
2238 "                \"util-linux:mount:017\");\n"
2239 "    switch (err) {\n"
2240 "    case MM_OK:\n"
2241 "        break;\n"
2242 "    case MM_NOTOK:\n"
2243 "        printf(\"Nothing printed\\en\");\n"
2244 "        break;\n"
2245 "    case MM_NOMSG:\n"
2246 "        printf(\"Nothing printed to stderr\\en\");\n"
2247 "        break;\n"
2248 "    case MM_NOCON:\n"
2249 "        printf(\"No console output\\en\");\n"
2250 "        break;\n"
2251 "    default:\n"
2252 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2253 "    }\n"
2254 "    exit(EXIT_SUCCESS);\n"
2255 "}\n"
2256 msgstr ""
2257 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2258 "                \"unknown mount option\", \"See mount(8).\",\n"
2259 "                \"util-linux:mount:017\");\n"
2260 "    switch (err) {\n"
2261 "    case MM_OK:\n"
2262 "      break;\n"
2263 "    case MM_NOTOK:\n"
2264 "        printf(\"Nothing printed\\en\");\n"
2265 "        break;\n"
2266 "    case MM_NOMSG:\n"
2267 "        printf(\"Nothing printed to stderr\\en\");\n"
2268 "        break;\n"
2269 "    case MM_NOCON:\n"
2270 "        printf(\"No console output\\en\");\n"
2271 "        break;\n"
2272 "    default:\n"
2273 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2274 "    }\n"
2275 "    exit(EXIT_SUCCESS);\n"
2276 "}\n"
2277
2278 #. type: Plain text
2279 #: build/C/man3/fmtmsg.3:275
2280 msgid "The output should be:"
2281 msgstr "出力は"
2282
2283 #. type: Plain text
2284 #: build/C/man3/fmtmsg.3:279
2285 #, no-wrap
2286 msgid ""
2287 "    util-linux:mount: ERROR: unknown mount option\n"
2288 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2289 msgstr ""
2290 "    util-linux:mount: ERROR: unknown mount option\n"
2291 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2292
2293 #. type: Plain text
2294 #: build/C/man3/fmtmsg.3:282
2295 msgid "and after"
2296 msgstr "のようになり、"
2297
2298 #. type: Plain text
2299 #: build/C/man3/fmtmsg.3:285
2300 #, no-wrap
2301 msgid "    MSGVERB=text:action; export MSGVERB\n"
2302 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2303
2304 #. type: Plain text
2305 #: build/C/man3/fmtmsg.3:288
2306 msgid "the output becomes:"
2307 msgstr "を実行すると、次のようになる。"
2308
2309 #. type: Plain text
2310 #: build/C/man3/fmtmsg.3:292
2311 #, no-wrap
2312 msgid ""
2313 "    unknown mount option\n"
2314 "    TO FIX: See mount(8).\n"
2315 msgstr ""
2316 "    unknown mount option\n"
2317 "    TO FIX: See mount(8).\n"
2318
2319 #. type: Plain text
2320 #: build/C/man3/fmtmsg.3:296
2321 msgid "B<addseverity>(3), B<perror>(3)"
2322 msgstr "B<addseverity>(3), B<perror>(3)"
2323
2324 #. type: TH
2325 #: build/C/man3/fopen.3:42
2326 #, no-wrap
2327 msgid "FOPEN"
2328 msgstr "FOPEN"
2329
2330 #. type: TH
2331 #: build/C/man3/fopen.3:42
2332 #, fuzzy, no-wrap
2333 #| msgid "2012-04-17"
2334 msgid "2012-04-22"
2335 msgstr "2012-04-17"
2336
2337 #. type: Plain text
2338 #: build/C/man3/fopen.3:45
2339 msgid "fopen, fdopen, freopen - stream open functions"
2340 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2341
2342 #. type: Plain text
2343 #: build/C/man3/fopen.3:50
2344 #, no-wrap
2345 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2346 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2347
2348 #. type: Plain text
2349 #: build/C/man3/fopen.3:52
2350 #, no-wrap
2351 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2352 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2353
2354 #. type: Plain text
2355 #: build/C/man3/fopen.3:54
2356 #, no-wrap
2357 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2358 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2359
2360 #. type: Plain text
2361 #: build/C/man3/fopen.3:63
2362 msgid ""
2363 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2364 msgstr ""
2365 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2366
2367 #. type: Plain text
2368 #: build/C/man3/fopen.3:69
2369 msgid ""
2370 "The B<fopen>()  function opens the file whose name is the string pointed to "
2371 "by I<path> and associates a stream with it."
2372 msgstr ""
2373 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2374 "びつける。"
2375
2376 #. type: Plain text
2377 #: build/C/man3/fopen.3:74
2378 #, fuzzy
2379 #| msgid ""
2380 #| "The argument I<mode> points to a string beginning with one of the "
2381 #| "following sequences (Additional characters may follow these sequences.):"
2382 msgid ""
2383 "The argument I<mode> points to a string beginning with one of the following "
2384 "sequences (possibly followed by additional characters, as described below):"
2385 msgstr ""
2386 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタである (追"
2387 "加の文字がこの文字の後に続くこともある):"
2388
2389 #. type: TP
2390 #: build/C/man3/fopen.3:74
2391 #, no-wrap
2392 msgid "B<r>"
2393 msgstr "B<r>"
2394
2395 #. type: Plain text
2396 #: build/C/man3/fopen.3:78
2397 msgid ""
2398 "Open text file for reading.  The stream is positioned at the beginning of "
2399 "the file."
2400 msgstr ""
2401 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2402 "る。"
2403
2404 #. type: TP
2405 #: build/C/man3/fopen.3:78
2406 #, no-wrap
2407 msgid "B<r+>"
2408 msgstr "B<r+>"
2409
2410 #. type: Plain text
2411 #: build/C/man3/fopen.3:82
2412 msgid ""
2413 "Open for reading and writing.  The stream is positioned at the beginning of "
2414 "the file."
2415 msgstr ""
2416 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2417 "る。"
2418
2419 #. type: TP
2420 #: build/C/man3/fopen.3:82
2421 #, no-wrap
2422 msgid "B<w>"
2423 msgstr "B<w>"
2424
2425 #. type: Plain text
2426 #: build/C/man3/fopen.3:86
2427 msgid ""
2428 "Truncate file to zero length or create text file for writing.  The stream is "
2429 "positioned at the beginning of the file."
2430 msgstr ""
2431 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2432 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2433 "頭に位置される。"
2434
2435 #. type: TP
2436 #: build/C/man3/fopen.3:86
2437 #, no-wrap
2438 msgid "B<w+>"
2439 msgstr "B<w+>"
2440
2441 #. type: Plain text
2442 #: build/C/man3/fopen.3:92
2443 msgid ""
2444 "Open for reading and writing.  The file is created if it does not exist, "
2445 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2446 "file."
2447 msgstr ""
2448 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2449 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2450 "の先頭に位置される。"
2451
2452 #. type: TP
2453 #: build/C/man3/fopen.3:92 build/C/man3/scanf.3:444
2454 #, no-wrap
2455 msgid "B<a>"
2456 msgstr "B<a>"
2457
2458 #. type: Plain text
2459 #: build/C/man3/fopen.3:97
2460 msgid ""
2461 "Open for appending (writing at end of file).  The file is created if it does "
2462 "not exist.  The stream is positioned at the end of the file."
2463 msgstr ""
2464 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2465 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2466
2467 #. type: TP
2468 #: build/C/man3/fopen.3:97
2469 #, no-wrap
2470 msgid "B<a+>"
2471 msgstr "B<a+>"
2472
2473 #. type: Plain text
2474 #: build/C/man3/fopen.3:103
2475 msgid ""
2476 "Open for reading and appending (writing at end of file).  The file is "
2477 "created if it does not exist.  The initial file position for reading is at "
2478 "the beginning of the file, but output is always appended to the end of the "
2479 "file."
2480 msgstr ""
2481 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2482 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2483 "あるが、 書き込みは常にファイルの最後に追加される。"
2484
2485 #. type: Plain text
2486 #: build/C/man3/fopen.3:116
2487 msgid ""
2488 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2489 "character or as a character between the characters in any of the two-"
2490 "character strings described above.  This is strictly for compatibility with "
2491 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2492 "systems, including Linux.  (Other systems may treat text files and binary "
2493 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2494 "O to a binary file and expect that your program may be ported to non-UNIX "
2495 "environments.)"
2496 msgstr ""
2497 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2498 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2499 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2500 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2501 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2502 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2503 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2504 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2505
2506 #. type: Plain text
2507 #: build/C/man3/fopen.3:119
2508 msgid "See NOTES below for details of glibc extensions for I<mode>."
2509 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2510
2511 #. type: Plain text
2512 #: build/C/man3/fopen.3:124
2513 msgid ""
2514 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2515 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2516 "umask value (see B<umask>(2))."
2517 msgstr ""
2518 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2519 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2520 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2521
2522 #. type: Plain text
2523 #: build/C/man3/fopen.3:139
2524 msgid ""
2525 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2526 "that ANSI C requires that a file positioning function intervene between "
2527 "output and input, unless an input operation encounters end-of-file.  (If "
2528 "this condition is not met, then a read is allowed to return the result of "
2529 "writes other than the most recent.)  Therefore it is good practice (and "
2530 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2531 "(3)  operation between write and read operations on such a stream.  This "
2532 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2533 "for its synchronizing side effect."
2534 msgstr ""
2535 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2536 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2537 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2538 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2539 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2540 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2541 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2542 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2543 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2544 "い)。"
2545
2546 #. type: Plain text
2547 #: build/C/man3/fopen.3:144
2548 #, fuzzy
2549 #| msgid ""
2550 #| "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2551 #| "causes all subsequent write operations to this stream to occur at end-of-"
2552 #| "file, as if preceded by an"
2553 msgid ""
2554 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2555 "causes all subsequent write operations to this stream to occur at end-of-"
2556 "file, as if preceded the call:"
2557 msgstr ""
2558 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、 このスト"
2559 "リームに対する書き込み操作は (先に"
2560
2561 #. type: Plain text
2562 #: build/C/man3/fopen.3:147
2563 #, no-wrap
2564 msgid "    fseek(stream,0,SEEK_END);\n"
2565 msgstr "    fseek(stream,0,SEEK_END);\n"
2566
2567 #. type: Plain text
2568 #: build/C/man3/fopen.3:169
2569 msgid ""
2570 "The B<fdopen>()  function associates a stream with the existing file "
2571 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2572 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2573 "file descriptor.  The file position indicator of the new stream is set to "
2574 "that belonging to I<fd>, and the error and end-of-file indicators are "
2575 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2576 "file descriptor is not dup'ed, and will be closed when the stream created by "
2577 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2578 "memory object is undefined."
2579 msgstr ""
2580 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2581 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2582 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2583 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2584 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2585 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2586 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2587 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2588
2589 #. type: Plain text
2590 #: build/C/man3/fopen.3:187
2591 msgid ""
2592 "The B<freopen>()  function opens the file whose name is the string pointed "
2593 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2594 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2595 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2596 "function is to change the file associated with a standard text stream "
2597 "(I<stderr>, I<stdin>, or I<stdout>)."
2598 msgstr ""
2599 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2600 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2601 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2602 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2603 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2604
2605 #. type: Plain text
2606 #: build/C/man3/fopen.3:199
2607 msgid ""
2608 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2609 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2610 "indicate the error."
2611 msgstr ""
2612 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2613 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2614
2615 #. type: TP
2616 #: build/C/man3/fopen.3:200 build/C/man3/fseek.3:138
2617 #: build/C/man3/getline.3:121 build/C/man2/llseek.2:72
2618 #: build/C/man2/lseek.2:164 build/C/man2/pipe.2:102 build/C/man2/read.2:108
2619 #: build/C/man2/read.2:119 build/C/man2/readlink.2:93
2620 #: build/C/man2/readlink.2:102 build/C/man2/readv.2:198
2621 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:563
2622 #: build/C/man2/write.2:148 build/C/man2/process_vm_readv.2:228
2623 #: build/C/man2/process_vm_readv.2:239 build/C/man2/process_vm_readv.2:243
2624 #, no-wrap
2625 msgid "B<EINVAL>"
2626 msgstr "B<EINVAL>"
2627
2628 #. type: Plain text
2629 #: build/C/man3/fopen.3:210
2630 msgid ""
2631 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2632 "invalid."
2633 msgstr ""
2634 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2635
2636 #. type: Plain text
2637 #: build/C/man3/fopen.3:220
2638 msgid ""
2639 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2640 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2641 msgstr ""
2642 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2643 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2644 "する。"
2645
2646 #. type: Plain text
2647 #: build/C/man3/fopen.3:227
2648 msgid ""
2649 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2650 "errors specified for the routine B<open>(2)."
2651 msgstr ""
2652 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2653 "があり、 その時は対応する値に I<errno> をセットする。"
2654
2655 #. type: Plain text
2656 #: build/C/man3/fopen.3:234
2657 msgid ""
2658 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2659 "errors specified for the routine B<fcntl>(2)."
2660 msgstr ""
2661 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2662 "とがあり、 その時は対応する値に I<errno> をセットする。"
2663
2664 #. type: Plain text
2665 #: build/C/man3/fopen.3:244
2666 msgid ""
2667 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2668 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2669 msgstr ""
2670 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2671 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2672 "トする。"
2673
2674 #. type: Plain text
2675 #: build/C/man3/fopen.3:253
2676 msgid ""
2677 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2678 "()  function conforms to POSIX.1-1990."
2679 msgstr ""
2680 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2681 "は POSIX.1-1990 に準拠している。"
2682
2683 #. type: SS
2684 #: build/C/man3/fopen.3:254
2685 #, no-wrap
2686 msgid "Glibc Notes"
2687 msgstr "glibc での注意"
2688
2689 #. type: Plain text
2690 #: build/C/man3/fopen.3:257
2691 msgid ""
2692 "The GNU C library allows the following extensions for the string specified "
2693 "in I<mode>:"
2694 msgstr ""
2695 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2696 "いる:"
2697
2698 #. type: TP
2699 #: build/C/man3/fopen.3:257
2700 #, no-wrap
2701 msgid "B<c> (since glibc 2.3.3)"
2702 msgstr "B<c> (glibc 2.3.3 以降)"
2703
2704 #. type: Plain text
2705 #: build/C/man3/fopen.3:264
2706 #, fuzzy
2707 #| msgid ""
2708 #| "Do not make the open operation, or subsequent read and write operations, "
2709 #| "thread cancellation points."
2710 msgid ""
2711 "Do not make the open operation, or subsequent read and write operations, "
2712 "thread cancellation points.  This flag is ignored for B<fdopen>()."
2713 msgstr ""
2714 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント "
2715 "(cancellation points)  を作成しない。"
2716
2717 #. type: TP
2718 #: build/C/man3/fopen.3:264
2719 #, no-wrap
2720 msgid "B<e> (since glibc 2.7)"
2721 msgstr "B<e> (glibc 2.7 以降)"
2722
2723 #. type: Plain text
2724 #: build/C/man3/fopen.3:274
2725 #, fuzzy
2726 #| msgid ""
2727 #| "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2728 #| "information."
2729 msgid ""
2730 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2731 "information.  This flag is ignored for B<fdopen>()."
2732 msgstr ""
2733 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。 詳細は B<open>(2)  を"
2734 "参照。"
2735
2736 #. type: TP
2737 #: build/C/man3/fopen.3:274
2738 #, no-wrap
2739 msgid "B<m> (since glibc 2.3)"
2740 msgstr "B<m> (glibc 2.3 以降)"
2741
2742 #.  As at glibc 2.4:
2743 #. type: Plain text
2744 #: build/C/man3/fopen.3:286
2745 msgid ""
2746 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2747 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is only attempted "
2748 "for a file opened for reading."
2749 msgstr ""
2750 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2751 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2752 "オープンするファイルについてだけである。"
2753
2754 #. type: TP
2755 #: build/C/man3/fopen.3:286 build/C/man3/scanf.3:418
2756 #, no-wrap
2757 msgid "B<x>"
2758 msgstr "B<x>"
2759
2760 #.  Since glibc 2.0?
2761 #.  FIXME C11 specifies this flag
2762 #. type: Plain text
2763 #: build/C/man3/fopen.3:303
2764 msgid ""
2765 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2766 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2767 "This flag is ignored for B<fdopen>()."
2768 msgstr ""
2769 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2770 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2771 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2772
2773 #. type: Plain text
2774 #: build/C/man3/fopen.3:311
2775 msgid ""
2776 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
2777 "the following syntax in I<mode>:"
2778 msgstr ""
2779
2780 #. type: Plain text
2781 #: build/C/man3/fopen.3:313
2782 msgid "B< ,ccs=>I<string>"
2783 msgstr ""
2784
2785 #. type: Plain text
2786 #: build/C/man3/fopen.3:329
2787 msgid ""
2788 "The given I<string> is taken as the name of a coded character set and the "
2789 "stream is marked as wide-oriented.  Thereafter, internal conversion "
2790 "functions convert I/O to and from the character set I<string>.  If the B<,"
2791 "ccs=>I<string> syntax is not specified, then the wide-orientation of the "
2792 "stream is determined by the first file operation.  If that operation is a "
2793 "wide-character operation, the stream is marked wide-oriented, and functions "
2794 "to convert to the coded character set are loaded."
2795 msgstr ""
2796
2797 #. type: Plain text
2798 #: build/C/man3/fopen.3:331
2799 msgid "In versions of glibc before"
2800 msgstr ""
2801
2802 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
2803 #. type: Plain text
2804 #: build/C/man3/fopen.3:348
2805 msgid ""
2806 "When parsing for individual flag characters in I<mode> (i.e., the characters "
2807 "preceding the \"ccs\" specification\"), the glibc implementation of B<fopen>"
2808 "()  and B<freopen>()  limits the number of characters examined in I<mode> to "
2809 "7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
2810 "possible specifications such as \"rb+cmxe\").  The current implementation of "
2811 "B<fdopen>()  parses at most 5 characters in in I<mode>."
2812 msgstr ""
2813
2814 #. type: Plain text
2815 #: build/C/man3/fopen.3:354
2816 msgid ""
2817 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2818 msgstr ""
2819 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2820
2821 #. type: TH
2822 #: build/C/man3/fopencookie.3:24
2823 #, no-wrap
2824 msgid "FOPENCOOKIE"
2825 msgstr "FOPENCOOKIE"
2826
2827 #. type: TH
2828 #: build/C/man3/fopencookie.3:24
2829 #, no-wrap
2830 msgid "2008-12-05"
2831 msgstr "2008-12-05"
2832
2833 #. type: TH
2834 #: build/C/man3/fopencookie.3:24 build/C/man2/link.2:31
2835 #: build/C/man2/llseek.2:26 build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23
2836 #: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2837 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man2/rename.2:32
2838 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9
2839 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
2840 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
2841 #: build/C/man2/process_vm_readv.2:27
2842 #, no-wrap
2843 msgid "Linux"
2844 msgstr "Linux"
2845
2846 #. type: Plain text
2847 #: build/C/man3/fopencookie.3:27
2848 msgid "fopencookie - opening a custom stream"
2849 msgstr "fopencookie - opening a custom stream"
2850
2851 #. type: Plain text
2852 #: build/C/man3/fopencookie.3:34
2853 #, no-wrap
2854 msgid ""
2855 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2856 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2857 msgstr ""
2858 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2859 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2860
2861 #. type: Plain text
2862 #: build/C/man3/fopencookie.3:47
2863 msgid ""
2864 "The B<fopencookie>()  function allows the programmer to create a custom "
2865 "implementation for a standard I/O stream.  This implementation can store the "
2866 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2867 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2868 "to data that is stored in a buffer in memory."
2869 msgstr ""
2870 "The B<fopencookie>()  function allows the programmer to create a custom "
2871 "implementation for a standard I/O stream.  This implementation can store the "
2872 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2873 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2874 "to data that is stored in a buffer in memory."
2875
2876 #. type: Plain text
2877 #: build/C/man3/fopencookie.3:49
2878 msgid "In order to create a custom stream the programmer must:"
2879 msgstr "In order to create a custom stream the programmer must:"
2880
2881 #. type: IP
2882 #: build/C/man3/fopencookie.3:49 build/C/man3/fopencookie.3:52
2883 #: build/C/man3/fopencookie.3:63 build/C/man3/scanf.3:669
2884 #: build/C/man3/scanf.3:674 build/C/man3/scanf.3:680
2885 #: build/C/man7/symlink.7:248 build/C/man7/symlink.7:258
2886 #: build/C/man7/symlink.7:288 build/C/man7/symlink.7:348
2887 #: build/C/man7/symlink.7:377 build/C/man7/symlink.7:406
2888 #: build/C/man7/symlink.7:437 build/C/man7/symlink.7:450
2889 #, no-wrap
2890 msgid "*"
2891 msgstr "*"
2892
2893 #. type: Plain text
2894 #: build/C/man3/fopencookie.3:52
2895 msgid ""
2896 "Implement four \"hook\" functions that are used internally by the standard I/"
2897 "O library when performing I/O on the stream."
2898 msgstr ""
2899 "Implement four \"hook\" functions that are used internally by the standard I/"
2900 "O library when performing I/O on the stream."
2901
2902 #. type: Plain text
2903 #: build/C/man3/fopencookie.3:63
2904 msgid ""
2905 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2906 "information (e.g., where to store data) used by the aforementioned hook "
2907 "functions.  The standard I/O package knows nothing about the contents of "
2908 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2909 "()), but automatically supplies the cookie as the first argument when "
2910 "calling the hook functions."
2911 msgstr ""
2912 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2913 "information (e.g., where to store data) used by the aforementioned hook "
2914 "functions.  The standard I/O package knows nothing about the contents of "
2915 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2916 "()), but automatically supplies the cookie as the first argument when "
2917 "calling the hook functions."
2918
2919 #. type: Plain text
2920 #: build/C/man3/fopencookie.3:68
2921 msgid ""
2922 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2923 "hook functions with that stream."
2924 msgstr ""
2925 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2926 "hook functions with that stream."
2927
2928 #. type: Plain text
2929 #: build/C/man3/fopencookie.3:76
2930 msgid ""
2931 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2932 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2933 "operate on that stream."
2934 msgstr ""
2935 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2936 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2937 "operate on that stream."
2938
2939 #. type: Plain text
2940 #: build/C/man3/fopencookie.3:83
2941 msgid ""
2942 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2943 "to be associated with the new stream.  This pointer is supplied as the first "
2944 "argument when the standard I/O library invokes any of the hook functions "
2945 "described below."
2946 msgstr ""
2947 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2948 "to be associated with the new stream.  This pointer is supplied as the first "
2949 "argument when the standard I/O library invokes any of the hook functions "
2950 "described below."
2951
2952 #. type: Plain text
2953 #: build/C/man3/fopencookie.3:99
2954 msgid ""
2955 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2956 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2957 "See B<fopen>(3)  for details."
2958 msgstr ""
2959 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2960 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2961 "See B<fopen>(3)  for details."
2962
2963 #. type: Plain text
2964 #: build/C/man3/fopencookie.3:105
2965 msgid ""
2966 "The I<io_funcs> argument is a structure that contains four fields pointing "
2967 "to the programmer-defined hook functions that are used to implement this "
2968 "stream.  The structure is defined as follows"
2969 msgstr ""
2970 "The I<io_funcs> argument is a structure that contains four fields pointing "
2971 "to the programmer-defined hook functions that are used to implement this "
2972 "stream.  The structure is defined as follows"
2973
2974 #. type: Plain text
2975 #: build/C/man3/fopencookie.3:114
2976 #, no-wrap
2977 msgid ""
2978 "struct cookie_io_functions_t {\n"
2979 "    cookie_read_function_t  *read;\n"
2980 "    cookie_write_function_t *write;\n"
2981 "    cookie_seek_function_t  *seek;\n"
2982 "    cookie_close_function_t *close;\n"
2983 "};\n"
2984 msgstr ""
2985 "struct cookie_io_functions_t {\n"
2986 "    cookie_read_function_t  *read;\n"
2987 "    cookie_write_function_t *write;\n"
2988 "    cookie_seek_function_t  *seek;\n"
2989 "    cookie_close_function_t *close;\n"
2990 "};\n"
2991
2992 #. type: Plain text
2993 #: build/C/man3/fopencookie.3:118
2994 msgid "The four fields are as follows:"
2995 msgstr "The four fields are as follows:"
2996
2997 #. type: TP
2998 #: build/C/man3/fopencookie.3:118
2999 #, no-wrap
3000 msgid "I<cookie_read_function_t *read>"
3001 msgstr "I<cookie_read_function_t *read>"
3002
3003 #. type: Plain text
3004 #: build/C/man3/fopencookie.3:122
3005 msgid ""
3006 "This function implements read operations for the stream.  When called, it "
3007 "receives three arguments:"
3008 msgstr ""
3009 "This function implements read operations for the stream.  When called, it "
3010 "receives three arguments:"
3011
3012 #. type: Plain text
3013 #: build/C/man3/fopencookie.3:124
3014 #, no-wrap
3015 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3016 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3017
3018 #. type: Plain text
3019 #: build/C/man3/fopencookie.3:139
3020 msgid ""
3021 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3022 "input data can be placed and the size of that buffer.  As its function "
3023 "result, the I<read> function should return the number of bytes copied into "
3024 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3025 "update the stream offset appropriately."
3026 msgstr ""
3027 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3028 "input data can be placed and the size of that buffer.  As its function "
3029 "result, the I<read> function should return the number of bytes copied into "
3030 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3031 "update the stream offset appropriately."
3032
3033 #. type: Plain text
3034 #: build/C/man3/fopencookie.3:144
3035 msgid ""
3036 "If I<*read> is a NULL pointer, then reads from the custom stream always "
3037 "return end of file."
3038 msgstr ""
3039 "If I<*read> is a NULL pointer, then reads from the custom stream always "
3040 "return end of file."
3041
3042 #. type: TP
3043 #: build/C/man3/fopencookie.3:144
3044 #, no-wrap
3045 msgid "I<cookie_write_function_t *write>"
3046 msgstr "I<cookie_write_function_t *write>"
3047
3048 #. type: Plain text
3049 #: build/C/man3/fopencookie.3:148
3050 msgid ""
3051 "This function implements write operations for the stream.  When called, it "
3052 "receives three arguments:"
3053 msgstr ""
3054 "This function implements write operations for the stream.  When called, it "
3055 "receives three arguments:"
3056
3057 #. type: Plain text
3058 #: build/C/man3/fopencookie.3:150
3059 #, no-wrap
3060 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3061 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3062
3063 #. type: Plain text
3064 #: build/C/man3/fopencookie.3:165
3065 msgid ""
3066 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3067 "output to the stream and the size of that buffer.  As its function result, "
3068 "the I<write> function should return the number of bytes copied from I<buf>, "
3069 "or -1 on error.  The I<write> function should update the stream offset "
3070 "appropriately."
3071 msgstr ""
3072 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3073 "output to the stream and the size of that buffer.  As its function result, "
3074 "the I<write> function should return the number of bytes copied from I<buf>, "
3075 "or -1 on error.  The I<write> function should update the stream offset "
3076 "appropriately."
3077
3078 #. type: Plain text
3079 #: build/C/man3/fopencookie.3:170
3080 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3081 msgstr ""
3082 "If I<*write> is a NULL pointer, then output to the stream is discarded."
3083
3084 #. type: TP
3085 #: build/C/man3/fopencookie.3:170
3086 #, no-wrap
3087 msgid "I<cookie_seek_function_t *seek>"
3088 msgstr "I<cookie_seek_function_t *seek>"
3089
3090 #. type: Plain text
3091 #: build/C/man3/fopencookie.3:174
3092 msgid ""
3093 "This function implements seek operations on the stream.  When called, it "
3094 "receives three arguments:"
3095 msgstr ""
3096 "This function implements seek operations on the stream.  When called, it "
3097 "receives three arguments:"
3098
3099 #. type: Plain text
3100 #: build/C/man3/fopencookie.3:176
3101 #, no-wrap
3102 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3103 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3104
3105 #. type: Plain text
3106 #: build/C/man3/fopencookie.3:182
3107 msgid ""
3108 "The I<*offset> argument specifies the new file offset depending on which of "
3109 "the following three values is supplied in I<whence>:"
3110 msgstr ""
3111 "The I<*offset> argument specifies the new file offset depending on which of "
3112 "the following three values is supplied in I<whence>:"
3113
3114 #. type: TP
3115 #: build/C/man3/fopencookie.3:183 build/C/man2/lseek.2:65
3116 #, no-wrap
3117 msgid "B<SEEK_SET>"
3118 msgstr "B<SEEK_SET>"
3119
3120 #. type: Plain text
3121 #: build/C/man3/fopencookie.3:188
3122 msgid ""
3123 "The stream offset should be set I<*offset> bytes from the start of the "
3124 "stream."
3125 msgstr ""
3126 "The stream offset should be set I<*offset> bytes from the start of the "
3127 "stream."
3128
3129 #. type: TP
3130 #: build/C/man3/fopencookie.3:188 build/C/man2/lseek.2:70
3131 #, no-wrap
3132 msgid "B<SEEK_CUR>"
3133 msgstr "B<SEEK_CUR>"
3134
3135 #. type: Plain text
3136 #: build/C/man3/fopencookie.3:192
3137 msgid "I<*offset> should be added to the current stream offset."
3138 msgstr "I<*offset> should be added to the current stream offset."
3139
3140 #. type: TP
3141 #: build/C/man3/fopencookie.3:192 build/C/man2/lseek.2:75
3142 #, no-wrap
3143 msgid "B<SEEK_END>"
3144 msgstr "B<SEEK_END>"
3145
3146 #. type: Plain text
3147 #: build/C/man3/fopencookie.3:196
3148 msgid ""
3149 "The stream offset should be set to the size of the stream plus I<*offset>."
3150 msgstr ""
3151 "The stream offset should be set to the size of the stream plus I<*offset>."
3152
3153 #. type: Plain text
3154 #: build/C/man3/fopencookie.3:203
3155 msgid ""
3156 "Before returning, the I<seek> function should update I<*offset> to indicate "
3157 "the new stream offset."
3158 msgstr ""
3159 "Before returning, the I<seek> function should update I<*offset> to indicate "
3160 "the new stream offset."
3161
3162 #. type: Plain text
3163 #: build/C/man3/fopencookie.3:207
3164 msgid ""
3165 "As its function result, the I<seek> function should return 0 on success, and "
3166 "-1 on error."
3167 msgstr ""
3168 "As its function result, the I<seek> function should return 0 on success, and "
3169 "-1 on error."
3170
3171 #. type: Plain text
3172 #: build/C/man3/fopencookie.3:212
3173 msgid ""
3174 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3175 "operations on the stream."
3176 msgstr ""
3177 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3178 "operations on the stream."
3179
3180 #. type: TP
3181 #: build/C/man3/fopencookie.3:212
3182 #, no-wrap
3183 msgid "I<cookie_close_function_t *close>"
3184 msgstr "I<cookie_close_function_t *close>"
3185
3186 #. type: Plain text
3187 #: build/C/man3/fopencookie.3:218
3188 msgid ""
3189 "This function closes the stream.  The hook function can do things such as "
3190 "freeing buffers allocated for the stream.  When called, it receives one "
3191 "argument:"
3192 msgstr ""
3193 "This function closes the stream.  The hook function can do things such as "
3194 "freeing buffers allocated for the stream.  When called, it receives one "
3195 "argument:"
3196
3197 #. type: Plain text
3198 #: build/C/man3/fopencookie.3:220
3199 #, no-wrap
3200 msgid "    int close(void *cookie);\n"
3201 msgstr "    int close(void *cookie);\n"
3202
3203 #. type: Plain text
3204 #: build/C/man3/fopencookie.3:225
3205 msgid ""
3206 "The I<cookie> argument is the cookie that the programmer supplied when "
3207 "calling B<fopencookie>()."
3208 msgstr ""
3209 "The I<cookie> argument is the cookie that the programmer supplied when "
3210 "calling B<fopencookie>()."
3211
3212 #. type: Plain text
3213 #: build/C/man3/fopencookie.3:231
3214 msgid ""
3215 "As its function result, the I<close> function should return 0 on success, "
3216 "and B<EOF> on error."
3217 msgstr ""
3218 "As its function result, the I<close> function should return 0 on success, "
3219 "and B<EOF> on error."
3220
3221 #. type: Plain text
3222 #: build/C/man3/fopencookie.3:235
3223 msgid ""
3224 "If I<*close> is NULL, then no special action is performed when the stream is "
3225 "closed."
3226 msgstr ""
3227 "If I<*close> is NULL, then no special action is performed when the stream is "
3228 "closed."
3229
3230 #.  .SH ERRORS
3231 #.  It's not clear if errno ever gets set...
3232 #. type: Plain text
3233 #: build/C/man3/fopencookie.3:242
3234 msgid ""
3235 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3236 "NULL is returned."
3237 msgstr ""
3238 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3239 "NULL is returned."
3240
3241 #. type: Plain text
3242 #: build/C/man3/fopencookie.3:244
3243 msgid "This function is a nonstandard GNU extension."
3244 msgstr "This function is a nonstandard GNU extension."
3245
3246 #. type: Plain text
3247 #: build/C/man3/fopencookie.3:253
3248 msgid ""
3249 "The program below implements a custom stream whose functionality is similar "
3250 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3251 "stream whose data is stored in a memory buffer.  The program writes its "
3252 "command-line arguments to the stream, and then seeks through the stream "
3253 "reading two out of every five characters and writing them to standard "
3254 "output.  The following shell session demonstrates the use of the program:"
3255 msgstr ""
3256 "The program below implements a custom stream whose functionality is similar "
3257 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3258 "stream whose data is stored in a memory buffer.  The program writes its "
3259 "command-line arguments to the stream, and then seeks through the stream "
3260 "reading two out of every five characters and writing them to standard "
3261 "output.  The following shell session demonstrates the use of the program:"
3262
3263 #. type: Plain text
3264 #: build/C/man3/fopencookie.3:261
3265 #, no-wrap
3266 msgid ""
3267 "$B< ./a.out \\(aqhello world\\(aq>\n"
3268 "/he/\n"
3269 "/ w/\n"
3270 "/d/\n"
3271 "Reached end of file\n"
3272 msgstr ""
3273 "$B< ./a.out \\(aqhello world\\(aq>\n"
3274 "/he/\n"
3275 "/ w/\n"
3276 "/d/\n"
3277 "Reached end of file\n"
3278
3279 #. type: Plain text
3280 #: build/C/man3/fopencookie.3:268
3281 msgid ""
3282 "Note that a more general version of the program below could be improved to "
3283 "more robustly handle various error situations (e.g., opening a stream with a "
3284 "cookie that already has an open stream; closing a stream that has already "
3285 "been closed)."
3286 msgstr ""
3287 "Note that a more general version of the program below could be improved to "
3288 "more robustly handle various error situations (e.g., opening a stream with a "
3289 "cookie that already has an open stream; closing a stream that has already "
3290 "been closed)."
3291
3292 #. type: Plain text
3293 #: build/C/man3/fopencookie.3:277
3294 #, no-wrap
3295 msgid ""
3296 "#define _GNU_SOURCE\n"
3297 "#include E<lt>sys/types.hE<gt>\n"
3298 "#include E<lt>stdio.hE<gt>\n"
3299 "#include E<lt>stdlib.hE<gt>\n"
3300 "#include E<lt>unistd.hE<gt>\n"
3301 "#include E<lt>string.hE<gt>\n"
3302 msgstr ""
3303 "#define _GNU_SOURCE\n"
3304 "#include E<lt>sys/types.hE<gt>\n"
3305 "#include E<lt>stdio.hE<gt>\n"
3306 "#include E<lt>stdlib.hE<gt>\n"
3307 "#include E<lt>unistd.hE<gt>\n"
3308 "#include E<lt>string.hE<gt>\n"
3309
3310 #. type: Plain text
3311 #: build/C/man3/fopencookie.3:279
3312 #, no-wrap
3313 msgid "#define INIT_BUF_SIZE 4\n"
3314 msgstr "#define INIT_BUF_SIZE 4\n"
3315
3316 #. type: Plain text
3317 #: build/C/man3/fopencookie.3:286
3318 #, no-wrap
3319 msgid ""
3320 "struct memfile_cookie {\n"
3321 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3322 "    size_t  allocated;  /* Size of buf */\n"
3323 "    size_t  endpos;     /* Number of characters in buf */\n"
3324 "    off_t   offset;     /* Current file offset in buf */\n"
3325 "};\n"
3326 msgstr ""
3327 "struct memfile_cookie {\n"
3328 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3329 "    size_t  allocated;  /* Size of buf */\n"
3330 "    size_t  endpos;     /* Number of characters in buf */\n"
3331 "    off_t   offset;     /* Current file offset in buf */\n"
3332 "};\n"
3333
3334 #. type: Plain text
3335 #: build/C/man3/fopencookie.3:292
3336 #, no-wrap
3337 msgid ""
3338 "ssize_t\n"
3339 "memfile_write(void *c, const char *buf, size_t size)\n"
3340 "{\n"
3341 "    char *new_buff;\n"
3342 "    struct memfile_cookie *cookie = c;\n"
3343 msgstr ""
3344 "ssize_t\n"
3345 "memfile_write(void *c, const char *buf, size_t size)\n"
3346 "{\n"
3347 "    char *new_buff;\n"
3348 "    struct memfile_cookie *cookie = c;\n"
3349
3350 #. type: Plain text
3351 #: build/C/man3/fopencookie.3:294
3352 #, no-wrap
3353 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3354 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3355
3356 #. type: Plain text
3357 #: build/C/man3/fopencookie.3:304
3358 #, no-wrap
3359 msgid ""
3360 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3361 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3362 "        if (new_buff == NULL) {\n"
3363 "            return -1;\n"
3364 "        } else {\n"
3365 "            cookie-E<gt>allocated *= 2;\n"
3366 "            cookie-E<gt>buf = new_buff;\n"
3367 "        }\n"
3368 "    }\n"
3369 msgstr ""
3370 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3371 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3372 "        if (new_buff == NULL) {\n"
3373 "            return -1;\n"
3374 "        } else {\n"
3375 "            cookie-E<gt>allocated *= 2;\n"
3376 "            cookie-E<gt>buf = new_buff;\n"
3377 "        }\n"
3378 "    }\n"
3379
3380 #. type: Plain text
3381 #: build/C/man3/fopencookie.3:306
3382 #, no-wrap
3383 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3384 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3385
3386 #. type: Plain text
3387 #: build/C/man3/fopencookie.3:310
3388 #, no-wrap
3389 msgid ""
3390 "    cookie-E<gt>offset += size;\n"
3391 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3392 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3393 msgstr ""
3394 "    cookie-E<gt>offset += size;\n"
3395 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3396 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3397
3398 #. type: Plain text
3399 #: build/C/man3/fopencookie.3:313
3400 #, no-wrap
3401 msgid ""
3402 "    return size;\n"
3403 "}\n"
3404 msgstr ""
3405 "    return size;\n"
3406 "}\n"
3407
3408 #. type: Plain text
3409 #: build/C/man3/fopencookie.3:319
3410 #, no-wrap
3411 msgid ""
3412 "ssize_t\n"
3413 "memfile_read(void *c, char *buf, size_t size)\n"
3414 "{\n"
3415 "    ssize_t xbytes;\n"
3416 "    struct memfile_cookie *cookie = c;\n"
3417 msgstr ""
3418 "ssize_t\n"
3419 "memfile_read(void *c, char *buf, size_t size)\n"
3420 "{\n"
3421 "    ssize_t xbytes;\n"
3422 "    struct memfile_cookie *cookie = c;\n"
3423
3424 #. type: Plain text
3425 #: build/C/man3/fopencookie.3:321
3426 #, no-wrap
3427 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3428 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3429
3430 #. type: Plain text
3431 #: build/C/man3/fopencookie.3:327
3432 #, no-wrap
3433 msgid ""
3434 "    xbytes = size;\n"
3435 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3436 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3437 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3438 "       xbytes = 0;\n"
3439 msgstr ""
3440 "    xbytes = size;\n"
3441 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3442 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3443 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3444 "       xbytes = 0;\n"
3445
3446 #. type: Plain text
3447 #: build/C/man3/fopencookie.3:329
3448 #, no-wrap
3449 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3450 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3451
3452 #. type: Plain text
3453 #: build/C/man3/fopencookie.3:333
3454 #, no-wrap
3455 msgid ""
3456 "    cookie-E<gt>offset += xbytes;\n"
3457 "    return xbytes;\n"
3458 "}\n"
3459 msgstr ""
3460 "    cookie-E<gt>offset += xbytes;\n"
3461 "    return xbytes;\n"
3462 "}\n"
3463
3464 #. type: Plain text
3465 #: build/C/man3/fopencookie.3:339
3466 #, no-wrap
3467 msgid ""
3468 "int\n"
3469 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3470 "{\n"
3471 "    off64_t new_offset;\n"
3472 "    struct memfile_cookie *cookie = c;\n"
3473 msgstr ""
3474 "int\n"
3475 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3476 "{\n"
3477 "    off64_t new_offset;\n"
3478 "    struct memfile_cookie *cookie = c;\n"
3479
3480 #. type: Plain text
3481 #: build/C/man3/fopencookie.3:348
3482 #, no-wrap
3483 msgid ""
3484 "    if (whence == SEEK_SET)\n"
3485 "        new_offset = *offset;\n"
3486 "    else if (whence == SEEK_END)\n"
3487 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3488 "    else if (whence == SEEK_CUR)\n"
3489 "        new_offset = cookie-E<gt>offset + *offset;\n"
3490 "    else\n"
3491 "        return -1;\n"
3492 msgstr ""
3493 "    if (whence == SEEK_SET)\n"
3494 "        new_offset = *offset;\n"
3495 "    else if (whence == SEEK_END)\n"
3496 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3497 "    else if (whence == SEEK_CUR)\n"
3498 "        new_offset = cookie-E<gt>offset + *offset;\n"
3499 "    else\n"
3500 "        return -1;\n"
3501
3502 #. type: Plain text
3503 #: build/C/man3/fopencookie.3:351
3504 #, no-wrap
3505 msgid ""
3506 "    if (new_offset E<lt> 0)\n"
3507 "        return -1;\n"
3508 msgstr ""
3509 "    if (new_offset E<lt> 0)\n"
3510 "        return -1;\n"
3511
3512 #. type: Plain text
3513 #: build/C/man3/fopencookie.3:356
3514 #, no-wrap
3515 msgid ""
3516 "    cookie-E<gt>offset = new_offset;\n"
3517 "    *offset = new_offset;\n"
3518 "    return 0;\n"
3519 "}\n"
3520 msgstr ""
3521 "    cookie-E<gt>offset = new_offset;\n"
3522 "    *offset = new_offset;\n"
3523 "    return 0;\n"
3524 "}\n"
3525
3526 #. type: Plain text
3527 #: build/C/man3/fopencookie.3:361
3528 #, no-wrap
3529 msgid ""
3530 "int\n"
3531 "memfile_close(void *c)\n"
3532 "{\n"
3533 "    struct memfile_cookie *cookie = c;\n"
3534 msgstr ""
3535 "int\n"
3536 "memfile_close(void *c)\n"
3537 "{\n"
3538 "    struct memfile_cookie *cookie = c;\n"
3539
3540 #. type: Plain text
3541 #: build/C/man3/fopencookie.3:365
3542 #, no-wrap
3543 msgid ""
3544 "    free(cookie-E<gt>buf);\n"
3545 "    cookie-E<gt>allocated = 0;\n"
3546 "    cookie-E<gt>buf = NULL;\n"
3547 msgstr ""
3548 "    free(cookie-E<gt>buf);\n"
3549 "    cookie-E<gt>allocated = 0;\n"
3550 "    cookie-E<gt>buf = NULL;\n"
3551
3552 #. type: Plain text
3553 #: build/C/man3/fopencookie.3:368
3554 #, no-wrap
3555 msgid ""
3556 "    return 0;\n"
3557 "}\n"
3558 msgstr ""
3559 "    return 0;\n"
3560 "}\n"
3561
3562 #. type: Plain text
3563 #: build/C/man3/fopencookie.3:384
3564 #, no-wrap
3565 msgid ""
3566 "int\n"
3567 "main(int argc, char *argv[])\n"
3568 "{\n"
3569 "    cookie_io_functions_t  memfile_func = {\n"
3570 "        .read  = memfile_read,\n"
3571 "        .write = memfile_write,\n"
3572 "        .seek  = memfile_seek,\n"
3573 "        .close = memfile_close\n"
3574 "    };\n"
3575 "    FILE *fp;\n"
3576 "    struct memfile_cookie mycookie;\n"
3577 "    ssize_t nread;\n"
3578 "    long p;\n"
3579 "    int j;\n"
3580 "    char buf[1000];\n"
3581 msgstr ""
3582 "int\n"
3583 "main(int argc, char *argv[])\n"
3584 "{\n"
3585 "    cookie_io_functions_t  memfile_func = {\n"
3586 "        .read  = memfile_read,\n"
3587 "        .write = memfile_write,\n"
3588 "        .seek  = memfile_seek,\n"
3589 "        .close = memfile_close\n"
3590 "    };\n"
3591 "    FILE *fp;\n"
3592 "    struct memfile_cookie mycookie;\n"
3593 "    ssize_t nread;\n"
3594 "    long p;\n"
3595 "    int j;\n"
3596 "    char buf[1000];\n"
3597
3598 #. type: Plain text
3599 #: build/C/man3/fopencookie.3:386
3600 #, no-wrap
3601 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3602 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3603
3604 #. type: Plain text
3605 #: build/C/man3/fopencookie.3:392
3606 #, no-wrap
3607 msgid ""
3608 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3609 "    if (mycookie.buf == NULL) {\n"
3610 "        perror(\"malloc\");\n"
3611 "        exit(EXIT_FAILURE);\n"
3612 "    }\n"
3613 msgstr ""
3614 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3615 "    if (mycookie.buf == NULL) {\n"
3616 "        perror(\"malloc\");\n"
3617 "        exit(EXIT_FAILURE);\n"
3618 "    }\n"
3619
3620 #. type: Plain text
3621 #: build/C/man3/fopencookie.3:396
3622 #, no-wrap
3623 msgid ""
3624 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3625 "    mycookie.offset = 0;\n"
3626 "    mycookie.endpos = 0;\n"
3627 msgstr ""
3628 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3629 "    mycookie.offset = 0;\n"
3630 "    mycookie.endpos = 0;\n"
3631
3632 #. type: Plain text
3633 #: build/C/man3/fopencookie.3:402
3634 #, no-wrap
3635 msgid ""
3636 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3637 "    if (fp == NULL) {\n"
3638 "        perror(\"fopencookie\");\n"
3639 "        exit(EXIT_FAILURE);\n"
3640 "    }\n"
3641 msgstr ""
3642 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3643 "    if (fp == NULL) {\n"
3644 "        perror(\"fopencookie\");\n"
3645 "        exit(EXIT_FAILURE);\n"
3646 "    }\n"
3647
3648 #. type: Plain text
3649 #: build/C/man3/fopencookie.3:404
3650 #, no-wrap
3651 msgid "    /* Write command-line arguments to our file */\n"
3652 msgstr "    /* Write command-line arguments to our file */\n"
3653
3654 #. type: Plain text
3655 #: build/C/man3/fopencookie.3:410
3656 #, no-wrap
3657 msgid ""
3658 "    for (j = 1; j E<lt> argc; j++)\n"
3659 "        if (fputs(argv[j], fp) == EOF) {\n"
3660 "            perror(\"fputs\");\n"
3661 "            exit(EXIT_FAILURE);\n"
3662 "        }\n"
3663 msgstr ""
3664 "    for (j = 1; j E<lt> argc; j++)\n"
3665 "        if (fputs(argv[j], fp) == EOF) {\n"
3666 "            perror(\"fputs\");\n"
3667 "            exit(EXIT_FAILURE);\n"
3668 "        }\n"
3669
3670 #. type: Plain text
3671 #: build/C/man3/fopencookie.3:412
3672 #, no-wrap
3673 msgid "    /* Read two bytes out of every five, until EOF */\n"
3674 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3675
3676 #. type: Plain text
3677 #: build/C/man3/fopencookie.3:427
3678 #, no-wrap
3679 msgid ""
3680 "    for (p = 0; ; p += 5) {\n"
3681 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3682 "            perror(\"fseek\");\n"
3683 "            exit(EXIT_FAILURE);\n"
3684 "        }\n"
3685 "        nread = fread(buf, 1, 2, fp);\n"
3686 "        if (nread == -1) {\n"
3687 "            perror(\"fread\");\n"
3688 "            exit(EXIT_FAILURE);\n"
3689 "        }\n"
3690 "        if (nread == 0) {\n"
3691 "            printf(\"Reached end of file\\en\");\n"
3692 "            break;\n"
3693 "        }\n"
3694 msgstr ""
3695 "    for (p = 0; ; p += 5) {\n"
3696 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3697 "            perror(\"fseek\");\n"
3698 "            exit(EXIT_FAILURE);\n"
3699 "        }\n"
3700 "        nread = fread(buf, 1, 2, fp);\n"
3701 "        if (nread == -1) {\n"
3702 "            perror(\"fread\");\n"
3703 "            exit(EXIT_FAILURE);\n"
3704 "        }\n"
3705 "        if (nread == 0) {\n"
3706 "            printf(\"Reached end of file\\en\");\n"
3707 "            break;\n"
3708 "        }\n"
3709
3710 #. type: Plain text
3711 #: build/C/man3/fopencookie.3:430
3712 #, no-wrap
3713 msgid ""
3714 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3715 "    }\n"
3716 msgstr ""
3717 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3718 "    }\n"
3719
3720 #. type: Plain text
3721 #: build/C/man3/fopencookie.3:433 build/C/man2/readlink.2:211
3722 #, no-wrap
3723 msgid ""
3724 "    exit(EXIT_SUCCESS);\n"
3725 "}\n"
3726 msgstr ""
3727 "    exit(EXIT_SUCCESS);\n"
3728 "}\n"
3729
3730 #. type: Plain text
3731 #: build/C/man3/fopencookie.3:439
3732 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3733 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3734
3735 #. type: TH
3736 #: build/C/man3/fpurge.3:23
3737 #, no-wrap
3738 msgid "FPURGE"
3739 msgstr "FPURGE"
3740
3741 #. type: TH
3742 #: build/C/man3/fpurge.3:23
3743 #, no-wrap
3744 msgid "2001-12-15"
3745 msgstr "2001-12-15"
3746
3747 #. type: Plain text
3748 #: build/C/man3/fpurge.3:26
3749 msgid "fpurge, __fpurge - purge a stream"
3750 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3751
3752 #. type: Plain text
3753 #: build/C/man3/fpurge.3:30
3754 #, no-wrap
3755 msgid ""
3756 "/* unsupported */\n"
3757 "B<#include E<lt>stdio.hE<gt>>\n"
3758 msgstr ""
3759 "/* unsupported */\n"
3760 "B<#include E<lt>stdio.hE<gt>>\n"
3761
3762 #. type: Plain text
3763 #: build/C/man3/fpurge.3:32
3764 #, no-wrap
3765 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3766 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3767
3768 #. type: Plain text
3769 #: build/C/man3/fpurge.3:35
3770 #, no-wrap
3771 msgid ""
3772 "/* supported */\n"
3773 "B<#include E<lt>stdio.hE<gt>>\n"
3774 msgstr ""
3775 "/* supported */\n"
3776 "B<#include E<lt>stdio.hE<gt>>\n"
3777
3778 #. type: Plain text
3779 #: build/C/man3/fpurge.3:37
3780 #, no-wrap
3781 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3782 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3783
3784 #. type: Plain text
3785 #: build/C/man3/fpurge.3:39
3786 #, no-wrap
3787 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3788 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3789
3790 #. type: Plain text
3791 #: build/C/man3/fpurge.3:52
3792 msgid ""
3793 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3794 "output streams this discards any unwritten output.  For input streams this "
3795 "discards any input read from the underlying object but not yet obtained via "
3796 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3797 "B<fflush>(3)."
3798 msgstr ""
3799 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3800 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3801 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3802 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3803 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3804
3805 #. type: Plain text
3806 #: build/C/man3/fpurge.3:56
3807 msgid ""
3808 "The function B<__fpurge>()  does precisely the same, but without returning a "
3809 "value."
3810 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3811
3812 #. type: Plain text
3813 #: build/C/man3/fpurge.3:63
3814 msgid ""
3815 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3816 "and sets I<errno> appropriately."
3817 msgstr ""
3818 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3819 "を適切な値に設定する。"
3820
3821 #. type: Plain text
3822 #: build/C/man3/fpurge.3:68
3823 msgid "I<stream> is not an open stream."
3824 msgstr "I<stream> がオープンされていない。"
3825
3826 #. type: Plain text
3827 #: build/C/man3/fpurge.3:76
3828 msgid ""
3829 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3830 "was introduced in 4.4BSD and is not available under Linux.  The function "
3831 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3832 "later."
3833 msgstr ""
3834 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3835 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3836 "され、glibc 2.1.95 以降には存在している。"
3837
3838 #. type: Plain text
3839 #: build/C/man3/fpurge.3:78
3840 msgid "Usually it is a mistake to want to discard input buffers."
3841 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3842
3843 #.  .BR fclean (3),
3844 #. type: Plain text
3845 #: build/C/man3/fpurge.3:83
3846 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3847 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3848
3849 #. type: TH
3850 #: build/C/man3/fputwc.3:14
3851 #, no-wrap
3852 msgid "FPUTWC"
3853 msgstr "FPUTWC"
3854
3855 #. type: Plain text
3856 #: build/C/man3/fputwc.3:17
3857 msgid "fputwc, putwc - write a wide character to a FILE stream"
3858 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3859
3860 #. type: Plain text
3861 #: build/C/man3/fputwc.3:25
3862 #, no-wrap
3863 msgid ""
3864 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3865 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3866 msgstr ""
3867 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3868 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3869
3870 #. type: Plain text
3871 #: build/C/man3/fputwc.3:41
3872 msgid ""
3873 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3874 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3875 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3876 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3877 "it returns I<wc>."
3878 msgstr ""
3879 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3880 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3881 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3882 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3883 "関数は I<wc> を返す。"
3884
3885 #. type: Plain text
3886 #: build/C/man3/fputwc.3:49
3887 msgid ""
3888 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3889 "may be implemented as a macro, and may evaluate its argument more than "
3890 "once.  There is no reason ever to use it."
3891 msgstr ""
3892 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3893 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3894 "ない。この関数を使う理由はもはや存在しない。"
3895
3896 #. type: Plain text
3897 #: build/C/man3/fputwc.3:58
3898 msgid ""
3899 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3900 "indicate an error."
3901 msgstr ""
3902 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3903 "B<WEOF> を返す。"
3904
3905 #. type: Plain text
3906 #: build/C/man3/fputwc.3:63
3907 msgid "Conversion of I<wc> to the stream's encoding fails."
3908 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3909
3910 #. type: Plain text
3911 #: build/C/man3/fputwc.3:72
3912 msgid ""
3913 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3914 "current locale."
3915 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3916
3917 #. type: Plain text
3918 #: build/C/man3/fputwc.3:80
3919 msgid ""
3920 "In the absence of additional information passed to the B<fopen>(3)  call, it "
3921 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
3922 "sequence corresponding to the wide character I<wc>."
3923 msgstr ""
3924 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
3925 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
3926 "よい。"
3927
3928 #. type: Plain text
3929 #: build/C/man3/fputwc.3:84
3930 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3931 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3932
3933 #. type: TH
3934 #: build/C/man3/fread.3:43
3935 #, no-wrap
3936 msgid "FREAD"
3937 msgstr "FREAD"
3938
3939 #. type: TH
3940 #: build/C/man3/fread.3:43
3941 #, no-wrap
3942 msgid "2012-03-30"
3943 msgstr "2012-03-30"
3944
3945 #. type: Plain text
3946 #: build/C/man3/fread.3:46
3947 msgid "fread, fwrite - binary stream input/output"
3948 msgstr "fread, fwrite - バイナリストリームの入出力"
3949
3950 #. type: Plain text
3951 #: build/C/man3/fread.3:52
3952 #, no-wrap
3953 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3954 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3955
3956 #. type: Plain text
3957 #: build/C/man3/fread.3:55
3958 #, no-wrap
3959 msgid ""
3960 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3961 "B<              FILE *>I<stream>B<);>\n"
3962 msgstr ""
3963 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3964 "B<              FILE *>I<stream>B<);>\n"
3965
3966 #. type: Plain text
3967 #: build/C/man3/fread.3:67
3968 msgid ""
3969 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
3970 "long, from the stream pointed to by I<stream>, storing them at the location "
3971 "given by I<ptr>."
3972 msgstr ""
3973 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
3974 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
3975 "I<size> バイトの長さを持つ。"
3976
3977 #. type: Plain text
3978 #: build/C/man3/fread.3:78
3979 msgid ""
3980 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
3981 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
3982 "location given by I<ptr>."
3983 msgstr ""
3984 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
3985 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
3986 "バイトの長さを持つ。"
3987
3988 #. type: Plain text
3989 #: build/C/man3/fread.3:94
3990 msgid ""
3991 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
3992 "or written.  This number equals the number of bytes transferred only when "
3993 "I<size> is 1.  If an error occurs, or the end of the file is reached, the "
3994 "return value is a short item count (or zero)."
3995 msgstr ""
3996 "成功すると、 B<fread>() と B<fwrite>() は読み書きを行った要素の個数を返す。\n"
3997 "I<size> が 1 の場合は、この数字は転送されたバイト数と等しい。\n"
3998 "エラーが生じた場合や、ファイルの末尾 (end-of-file) に達した場合、\n"
3999 "返り値は指定した個数よりも小さい値 (または 0) となる。"
4000
4001 #. type: Plain text
4002 #: build/C/man3/fread.3:101
4003 msgid ""
4004 "B<fread>()  does not distinguish between end-of-file and error, and callers "
4005 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
4006 msgstr ""
4007 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
4008 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
4009 "らない。"
4010
4011 #. type: Plain text
4012 #: build/C/man3/fread.3:103
4013 msgid "C89, POSIX.1-2001."
4014 msgstr "C89, POSIX.1-2001."
4015
4016 #. type: Plain text
4017 #: build/C/man3/fread.3:109
4018 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4019 msgstr ""
4020 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4021
4022 #. type: TH
4023 #: build/C/man3/fseek.3:40
4024 #, no-wrap
4025 msgid "FSEEK"
4026 msgstr "FSEEK"
4027
4028 #. type: TH
4029 #: build/C/man3/fseek.3:40
4030 #, no-wrap
4031 msgid "1993-11-29"
4032 msgstr "1993-11-29"
4033
4034 #. type: Plain text
4035 #: build/C/man3/fseek.3:43
4036 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
4037 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
4038
4039 #. type: Plain text
4040 #: build/C/man3/fseek.3:47
4041 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4042 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4043
4044 #. type: Plain text
4045 #: build/C/man3/fseek.3:49
4046 msgid "B<long ftell(FILE *>I<stream>B<);>"
4047 msgstr "B<long ftell(FILE *>I<stream>B<);>"
4048
4049 #. type: Plain text
4050 #: build/C/man3/fseek.3:51
4051 msgid "B<void rewind(FILE *>I<stream>B<);>"
4052 msgstr "B<void rewind(FILE *>I<stream>B<);>"
4053
4054 #. type: Plain text
4055 #: build/C/man3/fseek.3:53
4056 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4057 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4058
4059 #. type: Plain text
4060 #: build/C/man3/fseek.3:55
4061 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4062 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4063
4064 #. type: Plain text
4065 #: build/C/man3/fseek.3:79
4066 msgid ""
4067 "The B<fseek>()  function sets the file position indicator for the stream "
4068 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
4069 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4070 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4071 "relative to the start of the file, the current position indicator, or end-of-"
4072 "file, respectively.  A successful call to the B<fseek>()  function clears "
4073 "the end-of-file indicator for the stream and undoes any effects of the "
4074 "B<ungetc>(3)  function on the same stream."
4075 msgstr ""
4076 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4077 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4078 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4079 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4080 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4081 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4082 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4083 "かったことになる。"
4084
4085 #. type: Plain text
4086 #: build/C/man3/fseek.3:85
4087 msgid ""
4088 "The B<ftell>()  function obtains the current value of the file position "
4089 "indicator for the stream pointed to by I<stream>."
4090 msgstr ""
4091 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4092 "置表示子 の現時点での値を与える。"
4093
4094 #. type: Plain text
4095 #: build/C/man3/fseek.3:92
4096 msgid ""
4097 "The B<rewind>()  function sets the file position indicator for the stream "
4098 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4099 msgstr ""
4100 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4101 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4102
4103 #. type: Plain text
4104 #: build/C/man3/fseek.3:95
4105 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4106 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4107
4108 #. type: Plain text
4109 #: build/C/man3/fseek.3:99
4110 msgid ""
4111 "except that the error indicator for the stream is also cleared (see "
4112 "B<clearerr>(3))."
4113 msgstr ""
4114 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4115 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4116
4117 #. type: Plain text
4118 #: build/C/man3/fseek.3:117
4119 msgid ""
4120 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4121 "equivalent to B<ftell>()  and B<fseek>()  (with whence set to B<SEEK_SET>), "
4122 "setting and storing the current value of the file offset into or from the "
4123 "object referenced by I<pos>.  On some non-UNIX systems an I<fpos_t> object "
4124 "may be a complex object and these routines may be the only way to portably "
4125 "reposition a text stream."
4126 msgstr ""
4127 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4128 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4129 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4130 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4131 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4132 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4133 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4134
4135 #. type: Plain text
4136 #: build/C/man3/fseek.3:132
4137 msgid ""
4138 "The B<rewind>()  function returns no value.  Upon successful completion, "
4139 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4140 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4141 "indicate the error."
4142 msgstr ""
4143 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4144 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4145 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4146
4147 #. type: Plain text
4148 #: build/C/man3/fseek.3:138
4149 msgid "The I<stream> specified is not a seekable stream."
4150 msgstr "指定した I<stream> がシークできない。"
4151
4152 #. type: Plain text
4153 #: build/C/man3/fseek.3:149
4154 msgid ""
4155 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4156 "B<SEEK_CUR>."
4157 msgstr ""
4158 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4159 "B<SEEK_CUR> 以外の値であった。"
4160
4161 #. type: Plain text
4162 #: build/C/man3/fseek.3:164
4163 msgid ""
4164 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4165 "also fail and set I<errno> for any of the errors specified for the routines "
4166 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4167 msgstr ""
4168 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4169 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4170 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4171
4172 #. type: Plain text
4173 #: build/C/man3/fseek.3:169
4174 msgid "B<lseek>(2), B<fseeko>(3)"
4175 msgstr "B<lseek>(2), B<fseeko>(3)"
4176
4177 #. type: TH
4178 #: build/C/man3/fseeko.3:23
4179 #, no-wrap
4180 msgid "FSEEKO"
4181 msgstr "FSEEKO"
4182
4183 #. type: TH
4184 #: build/C/man3/fseeko.3:23
4185 #, no-wrap
4186 msgid "2001-11-05"
4187 msgstr "2001-11-05"
4188
4189 #. type: Plain text
4190 #: build/C/man3/fseeko.3:26
4191 msgid "fseeko, ftello - seek to or report file position"
4192 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4193
4194 #. type: Plain text
4195 #: build/C/man3/fseeko.3:31
4196 #, no-wrap
4197 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4198 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4199
4200 #. type: Plain text
4201 #: build/C/man3/fseeko.3:34
4202 #, no-wrap
4203 msgid ""
4204 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4205 "\n"
4206 msgstr ""
4207 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4208 "\n"
4209
4210 #. type: Plain text
4211 #: build/C/man3/fseeko.3:52
4212 msgid ""
4213 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4214 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4215 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4216 "I<off_t> instead of I<long>."
4217 msgstr ""
4218 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4219 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4220 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4221 "I<off_t> になっている。"
4222
4223 #. type: Plain text
4224 #: build/C/man3/fseeko.3:55
4225 msgid ""
4226 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4227 "compilation with"
4228 msgstr ""
4229 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4230
4231 #. type: Plain text
4232 #: build/C/man3/fseeko.3:59 build/C/man3/lseek64.3:79
4233 #, no-wrap
4234 msgid "#define _FILE_OFFSET_BITS 64\n"
4235 msgstr "#define _FILE_OFFSET_BITS 64\n"
4236
4237 #. type: Plain text
4238 #: build/C/man3/fseeko.3:63
4239 msgid "will turn I<off_t> into a 64-bit type."
4240 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4241
4242 #. type: Plain text
4243 #: build/C/man3/fseeko.3:72
4244 msgid ""
4245 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4246 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4247 "indicate the error."
4248 msgstr ""
4249 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4250 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4251
4252 #. type: Plain text
4253 #: build/C/man3/fseeko.3:75
4254 msgid "See the ERRORS in B<fseek>(3)."
4255 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4256
4257 #. type: Plain text
4258 #: build/C/man3/fseeko.3:77
4259 msgid "SUSv2, POSIX.1-2001."
4260 msgstr "SUSv2, POSIX.1-2001."
4261
4262 #. type: Plain text
4263 #: build/C/man3/fseeko.3:81
4264 msgid ""
4265 "These functions are found on System V-like systems.  They are not present in "
4266 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4267 msgstr ""
4268 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4269 "かったが、 glibc 2.1 から使えるようになった。"
4270
4271 #. type: Plain text
4272 #: build/C/man3/fseeko.3:83
4273 msgid "B<fseek>(3)"
4274 msgstr "B<fseek>(3)"
4275
4276 #. type: TH
4277 #: build/C/man3/getline.3:24
4278 #, no-wrap
4279 msgid "GETLINE"
4280 msgstr "GETLINE"
4281
4282 #. type: TH
4283 #: build/C/man3/getline.3:24
4284 #, no-wrap
4285 msgid "2010-06-12"
4286 msgstr "2010-06-12"
4287
4288 #. type: Plain text
4289 #: build/C/man3/getline.3:27
4290 msgid "getline, getdelim - delimited string input"
4291 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4292
4293 #. type: Plain text
4294 #: build/C/man3/getline.3:32
4295 #, no-wrap
4296 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4297 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4298
4299 #. type: Plain text
4300 #: build/C/man3/getline.3:35
4301 #, no-wrap
4302 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4303 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4304
4305 #. type: Plain text
4306 #: build/C/man3/getline.3:45
4307 msgid "B<getline>(), B<getdelim>():"
4308 msgstr "B<getline>(), B<getdelim>():"
4309
4310 #. type: Plain text
4311 #: build/C/man3/getline.3:50
4312 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4313 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4314
4315 #. type: Plain text
4316 #: build/C/man3/getline.3:63
4317 msgid ""
4318 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4319 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4320 "terminated and includes the newline character, if one was found."
4321 msgstr ""
4322 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4323 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4324 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4325
4326 #. type: Plain text
4327 #: build/C/man3/getline.3:73
4328 msgid ""
4329 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4330 "storing the line, which should be freed by the user program.  (In this case, "
4331 "the value in I<*n> is ignored.)"
4332 msgstr ""
4333 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4334 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4335 "合、 I<*n> の値は無視される)。"
4336
4337 #. type: Plain text
4338 #: build/C/man3/getline.3:91
4339 msgid ""
4340 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4341 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4342 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4343 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4344 msgstr ""
4345 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4346 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4347 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4348 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4349 "I<*n> を更新する。"
4350
4351 #. type: Plain text
4352 #: build/C/man3/getline.3:97
4353 msgid ""
4354 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4355 "to reflect the buffer address and allocated size respectively."
4356 msgstr ""
4357 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4358 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4359
4360 #. type: Plain text
4361 #: build/C/man3/getline.3:108
4362 msgid ""
4363 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4364 "than newline can be specified as the I<delimiter> argument.  As with "
4365 "B<getline>(), a delimiter character is not added if one was not present in "
4366 "the input before end of file was reached."
4367 msgstr ""
4368 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4369 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4370 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4371 "ファに追加しない。"
4372
4373 #. type: Plain text
4374 #: build/C/man3/getline.3:117
4375 msgid ""
4376 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4377 "read, including the delimiter character, but not including the terminating "
4378 "null byte.  This value can be used to handle embedded null bytes in the line "
4379 "read."
4380 msgstr ""
4381 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4382 "字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
4383 "よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
4384
4385 #. type: Plain text
4386 #: build/C/man3/getline.3:120
4387 msgid ""
4388 "Both functions return -1 on failure to read a line (including end-of-file "
4389 "condition)."
4390 msgstr ""
4391 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4392 "した場合にも -1 を返す)。"
4393
4394 #. type: Plain text
4395 #: build/C/man3/getline.3:130
4396 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4397 msgstr ""
4398 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4399 "I<stream> が有効でない)。"
4400
4401 #. type: Plain text
4402 #: build/C/man3/getline.3:132
4403 msgid "These functions are available since libc 4.6.27."
4404 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4405
4406 #. type: Plain text
4407 #: build/C/man3/getline.3:139
4408 msgid ""
4409 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4410 "were standardized in POSIX.1-2008."
4411 msgstr ""
4412 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4413 "POSIX.1-2008 で標準化された。"
4414
4415 #. type: Plain text
4416 #: build/C/man3/getline.3:144
4417 #, no-wrap
4418 msgid ""
4419 "#define _GNU_SOURCE\n"
4420 "#include E<lt>stdio.hE<gt>\n"
4421 "#include E<lt>stdlib.hE<gt>\n"
4422 msgstr ""
4423 "#define _GNU_SOURCE\n"
4424 "#include E<lt>stdio.hE<gt>\n"
4425 "#include E<lt>stdlib.hE<gt>\n"
4426
4427 #. type: Plain text
4428 #: build/C/man3/getline.3:152
4429 #, no-wrap
4430 msgid ""
4431 "int\n"
4432 "main(void)\n"
4433 "{\n"
4434 "    FILE *fp;\n"
4435 "    char *line = NULL;\n"
4436 "    size_t len = 0;\n"
4437 "    ssize_t read;\n"
4438 msgstr ""
4439 "int\n"
4440 "main(void)\n"
4441 "{\n"
4442 "    FILE *fp;\n"
4443 "    char *line = NULL;\n"
4444 "    size_t len = 0;\n"
4445 "    ssize_t read;\n"
4446
4447 #. type: Plain text
4448 #: build/C/man3/getline.3:156
4449 #, no-wrap
4450 msgid ""
4451 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4452 "    if (fp == NULL)\n"
4453 "        exit(EXIT_FAILURE);\n"
4454 msgstr ""
4455 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4456 "    if (fp == NULL)\n"
4457 "        exit(EXIT_FAILURE);\n"
4458
4459 #. type: Plain text
4460 #: build/C/man3/getline.3:161
4461 #, no-wrap
4462 msgid ""
4463 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4464 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4465 "        printf(\"%s\", line);\n"
4466 "    }\n"
4467 msgstr ""
4468 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4469 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4470 "        printf(\"%s\", line);\n"
4471 "    }\n"
4472
4473 #. type: Plain text
4474 #: build/C/man3/getline.3:165
4475 #, no-wrap
4476 msgid ""
4477 "    free(line);\n"
4478 "    exit(EXIT_SUCCESS);\n"
4479 "}\n"
4480 msgstr ""
4481 "    free(line);\n"
4482 "    exit(EXIT_SUCCESS);\n"
4483 "}\n"
4484
4485 #. type: Plain text
4486 #: build/C/man3/getline.3:173
4487 msgid ""
4488 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4489 msgstr ""
4490 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4491
4492 #. type: TH
4493 #: build/C/man3/gets.3:25
4494 #, no-wrap
4495 msgid "GETS"
4496 msgstr "GETS"
4497
4498 #. type: TH
4499 #: build/C/man3/gets.3:25
4500 #, no-wrap
4501 msgid "2012-01-18"
4502 msgstr "2012-01-18"
4503
4504 #. type: Plain text
4505 #: build/C/man3/gets.3:28
4506 msgid ""
4507 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4508 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4509
4510 #. type: Plain text
4511 #: build/C/man3/gets.3:33
4512 #, no-wrap
4513 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4514 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4515
4516 #. type: Plain text
4517 #: build/C/man3/gets.3:35
4518 #, no-wrap
4519 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4520 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4521
4522 #. type: Plain text
4523 #: build/C/man3/gets.3:37
4524 #, no-wrap
4525 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4526 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4527
4528 #. type: Plain text
4529 #: build/C/man3/gets.3:39
4530 #, no-wrap
4531 msgid "B<int getchar(void);>\n"
4532 msgstr "B<int getchar(void);>\n"
4533
4534 #. type: Plain text
4535 #: build/C/man3/gets.3:41
4536 #, no-wrap
4537 msgid "B<char *gets(char *>I<s>B<);>\n"
4538 msgstr "B<char *gets(char *>I<s>B<);>\n"
4539
4540 #. type: Plain text
4541 #: build/C/man3/gets.3:43
4542 #, no-wrap
4543 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4544 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4545
4546 #. type: Plain text
4547 #: build/C/man3/gets.3:55
4548 msgid ""
4549 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4550 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4551 msgstr ""
4552 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4553 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4554 "す。"
4555
4556 #. type: Plain text
4557 #: build/C/man3/gets.3:62
4558 msgid ""
4559 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4560 "a macro which evaluates I<stream> more than once."
4561 msgstr ""
4562 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4563 "実装されているかもしれない。"
4564
4565 #. type: Plain text
4566 #: build/C/man3/gets.3:66
4567 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4568 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4569
4570 #. type: Plain text
4571 #: build/C/man3/gets.3:76
4572 msgid ""
4573 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4574 "until either a terminating newline or B<EOF>, which it replaces with a null "
4575 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4576 "below)."
4577 msgstr ""
4578 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4579 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4580 "\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
4581 "記の「バグ」を参照)。"
4582
4583 #. type: Plain text
4584 #: build/C/man3/gets.3:90
4585 msgid ""
4586 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4587 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4588 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4589 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4590 "in the buffer."
4591 msgstr ""
4592 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4593 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4594 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4595 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4596
4597 #. type: Plain text
4598 #: build/C/man3/gets.3:101
4599 msgid ""
4600 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4601 "it is available for subsequent read operations.  Pushed-back characters will "
4602 "be returned in reverse order; only one pushback is guaranteed."
4603 msgstr ""
4604 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4605 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4606 "しとして保証されているのは、一文字だけである。"
4607
4608 #. type: Plain text
4609 #: build/C/man3/gets.3:106
4610 msgid ""
4611 "Calls to the functions described here can be mixed with each other and with "
4612 "calls to other input functions from the I<stdio> library for the same input "
4613 "stream."
4614 msgstr ""
4615 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4616 "互いに混ぜて使うことができる。"
4617
4618 #. type: Plain text
4619 #: build/C/man3/gets.3:121
4620 msgid ""
4621 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4622 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4623 msgstr ""
4624 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4625 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4626 "す。"
4627
4628 #. type: Plain text
4629 #: build/C/man3/gets.3:129
4630 msgid ""
4631 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4632 "end of file occurs while no characters have been read."
4633 msgstr ""
4634 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4635 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4636
4637 #. type: Plain text
4638 #: build/C/man3/gets.3:136
4639 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4640 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4641
4642 #. type: Plain text
4643 #: build/C/man3/gets.3:138
4644 msgid "C89, C99, POSIX.1-2001."
4645 msgstr "C89, C99, POSIX.1-2001."
4646
4647 #. type: Plain text
4648 #: build/C/man3/gets.3:150
4649 msgid ""
4650 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4651 "C11 removes the specification of B<gets>()  from the C language, and since "
4652 "version 2.16, glibc header files don't expose the function declaration if "
4653 "the B<_ISOC11_SOURCE> feature test macro is defined."
4654 msgstr ""
4655 "LSB は B<gets>() を非推奨としている。\n"
4656 "POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
4657 "ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
4658 "glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
4659 "た\n"
4660 "場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
4661
4662 #. type: Plain text
4663 #: build/C/man3/gets.3:164
4664 msgid ""
4665 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4666 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4667 "()  will continue to store characters past the end of the buffer, it is "
4668 "extremely dangerous to use.  It has been used to break computer security.  "
4669 "Use B<fgets>()  instead."
4670 msgstr ""
4671 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4672 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4673 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4674 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4675 "と。"
4676
4677 #. type: Plain text
4678 #: build/C/man3/gets.3:171
4679 msgid ""
4680 "It is not advisable to mix calls to input functions from the I<stdio> "
4681 "library with low-level calls to B<read>(2)  for the file descriptor "
4682 "associated with the input stream; the results will be undefined and very "
4683 "probably not what you want."
4684 msgstr ""
4685 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4686 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4687 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4688
4689 #. type: Plain text
4690 #: build/C/man3/gets.3:187
4691 msgid ""
4692 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4693 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4694 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4695 msgstr ""
4696 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
4697 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
4698 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
4699 "B<feature_test_macros>(7)"
4700
4701 #. type: TH
4702 #: build/C/man3/getw.3:23
4703 #, no-wrap
4704 msgid "GETW"
4705 msgstr "GETW"
4706
4707 #. type: TH
4708 #: build/C/man3/getw.3:23
4709 #, no-wrap
4710 msgid "2010-09-26"
4711 msgstr "2010-09-26"
4712
4713 #. type: Plain text
4714 #: build/C/man3/getw.3:26
4715 msgid "getw, putw - input and output of words (ints)"
4716 msgstr "getw, putw - ワード(int)の入出力"
4717
4718 #. type: Plain text
4719 #: build/C/man3/getw.3:31
4720 #, no-wrap
4721 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4722 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4723
4724 #. type: Plain text
4725 #: build/C/man3/getw.3:33
4726 #, no-wrap
4727 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4728 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4729
4730 #. type: Plain text
4731 #: build/C/man3/getw.3:42
4732 msgid "B<getw>(), B<putw>():"
4733 msgstr "B<getw>(), B<putw>():"
4734
4735 #. type: TP
4736 #: build/C/man3/getw.3:45
4737 #, no-wrap
4738 msgid "Since glibc 2.3.3:"
4739 msgstr "glibc 2.3.3 以降:"
4740
4741 #. type: Plain text
4742 #: build/C/man3/getw.3:48
4743 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4744 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4745
4746 #. type: Plain text
4747 #: build/C/man3/getw.3:51
4748 #, no-wrap
4749 msgid ""
4750 "(_XOPEN_SOURCE &&\n"
4751 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4752 msgstr ""
4753 "(_XOPEN_SOURCE &&\n"
4754 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4755
4756 #. type: TP
4757 #: build/C/man3/getw.3:51
4758 #, no-wrap
4759 msgid "Before glibc 2.3.3:"
4760 msgstr "glibc 2.3.3 より前:"
4761
4762 #. type: Plain text
4763 #: build/C/man3/getw.3:54
4764 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4765 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4766
4767 #. type: Plain text
4768 #: build/C/man3/getw.3:64
4769 msgid ""
4770 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4771 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4772 msgstr ""
4773 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4774 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4775 "ことを勧める。"
4776
4777 #. type: Plain text
4778 #: build/C/man3/getw.3:71
4779 msgid ""
4780 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4781 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4782 "instead."
4783 msgstr ""
4784 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4785 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4786 "使用することを勧める。"
4787
4788 #. type: Plain text
4789 #: build/C/man3/getw.3:78
4790 msgid ""
4791 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4792 "error, they return B<EOF>."
4793 msgstr ""
4794 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4795 "が発生した場合、これらの関数は B<EOF> を返す。"
4796
4797 #. type: Plain text
4798 #: build/C/man3/getw.3:80
4799 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4800 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4801
4802 #. type: Plain text
4803 #: build/C/man3/getw.3:84
4804 msgid ""
4805 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4806 "can be used to distinguish between the two cases."
4807 msgstr ""
4808 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4809 "(3)  を用いると、この二つの場合を区別することが出来る。"
4810
4811 #. type: Plain text
4812 #: build/C/man3/getw.3:90
4813 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4814 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4815
4816 #. type: TH
4817 #: build/C/man2/link.2:31
4818 #, no-wrap
4819 msgid "LINK"
4820 msgstr "LINK"
4821
4822 #. type: TH
4823 #: build/C/man2/link.2:31
4824 #, no-wrap
4825 msgid "2008-08-21"
4826 msgstr "2008-08-21"
4827
4828 #. type: Plain text
4829 #: build/C/man2/link.2:34
4830 msgid "link - make a new name for a file"
4831 msgstr "link - ファイルの新しい名前を作成する"
4832
4833 #. type: Plain text
4834 #: build/C/man2/link.2:36 build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
4835 #: build/C/man2/readlink.2:46 build/C/man2/rmdir.2:35
4836 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4837 msgid "B<#include E<lt>unistd.hE<gt>>"
4838 msgstr "B<#include E<lt>unistd.hE<gt>>"
4839
4840 #. type: Plain text
4841 #: build/C/man2/link.2:38
4842 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4843 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4844
4845 #. type: Plain text
4846 #: build/C/man2/link.2:41
4847 msgid ""
4848 "B<link>()  creates a new link (also known as a hard link) to an existing "
4849 "file."
4850 msgstr ""
4851 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハードリンク (hard "
4852 "link) ともいう) を作成する。"
4853
4854 #. type: Plain text
4855 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4856 msgid "If I<newpath> exists it will I<not> be overwritten."
4857 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4858
4859 #. type: Plain text
4860 #: build/C/man2/link.2:52
4861 msgid ""
4862 "This new name may be used exactly as the old one for any operation; both "
4863 "names refer to the same file (and so have the same permissions and "
4864 "ownership) and it is impossible to tell which name was the \"original\"."
4865 msgstr ""
4866 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4867 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4868 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4869
4870 #. type: Plain text
4871 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4872 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4873 #: build/C/man2/unlink.2:60
4874 msgid ""
4875 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4876 "appropriately."
4877 msgstr ""
4878 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4879 "定される。"
4880
4881 #. type: TP
4882 #: build/C/man2/link.2:58 build/C/man2/open.2:473 build/C/man2/readlink.2:84
4883 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4884 #: build/C/man3/tmpfile.3:53 build/C/man2/unlink.2:61
4885 #, no-wrap
4886 msgid "B<EACCES>"
4887 msgstr "B<EACCES>"
4888
4889 #. type: Plain text
4890 #: build/C/man2/link.2:69
4891 msgid ""
4892 "Write access to the directory containing I<newpath> is denied, or search "
4893 "permission is denied for one of the directories in the path prefix of "
4894 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4895 msgstr ""
4896 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4897 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4898 "(B<path_resolution>(7)  を参照)。"
4899
4900 #. type: TP
4901 #: build/C/man2/link.2:69 build/C/man2/open.2:482 build/C/man2/symlink.2:99
4902 #: build/C/man3/tmpfile.3:56
4903 #, no-wrap
4904 msgid "B<EEXIST>"
4905 msgstr "B<EEXIST>"
4906
4907 #. type: Plain text
4908 #: build/C/man2/link.2:73 build/C/man2/symlink.2:103
4909 msgid "I<newpath> already exists."
4910 msgstr "I<newpath> が既に存在する。"
4911
4912 #. type: TP
4913 #: build/C/man2/link.2:73 build/C/man2/llseek.2:69 build/C/man2/open.2:488
4914 #: build/C/man2/pipe.2:98 build/C/man2/read.2:100 build/C/man2/readlink.2:89
4915 #: build/C/man2/rename.2:133 build/C/man2/rmdir.2:64
4916 #: build/C/man2/symlink.2:103 build/C/man2/unlink.2:80
4917 #: build/C/man2/write.2:135 build/C/man2/process_vm_readv.2:249
4918 #: build/C/man2/process_vm_readv.2:254
4919 #, no-wrap
4920 msgid "B<EFAULT>"
4921 msgstr "B<EFAULT>"
4922
4923 #. type: Plain text
4924 #: build/C/man2/link.2:76 build/C/man2/rename.2:136 build/C/man2/symlink.2:106
4925 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
4926 msgstr ""
4927 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
4928
4929 #. type: TP
4930 #: build/C/man2/link.2:76 build/C/man2/read.2:129 build/C/man2/readlink.2:105
4931 #: build/C/man2/symlink.2:106 build/C/man2/unlink.2:84
4932 #: build/C/man2/write.2:159
4933 #, no-wrap
4934 msgid "B<EIO>"
4935 msgstr "B<EIO>"
4936
4937 #. type: Plain text
4938 #: build/C/man2/link.2:79 build/C/man2/symlink.2:109 build/C/man2/unlink.2:87
4939 msgid "An I/O error occurred."
4940 msgstr "I/O エラーが発生した。"
4941
4942 #. type: TP
4943 #: build/C/man2/link.2:79 build/C/man2/open.2:512 build/C/man2/readlink.2:108
4944 #: build/C/man2/rename.2:146 build/C/man2/rmdir.2:73
4945 #: build/C/man2/symlink.2:109 build/C/man2/unlink.2:92
4946 #, no-wrap
4947 msgid "B<ELOOP>"
4948 msgstr "B<ELOOP>"
4949
4950 #. type: Plain text
4951 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4952 msgid ""
4953 "Too many symbolic links were encountered in resolving I<oldpath> or "
4954 "I<newpath>."
4955 msgstr ""
4956 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎ"
4957 "る。"
4958
4959 #. type: TP
4960 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4961 #, no-wrap
4962 msgid "B<EMLINK>"
4963 msgstr "B<EMLINK>"
4964
4965 #. type: Plain text
4966 #: build/C/man2/link.2:88
4967 msgid ""
4968 "The file referred to by I<oldpath> already has the maximum number of links "
4969 "to it."
4970 msgstr ""
4971 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
4972
4973 #. type: TP
4974 #: build/C/man2/link.2:88 build/C/man2/open.2:522 build/C/man2/readlink.2:111
4975 #: build/C/man2/rename.2:157 build/C/man2/rmdir.2:77
4976 #: build/C/man2/symlink.2:113 build/C/man2/unlink.2:96
4977 #, no-wrap
4978 msgid "B<ENAMETOOLONG>"
4979 msgstr "B<ENAMETOOLONG>"
4980
4981 #. type: Plain text
4982 #: build/C/man2/link.2:91 build/C/man2/rename.2:160 build/C/man2/symlink.2:116
4983 msgid "I<oldpath> or I<newpath> was too long."
4984 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
4985
4986 #. type: TP
4987 #: build/C/man2/link.2:91 build/C/man2/open.2:536 build/C/man2/readlink.2:114
4988 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:80
4989 #: build/C/man2/symlink.2:116 build/C/man2/unlink.2:99
4990 #, no-wrap
4991 msgid "B<ENOENT>"
4992 msgstr "B<ENOENT>"
4993
4994 #. type: Plain text
4995 #: build/C/man2/link.2:96
4996 msgid ""
4997 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
4998 "dangling symbolic link."
4999 msgstr ""
5000 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
5001 "(dangling)シンボリックリンクである。"
5002
5003 #. type: TP
5004 #: build/C/man2/link.2:96 build/C/man2/open.2:543 build/C/man2/readlink.2:117
5005 #: build/C/man2/rename.2:173 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:568
5006 #: build/C/man2/symlink.2:123 build/C/man3/tempnam.3:91
5007 #: build/C/man2/unlink.2:106 build/C/man2/process_vm_readv.2:260
5008 #, no-wrap
5009 msgid "B<ENOMEM>"
5010 msgstr "B<ENOMEM>"
5011
5012 #. type: Plain text
5013 #: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/readlink.2:120
5014 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:88
5015 #: build/C/man2/symlink.2:126 build/C/man2/unlink.2:109
5016 msgid "Insufficient kernel memory was available."
5017 msgstr "十分なカーネルメモリーがない。"
5018
5019 #. type: TP
5020 #: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/rename.2:176
5021 #: build/C/man2/symlink.2:126 build/C/man3/tmpfile.3:68
5022 #: build/C/man2/write.2:162
5023 #, no-wrap
5024 msgid "B<ENOSPC>"
5025 msgstr "B<ENOSPC>"
5026
5027 #. type: Plain text
5028 #: build/C/man2/link.2:103 build/C/man2/rename.2:180
5029 #: build/C/man2/symlink.2:130
5030 msgid "The device containing the file has no room for the new directory entry."
5031 msgstr ""
5032 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
5033 "空きがない。"
5034
5035 #. type: TP
5036 #: build/C/man2/link.2:103 build/C/man2/open.2:552 build/C/man2/readlink.2:120
5037 #: build/C/man2/rename.2:180 build/C/man2/rmdir.2:88
5038 #: build/C/man2/symlink.2:130 build/C/man2/unlink.2:109
5039 #, no-wrap
5040 msgid "B<ENOTDIR>"
5041 msgstr "B<ENOTDIR>"
5042
5043 #. type: Plain text
5044 #: build/C/man2/link.2:108
5045 msgid ""
5046 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
5047 "a directory."
5048 msgstr ""
5049 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
5050 "い。"
5051
5052 #. type: TP
5053 #: build/C/man2/link.2:108 build/C/man2/link.2:112 build/C/man2/open.2:585
5054 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
5055 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:114
5056 #: build/C/man2/process_vm_readv.2:265
5057 #, no-wrap
5058 msgid "B<EPERM>"
5059 msgstr "B<EPERM>"
5060
5061 #. type: Plain text
5062 #: build/C/man2/link.2:112
5063 msgid "I<oldpath> is a directory."
5064 msgstr "I<oldpath> がディレクトリである。"
5065
5066 #. type: Plain text
5067 #: build/C/man2/link.2:117
5068 msgid ""
5069 "The file system containing I<oldpath> and I<newpath> does not support the "
5070 "creation of hard links."
5071 msgstr ""
5072 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
5073 "していない。"
5074
5075 #. type: TP
5076 #: build/C/man2/link.2:117 build/C/man2/open.2:593 build/C/man2/rename.2:218
5077 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:140
5078 #: build/C/man3/tmpfile.3:71 build/C/man2/unlink.2:137
5079 #, no-wrap
5080 msgid "B<EROFS>"
5081 msgstr "B<EROFS>"
5082
5083 #. type: Plain text
5084 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5085 msgid "The file is on a read-only file system."
5086 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
5087
5088 #. type: TP
5089 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5090 #, no-wrap
5091 msgid "B<EXDEV>"
5092 msgstr "B<EXDEV>"
5093
5094 #. type: Plain text
5095 #: build/C/man2/link.2:128
5096 msgid ""
5097 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
5098 "permits a file system to be mounted at multiple points, but B<link>()  does "
5099 "not work across different mount points, even if the same file system is "
5100 "mounted on both.)"
5101 msgstr ""
5102 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
5103 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
5104 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
5105 "のマウント位置を跨いでは動作しない。)"
5106
5107 #.  SVr4 documents additional ENOLINK and
5108 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5109 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5110 #. type: Plain text
5111 #: build/C/man2/link.2:133
5112 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5113 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5114
5115 #. type: Plain text
5116 #: build/C/man2/link.2:140
5117 msgid ""
5118 "Hard links, as created by B<link>(), cannot span file systems.  Use "
5119 "B<symlink>(2)  if this is required."
5120 msgstr ""
5121 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
5122 "このような場合は B<symlink>(2)  を使用すること。"
5123
5124 #.  more precisely: since kernel 1.3.56
5125 #.  For example, the default Solaris compilation environment
5126 #.  behaves like Linux, and contributors to a March 2005
5127 #.  thread in the Austin mailing list reported that some
5128 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5129 #. type: Plain text
5130 #: build/C/man2/link.2:171
5131 msgid ""
5132 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5133 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5134 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5135 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5136 "the same file that I<oldpath> refers to).  Some other implementations behave "
5137 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5138 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5139 "dereferenced if it is a symbolic link.  For precise control over the "
5140 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5141 msgstr ""
5142 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
5143 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5144 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリックリンク"
5145 "である場合、 I<newpath> は同じシンボリックリンクファイルへの (ハード) リンク"
5146 "として作成される (つまり I<newpath> は I<oldpath> が参照していた同じファイル"
5147 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
5148 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
5149 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
5150 "なった。 リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関して"
5151 "は B<linkat>(2)  を参照のこと。"
5152
5153 #. type: Plain text
5154 #: build/C/man2/link.2:177
5155 msgid ""
5156 "On NFS file systems, the return code may be wrong in case the NFS server "
5157 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5158 "to find out if the link got created."
5159 msgstr ""
5160 "NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前"
5161 "に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つける"
5162 "ためには B<stat>(2)  を使用すること。"
5163
5164 #. type: Plain text
5165 #: build/C/man2/link.2:187
5166 msgid ""
5167 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5168 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5169 msgstr ""
5170 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5171 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5172
5173 #. type: TH
5174 #: build/C/man2/llseek.2:26
5175 #, no-wrap
5176 msgid "LLSEEK"
5177 msgstr "LLSEEK"
5178
5179 #. type: TH
5180 #: build/C/man2/llseek.2:26
5181 #, no-wrap
5182 msgid "2007-06-01"
5183 msgstr "2007-06-01"
5184
5185 #. type: Plain text
5186 #: build/C/man2/llseek.2:29
5187 msgid "_llseek - reposition read/write file offset"
5188 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5189
5190 #. type: Plain text
5191 #: build/C/man2/llseek.2:33
5192 #, no-wrap
5193 msgid ""
5194 "B<#include E<lt>sys/types.hE<gt>>\n"
5195 "B<#include E<lt>unistd.hE<gt>>\n"
5196 msgstr ""
5197 "B<#include E<lt>sys/types.hE<gt>>\n"
5198 "B<#include E<lt>unistd.hE<gt>>\n"
5199
5200 #. type: Plain text
5201 #: build/C/man2/llseek.2:37
5202 #, no-wrap
5203 msgid ""
5204 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5205 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5206 "B<            unsigned int >I<whence>B<);>\n"
5207 msgstr ""
5208 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5209 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5210 "B<            unsigned int >I<whence>B<);>\n"
5211
5212 #. type: Plain text
5213 #: build/C/man2/llseek.2:57
5214 msgid ""
5215 "The B<_llseek>()  function repositions the offset of the open file "
5216 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5217 "offset_low> bytes relative to the beginning of the file, the current "
5218 "position in the file, or the end of the file, depending on whether I<whence> "
5219 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5220 "resulting file position in the argument I<result>."
5221 msgstr ""
5222 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
5223 "れたオープンされたファイルのオフセットの位置を、相対的に I<"
5224 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5225 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5226 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5227 "のファイル位置を I<result> 引き数に返す。"
5228
5229 #. type: Plain text
5230 #: build/C/man2/llseek.2:64
5231 msgid ""
5232 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5233 "-1 is returned and I<errno> is set to indicate the error."
5234 msgstr ""
5235 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5236 "エラーを示す I<errno> が設定される。"
5237
5238 #. type: Plain text
5239 #: build/C/man2/llseek.2:69 build/C/man2/lseek.2:164
5240 msgid "I<fd> is not an open file descriptor."
5241 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5242
5243 #. type: Plain text
5244 #: build/C/man2/llseek.2:72
5245 msgid "Problem with copying results to user space."
5246 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5247
5248 #. type: Plain text
5249 #: build/C/man2/llseek.2:76
5250 msgid "I<whence> is invalid."
5251 msgstr "I<whence> が不正である。"
5252
5253 #. type: Plain text
5254 #: build/C/man2/llseek.2:79
5255 msgid ""
5256 "This function is Linux-specific, and should not be used in programs intended "
5257 "to be portable."
5258 msgstr ""
5259 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5260
5261 #. type: Plain text
5262 #: build/C/man2/llseek.2:82
5263 msgid ""
5264 "Glibc does not provide a wrapper for this system call; call it using "
5265 "B<syscall>(2)."
5266 msgstr ""
5267 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5268 "(2)  を使って呼び出すこと。"
5269
5270 #. type: Plain text
5271 #: build/C/man2/llseek.2:85
5272 msgid "B<lseek>(2), B<lseek64>(3)"
5273 msgstr "B<lseek>(2), B<lseek64>(3)"
5274
5275 #. type: TH
5276 #: build/C/man2/lseek.2:45
5277 #, no-wrap
5278 msgid "LSEEK"
5279 msgstr "LSEEK"
5280
5281 #. type: TH
5282 #: build/C/man2/lseek.2:45
5283 #, no-wrap
5284 msgid "2011-09-25"
5285 msgstr "2011-09-25"
5286
5287 #. type: Plain text
5288 #: build/C/man2/lseek.2:48
5289 msgid "lseek - reposition read/write file offset"
5290 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5291
5292 #. type: Plain text
5293 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:30
5294 msgid "B<#include E<lt>sys/types.hE<gt>>"
5295 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5296
5297 #. type: Plain text
5298 #: build/C/man2/lseek.2:54
5299 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5300 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5301
5302 #. type: Plain text
5303 #: build/C/man2/lseek.2:65
5304 msgid ""
5305 "The B<lseek>()  function repositions the offset of the open file associated "
5306 "with the file descriptor I<fd> to the argument I<offset> according to the "
5307 "directive I<whence> as follows:"
5308 msgstr ""
5309 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5310 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5311 "へ以下のように変更する:"
5312
5313 #. type: Plain text
5314 #: build/C/man2/lseek.2:70
5315 msgid "The offset is set to I<offset> bytes."
5316 msgstr "オフセットは I<offset> バイトに設定される。"
5317
5318 #. type: Plain text
5319 #: build/C/man2/lseek.2:75
5320 msgid "The offset is set to its current location plus I<offset> bytes."
5321 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5322
5323 #. type: Plain text
5324 #: build/C/man2/lseek.2:80
5325 msgid "The offset is set to the size of the file plus I<offset> bytes."
5326 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5327
5328 #. type: Plain text
5329 #: build/C/man2/lseek.2:88
5330 msgid ""
5331 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5332 "the file (but this does not change the size of the file).  If data is later "
5333 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5334 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5335 "gap."
5336 msgstr ""
5337 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5338 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5339 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5340 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5341 "される。"
5342
5343 #. type: SS
5344 #: build/C/man2/lseek.2:88
5345 #, no-wrap
5346 msgid "Seeking file data and holes"
5347 msgstr ""
5348
5349 #. type: Plain text
5350 #: build/C/man2/lseek.2:91
5351 msgid ""
5352 "Since version 3.1, Linux supports the following additional values for "
5353 "I<whence>:"
5354 msgstr ""
5355
5356 #. type: TP
5357 #: build/C/man2/lseek.2:91
5358 #, no-wrap
5359 msgid "B<SEEK_DATA>"
5360 msgstr "B<SEEK_DATA>"
5361
5362 #. type: Plain text
5363 #: build/C/man2/lseek.2:102
5364 msgid ""
5365 "Adjust the file offset to the next location in the file greater than or "
5366 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5367 "file offset is set to I<offset>."
5368 msgstr ""
5369
5370 #. type: TP
5371 #: build/C/man2/lseek.2:102
5372 #, no-wrap
5373 msgid "B<SEEK_HOLE>"
5374 msgstr "B<SEEK_HOLE>"
5375
5376 #. type: Plain text
5377 #: build/C/man2/lseek.2:116
5378 msgid ""
5379 "Adjust the file offset to the next hole in the file greater than or equal to "
5380 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5381 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5382 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5383 "hole at the end of any file)."
5384 msgstr ""
5385
5386 #. type: Plain text
5387 #: build/C/man2/lseek.2:122
5388 msgid ""
5389 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5390 "end of the file."
5391 msgstr ""
5392
5393 #. type: Plain text
5394 #: build/C/man2/lseek.2:128
5395 msgid ""
5396 "These operations allow applications to map holes in a sparsely allocated "
5397 "file.  This can be useful for applications such as file backup tools, which "
5398 "can save space when creating backups and preserve holes, if they have a "
5399 "mechanism for discovering holes."
5400 msgstr ""
5401
5402 #.  https://lkml.org/lkml/2011/4/22/79
5403 #.  http://lwn.net/Articles/440255/
5404 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5405 #. type: Plain text
5406 #: build/C/man2/lseek.2:151
5407 msgid ""
5408 "For the purposes of these operations, a hole is a sequence of zeros that "
5409 "(normally) has not been allocated in the underlying file storage.  However, "
5410 "a file system is not obliged to report holes, so these operations are not a "
5411 "guaranteed mechanism for mapping the storage space actually allocated to a "
5412 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5413 "the underlying storage may not be reported as a hole.)  In the simplest "
5414 "implementation, a file system can support the operations by making "
5415 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5416 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5417 "by I<offset> is a hole, it can be considered to consist of data that is a "
5418 "sequence of zeros)."
5419 msgstr ""
5420
5421 #. type: Plain text
5422 #: build/C/man2/lseek.2:159
5423 msgid ""
5424 "Upon successful completion, B<lseek>()  returns the resulting offset "
5425 "location as measured in bytes from the beginning of the file.  On error, the "
5426 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5427 msgstr ""
5428 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5429 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5430 "される。"
5431
5432 #.  Some systems may allow negative offsets for character devices
5433 #.  and/or for remote file systems.
5434 #. type: Plain text
5435 #: build/C/man2/lseek.2:172
5436 msgid ""
5437 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5438 "beyond the end of a seekable device."
5439 msgstr ""
5440 "I<whence> が有効な値ではない。または、seek の結果、ファイルオフセットが負に\n"
5441 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
5442
5443 #. type: TP
5444 #: build/C/man2/lseek.2:172 build/C/man2/open.2:565
5445 #, no-wrap
5446 msgid "B<EOVERFLOW>"
5447 msgstr "B<EOVERFLOW>"
5448
5449 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5450 #. type: Plain text
5451 #: build/C/man2/lseek.2:177
5452 msgid "The resulting file offset cannot be represented in an I<off_t>."
5453 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
5454
5455 #. type: TP
5456 #: build/C/man2/lseek.2:177
5457 #, no-wrap
5458 msgid "B<ESPIPE>"
5459 msgstr "B<ESPIPE>"
5460
5461 #. type: Plain text
5462 #: build/C/man2/lseek.2:181
5463 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5464 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5465
5466 #. type: TP
5467 #: build/C/man2/lseek.2:181 build/C/man2/open.2:559
5468 #, no-wrap
5469 msgid "B<ENXIO>"
5470 msgstr "B<ENXIO>"
5471
5472 #. type: Plain text
5473 #: build/C/man2/lseek.2:189
5474 msgid ""
5475 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5476 "beyond the end of the file."
5477 msgstr ""
5478 "I<whence> が B<SEEK_DATA> か B<SEEK_HOLE> で、\n"
5479 "現在のファイルオフセットがファイルの末尾を超えた位置である。"
5480
5481 #.  SVr4 documents additional error
5482 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5483 #. type: Plain text
5484 #: build/C/man2/lseek.2:191 build/C/man2/read.2:157 build/C/man2/rmdir.2:129
5485 #: build/C/man2/symlink.2:150 build/C/man2/unlink.2:145
5486 #: build/C/man2/write.2:183
5487 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5488 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5489
5490 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5491 #. type: Plain text
5492 #: build/C/man2/lseek.2:199
5493 msgid ""
5494 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5495 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5496 "next POSIX revision (Issue 8)."
5497 msgstr ""
5498
5499 #. type: Plain text
5500 #: build/C/man2/lseek.2:203
5501 msgid ""
5502 "Some devices are incapable of seeking and POSIX does not specify which "
5503 "devices must support B<lseek>()."
5504 msgstr ""
5505 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5506 "に対応すべきかは規定していない。"
5507
5508 #.  Other systems return the number of written characters,
5509 #.  using SEEK_SET to set the counter. (Of written characters.)
5510 #. type: Plain text
5511 #: build/C/man2/lseek.2:210
5512 msgid "On Linux, using B<lseek>()  on a tty device returns B<ESPIPE>."
5513 msgstr ""
5514 "Linux では、 tty デバイスに B<lseek>()  を使用すると B<ESPIPE> を返す。"
5515
5516 #. type: Plain text
5517 #: build/C/man2/lseek.2:213
5518 msgid ""
5519 "When converting old code, substitute values for I<whence> with the following "
5520 "macros:"
5521 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5522
5523 #. type: tbl table
5524 #: build/C/man2/lseek.2:216
5525 #, no-wrap
5526 msgid "old\tnew\n"
5527 msgstr "old \tnew\n"
5528
5529 #. type: tbl table
5530 #: build/C/man2/lseek.2:217
5531 #, no-wrap
5532 msgid "0\tSEEK_SET\n"
5533 msgstr "0\tSEEK_SET\n"
5534
5535 #. type: tbl table
5536 #: build/C/man2/lseek.2:218
5537 #, no-wrap
5538 msgid "1\tSEEK_CUR\n"
5539 msgstr "1\tSEEK_CUR\n"
5540
5541 #. type: tbl table
5542 #: build/C/man2/lseek.2:219
5543 #, no-wrap
5544 msgid "2\tSEEK_END\n"
5545 msgstr "2\tSEEK_END\n"
5546
5547 #. type: tbl table
5548 #: build/C/man2/lseek.2:220
5549 #, no-wrap
5550 msgid "L_SET\tSEEK_SET\n"
5551 msgstr "L_SET\tSEEK_SET\n"
5552
5553 #. type: tbl table
5554 #: build/C/man2/lseek.2:221
5555 #, no-wrap
5556 msgid "L_INCR\tSEEK_CUR\n"
5557 msgstr "L_INCR\tSEEK_CUR\n"
5558
5559 #. type: tbl table
5560 #: build/C/man2/lseek.2:222
5561 #, no-wrap
5562 msgid "L_XTND\tSEEK_END\n"
5563 msgstr "L_XTND\tSEEK_END\n"
5564
5565 #. type: Plain text
5566 #: build/C/man2/lseek.2:234
5567 msgid ""
5568 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5569 "current file position pointer, so seeking on such files may be subject to "
5570 "race conditions."
5571 msgstr ""
5572 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5573 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5574 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5575
5576 #. type: Plain text
5577 #: build/C/man2/lseek.2:241
5578 msgid ""
5579 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5580 "B<posix_fallocate>(3)"
5581 msgstr ""
5582 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5583 "B<posix_fallocate>(3)"
5584
5585 #. type: TH
5586 #: build/C/man3/lseek64.3:23
5587 #, no-wrap
5588 msgid "LSEEK64"
5589 msgstr "LSEEK64"
5590
5591 #. type: TH
5592 #: build/C/man3/lseek64.3:23
5593 #, no-wrap
5594 msgid "2004-12-11"
5595 msgstr "2004-12-11"
5596
5597 #. type: Plain text
5598 #: build/C/man3/lseek64.3:26
5599 msgid "lseek64 - reposition 64-bit read/write file offset"
5600 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5601
5602 #. type: Plain text
5603 #: build/C/man3/lseek64.3:28
5604 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5605 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5606
5607 #. type: Plain text
5608 #: build/C/man3/lseek64.3:34
5609 msgid ""
5610 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5611 msgstr ""
5612 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5613
5614 #. type: Plain text
5615 #: build/C/man3/lseek64.3:51
5616 msgid ""
5617 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5618 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5619 "start, current position, or end of the file, when I<whence> has the value "
5620 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5621 msgstr ""
5622 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5623 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5624 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5625 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5626
5627 #. type: Plain text
5628 #: build/C/man3/lseek64.3:54
5629 msgid "For more details, return value, and errors, see B<lseek>(2)."
5630 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5631
5632 #. type: Plain text
5633 #: build/C/man3/lseek64.3:61
5634 msgid ""
5635 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5636 "the raw system call B<_llseek>(2)."
5637 msgstr ""
5638 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5639 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5640
5641 #. type: SS
5642 #: build/C/man3/lseek64.3:61
5643 #, no-wrap
5644 msgid "lseek"
5645 msgstr "lseek"
5646
5647 #. type: Plain text
5648 #: build/C/man3/lseek64.3:63 build/C/man3/lseek64.3:85
5649 #: build/C/man3/lseek64.3:114
5650 msgid "Prototype:"
5651 msgstr "プロトタイプ:"
5652
5653 #. type: Plain text
5654 #: build/C/man3/lseek64.3:67
5655 #, no-wrap
5656 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5657 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5658
5659 #. type: Plain text
5660 #: build/C/man3/lseek64.3:75
5661 msgid ""
5662 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5663 "architectures, unless one compiles with"
5664 msgstr ""
5665 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5666 "ビット符号付き型である。 ただし、"
5667
5668 #. type: Plain text
5669 #: build/C/man3/lseek64.3:83
5670 msgid "in which case it is a 64-bit signed type."
5671 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5672
5673 #. type: SS
5674 #: build/C/man3/lseek64.3:83
5675 #, no-wrap
5676 msgid "lseek64"
5677 msgstr "lseek64"
5678
5679 #. type: Plain text
5680 #: build/C/man3/lseek64.3:89
5681 #, no-wrap
5682 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5683 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5684
5685 #. type: Plain text
5686 #: build/C/man3/lseek64.3:100
5687 msgid ""
5688 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5689 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5690 "when one compiles with"
5691 msgstr ""
5692 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5693 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5694 "ルした場合にのみ使用可能である。"
5695
5696 #. type: Plain text
5697 #: build/C/man3/lseek64.3:104
5698 #, no-wrap
5699 msgid "#define _LARGEFILE64_SOURCE\n"
5700 msgstr "#define _LARGEFILE64_SOURCE\n"
5701
5702 #.  in glibc 2.0.94, not in 2.0.6
5703 #. type: Plain text
5704 #: build/C/man3/lseek64.3:112
5705 msgid ""
5706 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5707 "be an alias for B<llseek>()."
5708 msgstr ""
5709 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5710 "アスとして定義されている。"
5711
5712 #. type: SS
5713 #: build/C/man3/lseek64.3:112
5714 #, no-wrap
5715 msgid "llseek"
5716 msgstr "llseek"
5717
5718 #. type: Plain text
5719 #: build/C/man3/lseek64.3:118
5720 #, no-wrap
5721 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5722 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5723
5724 #.  in libc 5.0.9, not in 4.7.6
5725 #. type: Plain text
5726 #: build/C/man3/lseek64.3:137
5727 msgid ""
5728 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5729 "()  is available in libc5 and glibc and works without special defines.  Its "
5730 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5731 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5732 "should add the above prototype, or something equivalent, to their own "
5733 "source.  When users complained about data loss caused by a miscompilation of "
5734 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5735 msgstr ""
5736 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5737 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5738 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5739 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5740 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5741 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5742 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5743
5744 #. type: Plain text
5745 #: build/C/man3/lseek64.3:140
5746 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5747 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5748
5749 #. type: Plain text
5750 #: build/C/man3/lseek64.3:144
5751 msgid ""
5752 "This makes this function unusable if one desires a warning-free compilation."
5753 msgstr ""
5754 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5755
5756 #. type: SS
5757 #: build/C/man3/lseek64.3:144
5758 #, no-wrap
5759 msgid "_llseek"
5760 msgstr "_llseek"
5761
5762 #. type: Plain text
5763 #: build/C/man3/lseek64.3:147
5764 msgid ""
5765 "All the above functions are implemented in terms of this system call.  The "
5766 "prototype is:"
5767 msgstr ""
5768 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5769 "下の通り:"
5770
5771 #. type: Plain text
5772 #: build/C/man3/lseek64.3:152
5773 #, no-wrap
5774 msgid ""
5775 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5776 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5777 msgstr ""
5778 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5779 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5780
5781 #. type: Plain text
5782 #: build/C/man3/lseek64.3:157
5783 msgid "For more details, see B<llseek>(2)."
5784 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5785
5786 #. type: Plain text
5787 #: build/C/man3/lseek64.3:160
5788 msgid "B<llseek>(2), B<lseek>(2)"
5789 msgstr "B<llseek>(2), B<lseek>(2)"
5790
5791 #. type: TH
5792 #: build/C/man2/open.2:52
5793 #, no-wrap
5794 msgid "OPEN"
5795 msgstr "OPEN"
5796
5797 #. type: TH
5798 #: build/C/man2/open.2:52
5799 #, no-wrap
5800 msgid "2012-02-27"
5801 msgstr "2012-02-27"
5802
5803 #. type: Plain text
5804 #: build/C/man2/open.2:55
5805 msgid "open, creat - open and possibly create a file or device"
5806 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
5807
5808 #. type: Plain text
5809 #: build/C/man2/open.2:60
5810 #, no-wrap
5811 msgid ""
5812 "B<#include E<lt>sys/types.hE<gt>>\n"
5813 "B<#include E<lt>sys/stat.hE<gt>>\n"
5814 "B<#include E<lt>fcntl.hE<gt>>\n"
5815 msgstr ""
5816 "B<#include E<lt>sys/types.hE<gt>>\n"
5817 "B<#include E<lt>sys/stat.hE<gt>>\n"
5818 "B<#include E<lt>fcntl.hE<gt>>\n"
5819
5820 #. type: Plain text
5821 #: build/C/man2/open.2:63
5822 #, no-wrap
5823 msgid ""
5824 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5825 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5826 msgstr ""
5827 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5828 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5829
5830 #. type: Plain text
5831 #: build/C/man2/open.2:65
5832 #, no-wrap
5833 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5834 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5835
5836 #. type: Plain text
5837 #: build/C/man2/open.2:76
5838 msgid ""
5839 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
5840 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
5841 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
5842 "by a successful call will be the lowest-numbered file descriptor not "
5843 "currently open for the process."
5844 msgstr ""
5845 "ファイルの I<pathname> を与えると、 B<open>()  はファイルディスクリプタを返"
5846 "す。 ファイルディスクリプタは、この後に続くシステムコール (B<read>(2), "
5847 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
5848 "る。 このシステムコールが成功した場合に返されるファイルディスクリプタは その"
5849 "プロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字"
5850 "のものとなる。"
5851
5852 #. type: Plain text
5853 #: build/C/man2/open.2:88
5854 msgid ""
5855 "By default, the new file descriptor is set to remain open across an B<execve>"
5856 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
5857 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
5858 "to change this default).  The file offset is set to the beginning of the "
5859 "file (see B<lseek>(2))."
5860 msgstr ""
5861 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
5862 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
5863 "ファイルディスクリプタフラグは最初は無効である; 後述の B<O_CLOEXEC> フラグ\n"
5864 "を使うとこのデフォルトを変更することができる)。 ファイルオフセット \n"
5865 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
5866
5867 #. type: Plain text
5868 #: build/C/man2/open.2:107
5869 msgid ""
5870 "A call to B<open>()  creates a new I<open file description>, an entry in the "
5871 "system-wide table of open files.  This entry records the file offset and the "
5872 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
5873 "file descriptor is a reference to one of these entries; this reference is "
5874 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
5875 "different file.  The new open file description is initially not shared with "
5876 "any other process, but sharing may arise via B<fork>(2)."
5877 msgstr ""
5878 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
5879 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
5880 "のエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ "
5881 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイルディスクリ"
5882 "プタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除され"
5883 "たり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けな"
5884 "い。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていない"
5885 "が、 B<fork>(2)  で共有が起こる場合がある。"
5886
5887 #. type: Plain text
5888 #: build/C/man2/open.2:115
5889 msgid ""
5890 "The argument I<flags> must include one of the following I<access modes>: "
5891 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
5892 "only, write-only, or read/write, respectively."
5893 msgstr ""
5894 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
5895 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
5896 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
5897
5898 #.  FIXME . Actually is it true that the "file status flags" are all of the
5899 #.  remaining flags listed below?  SUSv4 divides the flags into:
5900 #.  * Access mode
5901 #.  * File creation
5902 #.  * File status
5903 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
5904 #.  though it's not clear what the difference between "other" and
5905 #.  "File creation" flags is.  (I've raised an Aardvark to see if this
5906 #.  can be clarified in SUSv4; 10 Oct 2008.)
5907 #. type: Plain text
5908 #: build/C/man2/open.2:142
5909 msgid ""
5910 "In addition, zero or more file creation flags and file status flags can be "
5911 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CREAT>, "
5912 "B<O_EXCL>, B<O_NOCTTY>, and B<O_TRUNC>.  The I<file status flags> are all of "
5913 "the remaining flags listed below.  The distinction between these two groups "
5914 "of flags is that the file status flags can be retrieved and (in some cases)  "
5915 "modified using B<fcntl>(2).  The full list of file creation flags and file "
5916 "status flags is as follows:"
5917 msgstr ""
5918 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
5919 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
5920 "定することができる。 I<ファイル作成フラグ> は B<O_CREAT>, B<O_EXCL>, "
5921 "B<O_NOCTTY>, B<O_TRUNC> である。 I<ファイル状態フラグ> は以下のリストのうち上"
5922 "記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は "
5923 "B<fcntl>(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点"
5924 "にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
5925
5926 #. type: TP
5927 #: build/C/man2/open.2:142
5928 #, no-wrap
5929 msgid "B<O_APPEND>"
5930 msgstr "B<O_APPEND>"
5931
5932 #.  For more background, see
5933 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
5934 #.  http://nfs.sourceforge.net/
5935 #. type: Plain text
5936 #: build/C/man2/open.2:159
5937 msgid ""
5938 "The file is opened in append mode.  Before each B<write>(2), the file offset "
5939 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
5940 "may lead to corrupted files on NFS file systems if more than one process "
5941 "appends data to a file at once.  This is because NFS does not support "
5942 "appending to a file, so the client kernel has to simulate it, which can't be "
5943 "done without a race condition."
5944 msgstr ""
5945 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
5946 "B<lseek>(2)  を行ったかのように、ファイルポインタをファイルの最後に移動す"
5947 "る。 NFS ファイルシステムで、 B<O_APPEND> を使用すると、複数のプロセスがひと"
5948 "つのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
5949 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
5950 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
5951 "とはできないからである。"
5952
5953 #. type: TP
5954 #: build/C/man2/open.2:159
5955 #, no-wrap
5956 msgid "B<O_ASYNC>"
5957 msgstr "B<O_ASYNC>"
5958
5959 #. type: Plain text
5960 #: build/C/man2/open.2:172
5961 msgid ""
5962 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
5963 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
5964 "this file descriptor.  This feature is only available for terminals, "
5965 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
5966 "B<fcntl>(2)  for further details."
5967 msgstr ""
5968 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
5969 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
5970 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
5971 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
5972 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
5973
5974 #. type: TP
5975 #: build/C/man2/open.2:172
5976 #, no-wrap
5977 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
5978 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
5979
5980 #.  This flag fixes only one form of the race condition;
5981 #.  The race can also occur with, for example, descriptors
5982 #.  returned by accept(), pipe(), etc.
5983 #. type: Plain text
5984 #: build/C/man2/open.2:197
5985 msgid ""
5986 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
5987 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
5988 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
5989 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
5990 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
5991 "race conditions where one thread opens a file descriptor at the same time as "
5992 "another thread does a B<fork>(2)  plus B<execve>(2)."
5993 msgstr ""
5994 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
5995 "フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
5996 "B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
5997 "チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
5998 "B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
5999 "も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
6000 "が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
6001 "はないからである。"
6002
6003 #. type: TP
6004 #: build/C/man2/open.2:197
6005 #, no-wrap
6006 msgid "B<O_CREAT>"
6007 msgstr "B<O_CREAT>"
6008
6009 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
6010 #.  XFS (since 2.6.14).
6011 #. type: Plain text
6012 #: build/C/man2/open.2:213
6013 msgid ""
6014 "If the file does not exist it will be created.  The owner (user ID) of the "
6015 "file is set to the effective user ID of the process.  The group ownership "
6016 "(group ID) is set either to the effective group ID of the process or to the "
6017 "group ID of the parent directory (depending on file system type and mount "
6018 "options, and the mode of the parent directory, see the mount options "
6019 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
6020 msgstr ""
6021 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
6022 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
6023 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
6024 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
6025 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
6026 "I<bsdgroups> と I<sysvgroups> を参照)。"
6027
6028 #. type: Plain text
6029 #: build/C/man2/open.2:236
6030 msgid ""
6031 "I<mode> specifies the permissions to use in case a new file is created.  "
6032 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
6033 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
6034 "permissions are modified by the process's I<umask> in the usual way: The "
6035 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
6036 "mode only applies to future accesses of the newly created file; the B<open>"
6037 "()  call that creates a read-only file may well return a read/write file "
6038 "descriptor."
6039 msgstr ""
6040 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
6041 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
6042 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
6043 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
6044 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
6045 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
6046 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
6047 "可能なファイルディスクリプタを返すことがありうる。"
6048
6049 #. type: Plain text
6050 #: build/C/man2/open.2:239
6051 msgid "The following symbolic constants are provided for I<mode>:"
6052 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6053
6054 #. type: TP
6055 #: build/C/man2/open.2:239
6056 #, no-wrap
6057 msgid "B<S_IRWXU>"
6058 msgstr "B<S_IRWXU>"
6059
6060 #. type: Plain text
6061 #: build/C/man2/open.2:242
6062 msgid "00700 user (file owner) has read, write and execute permission"
6063 msgstr ""
6064 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6065
6066 #. type: TP
6067 #: build/C/man2/open.2:242
6068 #, no-wrap
6069 msgid "B<S_IRUSR>"
6070 msgstr "B<S_IRUSR>"
6071
6072 #. type: Plain text
6073 #: build/C/man2/open.2:245
6074 msgid "00400 user has read permission"
6075 msgstr "00400 ユーザーに読み込みの許可がある。"
6076
6077 #. type: TP
6078 #: build/C/man2/open.2:245
6079 #, no-wrap
6080 msgid "B<S_IWUSR>"
6081 msgstr "B<S_IWUSR>"
6082
6083 #. type: Plain text
6084 #: build/C/man2/open.2:248
6085 msgid "00200 user has write permission"
6086 msgstr "00200 ユーザーに書き込みの許可がある。"
6087
6088 #. type: TP
6089 #: build/C/man2/open.2:248
6090 #, no-wrap
6091 msgid "B<S_IXUSR>"
6092 msgstr "B<S_IXUSR>"
6093
6094 #. type: Plain text
6095 #: build/C/man2/open.2:251
6096 msgid "00100 user has execute permission"
6097 msgstr "00100 ユーザーに実行の許可がある。"
6098
6099 #. type: TP
6100 #: build/C/man2/open.2:251
6101 #, no-wrap
6102 msgid "B<S_IRWXG>"
6103 msgstr "B<S_IRWXG>"
6104
6105 #. type: Plain text
6106 #: build/C/man2/open.2:254
6107 msgid "00070 group has read, write and execute permission"
6108 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6109
6110 #. type: TP
6111 #: build/C/man2/open.2:254
6112 #, no-wrap
6113 msgid "B<S_IRGRP>"
6114 msgstr "B<S_IRGRP>"
6115
6116 #. type: Plain text
6117 #: build/C/man2/open.2:257
6118 msgid "00040 group has read permission"
6119 msgstr "00040 グループに読み込みの許可がある。"
6120
6121 #. type: TP
6122 #: build/C/man2/open.2:257
6123 #, no-wrap
6124 msgid "B<S_IWGRP>"
6125 msgstr "B<S_IWGRP>"
6126
6127 #. type: Plain text
6128 #: build/C/man2/open.2:260
6129 msgid "00020 group has write permission"
6130 msgstr "00020 グループに書き込みの許可がある。"
6131
6132 #. type: TP
6133 #: build/C/man2/open.2:260
6134 #, no-wrap
6135 msgid "B<S_IXGRP>"
6136 msgstr "B<S_IXGRP>"
6137
6138 #. type: Plain text
6139 #: build/C/man2/open.2:263
6140 msgid "00010 group has execute permission"
6141 msgstr "00010 グループに実行の許可がある。"
6142
6143 #. type: TP
6144 #: build/C/man2/open.2:263
6145 #, no-wrap
6146 msgid "B<S_IRWXO>"
6147 msgstr "B<S_IRWXO>"
6148
6149 #. type: Plain text
6150 #: build/C/man2/open.2:266
6151 msgid "00007 others have read, write and execute permission"
6152 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6153
6154 #. type: TP
6155 #: build/C/man2/open.2:266
6156 #, no-wrap
6157 msgid "B<S_IROTH>"
6158 msgstr "B<S_IROTH>"
6159
6160 #. type: Plain text
6161 #: build/C/man2/open.2:269
6162 msgid "00004 others have read permission"
6163 msgstr "00004 他人に読み込みの許可がある。"
6164
6165 #. type: TP
6166 #: build/C/man2/open.2:269
6167 #, no-wrap
6168 msgid "B<S_IWOTH>"
6169 msgstr "B<S_IWOTH>"
6170
6171 #. type: Plain text
6172 #: build/C/man2/open.2:272
6173 msgid "00002 others have write permission"
6174 msgstr "00002 他人に書き込みの許可がある。"
6175
6176 #. type: TP
6177 #: build/C/man2/open.2:272
6178 #, no-wrap
6179 msgid "B<S_IXOTH>"
6180 msgstr "B<S_IXOTH>"
6181
6182 #. type: Plain text
6183 #: build/C/man2/open.2:275
6184 msgid "00001 others have execute permission"
6185 msgstr "00001 他人に実行の許可がある。"
6186
6187 #. type: TP
6188 #: build/C/man2/open.2:276
6189 #, no-wrap
6190 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6191 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6192
6193 #. type: Plain text
6194 #: build/C/man2/open.2:293
6195 msgid ""
6196 "Try to minimize cache effects of the I/O to and from this file.  In general "
6197 "this will degrade performance, but it is useful in special situations, such "
6198 "as when applications do their own caching.  File I/O is done directly to/"
6199 "from user space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6200 "transfer data synchronously, but does not give the guarantees of the "
6201 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6202 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6203 "B<O_DIRECT>.  See NOTES below for further discussion."
6204 msgstr ""
6205 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグ"
6206 "を\n"
6207 "使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシング"
6208 "を\n"
6209 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6210 "ファ\n"
6211 "に対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようとは"
6212 "す\n"
6213 "るが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証されるわ"
6214 "け\n"
6215 "ではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を使"
6216 "用\n"
6217 "しなければならない。下記の「注意」の節の議論も参照。"
6218
6219 #. type: Plain text
6220 #: build/C/man2/open.2:297
6221 msgid ""
6222 "A semantically similar (but deprecated) interface for block devices is "
6223 "described in B<raw>(8)."
6224 msgstr ""
6225 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6226 "れている (但し、このインタフェースは非推奨である)。"
6227
6228 #. type: TP
6229 #: build/C/man2/open.2:297
6230 #, no-wrap
6231 msgid "B<O_DIRECTORY>"
6232 msgstr "B<O_DIRECTORY>"
6233
6234 #.  But see the following and its replies:
6235 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6236 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6237 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6238 #. type: Plain text
6239 #: build/C/man2/open.2:311
6240 msgid ""
6241 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6242 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6243 "service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
6244 "should not be used outside of the implementation of B<opendir>(3)."
6245 msgstr ""
6246 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6247 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6248 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6249 "加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
6250
6251 #. type: TP
6252 #: build/C/man2/open.2:311
6253 #, no-wrap
6254 msgid "B<O_EXCL>"
6255 msgstr "B<O_EXCL>"
6256
6257 #. type: Plain text
6258 #: build/C/man2/open.2:321
6259 msgid ""
6260 "Ensure that this call creates the file: if this flag is specified in "
6261 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6262 "will fail."
6263 msgstr ""
6264 "この呼び出しでファイルが作成されることを保証する。このフラグが B<O_CREAT> "
6265 "と\n"
6266 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>() は失"
6267 "敗\n"
6268 "する。"
6269
6270 #.  POSIX.1-2001 explicitly requires this behavior.
6271 #. type: Plain text
6272 #: build/C/man2/open.2:329
6273 msgid ""
6274 "When these two flags are specified, symbolic links are not followed: if "
6275 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6276 "the symbolic link points to."
6277 msgstr ""
6278 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6279 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6280 "かに関わらず B<open>()  は失敗する。"
6281
6282 #. type: Plain text
6283 #: build/C/man2/open.2:345
6284 msgid ""
6285 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6286 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6287 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6288 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6289 "the error B<EBUSY>."
6290 msgstr ""
6291
6292 #. type: Plain text
6293 #: build/C/man2/open.2:367
6294 msgid ""
6295 "On NFS, B<O_EXCL> is only supported when using NFSv3 or later on kernel 2.6 "
6296 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6297 "programs that rely on it for performing locking tasks will contain a race "
6298 "condition.  Portable programs that want to perform atomic file locking using "
6299 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6300 "create a unique file on the same file system (e.g., incorporating hostname "
6301 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6302 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6303 "unique file to check if its link count has increased to 2, in which case the "
6304 "lock is also successful."
6305 msgstr ""
6306 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6307 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6308 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6309 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6310 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6311 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6312 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6313 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6314 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6315 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6316 "じくロックに成功しているということである。"
6317
6318 #. type: TP
6319 #: build/C/man2/open.2:367
6320 #, no-wrap
6321 msgid "B<O_LARGEFILE>"
6322 msgstr "B<O_LARGEFILE>"
6323
6324 #. type: Plain text
6325 #: build/C/man2/open.2:389
6326 msgid ""
6327 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6328 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6329 "macro must be defined (before including I<any> header files)  in order to "
6330 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6331 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6332 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6333 msgstr ""
6334 "(LFS) I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる)"
6335 "ファ\n"
6336 "イルをオープン可能にする。この定義を有効にするためには、(I<どの>ヘッダファ"
6337 "イ\n"
6338 "ルをインクルードするよりも前に) B<_LARGEFILE64_SOURCE> マクロを定義しなけれ"
6339 "ば\n"
6340 "ならない。\n"
6341 "32 ビットシステムにおいて大きなファイルにアクセスしたい場合、\n"
6342 "(B<O_LARGEFILE> を使うよりも) B<_FILE_OFFSET_BITS> 機能検査マクロを 64 に\n"
6343 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
6344
6345 #. type: TP
6346 #: build/C/man2/open.2:389
6347 #, no-wrap
6348 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6349 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6350
6351 #.  The O_NOATIME flag also affects the treatment of st_atime
6352 #.  by mmap() and readdir(2), MTK, Dec 04.
6353 #. type: Plain text
6354 #: build/C/man2/open.2:400
6355 msgid ""
6356 "Do not update the file last access time (st_atime in the inode)  when the "
6357 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6358 "programs, where its use can significantly reduce the amount of disk "
6359 "activity.  This flag may not be effective on all file systems.  One example "
6360 "is NFS, where the server maintains the access time."
6361 msgstr ""
6362 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6363 "st_atime) を更新しない。 このフラグはインデックス作成やバックアッププログラム"
6364 "で使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすこと"
6365 "ができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6366 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6367
6368 #. type: TP
6369 #: build/C/man2/open.2:400
6370 #, no-wrap
6371 msgid "B<O_NOCTTY>"
6372 msgstr "B<O_NOCTTY>"
6373
6374 #. type: Plain text
6375 #: build/C/man2/open.2:408
6376 msgid ""
6377 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(em it will "
6378 "not become the process's controlling terminal even if the process does not "
6379 "have one."
6380 msgstr ""
6381 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
6382 "る\n"
6383 "場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイ"
6384 "ル\n"
6385 "は制御端末にはならない。"
6386
6387 #. type: TP
6388 #: build/C/man2/open.2:408
6389 #, no-wrap
6390 msgid "B<O_NOFOLLOW>"
6391 msgstr "B<O_NOFOLLOW>"
6392
6393 #.  The headers from glibc 2.0.100 and later include a
6394 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6395 #.  used\fP.
6396 #. type: Plain text
6397 #: build/C/man2/open.2:417
6398 msgid ""
6399 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6400 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6401 "earlier components of the pathname will still be followed."
6402 msgstr ""
6403 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
6404 "FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
6405 "ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
6406 "が シンボリックリンクである場合には、それが指す先が参照される。"
6407
6408 #. type: TP
6409 #: build/C/man2/open.2:417
6410 #, no-wrap
6411 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6412 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6413
6414 #. type: Plain text
6415 #: build/C/man2/open.2:430
6416 msgid ""
6417 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6418 "()  nor any subsequent operations on the file descriptor which is returned "
6419 "will cause the calling process to wait.  For the handling of FIFOs (named "
6420 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6421 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6422 "see B<fcntl>(2)."
6423 msgstr ""
6424 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
6425 "B<open>() も、返したファイルディスクリプタに対する以後のすべての操作も呼び"
6426 "出\n"
6427 "したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
6428 "B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
6429 "イ\n"
6430 "ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
6431 "議論は、 B<fcntl>(2) を参照すること。"
6432
6433 #. type: TP
6434 #: build/C/man2/open.2:430
6435 #, no-wrap
6436 msgid "B<O_SYNC>"
6437 msgstr "B<O_SYNC>"
6438
6439 #. type: Plain text
6440 #: build/C/man2/open.2:438
6441 msgid ""
6442 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6443 "file descriptor will block the calling process until the data has been "
6444 "physically written to the underlying hardware.  I<But see NOTES below>."
6445 msgstr ""
6446 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6447 "ファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセス"
6448 "をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
6449 "「注意」の章も参照。>"
6450
6451 #. type: TP
6452 #: build/C/man2/open.2:438
6453 #, no-wrap
6454 msgid "B<O_TRUNC>"
6455 msgstr "B<O_TRUNC>"
6456
6457 #. type: Plain text
6458 #: build/C/man2/open.2:452
6459 msgid ""
6460 "If the file already exists and is a regular file and the open mode allows "
6461 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6462 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6463 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6464 msgstr ""
6465 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6466 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6467 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6468 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6469 "ある。"
6470
6471 #. type: Plain text
6472 #: build/C/man2/open.2:456
6473 msgid ""
6474 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6475 "file has been opened."
6476 msgstr ""
6477 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6478 "用して変更することができる。"
6479
6480 #. type: Plain text
6481 #: build/C/man2/open.2:464
6482 msgid ""
6483 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6484 "O_WRONLY|O_TRUNC>."
6485 msgstr ""
6486 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6487 "を行うのと等価である。"
6488
6489 #. type: Plain text
6490 #: build/C/man2/open.2:472
6491 msgid ""
6492 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6493 "occurred (in which case, I<errno> is set appropriately)."
6494 msgstr ""
6495 "B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
6496 "した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6497
6498 #. type: Plain text
6499 #: build/C/man2/open.2:482
6500 msgid ""
6501 "The requested access to the file is not allowed, or search permission is "
6502 "denied for one of the directories in the path prefix of I<pathname>, or the "
6503 "file did not exist yet and write access to the parent directory is not "
6504 "allowed.  (See also B<path_resolution>(7).)"
6505 msgstr ""
6506 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6507 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6508 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6509 "すること。)"
6510
6511 #. type: Plain text
6512 #: build/C/man2/open.2:488
6513 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6514 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6515
6516 #. type: Plain text
6517 #: build/C/man2/open.2:492 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6518 msgid "I<pathname> points outside your accessible address space."
6519 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6520
6521 #. type: TP
6522 #: build/C/man2/open.2:492 build/C/man2/write.2:139
6523 #, no-wrap
6524 msgid "B<EFBIG>"
6525 msgstr "B<EFBIG>"
6526
6527 #. type: Plain text
6528 #: build/C/man2/open.2:496
6529 msgid "See B<EOVERFLOW>."
6530 msgstr "B<EOVERFLOW> 参照。"
6531
6532 #. type: TP
6533 #: build/C/man2/open.2:496 build/C/man2/read.2:104 build/C/man3/scanf.3:559
6534 #: build/C/man3/tmpfile.3:59 build/C/man2/write.2:144
6535 #, no-wrap
6536 msgid "B<EINTR>"
6537 msgstr "B<EINTR>"
6538
6539 #. type: Plain text
6540 #: build/C/man2/open.2:503
6541 msgid ""
6542 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6543 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6544 "(7)."
6545 msgstr ""
6546 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6547 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6548 "B<signal>(7)  参照。"
6549
6550 #. type: TP
6551 #: build/C/man2/open.2:503 build/C/man2/read.2:140 build/C/man2/rename.2:140
6552 #: build/C/man2/unlink.2:87
6553 #, no-wrap
6554 msgid "B<EISDIR>"
6555 msgstr "B<EISDIR>"
6556
6557 #. type: Plain text
6558 #: build/C/man2/open.2:512
6559 msgid ""
6560 "I<pathname> refers to a directory and the access requested involved writing "
6561 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6562 msgstr ""
6563 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6564 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6565
6566 #. type: Plain text
6567 #: build/C/man2/open.2:519
6568 msgid ""
6569 "Too many symbolic links were encountered in resolving I<pathname>, or "
6570 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6571 msgstr ""
6572 "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
6573 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6574
6575 #. type: TP
6576 #: build/C/man2/open.2:519 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:62
6577 #, no-wrap
6578 msgid "B<EMFILE>"
6579 msgstr "B<EMFILE>"
6580
6581 #. type: Plain text
6582 #: build/C/man2/open.2:522
6583 msgid "The process already has the maximum number of files open."
6584 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6585
6586 #. type: Plain text
6587 #: build/C/man2/open.2:526 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6588 msgid "I<pathname> was too long."
6589 msgstr "I<pathname> が長過ぎる。"
6590
6591 #. type: TP
6592 #: build/C/man2/open.2:526 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:65
6593 #, no-wrap
6594 msgid "B<ENFILE>"
6595 msgstr "B<ENFILE>"
6596
6597 #. type: Plain text
6598 #: build/C/man2/open.2:529 build/C/man2/pipe.2:113
6599 msgid "The system limit on the total number of open files has been reached."
6600 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6601
6602 #. type: TP
6603 #: build/C/man2/open.2:529
6604 #, no-wrap
6605 msgid "B<ENODEV>"
6606 msgstr "B<ENODEV>"
6607
6608 #. type: Plain text
6609 #: build/C/man2/open.2:536
6610 msgid ""
6611 "I<pathname> refers to a device special file and no corresponding device "
6612 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6613 "returned.)"
6614 msgstr ""
6615 "I<pathname> がデバイススペシャルファイルを参照しており、対応するデバイスが存"
6616 "在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返され"
6617 "るべきである)"
6618
6619 #. type: Plain text
6620 #: build/C/man2/open.2:543
6621 msgid ""
6622 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6623 "component in I<pathname> does not exist or is a dangling symbolic link."
6624 msgstr ""
6625 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6626 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリックリ"
6627 "ンクである。"
6628
6629 #. type: Plain text
6630 #: build/C/man2/open.2:552
6631 msgid ""
6632 "I<pathname> was to be created but the device containing I<pathname> has no "
6633 "room for the new file."
6634 msgstr ""
6635 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6636 "ファイルのための空き容量がない。"
6637
6638 #. type: Plain text
6639 #: build/C/man2/open.2:559
6640 msgid ""
6641 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6642 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6643 msgstr ""
6644 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6645 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6646
6647 #. type: Plain text
6648 #: build/C/man2/open.2:565
6649 msgid ""
6650 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
6651 "has the file open for reading.  Or, the file is a device special file and no "
6652 "corresponding device exists."
6653 msgstr ""
6654 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
6655 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
6656 "イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
6657
6658 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
6659 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
6660 #.  Reported 2006-10-03
6661 #. type: Plain text
6662 #: build/C/man2/open.2:585
6663 msgid ""
6664 "I<pathname> refers to a regular file that is too large to be opened.  The "
6665 "usual scenario here is that an application compiled on a 32-bit platform "
6666 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
6667 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
6668 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
6669 "B<EFBIG> for this case."
6670 msgstr ""
6671 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
6672 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
6673 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
6674 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
6675 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
6676 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
6677 "いた。"
6678
6679 #.  Strictly speaking, it's the file system UID... (MTK)
6680 #. type: Plain text
6681 #: build/C/man2/open.2:593
6682 msgid ""
6683 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
6684 "did not match the owner of the file and the caller was not privileged "
6685 "(B<CAP_FOWNER>)."
6686 msgstr ""
6687 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
6688 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
6689
6690 #. type: Plain text
6691 #: build/C/man2/open.2:598
6692 msgid ""
6693 "I<pathname> refers to a file on a read-only file system and write access was "
6694 "requested."
6695 msgstr ""
6696 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
6697 "込みアクセスが要求された。"
6698
6699 #. type: TP
6700 #: build/C/man2/open.2:598
6701 #, no-wrap
6702 msgid "B<ETXTBSY>"
6703 msgstr "B<ETXTBSY>"
6704
6705 #. type: Plain text
6706 #: build/C/man2/open.2:603
6707 msgid ""
6708 "I<pathname> refers to an executable image which is currently being executed "
6709 "and write access was requested."
6710 msgstr ""
6711 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
6712
6713 #. type: TP
6714 #: build/C/man2/open.2:603
6715 #, no-wrap
6716 msgid "B<EWOULDBLOCK>"
6717 msgstr "B<EWOULDBLOCK>"
6718
6719 #. type: Plain text
6720 #: build/C/man2/open.2:610
6721 msgid ""
6722 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
6723 "the file (see B<fcntl>(2))."
6724 msgstr ""
6725 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
6726 "ていた (B<fcntl>(2)  参照)。"
6727
6728 #. type: Plain text
6729 #: build/C/man2/open.2:623
6730 msgid ""
6731 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
6732 "B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
6733 "B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
6734 "definitions."
6735 msgstr ""
6736 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
6737 "B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
6738 "は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
6739 "定義する必要があるかもしれない。"
6740
6741 #. type: Plain text
6742 #: build/C/man2/open.2:628
6743 msgid ""
6744 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
6745 "POSIX.1-2008."
6746 msgstr ""
6747 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
6748 "定されている。"
6749
6750 #. type: Plain text
6751 #: build/C/man2/open.2:636
6752 msgid ""
6753 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
6754 "(before including I<any> header files)  to get its definition."
6755 msgstr ""
6756 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
6757 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
6758 "なければならない。"
6759
6760 #. type: Plain text
6761 #: build/C/man2/open.2:644
6762 msgid ""
6763 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
6764 "does not necessarily have the intention to read or write.  This is typically "
6765 "used to open devices in order to get a file descriptor for use with B<ioctl>"
6766 "(2)."
6767 msgstr ""
6768 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
6769 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
6770 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
6771 "られる。"
6772
6773 #.  See for example util-linux's disk-utils/setfdprm.c
6774 #.  For some background on access mode 3, see
6775 #.  http://thread.gmane.org/gmane.linux.kernel/653123
6776 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
6777 #.  LKML, 12 Mar 2008
6778 #. type: Plain text
6779 #: build/C/man2/open.2:673
6780 msgid ""
6781 "Unlike the other values that can be specified in I<flags>, the I<access "
6782 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
6783 "individual bits.  Rather, they define the low order two bits of I<flags>, "
6784 "and are defined respectively as 0, 1, and 2.  In other words, the "
6785 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
6786 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
6787 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
6788 "and write permission on the file and return a descriptor that can't be used "
6789 "for reading or writing.  This nonstandard access mode is used by some Linux "
6790 "drivers to return a descriptor that is only to be used for device-specific "
6791 "B<ioctl>(2)  operations."
6792 msgstr ""
6793 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
6794 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
6795 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
6796 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
6797 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
6798 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
6799 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
6800 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
6801 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで使用され"
6802 "ており、 デバイス固有の B<ioctl>(2)  操作にのみ使用されるディスクリプタを返す"
6803 "ために使われている。"
6804
6805 #.  Linux 2.0, 2.5: truncate
6806 #.  Solaris 5.7, 5.8: truncate
6807 #.  Irix 6.5: truncate
6808 #.  Tru64 5.1B: truncate
6809 #.  HP-UX 11.22: truncate
6810 #.  FreeBSD 4.7: truncate
6811 #. type: Plain text
6812 #: build/C/man2/open.2:684
6813 msgid ""
6814 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
6815 "implementations.  On many systems the file is actually truncated."
6816 msgstr ""
6817 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
6818 "くのシステムではファイルは実際に切り詰められる。"
6819
6820 #. type: Plain text
6821 #: build/C/man2/open.2:688
6822 msgid ""
6823 "There are many infelicities in the protocol underlying NFS, affecting "
6824 "amongst others B<O_SYNC> and B<O_NDELAY>."
6825 msgstr ""
6826 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
6827 "B<O_NDELAY> に影響する。"
6828
6829 #. type: Plain text
6830 #: build/C/man2/open.2:710
6831 msgid ""
6832 "POSIX provides for three different variants of synchronized I/O, "
6833 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
6834 "(2.6.31), Linux only implements B<O_SYNC>, but glibc maps B<O_DSYNC> and "
6835 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
6836 "systems don't actually implement the POSIX B<O_SYNC> semantics, which "
6837 "require all metadata updates of a write to be on disk on returning to "
6838 "userspace, but only the B<O_DSYNC> semantics, which require only actual file "
6839 "data and metadata necessary to retrieve it to be on disk by the time the "
6840 "system call returns."
6841 msgstr ""
6842 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
6843 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
6844 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
6845 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
6846 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
6847 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
6848 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
6849 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
6850 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
6851 "ていればよい。"
6852
6853 #. type: Plain text
6854 #: build/C/man2/open.2:718
6855 msgid ""
6856 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
6857 "create them; use B<mknod>(2)  instead."
6858 msgstr ""
6859 "B<open>()  はスペシャルファイルをオープンすることができるが、 B<creat>()  で"
6860 "スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  を使"
6861 "用する。"
6862
6863 #. type: Plain text
6864 #: build/C/man2/open.2:731
6865 msgid ""
6866 "On NFS file systems with UID mapping enabled, B<open>()  may return a file "
6867 "descriptor but, for example, B<read>(2)  requests are denied with "
6868 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
6869 "permissions, but UID mapping is performed by the server upon read and write "
6870 "requests."
6871 msgstr ""
6872 "UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
6873 "ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
6874 "る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
6875 "が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
6876 "る。"
6877
6878 #. type: Plain text
6879 #: build/C/man2/open.2:750
6880 msgid ""
6881 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
6882 "fields (respectively, time of last access, time of last status change, and "
6883 "time of last modification; see B<stat>(2))  are set to the current time, and "
6884 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
6885 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
6886 "st_ctime and st_mtime fields are set to the current time."
6887 msgstr ""
6888 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
6889 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
6890 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
6891 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
6892 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
6893 "I<st_mtime> フィールドが現在時刻に設定される。"
6894
6895 #. type: SS
6896 #: build/C/man2/open.2:750
6897 #, no-wrap
6898 msgid "O_DIRECT"
6899 msgstr "O_DIRECT"
6900
6901 #. type: Plain text
6902 #: build/C/man2/open.2:767
6903 msgid ""
6904 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
6905 "address of userspace buffers and the file offset of I/Os.  In Linux "
6906 "alignment restrictions vary by file system and kernel version and might be "
6907 "absent entirely.  However there is currently no file system-independent "
6908 "interface for an application to discover these restrictions for a given file "
6909 "or file system.  Some file systems provide their own interfaces for doing "
6910 "so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
6911 msgstr ""
6912 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
6913 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
6914 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
6915 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
6916 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
6917 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
6918 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
6919 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
6920
6921 #. type: Plain text
6922 #: build/C/man2/open.2:773
6923 msgid ""
6924 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
6925 "the file offset must all be multiples of the logical block size of the file "
6926 "system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
6927 msgstr ""
6928 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
6929 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
6930 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
6931
6932 #. type: Plain text
6933 #: build/C/man2/open.2:783
6934 msgid ""
6935 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
6936 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
6937 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
6938 "flag of the same name, but without alignment restrictions."
6939 msgstr ""
6940 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
6941 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
6942 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
6943 "ラグを導入したが、アラインメントの制限はない。"
6944
6945 #. type: Plain text
6946 #: build/C/man2/open.2:792
6947 msgid ""
6948 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
6949 "Linux kernels simply ignore this flag.  Some file systems may not implement "
6950 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
6951 msgstr ""
6952 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
6953 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
6954 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
6955 "と B<open>()  は B<EINVAL> で失敗する。"
6956
6957 #. type: Plain text
6958 #: build/C/man2/open.2:803
6959 msgid ""
6960 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
6961 "file, and especially to overlapping byte regions in the same file.  Even "
6962 "when the file system correctly handles the coherency issues in this "
6963 "situation, overall I/O throughput is likely to be slower than using either "
6964 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
6965 "with direct I/O to the same files."
6966 msgstr ""
6967 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
6968 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
6969 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
6970 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
6971 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
6972 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
6973
6974 #. type: Plain text
6975 #: build/C/man2/open.2:825
6976 msgid ""
6977 "The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
6978 "Older kernels, or kernels configured in certain ways, may not support this "
6979 "combination.  The NFS protocol does not support passing the flag to the "
6980 "server, so B<O_DIRECT> I/O will only bypass the page cache on the client; "
6981 "the server may still cache the I/O.  The client asks the server to make the "
6982 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
6983 "servers will perform poorly under these circumstances, especially if the I/O "
6984 "size is small.  Some servers may also be configured to lie to clients about "
6985 "the I/O having reached stable storage; this will avoid the performance "
6986 "penalty at some risk to data integrity in the event of server power "
6987 "failure.  The Linux NFS client places no alignment restrictions on "
6988 "B<O_DIRECT> I/O."
6989 msgstr ""
6990 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
6991 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
6992 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
6993 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
6994 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
6995 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
6996 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
6997 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
6998 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
6999 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
7000 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
7001 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
7002
7003 #. type: Plain text
7004 #: build/C/man2/open.2:832
7005 msgid ""
7006 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
7007 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
7008 "as a performance option which is disabled by default."
7009 msgstr ""
7010 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
7011 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
7012 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
7013
7014 #. type: Plain text
7015 #: build/C/man2/open.2:837
7016 msgid ""
7017 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
7018 "interface is just stupid, and was probably designed by a deranged monkey on "
7019 "some serious mind-controlling substances.\"\\(emLinus"
7020 msgstr ""
7021 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
7022 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
7023 "な」 \\(em Linus"
7024
7025 #.  FIXME . Check bugzilla report on open(O_ASYNC)
7026 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
7027 #. type: Plain text
7028 #: build/C/man2/open.2:849
7029 msgid ""
7030 "Currently, it is not possible to enable signal-driven I/O by specifying "
7031 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7032 msgstr ""
7033 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7034 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7035 "すること。"
7036
7037 #. type: Plain text
7038 #: build/C/man2/open.2:871
7039 msgid ""
7040 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7041 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7042 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7043 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7044 msgstr ""
7045 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7046 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7047 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7048 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7049
7050 #. type: TH
7051 #: build/C/man3/perror.3:30
7052 #, no-wrap
7053 msgid "PERROR"
7054 msgstr "PERROR"
7055
7056 #. type: TH
7057 #: build/C/man3/perror.3:30
7058 #, no-wrap
7059 msgid "2012-04-17"
7060 msgstr "2012-04-17"
7061
7062 #. type: Plain text
7063 #: build/C/man3/perror.3:33
7064 msgid "perror - print a system error message"
7065 msgstr "perror - システムエラーメッセージを出力する"
7066
7067 #. type: Plain text
7068 #: build/C/man3/perror.3:37
7069 msgid "B<void perror(const char *>I<s>B<);>"
7070 msgstr "B<void perror(const char *>I<s>B<);>"
7071
7072 #. type: Plain text
7073 #: build/C/man3/perror.3:39
7074 msgid "B<#include E<lt>errno.hE<gt>>"
7075 msgstr "B<#include E<lt>errno.hE<gt>>"
7076
7077 #. type: Plain text
7078 #: build/C/man3/perror.3:41
7079 msgid "B<const char *>I<sys_errlist>B<[];>"
7080 msgstr "B<const char *>I<sys_errlist>B<[];>"
7081
7082 #. type: Plain text
7083 #: build/C/man3/perror.3:43
7084 msgid "B<int >I<sys_nerr>B<;>"
7085 msgstr "B<int >I<sys_nerr>B<;>"
7086
7087 #. type: Plain text
7088 #: build/C/man3/perror.3:45
7089 msgid "B<int >I<errno>B<;>"
7090 msgstr "B<int >I<errno>B<;>"
7091
7092 #. type: Plain text
7093 #: build/C/man3/perror.3:54
7094 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7095 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7096
7097 #. type: Plain text
7098 #: build/C/man3/perror.3:67
7099 msgid ""
7100 "The routine B<perror>()  produces a message on the standard error output, "
7101 "describing the last error encountered during a call to a system or library "
7102 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7103 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7104 "blank.  Then the message and a new-line."
7105 msgstr ""
7106 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7107 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7108 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7109 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7110 "メッセージと改行が出力される。"
7111
7112 #. type: Plain text
7113 #: build/C/man3/perror.3:75
7114 msgid ""
7115 "To be of most use, the argument string should include the name of the "
7116 "function that incurred the error.  The error number is taken from the "
7117 "external variable I<errno>, which is set when errors occur but not cleared "
7118 "when successful calls are made."
7119 msgstr ""
7120 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7121 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7122 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7123
7124 #. type: Plain text
7125 #: build/C/man3/perror.3:89
7126 msgid ""
7127 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7128 "obtain the error message without the newline.  The largest message number "
7129 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
7130 "this list because new error values may not have been added to I<sys_errlist>"
7131 "[].  The use of I<sys_errlist>[] is nowadays deprecated."
7132 msgstr ""
7133 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
7134 "の\n"
7135 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセー"
7136 "ジ\n"
7137 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意するこ"
7138 "と。\n"
7139 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7140 "る。\n"
7141 "現在では、I<sys_errlist>[] の使用は非推奨となっている。"
7142
7143 #. type: Plain text
7144 #: build/C/man3/perror.3:111
7145 msgid ""
7146 "When a system call fails, it usually returns -1 and sets the variable "
7147 "I<errno> to a value describing what went wrong.  (These values can be found "
7148 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7149 "B<perror>()  serves to translate this error code into human-readable form.  "
7150 "Note that I<errno> is undefined after a successful library call: this call "
7151 "may well change this variable, even though it succeeds, for example because "
7152 "it internally used some other library function that failed.  Thus, if a "
7153 "failing call is not immediately followed by a call to B<perror>(), the value "
7154 "of I<errno> should be saved."
7155 msgstr ""
7156 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7157 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7158 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7159 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7160 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7161 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7162 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7163 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7164 "い。"
7165
7166 #. type: Plain text
7167 #: build/C/man3/perror.3:124
7168 msgid ""
7169 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7170 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7171 "I<sys_errlist> conform to BSD."
7172 msgstr ""
7173 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7174 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7175 "に準拠している。"
7176
7177 #.  and only when _BSD_SOURCE is defined.
7178 #.  When
7179 #.  .B _GNU_SOURCE
7180 #.  is defined, the symbols
7181 #.  .I _sys_nerr
7182 #.  and
7183 #.  .I _sys_errlist
7184 #.  are provided.
7185 #. type: Plain text
7186 #: build/C/man3/perror.3:139
7187 msgid ""
7188 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7189 "I<E<lt>stdio.hE<gt>>."
7190 msgstr ""
7191 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7192 "I<E<lt>stdio.hE<gt>> に含まれている。"
7193
7194 #. type: Plain text
7195 #: build/C/man3/perror.3:144
7196 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7197 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7198
7199 #. type: TH
7200 #: build/C/man2/pipe.2:36
7201 #, no-wrap
7202 msgid "PIPE"
7203 msgstr "PIPE"
7204
7205 #. type: TH
7206 #: build/C/man2/pipe.2:36
7207 #, no-wrap
7208 msgid "2012-02-14"
7209 msgstr "2012-02-14"
7210
7211 #. type: Plain text
7212 #: build/C/man2/pipe.2:39
7213 msgid "pipe, pipe2 - create pipe"
7214 msgstr "pipe, pipe2 - パイプを生成する"
7215
7216 #. type: Plain text
7217 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7218 #, no-wrap
7219 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7220 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7221
7222 #. type: Plain text
7223 #: build/C/man2/pipe.2:44
7224 #, no-wrap
7225 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7226 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7227
7228 #. type: Plain text
7229 #: build/C/man2/pipe.2:48
7230 #, no-wrap
7231 msgid ""
7232 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7233 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7234 "B<#include E<lt>unistd.hE<gt>>\n"
7235 msgstr ""
7236 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7237 "B<#include E<lt>fcntl.hE<gt>>              /* O_* 定数の定義の取得 */\n"
7238 "B<#include E<lt>unistd.hE<gt>>\n"
7239
7240 #. type: Plain text
7241 #: build/C/man2/pipe.2:50
7242 #, no-wrap
7243 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7244 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7245
7246 #. type: Plain text
7247 #: build/C/man2/pipe.2:66
7248 msgid ""
7249 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7250 "for interprocess communication.  The array I<pipefd> is used to return two "
7251 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7252 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7253 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7254 "until it is read from the read end of the pipe.  For further details, see "
7255 "B<pipe>(7)."
7256 msgstr ""
7257 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7258 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7259 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7260 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7261 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7262 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7263
7264 #. type: Plain text
7265 #: build/C/man2/pipe.2:76
7266 msgid ""
7267 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7268 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7269 msgstr ""
7270 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7271 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7272 "きる。"
7273
7274 #. type: TP
7275 #: build/C/man2/pipe.2:76
7276 #, no-wrap
7277 msgid "B<O_NONBLOCK>"
7278 msgstr "B<O_NONBLOCK>"
7279
7280 #. type: Plain text
7281 #: build/C/man2/pipe.2:84
7282 msgid ""
7283 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7284 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7285 "the same result."
7286 msgstr ""
7287 "新しく生成される二つのオープンファイル記述 (open file description) の "
7288 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7289 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7290 "なる。"
7291
7292 #. type: TP
7293 #: build/C/man2/pipe.2:84
7294 #, no-wrap
7295 msgid "B<O_CLOEXEC>"
7296 msgstr "B<O_CLOEXEC>"
7297
7298 #. type: Plain text
7299 #: build/C/man2/pipe.2:92
7300 msgid ""
7301 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7302 "descriptors.  See the description of the same flag in B<open>(2)  for "
7303 "reasons why this may be useful."
7304 msgstr ""
7305 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7306 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7307 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7308
7309 #. type: Plain text
7310 #: build/C/man2/pipe.2:102
7311 msgid "I<pipefd> is not valid."
7312 msgstr "I<pipefd> が無効な値である。"
7313
7314 #. type: Plain text
7315 #: build/C/man2/pipe.2:107
7316 msgid "(B<pipe2>())  Invalid value in I<flags>."
7317 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7318
7319 #. type: Plain text
7320 #: build/C/man2/pipe.2:110
7321 msgid "Too many file descriptors are in use by the process."
7322 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7323
7324 #. type: Plain text
7325 #: build/C/man2/pipe.2:118
7326 msgid ""
7327 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7328 "starting with version 2.9."
7329 msgstr ""
7330 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7331 "はバージョン 2.9 以降で利用できる。"
7332
7333 #. type: Plain text
7334 #: build/C/man2/pipe.2:121
7335 msgid "B<pipe>(): POSIX.1-2001."
7336 msgstr "B<pipe>(): POSIX.1-2001."
7337
7338 #. type: Plain text
7339 #: build/C/man2/pipe.2:124
7340 msgid "B<pipe2>()  is Linux-specific."
7341 msgstr "B<pipe2>()  は Linux 固有である。"
7342
7343 #.  fork.2 refers to this example program.
7344 #. type: Plain text
7345 #: build/C/man2/pipe.2:140
7346 msgid ""
7347 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7348 "process; the child inherits a duplicate set of file descriptors that refer "
7349 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7350 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7351 "the string contained in the program's command-line argument to the pipe, and "
7352 "the child reads this string a byte at a time from the pipe and echoes it on "
7353 "standard output."
7354 msgstr ""
7355 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7356 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7357 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7358 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7359 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7360 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7361
7362 #. type: Plain text
7363 #: build/C/man2/pipe.2:147
7364 #, no-wrap
7365 msgid ""
7366 "#include E<lt>sys/wait.hE<gt>\n"
7367 "#include E<lt>stdio.hE<gt>\n"
7368 "#include E<lt>stdlib.hE<gt>\n"
7369 "#include E<lt>unistd.hE<gt>\n"
7370 "#include E<lt>string.hE<gt>\n"
7371 msgstr ""
7372 "#include E<lt>sys/wait.hE<gt>\n"
7373 "#include E<lt>stdio.hE<gt>\n"
7374 "#include E<lt>stdlib.hE<gt>\n"
7375 "#include E<lt>unistd.hE<gt>\n"
7376 "#include E<lt>string.hE<gt>\n"
7377
7378 #. type: Plain text
7379 #: build/C/man2/pipe.2:154
7380 #, no-wrap
7381 msgid ""
7382 "int\n"
7383 "main(int argc, char *argv[])\n"
7384 "{\n"
7385 "    int pipefd[2];\n"
7386 "    pid_t cpid;\n"
7387 "    char buf;\n"
7388 msgstr ""
7389 "int\n"
7390 "main(int argc, char *argv[])\n"
7391 "{\n"
7392 "    int pipefd[2];\n"
7393 "    pid_t cpid;\n"
7394 "    char buf;\n"
7395
7396 #. type: Plain text
7397 #: build/C/man2/pipe.2:159
7398 #, no-wrap
7399 msgid ""
7400 "    if (argc != 2) {\n"
7401 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7402 "\texit(EXIT_FAILURE);\n"
7403 "    }\n"
7404 msgstr ""
7405 "    if (argc != 2) {\n"
7406 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7407 "\texit(EXIT_FAILURE);\n"
7408 "    }\n"
7409
7410 #. type: Plain text
7411 #: build/C/man2/pipe.2:164
7412 #, no-wrap
7413 msgid ""
7414 "    if (pipe(pipefd) == -1) {\n"
7415 "        perror(\"pipe\");\n"
7416 "        exit(EXIT_FAILURE);\n"
7417 "    }\n"
7418 msgstr ""
7419 "    if (pipe(pipefd) == -1) {\n"
7420 "        perror(\"pipe\");\n"
7421 "        exit(EXIT_FAILURE);\n"
7422 "    }\n"
7423
7424 #. type: Plain text
7425 #: build/C/man2/pipe.2:170
7426 #, no-wrap
7427 msgid ""
7428 "    cpid = fork();\n"
7429 "    if (cpid == -1) {\n"
7430 "        perror(\"fork\");\n"
7431 "        exit(EXIT_FAILURE);\n"
7432 "    }\n"
7433 msgstr ""
7434 "    cpid = fork();\n"
7435 "    if (cpid == -1) {\n"
7436 "        perror(\"fork\");\n"
7437 "        exit(EXIT_FAILURE);\n"
7438 "    }\n"
7439
7440 #. type: Plain text
7441 #: build/C/man2/pipe.2:173
7442 #, no-wrap
7443 msgid ""
7444 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7445 "        close(pipefd[1]);          /* Close unused write end */\n"
7446 msgstr ""
7447 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7448 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7449
7450 #. type: Plain text
7451 #: build/C/man2/pipe.2:176
7452 #, no-wrap
7453 msgid ""
7454 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7455 "            write(STDOUT_FILENO, &buf, 1);\n"
7456 msgstr ""
7457 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7458 "            write(STDOUT_FILENO, &buf, 1);\n"
7459
7460 #. type: Plain text
7461 #: build/C/man2/pipe.2:180
7462 #, no-wrap
7463 msgid ""
7464 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7465 "        close(pipefd[0]);\n"
7466 "        _exit(EXIT_SUCCESS);\n"
7467 msgstr ""
7468 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7469 "        close(pipefd[0]);\n"
7470 "        _exit(EXIT_SUCCESS);\n"
7471
7472 #. type: Plain text
7473 #: build/C/man2/pipe.2:189
7474 #, no-wrap
7475 msgid ""
7476 "    } else {            /* Parent writes argv[1] to pipe */\n"
7477 "        close(pipefd[0]);          /* Close unused read end */\n"
7478 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7479 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7480 "        wait(NULL);                /* Wait for child */\n"
7481 "        exit(EXIT_SUCCESS);\n"
7482 "    }\n"
7483 "}\n"
7484 msgstr ""
7485 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7486 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7487 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7488 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7489 "        wait(NULL);                /* 子プロセスを待つ */\n"
7490 "        exit(EXIT_SUCCESS);\n"
7491 "    }\n"
7492 "}\n"
7493
7494 #. type: Plain text
7495 #: build/C/man2/pipe.2:197
7496 msgid ""
7497 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7498 "(7)"
7499 msgstr ""
7500 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7501 "(7)"
7502
7503 #. type: TH
7504 #: build/C/man3/popen.3:38
7505 #, no-wrap
7506 msgid "POPEN"
7507 msgstr "POPEN"
7508
7509 #. type: TH
7510 #: build/C/man3/popen.3:38
7511 #, no-wrap
7512 msgid "2010-02-03"
7513 msgstr "2010-02-03"
7514
7515 #. type: Plain text
7516 #: build/C/man3/popen.3:41
7517 msgid "popen, pclose - pipe stream to or from a process"
7518 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
7519
7520 #. type: Plain text
7521 #: build/C/man3/popen.3:46
7522 #, no-wrap
7523 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7524 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7525
7526 #. type: Plain text
7527 #: build/C/man3/popen.3:48
7528 #, no-wrap
7529 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7530 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7531
7532 #. type: Plain text
7533 #: build/C/man3/popen.3:58
7534 msgid "B<popen>(), B<pclose>():"
7535 msgstr "B<popen>(), B<pclose>():"
7536
7537 #. type: Plain text
7538 #: build/C/man3/popen.3:60
7539 msgid ""
7540 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7541 msgstr ""
7542 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7543
7544 #. type: Plain text
7545 #: build/C/man3/popen.3:71
7546 msgid ""
7547 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7548 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7549 "I<type> argument may specify only reading or writing, not both; the "
7550 "resulting stream is correspondingly read-only or write-only."
7551 msgstr ""
7552 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7553 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7554 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7555 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7556 "たは 書き込み専用のいずれかとなる。"
7557
7558 #. type: Plain text
7559 #: build/C/man3/popen.3:95
7560 msgid ""
7561 "The I<command> argument is a pointer to a null-terminated string containing "
7562 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
7563 "flag; interpretation, if any, is performed by the shell.  The I<type> "
7564 "argument is a pointer to a null-terminated string which must contain either "
7565 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
7566 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
7567 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
7568 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
7569 "B<open>(2)  for reasons why this may be useful."
7570 msgstr ""
7571 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
7572 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
7573 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
7574 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
7575 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
7576 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
7577 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
7578 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
7579 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7580
7581 #. type: Plain text
7582 #: build/C/man3/popen.3:111
7583 msgid ""
7584 "The return value from B<popen>()  is a normal standard I/O stream in all "
7585 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
7586 "(3).  Writing to such a stream writes to the standard input of the command; "
7587 "the command's standard output is the same as that of the process that called "
7588 "B<popen>(), unless this is altered by the command itself.  Conversely, "
7589 "reading from a \"popened\" stream reads the command's standard output, and "
7590 "the command's standard input is the same as that of the process that called "
7591 "B<popen>()."
7592 msgstr ""
7593 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
7594 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
7595 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
7596 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
7597 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
7598 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
7599 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
7600 "セスの標準入力と同一である。"
7601
7602 #. type: Plain text
7603 #: build/C/man3/popen.3:115
7604 msgid "Note that output B<popen>()  streams are fully buffered by default."
7605 msgstr ""
7606 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
7607 "に注意しよう。"
7608
7609 #. type: Plain text
7610 #: build/C/man3/popen.3:121
7611 msgid ""
7612 "The B<pclose>()  function waits for the associated process to terminate and "
7613 "returns the exit status of the command as returned by B<wait4>(2)."
7614 msgstr ""
7615 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
7616 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
7617
7618 #. type: Plain text
7619 #: build/C/man3/popen.3:129
7620 msgid ""
7621 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
7622 "calls fail, or if it cannot allocate memory."
7623 msgstr ""
7624 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
7625 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
7626
7627 #.  These conditions actually give undefined results, so I commented
7628 #.  them out.
7629 #.  .I stream
7630 #.  is not associated with a "popen()ed" command, if
7631 #. .I stream
7632 #.  already "pclose()d", or if
7633 #. type: Plain text
7634 #: build/C/man3/popen.3:141
7635 msgid ""
7636 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
7637 "some other error is detected."
7638 msgstr ""
7639 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
7640 "かった場合、 -1 を返す。"
7641
7642 #. type: Plain text
7643 #: build/C/man3/popen.3:160
7644 msgid ""
7645 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
7646 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
7647 "appropriately.  If the I<type> argument is invalid, and this condition is "
7648 "detected, I<errno> is set to B<EINVAL>."
7649 msgstr ""
7650 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
7651 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
7652 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
7653 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
7654
7655 #. type: Plain text
7656 #: build/C/man3/popen.3:167
7657 msgid ""
7658 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
7659 msgstr ""
7660 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
7661 "B<ECHILD> にセットされる。"
7662
7663 #. type: Plain text
7664 #: build/C/man3/popen.3:173
7665 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
7666 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
7667
7668 #. type: Plain text
7669 #: build/C/man3/popen.3:186
7670 msgid ""
7671 "Since the standard input of a command opened for reading shares its seek "
7672 "offset with the process that called B<popen>(), if the original process has "
7673 "done a buffered read, the command's input position may not be as expected.  "
7674 "Similarly, the output from a command opened for writing may become "
7675 "intermingled with that of the original process.  The latter can be avoided "
7676 "by calling B<fflush>(3)  before B<popen>()."
7677 msgstr ""
7678 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
7679 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
7680 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
7681 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
7682 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
7683 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
7684
7685 #.  .SH HISTORY
7686 #.  A
7687 #.  .BR popen ()
7688 #.  and a
7689 #.  .BR pclose ()
7690 #.  function appeared in Version 7 AT&T UNIX.
7691 #. type: Plain text
7692 #: build/C/man3/popen.3:196
7693 msgid ""
7694 "Failure to execute the shell is indistinguishable from the shell's failure "
7695 "to execute command, or an immediate exit of the command.  The only hint is "
7696 "an exit status of 127."
7697 msgstr ""
7698 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
7699 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
7700 "なることである。"
7701
7702 #. type: Plain text
7703 #: build/C/man3/popen.3:206
7704 msgid ""
7705 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7706 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7707 msgstr ""
7708 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7709 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7710
7711 #. type: TH
7712 #: build/C/man3/printf.3:34
7713 #, no-wrap
7714 msgid "PRINTF"
7715 msgstr "PRINTF"
7716
7717 #. type: TH
7718 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man3/scanf.3:50
7719 #, no-wrap
7720 msgid "2011-09-28"
7721 msgstr "2011-09-28"
7722
7723 #. type: Plain text
7724 #: build/C/man3/printf.3:38
7725 msgid ""
7726 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7727 "formatted output conversion"
7728 msgstr ""
7729 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7730 "指定された書式に変換して出力を行う"
7731
7732 #. type: Plain text
7733 #: build/C/man3/printf.3:42
7734 msgid "B<int printf(const char *>I<format>B<, ...);>"
7735 msgstr "B<int printf(const char *>I<format>B<, ...);>"
7736
7737 #. type: Plain text
7738 #: build/C/man3/printf.3:44
7739 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7740 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7741
7742 #. type: Plain text
7743 #: build/C/man3/printf.3:46
7744 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7745 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7746
7747 #. type: Plain text
7748 #: build/C/man3/printf.3:48
7749 msgid ""
7750 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7751 "*>I<format>B<, ...);>"
7752 msgstr ""
7753 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7754 "*>I<format>B<, ...);>"
7755
7756 #. type: Plain text
7757 #: build/C/man3/printf.3:50
7758 msgid "B<#include E<lt>stdarg.hE<gt>>"
7759 msgstr "B<#include E<lt>stdarg.hE<gt>>"
7760
7761 #. type: Plain text
7762 #: build/C/man3/printf.3:52
7763 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7764 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7765
7766 #. type: Plain text
7767 #: build/C/man3/printf.3:54
7768 msgid ""
7769 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7770 ">I<ap>B<);>"
7771 msgstr ""
7772 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7773 ">I<ap>B<);>"
7774
7775 #. type: Plain text
7776 #: build/C/man3/printf.3:56
7777 msgid ""
7778 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7779 msgstr ""
7780 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7781
7782 #. type: Plain text
7783 #: build/C/man3/printf.3:59
7784 msgid ""
7785 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7786 "*>I<format>B<, va_list >I<ap>B<);>"
7787 msgstr ""
7788 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7789 "*>I<format>B<, va_list >I<ap>B<);>"
7790
7791 #. type: Plain text
7792 #: build/C/man3/printf.3:68
7793 msgid "B<snprintf>(), B<vsnprintf>():"
7794 msgstr "B<snprintf>(), B<vsnprintf>():"
7795
7796 #. type: Plain text
7797 #: build/C/man3/printf.3:71
7798 msgid ""
7799 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7800 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7801 msgstr ""
7802 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7803 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7804
7805 #. type: Plain text
7806 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:83
7807 msgid "or I<cc -std=c99>"
7808 msgstr "or I<cc -std=c99>"
7809
7810 #. type: Plain text
7811 #: build/C/man3/printf.3:101
7812 msgid ""
7813 "The functions in the B<printf>()  family produce output according to a "
7814 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
7815 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
7816 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
7817 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
7818 "string I<str>."
7819 msgstr ""
7820 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
7821 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
7822 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
7823 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7824 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
7825
7826 #. type: Plain text
7827 #: build/C/man3/printf.3:110
7828 msgid ""
7829 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
7830 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
7831 msgstr ""
7832 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
7833 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
7834
7835 #. type: Plain text
7836 #: build/C/man3/printf.3:134
7837 msgid ""
7838 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
7839 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
7840 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
7841 "instead of a variable number of arguments.  These functions do not call the "
7842 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
7843 "I<ap> is undefined after the call.  See B<stdarg>(3)."
7844 msgstr ""
7845 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
7846 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
7847 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
7848 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
7849 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
7850 "(3)  を参照のこと。"
7851
7852 #. type: Plain text
7853 #: build/C/man3/printf.3:141
7854 msgid ""
7855 "These eight functions write the output under the control of a I<format> "
7856 "string that specifies how subsequent arguments (or arguments accessed via "
7857 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
7858 "output."
7859 msgstr ""
7860 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
7861 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
7862 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
7863
7864 #. type: Plain text
7865 #: build/C/man3/printf.3:152
7866 msgid ""
7867 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
7868 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
7869 "copying to take place between objects that overlap (e.g., if the target "
7870 "string array and one of the supplied input arguments refer to the same "
7871 "buffer).  See NOTES."
7872 msgstr ""
7873 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7874 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
7875 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
7876 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
7877 "照。"
7878
7879 #. type: SS
7880 #: build/C/man3/printf.3:152
7881 #, no-wrap
7882 msgid "Return value"
7883 msgstr "Return Values"
7884
7885 #. type: Plain text
7886 #: build/C/man3/printf.3:155
7887 msgid ""
7888 "Upon successful return, these functions return the number of characters "
7889 "printed (excluding the null byte used to end output to strings)."
7890 msgstr ""
7891 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
7892 "用する NULL バイトは数に含まれない)。"
7893
7894 #. type: Plain text
7895 #: build/C/man3/printf.3:171
7896 msgid ""
7897 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
7898 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
7899 "the output was truncated due to this limit then the return value is the "
7900 "number of characters (excluding the terminating null byte)  which would have "
7901 "been written to the final string if enough space had been available.  Thus, "
7902 "a return value of I<size> or more means that the output was truncated.  (See "
7903 "also below under NOTES.)"
7904 msgstr ""
7905 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
7906 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
7907 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
7908 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
7909 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
7910 "する (後述の注意も参照のこと)。"
7911
7912 #. type: Plain text
7913 #: build/C/man3/printf.3:173
7914 msgid "If an output error is encountered, a negative value is returned."
7915 msgstr "エラーが発生した場合は、負の数を返す。"
7916
7917 #. type: SS
7918 #: build/C/man3/printf.3:173
7919 #, no-wrap
7920 msgid "Format of the format string"
7921 msgstr "フォーマット文字列のフォーマット"
7922
7923 #. type: Plain text
7924 #: build/C/man3/printf.3:195
7925 msgid ""
7926 "The format string is a character string, beginning and ending in its initial "
7927 "shift state, if any.  The format string is composed of zero or more "
7928 "directives: ordinary characters (not B<%>), which are copied unchanged to "
7929 "the output stream; and conversion specifications, each of which results in "
7930 "fetching zero or more subsequent arguments.  Each conversion specification "
7931 "is introduced by the character B<%>, and ends with a I<conversion "
7932 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
7933 "an optional minimum I<field width>, an optional I<precision> and an optional "
7934 "I<length modifier>."
7935 msgstr ""
7936 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
7937 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
7938 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
7939 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
7940 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
7941 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
7942 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
7943 "子> を (この順序で) 置くことができる。"
7944
7945 #. type: Plain text
7946 #: build/C/man3/printf.3:208
7947 msgid ""
7948 "The arguments must correspond properly (after type promotion) with the "
7949 "conversion specifier.  By default, the arguments are used in the order "
7950 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
7951 "next argument (and it is an error if insufficiently many arguments are "
7952 "given).  One can also specify explicitly which argument is taken, at each "
7953 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
7954 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
7955 "denotes the position in the argument list of the desired argument, indexed "
7956 "starting from 1.  Thus,"
7957 msgstr ""
7958 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
7959 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
7960 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
7961 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
7962 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
7963 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
7964 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
7965
7966 #. type: Plain text
7967 #: build/C/man3/printf.3:212
7968 #, no-wrap
7969 msgid "printf(\"%*d\", width, num);\n"
7970 msgstr "printf(\"%*d\", width, num);\n"
7971
7972 #. type: Plain text
7973 #: build/C/man3/printf.3:216
7974 msgid "and"
7975 msgstr "と"
7976
7977 #. type: Plain text
7978 #: build/C/man3/printf.3:220
7979 #, no-wrap
7980 msgid "printf(\"%2$*1$d\", width, num);\n"
7981 msgstr "printf(\"%2$*1$d\", width, num);\n"
7982
7983 #. type: Plain text
7984 #: build/C/man3/printf.3:236
7985 msgid ""
7986 "are equivalent.  The second style allows repeated references to the same "
7987 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
7988 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
7989 "\\(aq is used, it must be used throughout for all conversions taking an "
7990 "argument and all width and precision arguments, but it may be mixed with \"%%"
7991 "\" formats which do not consume an argument.  There may be no gaps in the "
7992 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
7993 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
7994 "format string."
7995 msgstr ""
7996 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
7997 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
7998 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
7999 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
8000 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
8001 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
8002 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
8003
8004 #. type: Plain text
8005 #: build/C/man3/printf.3:246
8006 msgid ""
8007 "For some numeric conversions a radix character (\"decimal point\") or "
8008 "thousands' grouping character is used.  The actual character used depends on "
8009 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
8010 "radix character, and does not have a grouping character.  Thus,"
8011 msgstr ""
8012 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
8013 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
8014 "\\(aq を用い、 区切り文字は使わない。 従って、"
8015
8016 #. type: Plain text
8017 #: build/C/man3/printf.3:250
8018 #, no-wrap
8019 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
8020 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
8021
8022 #. type: Plain text
8023 #: build/C/man3/printf.3:255
8024 msgid ""
8025 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
8026 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
8027 msgstr ""
8028 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
8029 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
8030
8031 #. type: SS
8032 #: build/C/man3/printf.3:255
8033 #, no-wrap
8034 msgid "The flag characters"
8035 msgstr "フラグ文字"
8036
8037 #. type: Plain text
8038 #: build/C/man3/printf.3:257
8039 msgid "The character % is followed by zero or more of the following flags:"
8040 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8041
8042 #. type: TP
8043 #: build/C/man3/printf.3:257
8044 #, no-wrap
8045 msgid "B<#>"
8046 msgstr "B<#>"
8047
8048 #. type: Plain text
8049 #: build/C/man3/printf.3:291
8050 msgid ""
8051 "The value should be converted to an \"alternate form\".  For B<o> "
8052 "conversions, the first character of the output string is made zero (by "
8053 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8054 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8055 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8056 "conversions, the result will always contain a decimal point, even if no "
8057 "digits follow it (normally, a decimal point appears in the results of those "
8058 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8059 "trailing zeros are not removed from the result as they would otherwise be.  "
8060 "For other conversions, the result is undefined."
8061 msgstr ""
8062 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8063 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8064 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8065 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8066 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8067 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8068 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8069 "変換では、結果は未定義である。"
8070
8071 #. type: TP
8072 #: build/C/man3/printf.3:291
8073 #, no-wrap
8074 msgid "B<\\&0>"
8075 msgstr "B<\\&0>"
8076
8077 #. type: Plain text
8078 #: build/C/man3/printf.3:331
8079 msgid ""
8080 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8081 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8082 "converted value is padded on the left with zeros rather than blanks.  If the "
8083 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8084 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8085 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8086 "is undefined."
8087 msgstr ""
8088 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8089 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8090 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8091 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8092 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8093 "である。"
8094
8095 #. type: TP
8096 #: build/C/man3/printf.3:331
8097 #, no-wrap
8098 msgid "B<->"
8099 msgstr "B<->"
8100
8101 #. type: Plain text
8102 #: build/C/man3/printf.3:344
8103 msgid ""
8104 "The converted value is to be left adjusted on the field boundary.  (The "
8105 "default is right justification.)  Except for B<n> conversions, the converted "
8106 "value is padded on the right with blanks, rather than on the left with "
8107 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8108 msgstr ""
8109 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8110 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8111 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8112
8113 #. type: TP
8114 #: build/C/man3/printf.3:344
8115 #, no-wrap
8116 msgid "B<\\(aq \\(aq>"
8117 msgstr "B<' '>"
8118
8119 #. type: Plain text
8120 #: build/C/man3/printf.3:348
8121 msgid ""
8122 "(a space) A blank should be left before a positive number (or empty string) "
8123 "produced by a signed conversion."
8124 msgstr ""
8125 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8126 "列) が置かれる。"
8127
8128 #. type: TP
8129 #: build/C/man3/printf.3:348
8130 #, no-wrap
8131 msgid "B<+>"
8132 msgstr "B<+>"
8133
8134 #. type: Plain text
8135 #: build/C/man3/printf.3:356
8136 msgid ""
8137 "A sign (+ or -) should always be placed before a number produced by a signed "
8138 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8139 "overrides a space if both are used."
8140 msgstr ""
8141 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8142 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8143 "が使われている場合には、 B<+> が優先される。"
8144
8145 #. type: Plain text
8146 #: build/C/man3/printf.3:359
8147 msgid ""
8148 "The five flag characters above are defined in the C standard.  The SUSv2 "
8149 "specifies one further flag character."
8150 msgstr ""
8151 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8152 "グ文字が規定されている。"
8153
8154 #. type: TP
8155 #: build/C/man3/printf.3:359
8156 #, no-wrap
8157 msgid "B<\\(aq>"
8158 msgstr "B<\\(aq>"
8159
8160 #. type: Plain text
8161 #: build/C/man3/printf.3:376
8162 msgid ""
8163 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8164 "output is to be grouped with thousands' grouping characters if the locale "
8165 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8166 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8167 "\\(aqF>."
8168 msgstr ""
8169 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8170 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8171 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8172 "\\(aqF は SUSv2 には含まれていない。"
8173
8174 #. type: Plain text
8175 #: build/C/man3/printf.3:378
8176 msgid "glibc 2.2 adds one further flag character."
8177 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8178
8179 #. type: TP
8180 #: build/C/man3/printf.3:378
8181 #, no-wrap
8182 msgid "B<I>"
8183 msgstr "B<I>"
8184
8185 #.  outdigits keyword in locale file
8186 #. type: Plain text
8187 #: build/C/man3/printf.3:388
8188 msgid ""
8189 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8190 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8191 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8192 msgstr ""
8193 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8194 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8195 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8196
8197 #. type: SS
8198 #: build/C/man3/printf.3:388
8199 #, no-wrap
8200 msgid "The field width"
8201 msgstr "フィールド幅"
8202
8203 #. type: Plain text
8204 #: build/C/man3/printf.3:404
8205 msgid ""
8206 "An optional decimal digit string (with nonzero first digit) specifying a "
8207 "minimum field width.  If the converted value has fewer characters than the "
8208 "field width, it will be padded with spaces on the left (or right, if the "
8209 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8210 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8211 "the field width is given in the next argument, or in the I<m>-th argument, "
8212 "respectively, which must be of type I<int>.  A negative field width is taken "
8213 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8214 "nonexistent or small field width cause truncation of a field; if the result "
8215 "of a conversion is wider than the field width, the field is expanded to "
8216 "contain the conversion result."
8217 msgstr ""
8218 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8219 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8220 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8221 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8222 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8223 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8224 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8225 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8226 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8227 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8228
8229 #. type: SS
8230 #: build/C/man3/printf.3:404
8231 #, no-wrap
8232 msgid "The precision"
8233 msgstr "精度"
8234
8235 #. type: Plain text
8236 #: build/C/man3/printf.3:440
8237 msgid ""
8238 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8239 "optional decimal digit string.  Instead of a decimal digit string one may "
8240 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8241 "precision is given in the next argument, or in the m-th argument, "
8242 "respectively, which must be of type I<int>.  If the precision is given as "
8243 "just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
8244 "zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
8245 "B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
8246 "the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
8247 "the maximum number of significant digits for B<g> and B<G> conversions, or "
8248 "the maximum number of characters to be printed from a string for B<s> and "
8249 "B<S> conversions."
8250 msgstr ""
8251 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8252 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8253 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8254 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8255 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8256 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8257 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8258 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8259 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8260 "る最大文字数を指定する。"
8261
8262 #. type: SS
8263 #: build/C/man3/printf.3:440
8264 #, no-wrap
8265 msgid "The length modifier"
8266 msgstr "長さ修飾子"
8267
8268 #. type: Plain text
8269 #: build/C/man3/printf.3:450
8270 msgid ""
8271 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8272 "B<X> conversion."
8273 msgstr ""
8274 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8275
8276 #. type: TP
8277 #: build/C/man3/printf.3:450 build/C/man3/scanf.3:291
8278 #, no-wrap
8279 msgid "B<hh>"
8280 msgstr "B<hh>"
8281
8282 #. type: Plain text
8283 #: build/C/man3/printf.3:461
8284 msgid ""
8285 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8286 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8287 "I<signed char> argument."
8288 msgstr ""
8289 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8290 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8291
8292 #. type: TP
8293 #: build/C/man3/printf.3:461 build/C/man3/scanf.3:281
8294 #, no-wrap
8295 msgid "B<h>"
8296 msgstr "B<h>"
8297
8298 #. type: Plain text
8299 #: build/C/man3/printf.3:472
8300 msgid ""
8301 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8302 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8303 "to a I<short int> argument."
8304 msgstr ""
8305 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8306 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8307
8308 #. type: TP
8309 #: build/C/man3/printf.3:472 build/C/man3/scanf.3:308
8310 #, no-wrap
8311 msgid "B<l>"
8312 msgstr "B<l>"
8313
8314 #. type: Plain text
8315 #: build/C/man3/printf.3:491
8316 msgid ""
8317 "(ell) A following integer conversion corresponds to a I<long int> or "
8318 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8319 "a pointer to a I<long int> argument, or a following B<c> conversion "
8320 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8321 "corresponds to a pointer to I<wchar_t> argument."
8322 msgstr ""
8323 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8324 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8325 "変換では I<wchar_t> へのポインタであることを示す。"
8326
8327 #. type: TP
8328 #: build/C/man3/printf.3:491
8329 #, no-wrap
8330 msgid "B<ll>"
8331 msgstr "B<ll> (エルエル)"
8332
8333 #. type: Plain text
8334 #: build/C/man3/printf.3:503
8335 msgid ""
8336 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8337 "or I<unsigned long long int> argument, or a following B<n> conversion "
8338 "corresponds to a pointer to a I<long long int> argument."
8339 msgstr ""
8340 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8341 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8342
8343 #. type: TP
8344 #: build/C/man3/printf.3:503 build/C/man3/scanf.3:335
8345 #, no-wrap
8346 msgid "B<L>"
8347 msgstr "B<L>"
8348
8349 #. type: Plain text
8350 #: build/C/man3/printf.3:519
8351 msgid ""
8352 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8353 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8354 "not.)"
8355 msgstr ""
8356 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8357 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8358 "認められていない。)"
8359
8360 #. type: TP
8361 #: build/C/man3/printf.3:519 build/C/man3/scanf.3:351
8362 #, no-wrap
8363 msgid "B<q>"
8364 msgstr "B<q>"
8365
8366 #. type: Plain text
8367 #: build/C/man3/printf.3:525
8368 msgid ""
8369 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8370 "B<ll>."
8371 msgstr ""
8372 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8373 "意味である。"
8374
8375 #. type: TP
8376 #: build/C/man3/printf.3:525 build/C/man3/scanf.3:299
8377 #, no-wrap
8378 msgid "B<j>"
8379 msgstr "B<j>"
8380
8381 #. type: Plain text
8382 #: build/C/man3/printf.3:532
8383 msgid ""
8384 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8385 "argument."
8386 msgstr ""
8387 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8388
8389 #. type: TP
8390 #: build/C/man3/printf.3:532 build/C/man3/scanf.3:363
8391 #, no-wrap
8392 msgid "B<z>"
8393 msgstr "B<z>"
8394
8395 #. type: Plain text
8396 #: build/C/man3/printf.3:543
8397 msgid ""
8398 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8399 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8400 msgstr ""
8401 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8402 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8403
8404 #. type: TP
8405 #: build/C/man3/printf.3:543 build/C/man3/scanf.3:356
8406 #, no-wrap
8407 msgid "B<t>"
8408 msgstr "B<t>"
8409
8410 #. type: Plain text
8411 #: build/C/man3/printf.3:548
8412 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8413 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8414
8415 #. type: Plain text
8416 #: build/C/man3/printf.3:577
8417 msgid ""
8418 "The SUSv2 only knows about the length modifiers B<h> (in B<hd>, B<hi>, "
8419 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8420 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8421 msgstr ""
8422 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8423 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8424 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8425
8426 #. type: SS
8427 #: build/C/man3/printf.3:577
8428 #, no-wrap
8429 msgid "The conversion specifier"
8430 msgstr "変換指定子"
8431
8432 #. type: Plain text
8433 #: build/C/man3/printf.3:580
8434 msgid ""
8435 "A character that specifies the type of conversion to be applied.  The "
8436 "conversion specifiers and their meanings are:"
8437 msgstr ""
8438 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8439
8440 #. type: TP
8441 #: build/C/man3/printf.3:580
8442 #, no-wrap
8443 msgid "B<d>, B<i>"
8444 msgstr "B<d>, B<i>"
8445
8446 #. type: Plain text
8447 #: build/C/man3/printf.3:590
8448 msgid ""
8449 "The I<int> argument is converted to signed decimal notation.  The precision, "
8450 "if any, gives the minimum number of digits that must appear; if the "
8451 "converted value requires fewer digits, it is padded on the left with zeros.  "
8452 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8453 "the output is empty."
8454 msgstr ""
8455 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8456 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8457 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8458 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8459
8460 #. type: TP
8461 #: build/C/man3/printf.3:590
8462 #, no-wrap
8463 msgid "B<o>, B<u>, B<x>, B<X>"
8464 msgstr "B<o>, B<u>, B<x>, B<X>"
8465
8466 #. type: Plain text
8467 #: build/C/man3/printf.3:617
8468 msgid ""
8469 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8470 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8471 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8472 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8473 "of digits that must appear; if the converted value requires fewer digits, it "
8474 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8475 "printed with an explicit precision 0, the output is empty."
8476 msgstr ""
8477 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8478 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8479 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8480 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8481 "られる。"
8482
8483 #. type: TP
8484 #: build/C/man3/printf.3:617
8485 #, no-wrap
8486 msgid "B<e>, B<E>"
8487 msgstr "B<e>, B<E>"
8488
8489 #. type: Plain text
8490 #: build/C/man3/printf.3:622
8491 msgid "The I<double> argument is rounded and converted in the style"
8492 msgstr "I<double> 引き数を丸めて"
8493
8494 #. type: Plain text
8495 #: build/C/man3/printf.3:637
8496 msgid ""
8497 "[-]dB<\\&.>dddB<e>\\*(Pmdd where there is one digit before the decimal-point "
8498 "character and the number of digits after it is equal to the precision; if "
8499 "the precision is missing, it is taken as 6; if the precision is zero, no "
8500 "decimal-point character appears.  An B<E> conversion uses the letter B<E> "
8501 "(rather than B<e>)  to introduce the exponent.  The exponent always contains "
8502 "at least two digits; if the value is zero, the exponent is 00."
8503 msgstr ""
8504 "[-]dB<\\&.>dddB<e>\\*(Pmdd の形に変換する。 小数点の前には一桁の数字があり、"
8505 "小数点以下の桁数は精度で指定された 桁数になる。精度は指定されなかった場合 6 "
8506 "とみなされる。 精度が 0 の場合には、小数点以下は表示されない。 B<E> 変換で"
8507 "は、指数を表現するときに (B<e> ではなく)  B<E> が使われる。 指数部分は少なく"
8508 "とも 2桁表示される。 つまり、指数の値が 0 の場合には、00 と表示される。"
8509
8510 #. type: TP
8511 #: build/C/man3/printf.3:637
8512 #, no-wrap
8513 msgid "B<f>, B<F>"
8514 msgstr "B<f>, B<F>"
8515
8516 #. type: Plain text
8517 #: build/C/man3/printf.3:648
8518 msgid ""
8519 "The I<double> argument is rounded and converted to decimal notation in the "
8520 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8521 "character is equal to the precision specification.  If the precision is "
8522 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8523 "point character appears.  If a decimal point appears, at least one digit "
8524 "appears before it."
8525 msgstr ""
8526 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8527 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8528 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8529 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8530
8531 #. type: Plain text
8532 #: build/C/man3/printf.3:659
8533 msgid ""
8534 "(The SUSv2 does not know about B<F> and says that character string "
8535 "representations for infinity and NaN may be made available.  The C99 "
8536 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8537 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8538 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8539 msgstr ""
8540 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
8541 "行ってもよいことになっている。\n"
8542 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示"
8543 "し、\n"
8544 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
8545 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
8546
8547 #. type: TP
8548 #: build/C/man3/printf.3:659
8549 #, no-wrap
8550 msgid "B<g>, B<G>"
8551 msgstr "B<g>, B<G>"
8552
8553 #. type: Plain text
8554 #: build/C/man3/printf.3:684
8555 msgid ""
8556 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
8557 "for B<G> conversions).  The precision specifies the number of significant "
8558 "digits.  If the precision is missing, 6 digits are given; if the precision "
8559 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
8560 "conversion is less than -4 or greater than or equal to the precision.  "
8561 "Trailing zeros are removed from the fractional part of the result; a decimal "
8562 "point appears only if it is followed by at least one digit."
8563 msgstr ""
8564 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
8565 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
8566 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
8567 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
8568 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
8569 "一つある場合にだけである。"
8570
8571 #. type: TP
8572 #: build/C/man3/printf.3:684
8573 #, no-wrap
8574 msgid "B<a>, B<A>"
8575 msgstr "B<a>, B<A>"
8576
8577 #. type: Plain text
8578 #: build/C/man3/printf.3:708
8579 msgid ""
8580 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
8581 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
8582 "\\&.>hhhhB<p>\\*(Pmd; for B<A> conversion the prefix B<0X>, the letters "
8583 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
8584 "digit before the decimal point, and the number of digits after it is equal "
8585 "to the precision.  The default precision suffices for an exact "
8586 "representation of the value if an exact representation in base 2 exists and "
8587 "otherwise is sufficiently large to distinguish values of type I<double>.  "
8588 "The digit before the decimal point is unspecified for nonnormalized numbers, "
8589 "and nonzero but otherwise unspecified for normalized numbers."
8590 msgstr ""
8591 "(C99 にはあるが SUSv2 にはない)  B<a> 変換では、 I<double> 引き数を (abcdef "
8592 "の文字を使って)  [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; 形式の 16 進表記に変換す"
8593 "る。 B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。 "
8594 "小数点の前には 1桁の16進数が置かれ、小数点の後ろの桁数は 精度で指定された値と"
8595 "なる。 デフォルトの精度は、その値が 2進数で正確に表現できる場合には、 その値"
8596 "を正確に表現できる桁数となる。それ以外の場合は、 I<double> 型の値を区別するの"
8597 "に十分な大きさとなる。 小数点の前の数字は、正規化されていない数の場合はいくつ"
8598 "になるか分からない。 正規化された数の場合は、 0 以外の値になるが、いくつにな"
8599 "るかは分からない。"
8600
8601 #. type: TP
8602 #: build/C/man3/printf.3:708 build/C/man3/scanf.3:456
8603 #: build/C/man3/wprintf.3:132
8604 #, no-wrap
8605 msgid "B<c>"
8606 msgstr "B<c>"
8607
8608 #. type: Plain text
8609 #: build/C/man3/printf.3:726
8610 msgid ""
8611 "If no B<l> modifier is present, the I<int> argument is converted to an "
8612 "I<unsigned char>, and the resulting character is written.  If an B<l> "
8613 "modifier is present, the I<wint_t> (wide character) argument is converted to "
8614 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
8615 "conversion state starting in the initial state, and the resulting multibyte "
8616 "string is written."
8617 msgstr ""
8618 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
8619 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
8620 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
8621 "換し、 変換されたマルチバイト文字列を出力する。"
8622
8623 #. type: TP
8624 #: build/C/man3/printf.3:726 build/C/man3/scanf.3:448
8625 #: build/C/man3/wprintf.3:146
8626 #, no-wrap
8627 msgid "B<s>"
8628 msgstr "B<s>"
8629
8630 #. type: Plain text
8631 #: build/C/man3/printf.3:741
8632 msgid ""
8633 "If no B<l> modifier is present: The I<const char *> argument is expected to "
8634 "be a pointer to an array of character type (pointer to a string).  "
8635 "Characters from the array are written up to (but not including) a "
8636 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
8637 "than the number specified are written.  If a precision is given, no null "
8638 "byte need be present; if the precision is not specified, or is greater than "
8639 "the size of the array, the array must contain a terminating null byte."
8640 msgstr ""
8641 "B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
8642 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
8643 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
8644 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
8645 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
8646 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
8647 "なければならない。"
8648
8649 #. type: Plain text
8650 #: build/C/man3/printf.3:768
8651 msgid ""
8652 "If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
8653 "to be a pointer to an array of wide characters.  Wide characters from the "
8654 "array are converted to multibyte characters (each by a call to the B<wcrtomb>"
8655 "(3)  function, with a conversion state starting in the initial state before "
8656 "the first wide character), up to and including a terminating null wide "
8657 "character.  The resulting multibyte characters are written up to (but not "
8658 "including) the terminating null byte.  If a precision is specified, no more "
8659 "bytes than the number specified are written, but no partial multibyte "
8660 "characters are written.  Note that the precision determines the number of "
8661 "I<bytes> written, not the number of I<wide characters> or I<screen "
8662 "positions>.  The array must contain a terminating null wide character, "
8663 "unless a precision is given and it is so small that the number of bytes "
8664 "written exceeds it before the end of the array is reached."
8665 msgstr ""
8666 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
8667 "の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
8668 "に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
8669 "字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
8670 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
8671 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
8672 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
8673 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
8674 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
8675 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
8676 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
8677 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
8678 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
8679 "い。"
8680
8681 #. type: TP
8682 #: build/C/man3/printf.3:768
8683 #, no-wrap
8684 msgid "B<C>"
8685 msgstr "B<C>"
8686
8687 #. type: Plain text
8688 #: build/C/man3/printf.3:774
8689 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
8690 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
8691
8692 #. type: TP
8693 #: build/C/man3/printf.3:774
8694 #, no-wrap
8695 msgid "B<S>"
8696 msgstr "B<S>"
8697
8698 #. type: Plain text
8699 #: build/C/man3/printf.3:780
8700 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
8701 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
8702
8703 #. type: TP
8704 #: build/C/man3/printf.3:780 build/C/man3/scanf.3:500
8705 #, no-wrap
8706 msgid "B<p>"
8707 msgstr "B<p>"
8708
8709 #. type: Plain text
8710 #: build/C/man3/printf.3:788
8711 msgid ""
8712 "The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
8713 "B<%#lx>)."
8714 msgstr ""
8715 "I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
8716
8717 #. type: TP
8718 #: build/C/man3/printf.3:788 build/C/man3/scanf.3:508
8719 #, no-wrap
8720 msgid "B<n>"
8721 msgstr "B<n>"
8722
8723 #. type: Plain text
8724 #: build/C/man3/printf.3:795
8725 msgid ""
8726 "The number of characters written so far is stored into the integer indicated "
8727 "by the I<int *> (or variant) pointer argument.  No argument is converted."
8728 msgstr ""
8729 "これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
8730 "整数に保存する。 引き数の変換は行われない。"
8731
8732 #. type: TP
8733 #: build/C/man3/printf.3:795
8734 #, no-wrap
8735 msgid "B<m>"
8736 msgstr "B<m>"
8737
8738 #. type: Plain text
8739 #: build/C/man3/printf.3:801
8740 msgid ""
8741 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
8742 "required."
8743 msgstr ""
8744 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
8745
8746 #. type: TP
8747 #: build/C/man3/printf.3:801 build/C/man3/scanf.3:374
8748 #, no-wrap
8749 msgid "B<%>"
8750 msgstr "B<%>"
8751
8752 #. type: Plain text
8753 #: build/C/man3/printf.3:807
8754 msgid ""
8755 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
8756 "conversion specification is \\(aq%%\\(aq."
8757 msgstr ""
8758 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
8759 "%\" となる。"
8760
8761 #. type: Plain text
8762 #: build/C/man3/printf.3:822
8763 msgid ""
8764 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8765 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
8766 "B<vsnprintf>()  functions conform to C99."
8767 msgstr ""
8768 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8769 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
8770 "B<vsnprintf>()  は C99 に準拠している。"
8771
8772 #. type: Plain text
8773 #: build/C/man3/printf.3:835
8774 msgid ""
8775 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
8776 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
8777 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
8778 "this case, and gives the return value (as always)  as the number of "
8779 "characters that would have been written in case the output string has been "
8780 "large enough."
8781 msgstr ""
8782 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
8783 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
8784 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
8785 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
8786 "出力されるであろう文字数を返す。"
8787
8788 #. type: Plain text
8789 #: build/C/man3/printf.3:849
8790 msgid ""
8791 "Linux libc4 knows about the five C standard flags.  It knows about the "
8792 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
8793 "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 "
8794 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
8795 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
8796 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
8797 "dependent radix character, no thousands' separator, no NaN or infinity, no "
8798 "\"%m$\" and \"*m$\"."
8799 msgstr ""
8800 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
8801 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
8802 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
8803 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
8804 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
8805 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
8806 "えない。"
8807
8808 #. type: Plain text
8809 #: build/C/man3/printf.3:860
8810 msgid ""
8811 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
8812 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
8813 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
8814 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
8815 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
8816 "outputs I<strerror(errno)>."
8817 msgstr ""
8818 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
8819 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
8820 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
8821 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
8822 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
8823 "ある。"
8824
8825 #. type: Plain text
8826 #: build/C/man3/printf.3:862
8827 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
8828 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
8829
8830 #. type: Plain text
8831 #: build/C/man3/printf.3:865
8832 msgid ""
8833 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
8834 "characters B<a> and B<A>."
8835 msgstr ""
8836 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
8837 "加された。"
8838
8839 #. type: Plain text
8840 #: build/C/man3/printf.3:868
8841 msgid ""
8842 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
8843 "flag character B<I>."
8844 msgstr ""
8845 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
8846 "追加された。"
8847
8848 #. type: Plain text
8849 #: build/C/man3/printf.3:870
8850 msgid "Some programs imprudently rely on code such as the following"
8851 msgstr ""
8852 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
8853 "ラムがある。"
8854
8855 #. type: Plain text
8856 #: build/C/man3/printf.3:872
8857 #, no-wrap
8858 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
8859 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
8860
8861 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
8862 #. type: Plain text
8863 #: build/C/man3/printf.3:888
8864 msgid ""
8865 "to append text to I<buf>.  However, the standards explicitly note that the "
8866 "results are undefined if source and destination buffers overlap when calling "
8867 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
8868 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
8869 "such as the above will B<not> produce the expected results."
8870 msgstr ""
8871 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8872 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
8873 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
8874 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
8875 "結果が得られ「ない」ことがある。"
8876
8877 #.  .SH HISTORY
8878 #.  UNIX V7 defines the three routines
8879 #.  .BR printf (),
8880 #.  .BR fprintf (),
8881 #.  .BR sprintf (),
8882 #.  and has the flag \-, the width or precision *, the length modifier l,
8883 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
8884 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
8885 #.  #, + and <space> and no longer mentions D,O,U,X.
8886 #.  2.11BSD has
8887 #.  .BR vprintf (),
8888 #.  .BR vfprintf (),
8889 #.  .BR vsprintf (),
8890 #.  and warns not to use D,O,U,X.
8891 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
8892 #.  and the conversions n, p, E, G, X (with current meaning)
8893 #.  and deprecates D,O,U.
8894 #.  4.4BSD introduces the functions
8895 #.  .BR snprintf ()
8896 #.  and
8897 #.  .BR vsnprintf (),
8898 #.  and the length modifier q.
8899 #.  FreeBSD also has functions
8900 #.  .BR asprintf ()
8901 #.  and
8902 #.  .BR vasprintf (),
8903 #.  that allocate a buffer large enough for
8904 #.  .BR sprintf ().
8905 #.  In glibc there are functions
8906 #.  .BR dprintf ()
8907 #.  and
8908 #.  .BR vdprintf ()
8909 #.  that print to a file descriptor instead of a stream.
8910 #. type: Plain text
8911 #: build/C/man3/printf.3:930
8912 msgid ""
8913 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
8914 "conforms to the C99 standard, that is, behaves as described above, since "
8915 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
8916 "was truncated."
8917 msgstr ""
8918 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
8919 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
8920 "切り詰められた場合は -1 を返す。"
8921
8922 #. type: Plain text
8923 #: build/C/man3/printf.3:947
8924 msgid ""
8925 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
8926 "callers must be careful not to overflow the actual space; this is often "
8927 "impossible to assure.  Note that the length of the strings produced is "
8928 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
8929 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
8930 msgstr ""
8931 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
8932 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
8933 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
8934 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
8935 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
8936
8937 #. type: Plain text
8938 #: build/C/man3/printf.3:960
8939 msgid ""
8940 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
8941 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
8942 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
8943 "libc4 leads to serious security problems."
8944 msgstr ""
8945 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
8946 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
8947 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
8948 "深刻なセキュリティ問題を引き起こすことがある。"
8949
8950 #.  .PP
8951 #.  Some floating-point conversions under early libc4
8952 #.  caused memory leaks.
8953 #. type: Plain text
8954 #: build/C/man3/printf.3:974
8955 msgid ""
8956 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
8957 "contain a % character.  If I<foo> comes from untrusted user input, it may "
8958 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
8959 "a security hole."
8960 msgstr ""
8961 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
8962 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
8963 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
8964 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
8965 "ルを作ることになるかもしれない。"
8966
8967 #. type: Plain text
8968 #: build/C/man3/printf.3:977
8969 msgid "To print \\*(Pi to five decimal places:"
8970 msgstr "\\*(Pi を 5 桁で出力する。"
8971
8972 #. type: Plain text
8973 #: build/C/man3/printf.3:983
8974 #, no-wrap
8975 msgid ""
8976 "#include E<lt>math.hE<gt>\n"
8977 "#include E<lt>stdio.hE<gt>\n"
8978 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8979 msgstr ""
8980 "#include E<lt>math.hE<gt>\n"
8981 "#include E<lt>stdio.hE<gt>\n"
8982 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8983
8984 #. type: Plain text
8985 #: build/C/man3/printf.3:992
8986 msgid ""
8987 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
8988 "I<weekday> and I<month> are pointers to strings:"
8989 msgstr ""
8990 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
8991 "I<month> は文字列へのポインタである)"
8992
8993 #. type: Plain text
8994 #: build/C/man3/printf.3:998
8995 #, no-wrap
8996 msgid ""
8997 "#include E<lt>stdio.hE<gt>\n"
8998 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
8999 "        weekday, month, day, hour, min);\n"
9000 msgstr ""
9001 "#include E<lt>stdio.hE<gt>\n"
9002 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9003 "\tweekday, month, day, hour, min);\n"
9004
9005 #. type: Plain text
9006 #: build/C/man3/printf.3:1004
9007 msgid ""
9008 "Many countries use the day-month-year order.  Hence, an internationalized "
9009 "version must be able to print the arguments in an order specified by the "
9010 "format:"
9011 msgstr ""
9012 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
9013 "順番で 引き数を表示できなければならない。"
9014
9015 #. type: Plain text
9016 #: build/C/man3/printf.3:1010
9017 #, no-wrap
9018 msgid ""
9019 "#include E<lt>stdio.hE<gt>\n"
9020 "fprintf(stdout, format,\n"
9021 "        weekday, month, day, hour, min);\n"
9022 msgstr ""
9023 "#include E<lt>stdio.hE<gt>\n"
9024 "fprintf(stdout, format,\n"
9025 "\tweekday, month, day, hour, min);\n"
9026
9027 #. type: Plain text
9028 #: build/C/man3/printf.3:1017
9029 msgid ""
9030 "where I<format> depends on locale, and may permute the arguments.  With the "
9031 "value:"
9032 msgstr ""
9033 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
9034 "I<format> が"
9035
9036 #. type: Plain text
9037 #: build/C/man3/printf.3:1021
9038 #, no-wrap
9039 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9040 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9041
9042 #. type: Plain text
9043 #: build/C/man3/printf.3:1025
9044 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9045 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9046
9047 #. type: Plain text
9048 #: build/C/man3/printf.3:1028
9049 msgid ""
9050 "To allocate a sufficiently large string and print into it (code correct for "
9051 "both glibc 2.0 and glibc 2.1):"
9052 msgstr ""
9053 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9054 "と glibc 2.1 の両方で正しく動作するコード):"
9055
9056 #. type: Plain text
9057 #: build/C/man3/printf.3:1033
9058 #, no-wrap
9059 msgid ""
9060 "#include E<lt>stdio.hE<gt>\n"
9061 "#include E<lt>stdlib.hE<gt>\n"
9062 "#include E<lt>stdarg.hE<gt>\n"
9063 msgstr ""
9064 "#include E<lt>stdio.hE<gt>\n"
9065 "#include E<lt>stdlib.hE<gt>\n"
9066 "#include E<lt>stdarg.hE<gt>\n"
9067
9068 #. type: Plain text
9069 #: build/C/man3/printf.3:1041
9070 #, no-wrap
9071 msgid ""
9072 "char *\n"
9073 "make_message(const char *fmt, ...)\n"
9074 "{\n"
9075 "    int n;\n"
9076 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9077 "    char *p, *np;\n"
9078 "    va_list ap;\n"
9079 msgstr ""
9080 "char *\n"
9081 "make_message(const char *fmt, ...)\n"
9082 "{\n"
9083 "    int n;\n"
9084 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9085 "    char *p, *np;\n"
9086 "    va_list ap;\n"
9087
9088 #. type: Plain text
9089 #: build/C/man3/printf.3:1044
9090 #, no-wrap
9091 msgid ""
9092 "    if ((p = malloc(size)) == NULL)\n"
9093 "        return NULL;\n"
9094 msgstr ""
9095 "    if ((p = malloc(size)) == NULL)\n"
9096 "        return NULL;\n"
9097
9098 #. type: Plain text
9099 #: build/C/man3/printf.3:1046
9100 #, no-wrap
9101 msgid "    while (1) {\n"
9102 msgstr "    while (1) {\n"
9103
9104 #. type: Plain text
9105 #: build/C/man3/printf.3:1048
9106 #, no-wrap
9107 msgid "        /* Try to print in the allocated space. */\n"
9108 msgstr "        /* Try to print in the allocated space. */\n"
9109
9110 #. type: Plain text
9111 #: build/C/man3/printf.3:1052
9112 #, no-wrap
9113 msgid ""
9114 "        va_start(ap, fmt);\n"
9115 "        n = vsnprintf(p, size, fmt, ap);\n"
9116 "        va_end(ap);\n"
9117 msgstr ""
9118 "        va_start(ap, fmt);\n"
9119 "        n = vsnprintf(p, size, fmt, ap);\n"
9120 "        va_end(ap);\n"
9121
9122 #. type: Plain text
9123 #: build/C/man3/printf.3:1054
9124 #, no-wrap
9125 msgid "        /* If that worked, return the string. */\n"
9126 msgstr "        /* If that worked, return the string. */\n"
9127
9128 #. type: Plain text
9129 #: build/C/man3/printf.3:1057
9130 #, no-wrap
9131 msgid ""
9132 "        if (n E<gt> -1 && n E<lt> size)\n"
9133 "            return p;\n"
9134 msgstr ""
9135 "        if (n E<gt> -1 && n E<lt> size)\n"
9136 "            return p;\n"
9137
9138 #. type: Plain text
9139 #: build/C/man3/printf.3:1059
9140 #, no-wrap
9141 msgid "        /* Else try again with more space. */\n"
9142 msgstr "        /* Else try again with more space. */\n"
9143
9144 #. type: Plain text
9145 #: build/C/man3/printf.3:1064
9146 #, no-wrap
9147 msgid ""
9148 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9149 "            size = n+1; /* precisely what is needed */\n"
9150 "        else           /* glibc 2.0 */\n"
9151 "            size *= 2;  /* twice the old size */\n"
9152 msgstr ""
9153 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9154 "            size = n+1; /* precisely what is needed */\n"
9155 "        else           /* glibc 2.0 */\n"
9156 "            size *= 2;  /* twice the old size */\n"
9157
9158 #. type: Plain text
9159 #: build/C/man3/printf.3:1073
9160 #, no-wrap
9161 msgid ""
9162 "        if ((np = realloc (p, size)) == NULL) {\n"
9163 "            free(p);\n"
9164 "            return NULL;\n"
9165 "        } else {\n"
9166 "            p = np;\n"
9167 "        }\n"
9168 "    }\n"
9169 "}\n"
9170 msgstr ""
9171 "        if ((np = realloc (p, size)) == NULL) {\n"
9172 "            free(p);\n"
9173 "            return NULL;\n"
9174 "        } else {\n"
9175 "            p = np;\n"
9176 "        }\n"
9177 "    }\n"
9178 "}\n"
9179
9180 #. type: Plain text
9181 #: build/C/man3/printf.3:1083
9182 msgid ""
9183 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9184 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9185 msgstr ""
9186 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9187 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9188
9189 #. type: TH
9190 #: build/C/man3/puts.3:24
9191 #, no-wrap
9192 msgid "PUTS"
9193 msgstr "PUTS"
9194
9195 #. type: Plain text
9196 #: build/C/man3/puts.3:27
9197 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9198 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9199
9200 #. type: Plain text
9201 #: build/C/man3/puts.3:32
9202 #, no-wrap
9203 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9204 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9205
9206 #. type: Plain text
9207 #: build/C/man3/puts.3:34
9208 #, no-wrap
9209 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9210 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9211
9212 #. type: Plain text
9213 #: build/C/man3/puts.3:36
9214 #, no-wrap
9215 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9216 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9217
9218 #. type: Plain text
9219 #: build/C/man3/puts.3:38
9220 #, no-wrap
9221 msgid "B<int putchar(int >I<c>B<);>\n"
9222 msgstr "B<int putchar(int >I<c>B<);>\n"
9223
9224 #. type: Plain text
9225 #: build/C/man3/puts.3:40
9226 #, no-wrap
9227 msgid "B<int puts(const char *>I<s>B<);>\n"
9228 msgstr "B<int puts(const char *>I<s>B<);>\n"
9229
9230 #. type: Plain text
9231 #: build/C/man3/puts.3:49
9232 msgid ""
9233 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9234 "I<stream>."
9235 msgstr ""
9236 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9237 "に書き込む。"
9238
9239 #. type: Plain text
9240 #: build/C/man3/puts.3:56
9241 msgid ""
9242 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9243 "null byte (\\(aq\\e0\\(aq)."
9244 msgstr ""
9245 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9246 "ト (\\(aq\\e0\\(aq) は出力しない。"
9247
9248 #. type: Plain text
9249 #: build/C/man3/puts.3:63
9250 msgid ""
9251 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9252 "a macro which evaluates I<stream> more than once."
9253 msgstr ""
9254 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9255 "れないという点を除き、 B<fputc>()  と同じである。"
9256
9257 #. type: Plain text
9258 #: build/C/man3/puts.3:67
9259 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9260 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9261
9262 #. type: Plain text
9263 #: build/C/man3/puts.3:74
9264 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9265 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9266
9267 #. type: Plain text
9268 #: build/C/man3/puts.3:79
9269 msgid ""
9270 "Calls to the functions described here can be mixed with each other and with "
9271 "calls to other output functions from the I<stdio> library for the same "
9272 "output stream."
9273 msgstr ""
9274 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9275 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9276 "る。"
9277
9278 #. type: Plain text
9279 #: build/C/man3/puts.3:94
9280 msgid ""
9281 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9282 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9283 msgstr ""
9284 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9285 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9286
9287 #. type: Plain text
9288 #: build/C/man3/puts.3:101
9289 msgid ""
9290 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9291 "on error."
9292 msgstr ""
9293 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9294 "は B<EOF> を返す。"
9295
9296 #. type: Plain text
9297 #: build/C/man3/puts.3:110
9298 msgid ""
9299 "It is not advisable to mix calls to output functions from the I<stdio> "
9300 "library with low-level calls to B<write>(2)  for the file descriptor "
9301 "associated with the same output stream; the results will be undefined and "
9302 "very probably not what you want."
9303 msgstr ""
9304 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9305 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9306 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9307 "性が高い。"
9308
9309 #. type: Plain text
9310 #: build/C/man3/puts.3:122
9311 msgid ""
9312 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9313 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9314 "(3)"
9315 msgstr ""
9316 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9317 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9318 "(3)"
9319
9320 #. type: TH
9321 #: build/C/man2/read.2:35
9322 #, no-wrap
9323 msgid "READ"
9324 msgstr "READ"
9325
9326 #. type: Plain text
9327 #: build/C/man2/read.2:38
9328 msgid "read - read from a file descriptor"
9329 msgstr "read - ファイルディスクリプタから読み込む"
9330
9331 #. type: Plain text
9332 #: build/C/man2/read.2:43
9333 #, no-wrap
9334 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9335 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9336
9337 #. type: Plain text
9338 #: build/C/man2/read.2:52
9339 msgid ""
9340 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9341 "into the buffer starting at I<buf>."
9342 msgstr ""
9343 "B<read>()  はファイルディスクリプタ (file descriptor)  I<fd> から最大 "
9344 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9345
9346 #. type: Plain text
9347 #: build/C/man2/read.2:63
9348 msgid ""
9349 "If I<count> is zero, B<read>()  returns zero and has no other results.  If "
9350 "I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9351 msgstr ""
9352 "I<count> が 0 ならば、 B<read>()  は 0 を返し、他に何も起きない。 I<count> "
9353 "が B<SSIZE_MAX> より大きければ、結果は特定できない。"
9354
9355 #. type: Plain text
9356 #: build/C/man2/read.2:77
9357 msgid ""
9358 "On success, the number of bytes read is returned (zero indicates end of "
9359 "file), and the file position is advanced by this number.  It is not an error "
9360 "if this number is smaller than the number of bytes requested; this may "
9361 "happen for example because fewer bytes are actually available right now "
9362 "(maybe because we were close to end-of-file, or because we are reading from "
9363 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9364 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9365 "this case it is left unspecified whether the file position (if any) changes."
9366 msgstr ""
9367 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9368 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9369 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9370 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9371 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9372 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9373 "の場合はファイル位置が変更されるかどうかは 不定である。"
9374
9375 #. type: TP
9376 #: build/C/man2/read.2:78 build/C/man3/scanf.3:546 build/C/man2/write.2:108
9377 #, no-wrap
9378 msgid "B<EAGAIN>"
9379 msgstr "B<EAGAIN>"
9380
9381 #. type: Plain text
9382 #: build/C/man2/read.2:85
9383 msgid ""
9384 "The file descriptor I<fd> refers to a file other than a socket and has been "
9385 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9386 msgstr ""
9387 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
9388 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9389 "する状況にある。"
9390
9391 #. type: TP
9392 #: build/C/man2/read.2:85 build/C/man2/write.2:115
9393 #, no-wrap
9394 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9395 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9396
9397 #.  Actually EAGAIN on Linux
9398 #. type: Plain text
9399 #: build/C/man2/read.2:96
9400 msgid ""
9401 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9402 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9403 "to be returned for this case, and does not require these constants to have "
9404 "the same value, so a portable application should check for both "
9405 "possibilities."
9406 msgstr ""
9407 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
9408 "モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にあ"
9409 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
9410 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
9411 "プリケーションでは、両方の可能性を 確認すべきである。"
9412
9413 #. type: Plain text
9414 #: build/C/man2/read.2:100
9415 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9416 msgstr ""
9417 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
9418 "(open) されていない。"
9419
9420 #. type: Plain text
9421 #: build/C/man2/read.2:104 build/C/man2/write.2:139
9422 msgid "I<buf> is outside your accessible address space."
9423 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9424
9425 #. type: Plain text
9426 #: build/C/man2/read.2:108
9427 msgid ""
9428 "The call was interrupted by a signal before any data was read; see B<signal>"
9429 "(7)."
9430 msgstr ""
9431 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9432
9433 #. type: Plain text
9434 #: build/C/man2/read.2:119
9435 msgid ""
9436 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9437 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9438 "I<buf>, the value specified in I<count>, or the current file offset is not "
9439 "suitably aligned."
9440 msgstr ""
9441 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9442 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9443 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9444 "ンメントが不適切である。"
9445
9446 #. type: Plain text
9447 #: build/C/man2/read.2:129
9448 msgid ""
9449 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9450 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9451 "information."
9452 msgstr ""
9453 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9454 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9455 "こと。"
9456
9457 #. type: Plain text
9458 #: build/C/man2/read.2:140
9459 msgid ""
9460 "I/O error.  This will happen for example when the process is in a background "
9461 "process group, tries to read from its controlling tty, and either it is "
9462 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9463 "also occur when there is a low-level I/O error while reading from a disk or "
9464 "tape."
9465 msgstr ""
9466 "I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、 それを"
9467 "制御している tty から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
9468 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
9469 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
9470 "た場合にも起こる。"
9471
9472 #. type: Plain text
9473 #: build/C/man2/read.2:144
9474 msgid "I<fd> refers to a directory."
9475 msgstr "I<fd> がディレクトリを参照している。"
9476
9477 #. type: Plain text
9478 #: build/C/man2/read.2:155
9479 msgid ""
9480 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9481 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9482 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9483 "read."
9484 msgstr ""
9485 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9486 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9487 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9488 "数を返してもよい。"
9489
9490 #. type: Plain text
9491 #: build/C/man2/read.2:169
9492 msgid ""
9493 "On NFS file systems, reading small amounts of data will only update the "
9494 "timestamp the first time, subsequent calls may not do so.  This is caused by "
9495 "client side attribute caching, because most if not all NFS clients leave "
9496 "st_atime (last file access time)  updates to the server and client side "
9497 "reads satisfied from the client's cache will not cause st_atime updates on "
9498 "the server as there are no server side reads.  UNIX semantics can be "
9499 "obtained by disabling client side attribute caching, but in most situations "
9500 "this will substantially increase server load and decrease performance."
9501 msgstr ""
9502 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
9503 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
9504 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
9505 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
9506 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
9507 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
9508 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
9509 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
9510
9511 #. type: Plain text
9512 #: build/C/man2/read.2:178
9513 msgid ""
9514 "Many file systems and disks were considered to be fast enough that the "
9515 "implementation of B<O_NONBLOCK> was deemed unnecessary.  So, B<O_NONBLOCK> "
9516 "may not be available on files and/or disks."
9517 msgstr ""
9518 "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むくらい"
9519 "に十分に高速であると考えられている。 それでそのようなファイルやディスクには "
9520 "B<O_NONBLOCK> は利用できないかもしれない。"
9521
9522 #. type: Plain text
9523 #: build/C/man2/read.2:191
9524 msgid ""
9525 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9526 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9527 "B<fread>(3)"
9528 msgstr ""
9529 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9530 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9531 "B<fread>(3)"
9532
9533 #. type: TH
9534 #: build/C/man2/readlink.2:41
9535 #, no-wrap
9536 msgid "READLINK"
9537 msgstr "READLINK"
9538
9539 #. type: TH
9540 #: build/C/man2/readlink.2:41
9541 #, no-wrap
9542 msgid "2011-09-20"
9543 msgstr "2011-09-20"
9544
9545 #. type: Plain text
9546 #: build/C/man2/readlink.2:44
9547 msgid "readlink - read value of a symbolic link"
9548 msgstr "readlink - シンボリックリンクの値を読む"
9549
9550 #. type: Plain text
9551 #: build/C/man2/readlink.2:48
9552 msgid ""
9553 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9554 ">I<bufsiz>B<);>"
9555 msgstr ""
9556 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9557 ">I<bufsiz>B<);>"
9558
9559 #. type: Plain text
9560 #: build/C/man2/readlink.2:56
9561 msgid "B<readlink>():"
9562 msgstr "B<readlink>():"
9563
9564 #. type: Plain text
9565 #: build/C/man2/readlink.2:59 build/C/man2/symlink.2:50
9566 msgid ""
9567 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9568 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9569 msgstr ""
9570 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9571 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9572
9573 #. type: Plain text
9574 #: build/C/man2/readlink.2:75
9575 msgid ""
9576 "B<readlink>()  places the contents of the symbolic link I<path> in the "
9577 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
9578 "null byte to I<buf>.  It will truncate the contents (to a length of "
9579 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
9580 "contents."
9581 msgstr ""
9582 "B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
9583 "ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
9584 "NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
9585 "さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
9586
9587 #. type: Plain text
9588 #: build/C/man2/readlink.2:83
9589 msgid ""
9590 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
9591 "error, -1 is returned and I<errno> is set to indicate the error."
9592 msgstr ""
9593 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
9594 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
9595
9596 #. type: Plain text
9597 #: build/C/man2/readlink.2:89
9598 msgid ""
9599 "Search permission is denied for a component of the path prefix.  (See also "
9600 "B<path_resolution>(7).)"
9601 msgstr ""
9602 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
9603 "参照すること)。"
9604
9605 #. type: Plain text
9606 #: build/C/man2/readlink.2:93
9607 msgid "I<buf> extends outside the process's allocated address space."
9608 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
9609
9610 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
9611 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
9612 #.  and this error can also occur if bufsiz < 0.
9613 #.  See: http://thread.gmane.org/gmane.linux.man/380
9614 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
9615 #. type: Plain text
9616 #: build/C/man2/readlink.2:102
9617 msgid "I<bufsiz> is not positive."
9618 msgstr "I<bufsiz> が正でない。"
9619
9620 #. type: Plain text
9621 #: build/C/man2/readlink.2:105
9622 msgid "The named file is not a symbolic link."
9623 msgstr "指定したファイルがシンボリックリンクでない。"
9624
9625 #. type: Plain text
9626 #: build/C/man2/readlink.2:108
9627 msgid "An I/O error occurred while reading from the file system."
9628 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
9629
9630 #. type: Plain text
9631 #: build/C/man2/readlink.2:111
9632 msgid "Too many symbolic links were encountered in translating the pathname."
9633 msgstr "パス名にシンボリックリンクが多すぎる。"
9634
9635 #. type: Plain text
9636 #: build/C/man2/readlink.2:114
9637 msgid "A pathname, or a component of a pathname, was too long."
9638 msgstr "パス名かパス名の一部分が長過ぎる。"
9639
9640 #. type: Plain text
9641 #: build/C/man2/readlink.2:117
9642 msgid "The named file does not exist."
9643 msgstr "その名前のファイルが存在しない。"
9644
9645 #. type: Plain text
9646 #: build/C/man2/readlink.2:123
9647 msgid "A component of the path prefix is not a directory."
9648 msgstr "パスのディレクトリ部分がディレクトリでない。"
9649
9650 #. type: Plain text
9651 #: build/C/man2/readlink.2:128
9652 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
9653 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
9654
9655 #. type: Plain text
9656 #: build/C/man2/readlink.2:136
9657 msgid ""
9658 "In versions of glibc up to and including glibc 2.4, the return type of "
9659 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
9660 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
9661 msgstr ""
9662 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
9663 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
9664 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
9665
9666 #. type: Plain text
9667 #: build/C/man2/readlink.2:155
9668 msgid ""
9669 "Using a statically sized buffer might not provide enough room for the "
9670 "symbolic link contents.  The required size for the buffer can be obtained "
9671 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
9672 "link.  However, the number of bytes written by B<readlink>()  should be "
9673 "checked to make sure that the size of the symbolic link did not increase "
9674 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
9675 "also addresses a common portability problem when using I<PATH_MAX> for the "
9676 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
9677 "the system does not have such limit."
9678 msgstr ""
9679
9680 #. type: Plain text
9681 #: build/C/man2/readlink.2:161
9682 msgid ""
9683 "The following program allocates the buffer needed by B<readlink>()  "
9684 "dynamically from the information provided by B<lstat>(), making sure there's "
9685 "no race condition between the calls."
9686 msgstr ""
9687
9688 #. type: Plain text
9689 #: build/C/man2/readlink.2:168
9690 #, no-wrap
9691 msgid ""
9692 "#include E<lt>sys/types.hE<gt>\n"
9693 "#include E<lt>sys/stat.hE<gt>\n"
9694 "#include E<lt>stdio.hE<gt>\n"
9695 "#include E<lt>stdlib.hE<gt>\n"
9696 "#include E<lt>unistd.hE<gt>\n"
9697 msgstr ""
9698 "#include E<lt>sys/types.hE<gt>\n"
9699 "#include E<lt>sys/stat.hE<gt>\n"
9700 "#include E<lt>stdio.hE<gt>\n"
9701 "#include E<lt>stdlib.hE<gt>\n"
9702 "#include E<lt>unistd.hE<gt>\n"
9703
9704 #. type: Plain text
9705 #: build/C/man2/readlink.2:175
9706 #, no-wrap
9707 msgid ""
9708 "int\n"
9709 "main(int argc, char *argv[])\n"
9710 "{\n"
9711 "    struct stat sb;\n"
9712 "    char *linkname;\n"
9713 "    ssize_t r;\n"
9714 msgstr ""
9715 "int\n"
9716 "main(int argc, char *argv[])\n"
9717 "{\n"
9718 "    struct stat sb;\n"
9719 "    char *linkname;\n"
9720 "    ssize_t r;\n"
9721
9722 #. type: Plain text
9723 #: build/C/man2/readlink.2:180
9724 #, no-wrap
9725 msgid ""
9726 "    if (argc != 2) {\n"
9727 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9728 "        exit(EXIT_FAILURE);\n"
9729 "    }\n"
9730 msgstr ""
9731 "    if (argc != 2) {\n"
9732 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9733 "        exit(EXIT_FAILURE);\n"
9734 "    }\n"
9735
9736 #. type: Plain text
9737 #: build/C/man2/readlink.2:185
9738 #, no-wrap
9739 msgid ""
9740 "    if (lstat(argv[1], &sb) == -1) {\n"
9741 "        perror(\"lstat\");\n"
9742 "        exit(EXIT_FAILURE);\n"
9743 "    }\n"
9744 msgstr ""
9745 "    if (lstat(argv[1], &sb) == -1) {\n"
9746 "        perror(\"lstat\");\n"
9747 "        exit(EXIT_FAILURE);\n"
9748 "    }\n"
9749
9750 #. type: Plain text
9751 #: build/C/man2/readlink.2:191
9752 #, no-wrap
9753 msgid ""
9754 "    linkname = malloc(sb.st_size + 1);\n"
9755 "    if (linkname == NULL) {\n"
9756 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9757 "        exit(EXIT_FAILURE);\n"
9758 "    }\n"
9759 msgstr ""
9760 "    linkname = malloc(sb.st_size + 1);\n"
9761 "    if (linkname == NULL) {\n"
9762 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9763 "        exit(EXIT_FAILURE);\n"
9764 "    }\n"
9765
9766 #. type: Plain text
9767 #: build/C/man2/readlink.2:193
9768 #, no-wrap
9769 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9770 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9771
9772 #. type: Plain text
9773 #: build/C/man2/readlink.2:198
9774 #, no-wrap
9775 msgid ""
9776 "    if (r E<lt> 0) {\n"
9777 "        perror(\"lstat\");\n"
9778 "        exit(EXIT_FAILURE);\n"
9779 "    }\n"
9780 msgstr ""
9781 "    if (r E<lt> 0) {\n"
9782 "        perror(\"lstat\");\n"
9783 "        exit(EXIT_FAILURE);\n"
9784 "    }\n"
9785
9786 #. type: Plain text
9787 #: build/C/man2/readlink.2:204
9788 #, no-wrap
9789 msgid ""
9790 "    if (r E<gt> sb.st_size) {\n"
9791 "        fprintf(stderr, \"symlink increased in size \"\n"
9792 "                        \"between lstat() and readlink()\\en\");\n"
9793 "        exit(EXIT_FAILURE);\n"
9794 "    }\n"
9795 msgstr ""
9796 "    if (r E<gt> sb.st_size) {\n"
9797 "        fprintf(stderr, \"symlink increased in size \"\n"
9798 "                        \"between lstat() and readlink()\\en\");\n"
9799 "        exit(EXIT_FAILURE);\n"
9800 "    }\n"
9801
9802 #. type: Plain text
9803 #: build/C/man2/readlink.2:206
9804 #, no-wrap
9805 msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9806 msgstr "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9807
9808 #. type: Plain text
9809 #: build/C/man2/readlink.2:208
9810 #, no-wrap
9811 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9812 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9813
9814 #. type: Plain text
9815 #: build/C/man2/readlink.2:220
9816 msgid ""
9817 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9818 "B<path_resolution>(7), B<symlink>(7)"
9819 msgstr ""
9820 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
9821 "B<path_resolution>(7), B<symlink>(7)"
9822
9823 #. type: TH
9824 #: build/C/man2/readv.2:30
9825 #, no-wrap
9826 msgid "READV"
9827 msgstr "READV"
9828
9829 #. type: TH
9830 #: build/C/man2/readv.2:30
9831 #, no-wrap
9832 msgid "2010-11-17"
9833 msgstr "2010-11-17"
9834
9835 #. type: Plain text
9836 #: build/C/man2/readv.2:33
9837 msgid ""
9838 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
9839 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
9840
9841 #. type: Plain text
9842 #: build/C/man2/readv.2:36 build/C/man2/process_vm_readv.2:33
9843 #, no-wrap
9844 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
9845 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
9846
9847 #. type: Plain text
9848 #: build/C/man2/readv.2:38
9849 #, no-wrap
9850 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9851 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9852
9853 #. type: Plain text
9854 #: build/C/man2/readv.2:40
9855 #, no-wrap
9856 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9857 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9858
9859 #. type: Plain text
9860 #: build/C/man2/readv.2:43
9861 #, no-wrap
9862 msgid ""
9863 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9864 "B<               off_t >I<offset>B<);>\n"
9865 msgstr ""
9866 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9867 "B<               off_t >I<offset>B<);>\n"
9868
9869 #. type: Plain text
9870 #: build/C/man2/readv.2:46
9871 #, no-wrap
9872 msgid ""
9873 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9874 "B<                off_t >I<offset>B<);>\n"
9875 msgstr ""
9876 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9877 "B<                off_t >I<offset>B<);>\n"
9878
9879 #. type: Plain text
9880 #: build/C/man2/readv.2:56
9881 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9882 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9883
9884 #. type: Plain text
9885 #: build/C/man2/readv.2:66
9886 msgid ""
9887 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
9888 "with the file descriptor I<fd> into the buffers described by I<iov> "
9889 "(\"scatter input\")."
9890 msgstr ""
9891 "B<readv>() システムコールは、ファイルディスクリプタ I<fd> に関連付けられた\n"
9892 "ファイルから、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定\n"
9893 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
9894
9895 #. type: Plain text
9896 #: build/C/man2/readv.2:76
9897 msgid ""
9898 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
9899 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
9900 "\")."
9901 msgstr ""
9902 "B<writev>() システムコールは、 I<iov> で指定されたバッファから最大 "
9903 "I<iovcnt>\n"
9904 "個のバッファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付け"
9905 "ら\n"
9906 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
9907
9908 #. type: Plain text
9909 #: build/C/man2/readv.2:85
9910 msgid ""
9911 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
9912 "I<E<lt>sys/uio.hE<gt>> as:"
9913 msgstr ""
9914 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
9915 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
9916
9917 #. type: Plain text
9918 #: build/C/man2/readv.2:93 build/C/man2/process_vm_readv.2:111
9919 #, no-wrap
9920 msgid ""
9921 "struct iovec {\n"
9922 "    void  *iov_base;    /* Starting address */\n"
9923 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9924 "};\n"
9925 msgstr ""
9926 "struct iovec {\n"
9927 "    void  *iov_base;    /* Starting address */\n"
9928 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9929 "};\n"
9930
9931 #. type: Plain text
9932 #: build/C/man2/readv.2:101
9933 msgid ""
9934 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
9935 "buffers are filled."
9936 msgstr ""
9937 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
9938 "B<read>(2) と全く同様の動作を行う。"
9939
9940 #. type: Plain text
9941 #: build/C/man2/readv.2:107
9942 msgid ""
9943 "The B<writev>()  system call works just like B<write>(2)  except that "
9944 "multiple buffers are written out."
9945 msgstr ""
9946 "B<writev>() システムコールは、複数のバッファのデータを書き出す点以外は\n"
9947 "B<write>(2) と全く同様の動作を行う。"
9948
9949 #. type: Plain text
9950 #: build/C/man2/readv.2:126
9951 msgid ""
9952 "Buffers are processed in array order.  This means that B<readv>()  "
9953 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
9954 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
9955 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
9956 "[0] before proceeding to I<iov>[1], and so on."
9957 msgstr ""
9958 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
9959 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
9960 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
9961 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
9962
9963 #. type: Plain text
9964 #: build/C/man2/readv.2:144
9965 msgid ""
9966 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
9967 "data written by B<writev>()  is written as a single block that is not "
9968 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
9969 "for an exception); analogously, B<readv>()  is guaranteed to read a "
9970 "contiguous block of data from the file, regardless of read operations "
9971 "performed in other threads or processes that have file descriptors referring "
9972 "to the same open file description (see B<open>(2))."
9973 msgstr ""
9974 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
9975 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
9976 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
9977 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
9978 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
9979 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
9980 "作の影響を受けることはない。"
9981
9982 #. type: SS
9983 #: build/C/man2/readv.2:144
9984 #, no-wrap
9985 msgid "preadv() and pwritev()"
9986 msgstr "preadv() と pwritev()"
9987
9988 #. type: Plain text
9989 #: build/C/man2/readv.2:157
9990 msgid ""
9991 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
9992 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
9993 "argument, I<offset>, which specifies the file offset at which the input "
9994 "operation is to be performed."
9995 msgstr ""
9996
9997 #. type: Plain text
9998 #: build/C/man2/readv.2:170
9999 msgid ""
10000 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10001 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10002 "argument, I<offset>, which specifies the file offset at which the output "
10003 "operation is to be performed."
10004 msgstr ""
10005
10006 #. type: Plain text
10007 #: build/C/man2/readv.2:175
10008 msgid ""
10009 "The file offset is not changed by these system calls.  The file referred to "
10010 "by I<fd> must be capable of seeking."
10011 msgstr ""
10012
10013 #. type: Plain text
10014 #: build/C/man2/readv.2:186
10015 msgid ""
10016 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10017 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10018 "error, -1 is returned, and I<errno> is set appropriately."
10019 msgstr ""
10020 "成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
10021 "B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
10022 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
10023
10024 #. type: Plain text
10025 #: build/C/man2/readv.2:198
10026 msgid ""
10027 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10028 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10029 "(2).  Additionally, the following error is defined:"
10030 msgstr ""
10031 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
10032 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
10033 "る。\n"
10034 "また、追加で以下のエラーが定義されている:"
10035
10036 #. type: Plain text
10037 #: build/C/man2/readv.2:207
10038 msgid ""
10039 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10040 "vector count I<iovcnt> is less than zero or greater than the permitted "
10041 "maximum."
10042 msgstr ""
10043 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10044 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10045
10046 #. type: Plain text
10047 #: build/C/man2/readv.2:212
10048 msgid ""
10049 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10050 "support was added in glibc 2.10."
10051 msgstr ""
10052
10053 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10054 #.  (Says release.libc.)
10055 #. type: Plain text
10056 #: build/C/man2/readv.2:220
10057 msgid ""
10058 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10059 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10060 "I<iovcnt> argument, and I<int> as the return type."
10061 msgstr ""
10062 "B<readv>(), B<writev>(): \n"
10063 "4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1-2001。 \n"
10064 "Linux libc5 では、 I<iovcnt> 引き数の型として I<size_t> を、\n"
10065 "返り値の型として I<int> を使用していた。"
10066
10067 #. type: Plain text
10068 #: build/C/man2/readv.2:224
10069 msgid ""
10070 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10071 msgstr ""
10072
10073 #. type: SS
10074 #: build/C/man2/readv.2:225
10075 #, no-wrap
10076 msgid "Linux Notes"
10077 msgstr "Linux での注意"
10078
10079 #. type: Plain text
10080 #: build/C/man2/readv.2:256
10081 msgid ""
10082 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10083 "items that can be passed in I<iov>.  An implementation can advertise its "
10084 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10085 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10086 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10087 "glibc wrapper functions do some extra work if they detect that the "
10088 "underlying kernel system call failed because this limit was exceeded.  In "
10089 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10090 "large enough for all of the items specified by I<iov>, passes that buffer in "
10091 "a call to B<read>(2), copies data from the buffer to the locations specified "
10092 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10093 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10094 "using a temporary buffer and a call to B<write>(2)."
10095 msgstr ""
10096 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10097 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10098 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10099 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10100 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10101 "呼ばれるカーネル システムコールがこの上限を超過して失敗したことを検出する"
10102 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10103 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10104 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10105 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10106 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10107 "(2)  を呼び出す。"
10108
10109 #. type: Plain text
10110 #: build/C/man2/readv.2:263
10111 msgid ""
10112 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10113 "operate on file descriptors, with the functions from the stdio library; the "
10114 "results will be undefined and probably not what you want."
10115 msgstr ""
10116 "ファイルディスクリプタに対する操作を行う B<readv>() や B<writev>() と、\n"
10117 "標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。\n"
10118 "どんな結果になるかは定義されておらず、おそらく期待する結果は\n"
10119 "得られないだろう。"
10120
10121 #. type: Plain text
10122 #: build/C/man2/readv.2:266
10123 msgid "The following code sample demonstrates the use of B<writev>():"
10124 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10125
10126 #. type: Plain text
10127 #: build/C/man2/readv.2:273
10128 #, no-wrap
10129 msgid ""
10130 "char *str0 = \"hello \";\n"
10131 "char *str1 = \"world\\en\";\n"
10132 "struct iovec iov[2];\n"
10133 "ssize_t nwritten;\n"
10134 msgstr ""
10135 "char *str0 = \"hello \";\n"
10136 "char *str1 = \"world\\en\";\n"
10137 "struct iovec iov[2];\n"
10138 "ssize_t nwritten;\n"
10139
10140 #. type: Plain text
10141 #: build/C/man2/readv.2:278
10142 #, no-wrap
10143 msgid ""
10144 "iov[0].iov_base = str0;\n"
10145 "iov[0].iov_len = strlen(str0);\n"
10146 "iov[1].iov_base = str1;\n"
10147 "iov[1].iov_len = strlen(str1);\n"
10148 msgstr ""
10149 "iov[0].iov_base = str0;\n"
10150 "iov[0].iov_len = strlen(str0);\n"
10151 "iov[1].iov_base = str1;\n"
10152 "iov[1].iov_len = strlen(str1);\n"
10153
10154 #. type: Plain text
10155 #: build/C/man2/readv.2:280
10156 #, no-wrap
10157 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10158 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10159
10160 #. type: Plain text
10161 #: build/C/man2/readv.2:286
10162 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10163 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
10164
10165 #. type: TH
10166 #: build/C/man3/remove.3:31
10167 #, no-wrap
10168 msgid "REMOVE"
10169 msgstr "REMOVE"
10170
10171 #. type: TH
10172 #: build/C/man3/remove.3:31
10173 #, no-wrap
10174 msgid "2008-12-03"
10175 msgstr "2008-12-03"
10176
10177 #. type: Plain text
10178 #: build/C/man3/remove.3:34
10179 msgid "remove - remove a file or directory"
10180 msgstr "remove - ファイルやディレクトリを削除する"
10181
10182 #. type: Plain text
10183 #: build/C/man3/remove.3:38
10184 msgid "B<int remove(const char *>I<pathname>B<);>"
10185 msgstr "B<int remove(const char *>I<pathname>B<);>"
10186
10187 #. type: Plain text
10188 #: build/C/man3/remove.3:46
10189 msgid ""
10190 "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10191 "for files, and B<rmdir>(2)  for directories."
10192 msgstr ""
10193 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10194 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10195
10196 #. type: Plain text
10197 #: build/C/man3/remove.3:50
10198 msgid ""
10199 "If the removed name was the last link to a file and no processes have the "
10200 "file open, the file is deleted and the space it was using is made available "
10201 "for reuse."
10202 msgstr ""
10203 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10204 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10205 "ことができるようになる。"
10206
10207 #. type: Plain text
10208 #: build/C/man3/remove.3:55
10209 msgid ""
10210 "If the name was the last link to a file, but any processes still have the "
10211 "file open, the file will remain in existence until the last file descriptor "
10212 "referring to it is closed."
10213 msgstr ""
10214 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10215 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10216 "でファイルは存在し続ける。"
10217
10218 #. type: Plain text
10219 #: build/C/man3/remove.3:57
10220 msgid "If the name referred to a symbolic link, the link is removed."
10221 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10222
10223 #. type: Plain text
10224 #: build/C/man3/remove.3:60
10225 msgid ""
10226 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10227 "processes which have the object open may continue to use it."
10228 msgstr ""
10229 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10230 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10231
10232 #. type: Plain text
10233 #: build/C/man3/remove.3:70
10234 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10235 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10236
10237 #. type: Plain text
10238 #: build/C/man3/remove.3:72
10239 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10240 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10241
10242 #. type: Plain text
10243 #: build/C/man3/remove.3:78
10244 msgid ""
10245 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10246 "hence would not remove directories)."
10247 msgstr ""
10248 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10249 "(従ってディレクトリを削除できなかった)。"
10250
10251 #. type: Plain text
10252 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10253 msgid ""
10254 "Infelicities in the protocol underlying NFS can cause the unexpected "
10255 "disappearance of files which are still being used."
10256 msgstr ""
10257 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10258 "うことがありえる。"
10259
10260 #. type: Plain text
10261 #: build/C/man3/remove.3:92
10262 msgid ""
10263 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10264 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10265 msgstr ""
10266 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10267 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10268
10269 #. type: TH
10270 #: build/C/man2/rename.2:32
10271 #, no-wrap
10272 msgid "RENAME"
10273 msgstr "RENAME"
10274
10275 #. type: TH
10276 #: build/C/man2/rename.2:32
10277 #, no-wrap
10278 msgid "2009-03-30"
10279 msgstr "2009-03-30"
10280
10281 #. type: Plain text
10282 #: build/C/man2/rename.2:35
10283 msgid "rename - change the name or location of a file"
10284 msgstr "rename - ファイルの名前や位置を変更する"
10285
10286 #. type: Plain text
10287 #: build/C/man2/rename.2:39
10288 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10289 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10290
10291 #. type: Plain text
10292 #: build/C/man2/rename.2:48
10293 msgid ""
10294 "B<rename>()  renames a file, moving it between directories if required.  Any "
10295 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10296 "Open file descriptors for I<oldpath> are also unaffected."
10297 msgstr ""
10298 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10299 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10300 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10301 "リプタにも影響はない。"
10302
10303 #. type: Plain text
10304 #: build/C/man2/rename.2:56
10305 msgid ""
10306 "If I<newpath> already exists it will be atomically replaced (subject to a "
10307 "few conditions; see ERRORS below), so that there is no point at which "
10308 "another process attempting to access I<newpath> will find it missing."
10309 msgstr ""
10310 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10311 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10312 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10313 "とはない (訳註: 常にアクセス可能である)。"
10314
10315 #. type: Plain text
10316 #: build/C/man2/rename.2:64
10317 msgid ""
10318 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10319 "file, then B<rename>()  does nothing, and returns a success status."
10320 msgstr ""
10321 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10322 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10323
10324 #. type: Plain text
10325 #: build/C/man2/rename.2:72
10326 msgid ""
10327 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10328 "guarantees to leave an instance of I<newpath> in place."
10329 msgstr ""
10330 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10331 "I<newpath> の実体を元のまま残すことを保証する。"
10332
10333 #. type: Plain text
10334 #: build/C/man2/rename.2:78
10335 msgid ""
10336 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10337 "not exist, or it must specify an empty directory."
10338 msgstr ""
10339 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10340 "存在しないか、空のディレクトリでなければならない。"
10341
10342 #. type: Plain text
10343 #: build/C/man2/rename.2:85
10344 msgid ""
10345 "However, when overwriting there will probably be a window in which both "
10346 "I<oldpath> and I<newpath> refer to the file being renamed."
10347 msgstr ""
10348 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10349 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10350
10351 #. type: Plain text
10352 #: build/C/man2/rename.2:91
10353 msgid ""
10354 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10355 "refers to a symbolic link the link will be overwritten."
10356 msgstr ""
10357 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
10358 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
10359 "は、リンクが上書きされる。"
10360
10361 #. type: Plain text
10362 #: build/C/man2/rename.2:116
10363 msgid ""
10364 "Write permission is denied for the directory containing I<oldpath> or "
10365 "I<newpath>, or, search permission is denied for one of the directories in "
10366 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10367 "and does not allow write permission (needed to update the I<..> entry).  "
10368 "(See also B<path_resolution>(7).)"
10369 msgstr ""
10370 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10371 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10372 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10373 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10374
10375 #. type: TP
10376 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10377 #, no-wrap
10378 msgid "B<EBUSY>"
10379 msgstr "B<EBUSY>"
10380
10381 #. type: Plain text
10382 #: build/C/man2/rename.2:133
10383 msgid ""
10384 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10385 "use by some process (perhaps as current working directory, or as root "
10386 "directory, or because it was open for reading) or is in use by the system "
10387 "(for example as mount point), while the system considers this an error.  "
10388 "(Note that there is no requirement to return B<EBUSY> in such cases"
10389 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10390 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10391 "situations.)"
10392 msgstr ""
10393 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10394 "分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのために"
10395 "オープンされているかでろう)  もしくは、システムが使用中 (例えばマウントポイン"
10396 "トである)  であり、システムがこれをエラーであると判断したために rename が失敗"
10397 "した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない点に注"
10398 "意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もな"
10399 "い。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10400 "B<EBUSY> を返すことが許されている。)"
10401
10402 #. type: Plain text
10403 #: build/C/man2/rename.2:140
10404 msgid ""
10405 "The new pathname contained a path prefix of the old, or, more generally, an "
10406 "attempt was made to make a directory a subdirectory of itself."
10407 msgstr ""
10408 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10409 "ディレクトリに 変更しようとした場合がほとんどである。"
10410
10411 #. type: Plain text
10412 #: build/C/man2/rename.2:146
10413 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10414 msgstr ""
10415 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10416 "い。"
10417
10418 #. type: Plain text
10419 #: build/C/man2/rename.2:157
10420 msgid ""
10421 "I<oldpath> already has the maximum number of links to it, or it was a "
10422 "directory and the directory containing I<newpath> has the maximum number of "
10423 "links."
10424 msgstr ""
10425 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10426 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10427
10428 #. type: Plain text
10429 #: build/C/man2/rename.2:173
10430 msgid ""
10431 "The link named by I<oldpath> does not exist; or, a directory component in "
10432 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10433 msgstr ""
10434 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10435 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10436
10437 #. type: Plain text
10438 #: build/C/man2/rename.2:190
10439 msgid ""
10440 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10441 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10442 "not a directory."
10443 msgstr ""
10444 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10445 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10446 "トリでない。"
10447
10448 #. type: TP
10449 #: build/C/man2/rename.2:190
10450 #, no-wrap
10451 msgid "B<ENOTEMPTY> or B<EEXIST>"
10452 msgstr "B<ENOTEMPTY  または  EEXIST>"
10453
10454 #. type: Plain text
10455 #: build/C/man2/rename.2:194
10456 msgid ""
10457 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10458 "\" and \"..\"."
10459 msgstr ""
10460 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10461 "でいる。"
10462
10463 #. type: TP
10464 #: build/C/man2/rename.2:194 build/C/man2/unlink.2:126
10465 #, no-wrap
10466 msgid "B<EPERM> or B<EACCES>"
10467 msgstr "B<EPERM> または B<EACCES>"
10468
10469 #. type: Plain text
10470 #: build/C/man2/rename.2:218
10471 msgid ""
10472 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
10473 "the process's effective user ID is neither the user ID of the file to be "
10474 "deleted nor that of the directory containing it, and the process is not "
10475 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
10476 "I<newpath> is an existing file and the directory containing it has the "
10477 "sticky bit set and the process's effective user ID is neither the user ID of "
10478 "the file to be replaced nor that of the directory containing it, and the "
10479 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
10480 "capability); or the file system containing I<pathname> does not support "
10481 "renaming of the type requested."
10482 msgstr ""
10483 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
10484 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
10485 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
10486 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
10487 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
10488 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
10489 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
10490 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
10491 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
10492 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
10493
10494 #. type: Plain text
10495 #: build/C/man2/rename.2:229
10496 msgid ""
10497 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
10498 "permits a file system to be mounted at multiple points, but B<rename>()  "
10499 "does not work across different mount points, even if the same file system is "
10500 "mounted on both.)"
10501 msgstr ""
10502 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
10503 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
10504 "している。 しかし B<rename>()  は、たとえ同じファイルシステムであっても、 "
10505 "別々のマウント位置を跨いでは動作しない。)"
10506
10507 #. type: Plain text
10508 #: build/C/man2/rename.2:231
10509 msgid "4.3BSD, C89, C99, POSIX.1-2001."
10510 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
10511
10512 #. type: Plain text
10513 #: build/C/man2/rename.2:242
10514 msgid ""
10515 "On NFS file systems, you can not assume that if the operation failed the "
10516 "file was not renamed.  If the server does the rename operation and then "
10517 "crashes, the retransmitted RPC which will be processed when the server is up "
10518 "again causes a failure.  The application is expected to deal with this.  See "
10519 "B<link>(2)  for a similar problem."
10520 msgstr ""
10521 "NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更で"
10522 "きなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
10523 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
10524 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
10525 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
10526
10527 #. type: Plain text
10528 #: build/C/man2/rename.2:251
10529 msgid ""
10530 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10531 "(2), B<path_resolution>(7), B<symlink>(7)"
10532 msgstr ""
10533 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10534 "(2), B<path_resolution>(7), B<symlink>(7)"
10535
10536 #. type: TH
10537 #: build/C/man2/rmdir.2:30
10538 #, no-wrap
10539 msgid "RMDIR"
10540 msgstr "RMDIR"
10541
10542 #. type: TH
10543 #: build/C/man2/rmdir.2:30
10544 #, no-wrap
10545 msgid "2008-05-08"
10546 msgstr "2008-05-08"
10547
10548 #. type: Plain text
10549 #: build/C/man2/rmdir.2:33
10550 msgid "rmdir - delete a directory"
10551 msgstr "rmdir - ディレクトリを削除する"
10552
10553 #. type: Plain text
10554 #: build/C/man2/rmdir.2:37
10555 msgid "B<int rmdir(const char *>I<pathname>B<);>"
10556 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
10557
10558 #. type: Plain text
10559 #: build/C/man2/rmdir.2:40
10560 msgid "B<rmdir>()  deletes a directory, which must be empty."
10561 msgstr ""
10562 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
10563 "ない。"
10564
10565 #. type: Plain text
10566 #: build/C/man2/rmdir.2:55
10567 msgid ""
10568 "Write access to the directory containing I<pathname> was not allowed, or one "
10569 "of the directories in the path prefix of I<pathname> did not allow search "
10570 "permission.  (See also B<path_resolution>(7)."
10571 msgstr ""
10572 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
10573 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
10574 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
10575 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
10576 "と)"
10577
10578 #. type: Plain text
10579 #: build/C/man2/rmdir.2:64
10580 msgid ""
10581 "I<pathname> is currently in use by the system or some process that prevents "
10582 "its removal.  On Linux this means I<pathname> is currently used as a mount "
10583 "point or is the root directory of the calling process."
10584 msgstr ""
10585 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
10586 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
10587 "たプロセスのルートディレクトリであることを意味する。"
10588
10589 #. type: Plain text
10590 #: build/C/man2/rmdir.2:73
10591 msgid "I<pathname> has I<.> as last component."
10592 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
10593
10594 #. type: Plain text
10595 #: build/C/man2/rmdir.2:77
10596 msgid "Too many symbolic links were encountered in resolving I<pathname>."
10597 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
10598
10599 #. type: Plain text
10600 #: build/C/man2/rmdir.2:85
10601 msgid ""
10602 "A directory component in I<pathname> does not exist or is a dangling "
10603 "symbolic link."
10604 msgstr ""
10605 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
10606 "リックリンク (symbolic link) である。"
10607
10608 #. type: Plain text
10609 #: build/C/man2/rmdir.2:94
10610 msgid ""
10611 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
10612 "fact, a directory."
10613 msgstr ""
10614 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
10615 "クトリでない。"
10616
10617 #. type: TP
10618 #: build/C/man2/rmdir.2:94
10619 #, no-wrap
10620 msgid "B<ENOTEMPTY>"
10621 msgstr "B<ENOTEMPTY>"
10622
10623 #. type: Plain text
10624 #: build/C/man2/rmdir.2:107
10625 msgid ""
10626 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
10627 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
10628 "condition."
10629 msgstr ""
10630 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
10631 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
10632 "で B<EEXIST> を返すことを認めている。"
10633
10634 #. type: Plain text
10635 #: build/C/man2/rmdir.2:118
10636 msgid ""
10637 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
10638 "and the process's effective user ID is neither the user ID of the file to be "
10639 "deleted nor that of the directory containing it, and the process is not "
10640 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
10641 msgstr ""
10642 "I<pathname> を含んでいるディレクトリにスティッキービット(sticky-bit)  "
10643 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
10644 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
10645 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
10646
10647 #. type: Plain text
10648 #: build/C/man2/rmdir.2:123
10649 msgid ""
10650 "The file system containing I<pathname> does not support the removal of "
10651 "directories."
10652 msgstr ""
10653 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
10654 "ない。"
10655
10656 #. type: Plain text
10657 #: build/C/man2/rmdir.2:127
10658 msgid "I<pathname> refers to a directory on a read-only file system."
10659 msgstr ""
10660 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
10661
10662 #. type: Plain text
10663 #: build/C/man2/rmdir.2:132
10664 msgid ""
10665 "Infelicities in the protocol underlying NFS can cause the unexpected "
10666 "disappearance of directories which are still being used."
10667 msgstr ""
10668 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
10669 "する現象が引き起こされることがある。"
10670
10671 #. type: Plain text
10672 #: build/C/man2/rmdir.2:141
10673 msgid ""
10674 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10675 "B<unlink>(2), B<unlinkat>(2)"
10676 msgstr ""
10677 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10678 "B<unlink>(2), B<unlinkat>(2)"
10679
10680 #. type: TH
10681 #: build/C/man3/scanf.3:50
10682 #, no-wrap
10683 msgid "SCANF"
10684 msgstr "SCANF"
10685
10686 #. type: Plain text
10687 #: build/C/man3/scanf.3:53
10688 msgid ""
10689 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
10690 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
10691
10692 #. type: Plain text
10693 #: build/C/man3/scanf.3:60
10694 #, no-wrap
10695 msgid ""
10696 "B<int scanf(const char *>I<format>B<, ...);>\n"
10697 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10698 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10699 msgstr ""
10700 "B<int scanf(const char *>I<format>B<, ...);>\n"
10701 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10702 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10703
10704 #. type: Plain text
10705 #: build/C/man3/scanf.3:62
10706 #, no-wrap
10707 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
10708 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
10709
10710 #. type: Plain text
10711 #: build/C/man3/scanf.3:66
10712 #, no-wrap
10713 msgid ""
10714 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10715 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10716 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10717 msgstr ""
10718 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10719 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10720 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10721
10722 #. type: Plain text
10723 #: build/C/man3/scanf.3:77
10724 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10725 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10726
10727 #. type: Plain text
10728 #: build/C/man3/scanf.3:80
10729 msgid ""
10730 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10731 "200112L;"
10732 msgstr ""
10733 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10734 "200112L;"
10735
10736 #. type: Plain text
10737 #: build/C/man3/scanf.3:102
10738 msgid ""
10739 "The B<scanf>()  family of functions scans input according to I<format> as "
10740 "described below.  This format may contain I<conversion specifications>; the "
10741 "results from such conversions, if any, are stored in the locations pointed "
10742 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
10743 "argument must be of a type that is appropriate for the value returned by the "
10744 "corresponding conversion specification."
10745 msgstr ""
10746 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
10747 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
10748 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
10749 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
10750 "は、対応する変換指定が返す値に 適合していなければならない。"
10751
10752 #. type: Plain text
10753 #: build/C/man3/scanf.3:113
10754 msgid ""
10755 "If the number of conversion specifications in I<format> exceeds the number "
10756 "of I<pointer> arguments, the results are undefined.  If the number of "
10757 "I<pointer> arguments exceeds the number of conversion specifications, then "
10758 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
10759 msgstr ""
10760 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
10761 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
10762 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
10763
10764 #. type: Plain text
10765 #: build/C/man3/scanf.3:125
10766 msgid ""
10767 "The B<scanf>()  function reads input from the standard input stream "
10768 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
10769 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
10770 msgstr ""
10771 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
10772 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
10773 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
10774
10775 #. type: Plain text
10776 #: build/C/man3/scanf.3:143
10777 msgid ""
10778 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
10779 "from the stream pointer I<stream> using a variable argument list of pointers "
10780 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
10781 "from the standard input and the B<vsscanf>()  function scans it from a "
10782 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
10783 "functions respectively."
10784 msgstr ""
10785 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
10786 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
10787 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
10788 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
10789 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
10790
10791 #. type: Plain text
10792 #: build/C/man3/scanf.3:157
10793 msgid ""
10794 "The I<format> string consists of a sequence of I<directives> which describe "
10795 "how to process the sequence of input characters.  If processing of a "
10796 "directive fails, no further input is read, and B<scanf>()  returns.  A "
10797 "\"failure\" can be either of the following: I<input failure>, meaning that "
10798 "input characters were unavailable, or I<matching failure>, meaning that the "
10799 "input was inappropriate (see below)."
10800 msgstr ""
10801 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
10802 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
10803 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
10804 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
10805 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
10806 "であったこと (下記参照) を意味する。"
10807
10808 #. type: Plain text
10809 #: build/C/man3/scanf.3:159
10810 msgid "A directive is one of the following:"
10811 msgstr "命令は以下のいずれかである:"
10812
10813 #. type: TP
10814 #: build/C/man3/scanf.3:159 build/C/man3/scanf.3:165 build/C/man3/scanf.3:169
10815 #: build/C/man3/scanf.3:188 build/C/man3/scanf.3:199 build/C/man3/scanf.3:217
10816 #: build/C/man3/scanf.3:229 build/C/man3/scanf.3:243
10817 #, no-wrap
10818 msgid "\\(bu"
10819 msgstr "\\(bu"
10820
10821 #. type: Plain text
10822 #: build/C/man3/scanf.3:165
10823 msgid ""
10824 "A sequence of white-space characters (space, tab, newline, etc.; see "
10825 "B<isspace>(3)).  This directive matches any amount of white space, including "
10826 "none, in the input."
10827 msgstr ""
10828 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
10829 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
10830 "致する)。"
10831
10832 #. type: Plain text
10833 #: build/C/man3/scanf.3:169
10834 msgid ""
10835 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
10836 "This character must exactly match the next character of input."
10837 msgstr ""
10838 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
10839 "の次の文字に正確に一致しなければならない。"
10840
10841 #. type: Plain text
10842 #: build/C/man3/scanf.3:180
10843 msgid ""
10844 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
10845 "character.  A sequence of characters from the input is converted according "
10846 "to this specification, and the result is placed in the corresponding "
10847 "I<pointer> argument.  If the next item of input does not match the "
10848 "conversion specification, the conversion fails\\(emthis is a I<matching "
10849 "failure>."
10850 msgstr ""
10851 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
10852 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
10853 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
10854 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
10855
10856 #. type: Plain text
10857 #: build/C/man3/scanf.3:188
10858 msgid ""
10859 "Each I<conversion specification> in I<format> begins with either the "
10860 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
10861 "for the distinction) followed by:"
10862 msgstr ""
10863 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
10864 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
10865
10866 #. type: Plain text
10867 #: build/C/man3/scanf.3:199
10868 msgid ""
10869 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
10870 "input as directed by the conversion specification, but discards the input.  "
10871 "No corresponding I<pointer> argument is required, and this specification is "
10872 "not included in the count of successful assignments returned by B<scanf>()."
10873 msgstr ""
10874 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
10875 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
10876 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
10877
10878 #. type: Plain text
10879 #: build/C/man3/scanf.3:217
10880 msgid ""
10881 "An optional \\(aqa\\(aq character.  This is used with string conversions, "
10882 "and relieves the caller of the need to allocate a corresponding buffer to "
10883 "hold the input: instead, B<scanf>()  allocates a buffer of sufficient size, "
10884 "and assigns the address of this buffer to the corresponding I<pointer> "
10885 "argument, which should be a pointer to a I<char *> variable (this variable "
10886 "does not need to be initialized before the call).  The caller should "
10887 "subsequently B<free>(3)  this buffer when it is no longer required.  This is "
10888 "a GNU extension; C99 employs the \\(aqa\\(aq character as a conversion "
10889 "specifier (and it can also be used as such in the GNU implementation)."
10890 msgstr ""
10891 "文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
10892 "呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
10893 "に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
10894 "応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
10895 "のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
10896 "い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
10897 "る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
10898 "使用している (こちらも GNU の実装と同じように使用することができる)。"
10899
10900 #. type: Plain text
10901 #: build/C/man3/scanf.3:229
10902 msgid ""
10903 "An optional decimal integer which specifies the I<maximum field width>.  "
10904 "Reading of characters stops either when this maximum is reached or when a "
10905 "nonmatching character is found, whichever happens first.  Most conversions "
10906 "discard initial white space characters (the exceptions are noted below), and "
10907 "these discarded characters don't count toward the maximum field width.  "
10908 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
10909 "mark the end of the input; the maximum field width does not include this "
10910 "terminator."
10911 msgstr ""
10912 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
10913 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
10914 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
10915 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
10916 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
10917 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
10918
10919 #. type: Plain text
10920 #: build/C/man3/scanf.3:243
10921 msgid ""
10922 "An optional I<type modifier character>.  For example, the B<l> type modifier "
10923 "is used with integer conversions such as B<%d> to specify that the "
10924 "corresponding I<pointer> argument refers to a I<long int> rather than a "
10925 "pointer to an I<int>."
10926 msgstr ""
10927 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
10928 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
10929 "I<int> ではなく I<long int> を参照していることを指定できる。"
10930
10931 #. type: Plain text
10932 #: build/C/man3/scanf.3:248
10933 msgid ""
10934 "A I<conversion specifier> that specifies the type of input conversion to be "
10935 "performed."
10936 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
10937
10938 #. type: Plain text
10939 #: build/C/man3/scanf.3:277
10940 msgid ""
10941 "The conversion specifications in I<format> are of two forms, either "
10942 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
10943 "forms should not be mixed in the same I<format> string, except that a string "
10944 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
10945 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
10946 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
10947 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
10948 "specifies that the converted input should be placed in the location referred "
10949 "to by the I<n>-th I<pointer> argument following I<format>."
10950 msgstr ""
10951 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
10952 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
10953 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
10954 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
10955 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
10956 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
10957 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
10958 "I<pointer> 引き数が参照する場所に格納することを指定する。"
10959
10960 #. type: SS
10961 #: build/C/man3/scanf.3:277
10962 #, no-wrap
10963 msgid "Conversions"
10964 msgstr "変換"
10965
10966 #. type: Plain text
10967 #: build/C/man3/scanf.3:281
10968 msgid ""
10969 "The following I<type modifier characters> can appear in a conversion "
10970 "specification:"
10971 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
10972
10973 #. type: Plain text
10974 #: build/C/man3/scanf.3:291
10975 msgid ""
10976 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
10977 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
10978 "I<unsigned short int> (rather than I<int>)."
10979 msgstr ""
10980 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
10981 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
10982 "あることを示す。"
10983
10984 #. type: Plain text
10985 #: build/C/man3/scanf.3:299
10986 msgid ""
10987 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
10988 "I<unsigned char>."
10989 msgstr ""
10990 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
10991 "タであることを示す。"
10992
10993 #. type: Plain text
10994 #: build/C/man3/scanf.3:308
10995 msgid ""
10996 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
10997 "I<uintmax_t>.  This modifier was introduced in C99."
10998 msgstr ""
10999 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11000 "ることを示す。 この修飾子は C99 で導入された。"
11001
11002 #.  This use of l was introduced in Amendment 1 to ISO C90.
11003 #. type: Plain text
11004 #: build/C/man3/scanf.3:335
11005 msgid ""
11006 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11007 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11008 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11009 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11010 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11011 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11012 "as a pointer to a wide character or wide-character string respectively."
11013 msgstr ""
11014 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11015 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11016 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11017 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11018 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11019 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11020 "ンタであると みなされる。"
11021
11022 #.  MTK, Jul 05: The following is no longer true for modern
11023 #.  ANSI C (i.e., C99):
11024 #.  (Note that long long is not an
11025 #.  ANSI C
11026 #.  type. Any program using this will not be portable to all
11027 #.  architectures).
11028 #. type: Plain text
11029 #: build/C/man3/scanf.3:351
11030 msgid ""
11031 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11032 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11033 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11034 msgstr ""
11035 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11036 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11037 "I<long long> へのポインタであることのいずれかであることを示す。"
11038
11039 #. type: Plain text
11040 #: build/C/man3/scanf.3:356
11041 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11042 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11043
11044 #. type: Plain text
11045 #: build/C/man3/scanf.3:363
11046 msgid ""
11047 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11048 "modifier was introduced in C99."
11049 msgstr ""
11050 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11051 "この修飾子は C99 で導入された。"
11052
11053 #. type: Plain text
11054 #: build/C/man3/scanf.3:370
11055 msgid ""
11056 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11057 "modifier was introduced in C99."
11058 msgstr ""
11059 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11060 "修飾子は C99 で導入された。"
11061
11062 #. type: Plain text
11063 #: build/C/man3/scanf.3:374
11064 msgid "The following I<conversion specifiers> are available:"
11065 msgstr "以下の I<「変換指定子」> が利用可能である。"
11066
11067 #. type: Plain text
11068 #: build/C/man3/scanf.3:383
11069 msgid ""
11070 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11071 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11072 "initial white space characters are discarded), and assignment does not occur."
11073 msgstr ""
11074 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11075 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11076 "る)、 変数への代入は生じない。"
11077
11078 #. type: TP
11079 #: build/C/man3/scanf.3:383
11080 #, no-wrap
11081 msgid "B<d>"
11082 msgstr "B<d>"
11083
11084 #. type: Plain text
11085 #: build/C/man3/scanf.3:388
11086 msgid ""
11087 "Matches an optionally signed decimal integer; the next pointer must be a "
11088 "pointer to I<int>."
11089 msgstr ""
11090 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11091 "ばならない。"
11092
11093 #. type: TP
11094 #: build/C/man3/scanf.3:388
11095 #, no-wrap
11096 msgid "B<D>"
11097 msgstr "B<D>"
11098
11099 #. type: Plain text
11100 #: build/C/man3/scanf.3:397
11101 msgid ""
11102 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11103 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11104 "causing old programs to fail mysteriously.)"
11105 msgstr ""
11106 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11107 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11108 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11109
11110 #. type: TP
11111 #: build/C/man3/scanf.3:397
11112 #, no-wrap
11113 msgid "B<i>"
11114 msgstr "B<i>"
11115
11116 #. type: Plain text
11117 #: build/C/man3/scanf.3:409
11118 msgid ""
11119 "Matches an optionally signed integer; the next pointer must be a pointer to "
11120 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11121 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11122 "that correspond to the base are used."
11123 msgstr ""
11124 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11125 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11126 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11127 "される文字は、これらの基数に対応しているものだけである。"
11128
11129 #. type: TP
11130 #: build/C/man3/scanf.3:409
11131 #, no-wrap
11132 msgid "B<o>"
11133 msgstr "B<o>"
11134
11135 #. type: Plain text
11136 #: build/C/man3/scanf.3:413
11137 msgid ""
11138 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11139 "I<unsigned int>."
11140 msgstr ""
11141 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11142 "らない。"
11143
11144 #. type: TP
11145 #: build/C/man3/scanf.3:413
11146 #, no-wrap
11147 msgid "B<u>"
11148 msgstr "B<u>"
11149
11150 #. type: Plain text
11151 #: build/C/man3/scanf.3:418
11152 msgid ""
11153 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11154 "I<unsigned int>."
11155 msgstr ""
11156 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11157 "でなければならない。"
11158
11159 #. type: Plain text
11160 #: build/C/man3/scanf.3:423
11161 msgid ""
11162 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11163 "to I<unsigned int>."
11164 msgstr ""
11165 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11166 "タでなければならない。"
11167
11168 #. type: TP
11169 #: build/C/man3/scanf.3:423
11170 #, no-wrap
11171 msgid "B<X>"
11172 msgstr "B<X>"
11173
11174 #. type: Plain text
11175 #: build/C/man3/scanf.3:427
11176 msgid "Equivalent to B<x>."
11177 msgstr "B<x> と同一である。"
11178
11179 #. type: TP
11180 #: build/C/man3/scanf.3:427
11181 #, no-wrap
11182 msgid "B<f>"
11183 msgstr "B<f>"
11184
11185 #. type: Plain text
11186 #: build/C/man3/scanf.3:432
11187 msgid ""
11188 "Matches an optionally signed floating-point number; the next pointer must be "
11189 "a pointer to I<float>."
11190 msgstr ""
11191 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11192 "ればならない。"
11193
11194 #. type: TP
11195 #: build/C/man3/scanf.3:432
11196 #, no-wrap
11197 msgid "B<e>"
11198 msgstr "B<e>"
11199
11200 #. type: Plain text
11201 #: build/C/man3/scanf.3:436 build/C/man3/scanf.3:440 build/C/man3/scanf.3:444
11202 msgid "Equivalent to B<f>."
11203 msgstr "B<f> と同一である。"
11204
11205 #. type: TP
11206 #: build/C/man3/scanf.3:436
11207 #, no-wrap
11208 msgid "B<g>"
11209 msgstr "B<g>"
11210
11211 #. type: TP
11212 #: build/C/man3/scanf.3:440
11213 #, no-wrap
11214 msgid "B<E>"
11215 msgstr "B<E>"
11216
11217 #. type: Plain text
11218 #: build/C/man3/scanf.3:448
11219 msgid "(C99) Equivalent to B<f>."
11220 msgstr "(C99)  B<f> と同一である。"
11221
11222 #. type: Plain text
11223 #: build/C/man3/scanf.3:456
11224 msgid ""
11225 "Matches a sequence of non-white-space characters; the next pointer must be a "
11226 "pointer to character array that is long enough to hold the input sequence "
11227 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11228 "automatically.  The input string stops at white space or at the maximum "
11229 "field width, whichever occurs first."
11230 msgstr ""
11231 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11232 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11233 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11234 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11235 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11236
11237 #. type: Plain text
11238 #: build/C/man3/scanf.3:467
11239 msgid ""
11240 "Matches a sequence of characters whose length is specified by the I<maximum "
11241 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11242 "there must be enough room for all the characters (no terminating null byte "
11243 "is added).  The usual skip of leading white space is suppressed.  To skip "
11244 "white space first, use an explicit space in the format."
11245 msgstr ""
11246 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11247 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11248 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11249 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11250 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11251
11252 #. type: TP
11253 #: build/C/man3/scanf.3:467
11254 #, no-wrap
11255 msgid "B<\\&[>"
11256 msgstr "B<\\&[>"
11257
11258 #. type: Plain text
11259 #: build/C/man3/scanf.3:500
11260 msgid ""
11261 "Matches a nonempty sequence of characters from the specified set of accepted "
11262 "characters; the next pointer must be a pointer to I<char>, and there must be "
11263 "enough room for all the characters in the string, plus a terminating null "
11264 "byte.  The usual skip of leading white space is suppressed.  The string is "
11265 "to be made up of characters in (or not in) a particular set; the set is "
11266 "defined by the characters between the open bracket B<[> character and a "
11267 "close bracket B<]> character.  The set I<excludes> those characters if the "
11268 "first character after the open bracket is a circumflex (B<^>).  To include a "
11269 "close bracket in the set, make it the first character after the open bracket "
11270 "or the circumflex; any other position will end the set.  The hyphen "
11271 "character B<-> is also special; when placed between two other characters, it "
11272 "adds all intervening characters to the set.  To include a hyphen, make it "
11273 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11274 "> means the set \"everything except close bracket, zero through nine, and "
11275 "hyphen\".  The string ends with the appearance of a character not in the "
11276 "(or, with a circumflex, in) set or when the field width runs out."
11277 msgstr ""
11278 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11279 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11280 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11281 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11282 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11283 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11284 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11285 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11286 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11287 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11288 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11289 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11290 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11291 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11292 "文字の 出現または確保された領域が使い切られた時に終了する。"
11293
11294 #. type: Plain text
11295 #: build/C/man3/scanf.3:508
11296 msgid ""
11297 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11298 "pointer must be a pointer to a pointer to I<void>."
11299 msgstr ""
11300 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11301 "タは I<void> へのポインタへのポインタでなければならない。"
11302
11303 #. type: Plain text
11304 #: build/C/man3/scanf.3:528
11305 msgid ""
11306 "Nothing is expected; instead, the number of characters consumed thus far "
11307 "from the input is stored through the next pointer, which must be a pointer "
11308 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11309 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11310 "of a B<%n> directive does not increment the assignment count returned at the "
11311 "completion of execution\" but the Corrigendum seems to contradict this.  "
11312 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11313 "conversions on the return value."
11314 msgstr ""
11315 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11316 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11317 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11318 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11319 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11320 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11321 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11322
11323 #. type: Plain text
11324 #: build/C/man3/scanf.3:533
11325 msgid ""
11326 "These functions return the number of input items successfully matched and "
11327 "assigned, which can be fewer than provided for, or even zero in the event of "
11328 "an early matching failure."
11329 msgstr ""
11330 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11331 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11332 "ることもある。"
11333
11334 #. type: Plain text
11335 #: build/C/man3/scanf.3:545
11336 msgid ""
11337 "The value B<EOF> is returned if the end of input is reached before either "
11338 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11339 "also returned if a read error occurs, in which case the error indicator for "
11340 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11341 "error."
11342 msgstr ""
11343 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11344 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11345 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11346 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11347
11348 #. type: Plain text
11349 #: build/C/man3/scanf.3:551
11350 msgid ""
11351 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11352 "operation would block."
11353 msgstr ""
11354 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11355 "込み操作は停止 (block) することになる。"
11356
11357 #. type: Plain text
11358 #: build/C/man3/scanf.3:556
11359 msgid ""
11360 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11361 msgstr ""
11362 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11363 "ンされていない。"
11364
11365 #. type: Plain text
11366 #: build/C/man3/scanf.3:559
11367 msgid "Input byte sequence does not form a valid character."
11368 msgstr "入力されたバイト列が有効な文字を構成していない。"
11369
11370 #. type: Plain text
11371 #: build/C/man3/scanf.3:563
11372 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11373 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11374
11375 #. type: Plain text
11376 #: build/C/man3/scanf.3:568
11377 msgid "Not enough arguments; or I<format> is NULL."
11378 msgstr "引き数が十分でない。または I<format> が NULL である。"
11379
11380 #. type: Plain text
11381 #: build/C/man3/scanf.3:571
11382 msgid "Out of memory."
11383 msgstr "メモリ不足。"
11384
11385 #. type: TP
11386 #: build/C/man3/scanf.3:571
11387 #, no-wrap
11388 msgid "B<ERANGE>"
11389 msgstr "B<ERANGE>"
11390
11391 #. type: Plain text
11392 #: build/C/man3/scanf.3:575
11393 msgid ""
11394 "The result of an integer conversion would exceed the size that can be stored "
11395 "in the corresponding integer type."
11396 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11397
11398 #. type: Plain text
11399 #: build/C/man3/scanf.3:585
11400 msgid ""
11401 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11402 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11403 msgstr ""
11404 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11405 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11406
11407 #. type: Plain text
11408 #: build/C/man3/scanf.3:595
11409 msgid ""
11410 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11411 "the usage of B<L> in integer conversions is the GNU notation."
11412 msgstr ""
11413 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11414 "B<ll> または B<L> の使用は GNU での拡張である。"
11415
11416 #. type: Plain text
11417 #: build/C/man3/scanf.3:606
11418 msgid ""
11419 "The Linux version of these functions is based on the I<GNU> I<libio> "
11420 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11421 "(glibc-1.08)> for a more concise description."
11422 msgstr ""
11423 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11424 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11425
11426 #.  This feature seems to be present at least as far back as glibc 2.0.
11427 #. type: Plain text
11428 #: build/C/man3/scanf.3:624
11429 msgid ""
11430 "The GNU C library supports a nonstandard extension that causes the library "
11431 "to dynamically allocate a string of sufficient size for input strings for "
11432 "the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To make use of this "
11433 "feature, specify B<a> as a length modifier (thus B<%as> or B<%a[>I<range>B<]"
11434 ">).  The caller must B<free>(3)  the returned string, as in the following "
11435 "example:"
11436 msgstr ""
11437 "GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
11438 "ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
11439 "分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
11440 "るには、長さ修飾子として B<a> を指定する (したがって、全体としては B<%as> や "
11441 "B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
11442 "を B<free>(3)  しなければならない。"
11443
11444 #. type: Plain text
11445 #: build/C/man3/scanf.3:629
11446 #, no-wrap
11447 msgid ""
11448 "char *p;\n"
11449 "int n;\n"
11450 msgstr ""
11451 "char *p;\n"
11452 "int n;\n"
11453
11454 #. type: Plain text
11455 #: build/C/man3/scanf.3:640
11456 #, no-wrap
11457 msgid ""
11458 "errno = 0;\n"
11459 "n = scanf(\"%a[a-z]\", &p);\n"
11460 "if (n == 1) {\n"
11461 "    printf(\"read: %s\\en\", p);\n"
11462 "    free(p);\n"
11463 "} else if (errno != 0) {\n"
11464 "    perror(\"scanf\");\n"
11465 "} else {\n"
11466 "    fprintf(stderr, \"No matching characters\\en\");\n"
11467 "}\n"
11468 msgstr ""
11469 "errno = 0;\n"
11470 "n = scanf(\"%a[a-z]\", &p);\n"
11471 "if (n == 1) {\n"
11472 "    printf(\"read: %s\\en\", p);\n"
11473 "    free(p);\n"
11474 "} else if (errno != 0) {\n"
11475 "    perror(\"scanf\");\n"
11476 "} else {\n"
11477 "    fprintf(stderr, \"No matching characters\\en\");\n"
11478 "}\n"
11479
11480 #. type: Plain text
11481 #: build/C/man3/scanf.3:648
11482 msgid ""
11483 "As shown in the above example, it is only necessary to call B<free>(3)  if "
11484 "the B<scanf>()  call successfully read a string."
11485 msgstr ""
11486 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
11487 "B<free>(3)  を呼び出す必要がある。"
11488
11489 #. type: Plain text
11490 #: build/C/man3/scanf.3:660
11491 msgid ""
11492 "The B<a> modifier is not available if the program is compiled with I<gcc -"
11493 "std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
11494 "specified), in which case the B<a> is interpreted as a specifier for "
11495 "floating-point numbers (see above)."
11496 msgstr ""
11497 "I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプログラムでは "
11498 "(B<_GNU_SOURCE> も同時に指定していない場合)、 B<a> 修飾子は利用できない。 上"
11499 "記の場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
11500
11501 #. type: Plain text
11502 #: build/C/man3/scanf.3:669
11503 msgid ""
11504 "Since version 2.7, glibc also provides the B<m> modifier for the same "
11505 "purpose as the B<a> modifier.  The B<m> modifier has the following "
11506 "advantages:"
11507 msgstr ""
11508 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
11509 "ている。 B<m> 修飾子は以下の利点がある。"
11510
11511 #. type: Plain text
11512 #: build/C/man3/scanf.3:674
11513 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
11514 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
11515
11516 #. type: Plain text
11517 #: build/C/man3/scanf.3:680
11518 msgid ""
11519 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
11520 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
11521 msgstr ""
11522 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
11523 "std=c99> などの影響も避けられる)。"
11524
11525 #. type: Plain text
11526 #: build/C/man3/scanf.3:682
11527 msgid "It is specified in the upcoming revision of the POSIX.1 standard."
11528 msgstr "POSIX.1 標準の次の改訂版で規定される。"
11529
11530 #. type: Plain text
11531 #: build/C/man3/scanf.3:695
11532 msgid ""
11533 "All functions are fully C89 conformant, but provide the additional "
11534 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
11535 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
11536 "the behavior of specifiers defined in C89."
11537 msgstr ""
11538 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
11539 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
11540 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
11541 "れない。"
11542
11543 #. type: Plain text
11544 #: build/C/man3/scanf.3:711
11545 msgid ""
11546 "Some combinations of the type modifiers and conversion specifiers defined by "
11547 "ANSI C do not make sense (e.g.  B<%Ld>).  While they may have a well-defined "
11548 "behavior on Linux, this need not to be so on other architectures.  Therefore "
11549 "it usually is better to use modifiers that are not defined by ANSI C at all, "
11550 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
11551 "B<u>, B<x>, and B<X> conversions or B<ll>."
11552 msgstr ""
11553 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味をなさないも"
11554 "のがある (例えば、 B<%Ld>)。 これらが指定された場合、 Linux 上でははっきりと"
11555 "定義された振る舞いをするかもしれないが、 他のアーキテクチャでも同様になってい"
11556 "るとは限らない。 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子"
11557 "を使用した方が良い。 すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や "
11558 "B<ll> と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
11559
11560 #. type: Plain text
11561 #: build/C/man3/scanf.3:717
11562 msgid ""
11563 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
11564 "conversions equivalently to B<L>."
11565 msgstr ""
11566 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
11567 "動小数の変換に使用される。"
11568
11569 #. type: Plain text
11570 #: build/C/man3/scanf.3:724
11571 msgid ""
11572 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11573 "B<strtoul>(3)"
11574 msgstr ""
11575 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11576 "B<strtoul>(3),"
11577
11578 #. type: TH
11579 #: build/C/man3/setbuf.3:46
11580 #, no-wrap
11581 msgid "SETBUF"
11582 msgstr "SETBUF"
11583
11584 #. type: TH
11585 #: build/C/man3/setbuf.3:46
11586 #, no-wrap
11587 msgid "2008-06-26"
11588 msgstr "2008-06-26"
11589
11590 #. type: Plain text
11591 #: build/C/man3/setbuf.3:49
11592 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
11593 msgstr ""
11594 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
11595
11596 #. type: Plain text
11597 #: build/C/man3/setbuf.3:54
11598 #, no-wrap
11599 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11600 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11601
11602 #. type: Plain text
11603 #: build/C/man3/setbuf.3:56
11604 #, no-wrap
11605 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11606 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11607
11608 #. type: Plain text
11609 #: build/C/man3/setbuf.3:58
11610 #, no-wrap
11611 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11612 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11613
11614 #. type: Plain text
11615 #: build/C/man3/setbuf.3:61
11616 #, no-wrap
11617 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11618 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11619
11620 #. type: Plain text
11621 #: build/C/man3/setbuf.3:71
11622 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11623 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11624
11625 #. type: Plain text
11626 #: build/C/man3/setbuf.3:94
11627 msgid ""
11628 "The three types of buffering available are unbuffered, block buffered, and "
11629 "line buffered.  When an output stream is unbuffered, information appears on "
11630 "the destination file or terminal as soon as written; when it is block "
11631 "buffered many characters are saved up and written as a block; when it is "
11632 "line buffered characters are saved up until a newline is output or input is "
11633 "read from any stream attached to a terminal device (typically I<stdin>).  "
11634 "The function B<fflush>(3)  may be used to force the block out early.  (See "
11635 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
11636 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
11637 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
11638 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
11639 "by default."
11640 msgstr ""
11641 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
11642 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
11643 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
11644 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
11645 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
11646 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
11647 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
11648 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
11649 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
11650 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
11651 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
11652 "unbuffered である。"
11653
11654 #. type: Plain text
11655 #: build/C/man3/setbuf.3:101
11656 msgid ""
11657 "The B<setvbuf>()  function may be used on any open stream to change its "
11658 "buffer.  The I<mode> argument must be one of the following three macros:"
11659 msgstr ""
11660 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
11661 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
11662
11663 #. type: TP
11664 #: build/C/man3/setbuf.3:102
11665 #, no-wrap
11666 msgid "B<_IONBF>"
11667 msgstr "B<_IONBF>"
11668
11669 #. type: Plain text
11670 #: build/C/man3/setbuf.3:105
11671 msgid "unbuffered"
11672 msgstr "unbuffered"
11673
11674 #. type: TP
11675 #: build/C/man3/setbuf.3:105
11676 #, no-wrap
11677 msgid "B<_IOLBF>"
11678 msgstr "B<_IOLBF>"
11679
11680 #. type: Plain text
11681 #: build/C/man3/setbuf.3:108
11682 msgid "line buffered"
11683 msgstr "line buffered"
11684
11685 #. type: TP
11686 #: build/C/man3/setbuf.3:108
11687 #, no-wrap
11688 msgid "B<_IOFBF>"
11689 msgstr "B<_IOFBF>"
11690
11691 #. type: Plain text
11692 #: build/C/man3/setbuf.3:111
11693 msgid "fully buffered"
11694 msgstr "fully buffered"
11695
11696 #. type: Plain text
11697 #: build/C/man3/setbuf.3:127
11698 msgid ""
11699 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
11700 "least I<size> bytes long; this buffer will be used instead of the current "
11701 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
11702 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
11703 "()  function may only be used after opening a stream and before any other "
11704 "operations have been performed on it."
11705 msgstr ""
11706 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
11707 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
11708 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
11709 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
11710 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
11711
11712 #. type: Plain text
11713 #: build/C/man3/setbuf.3:133
11714 msgid ""
11715 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
11716 "().  The B<setbuf>()  function is exactly equivalent to the call"
11717 msgstr ""
11718 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
11719 "B<setbuf>()  関数は、"
11720
11721 #. type: Plain text
11722 #: build/C/man3/setbuf.3:136
11723 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11724 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11725
11726 #. type: Plain text
11727 #: build/C/man3/setbuf.3:146
11728 msgid ""
11729 "The B<setbuffer>()  function is the same, except that the size of the buffer "
11730 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
11731 "The B<setlinebuf>()  function is exactly equivalent to the call:"
11732 msgstr ""
11733 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
11734 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
11735 "は以下と同じである。"
11736
11737 #. type: Plain text
11738 #: build/C/man3/setbuf.3:149
11739 msgid "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11740 msgstr "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11741
11742 #. type: Plain text
11743 #: build/C/man3/setbuf.3:160
11744 msgid ""
11745 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
11746 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
11747 "I<errno> on failure."
11748 msgstr ""
11749 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
11750 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
11751 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
11752
11753 #. type: Plain text
11754 #: build/C/man3/setbuf.3:162
11755 msgid "The other functions do not return a value."
11756 msgstr "その他の関数は値を返さない。"
11757
11758 #. type: Plain text
11759 #: build/C/man3/setbuf.3:168
11760 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
11761 msgstr ""
11762 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
11763
11764 #. type: Plain text
11765 #: build/C/man3/setbuf.3:178
11766 msgid ""
11767 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
11768 "versions of BSD before 4.2BSD, and are available under Linux since libc "
11769 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
11770 "buffer size and should be avoided."
11771 msgstr ""
11772 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
11773 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
11774 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
11775 "ズを使用するので、これも使うべきでない。"
11776
11777 #. type: Plain text
11778 #: build/C/man3/setbuf.3:185
11779 msgid ""
11780 "You must make sure that the space that I<buf> points to still exists by the "
11781 "time I<stream> is closed, which also happens at program termination.  For "
11782 "example, the following is invalid:"
11783 msgstr ""
11784 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
11785 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
11786 "な使い方は許されない:"
11787
11788 #. type: Plain text
11789 #: build/C/man3/setbuf.3:188
11790 #, no-wrap
11791 msgid "#include E<lt>stdio.hE<gt>\n"
11792 msgstr "#include E<lt>stdio.hE<gt>\n"
11793
11794 #. type: Plain text
11795 #: build/C/man3/setbuf.3:197
11796 #, no-wrap
11797 msgid ""
11798 "int\n"
11799 "main(void)\n"
11800 "{\n"
11801 "    char buf[BUFSIZ];\n"
11802 "    setbuf(stdin, buf);\n"
11803 "    printf(\"Hello, world!\\en\");\n"
11804 "    return 0;\n"
11805 "}\n"
11806 msgstr ""
11807 "int\n"
11808 "main(void)\n"
11809 "{\n"
11810 "    char buf[BUFSIZ];\n"
11811 "    setbuf(stdin, buf);\n"
11812 "    printf(\"Hello, world!\\en\");\n"
11813 "    return 0;\n"
11814 "}\n"
11815
11816 #. type: Plain text
11817 #: build/C/man3/setbuf.3:206
11818 msgid ""
11819 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11820 "(3), B<puts>(3)"
11821 msgstr ""
11822 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11823 "(3), B<puts>(3)"
11824
11825 #. type: TH
11826 #: build/C/man3/stdin.3:9
11827 #, no-wrap
11828 msgid "STDIN"
11829 msgstr "STDIN"
11830
11831 #. type: TH
11832 #: build/C/man3/stdin.3:9 build/C/man3/tmpfile.3:29
11833 #, no-wrap
11834 msgid "2008-07-14"
11835 msgstr "2008-07-14"
11836
11837 #. type: Plain text
11838 #: build/C/man3/stdin.3:12
11839 msgid "stdin, stdout, stderr - standard I/O streams"
11840 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
11841
11842 #. type: Plain text
11843 #: build/C/man3/stdin.3:19
11844 #, no-wrap
11845 msgid ""
11846 "B<extern FILE *>I<stdin>B<;>\n"
11847 "B<extern FILE *>I<stdout>B<;>\n"
11848 "B<extern FILE *>I<stderr>B<;>\n"
11849 msgstr ""
11850 "B<extern FILE *>I<stdin>B<;>\n"
11851 "B<extern FILE *>I<stdout>B<;>\n"
11852 "B<extern FILE *>I<stderr>B<;>\n"
11853
11854 #. type: Plain text
11855 #: build/C/man3/stdin.3:31
11856 msgid ""
11857 "Under normal circumstances every UNIX program has three streams opened for "
11858 "it when it starts up, one for input, one for output, and one for printing "
11859 "diagnostic or error messages.  These are typically attached to the user's "
11860 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
11861 "depending on what the parent process chose to set up.  (See also the "
11862 "\"Redirection\" section of B<sh>(1).)"
11863 msgstr ""
11864 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
11865 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
11866 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
11867 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
11868 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
11869
11870 #. type: Plain text
11871 #: build/C/man3/stdin.3:41
11872 msgid ""
11873 "The input stream is referred to as \"standard input\"; the output stream is "
11874 "referred to as \"standard output\"; and the error stream is referred to as "
11875 "\"standard error\".  These terms are abbreviated to form the symbols used to "
11876 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
11877 msgstr ""
11878 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
11879 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
11880 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
11881 "I<stdout>, I<stderr> である。"
11882
11883 #. type: Plain text
11884 #: build/C/man3/stdin.3:50
11885 msgid ""
11886 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
11887 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
11888 msgstr ""
11889 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
11890 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
11891
11892 #. type: Plain text
11893 #: build/C/man3/stdin.3:59
11894 msgid ""
11895 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
11896 "same underlying files may also be accessed using the raw UNIX file "
11897 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
11898 msgstr ""
11899 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
11900 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
11901 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
11902 "る。"
11903
11904 #. type: Plain text
11905 #: build/C/man3/stdin.3:78
11906 msgid ""
11907 "On program startup, the integer file descriptors associated with the streams "
11908 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
11909 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
11910 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
11911 "(3)  to one of these streams can change the file descriptor number "
11912 "associated with the stream.)"
11913 msgstr ""
11914 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
11915 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
11916 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
11917 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
11918 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
11919 "たファイルディスクリプタ の番号を変更することができる。)"
11920
11921 #. type: Plain text
11922 #: build/C/man3/stdin.3:91
11923 msgid ""
11924 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
11925 "unexpected results and should generally be avoided.  (For the masochistic "
11926 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
11927 "is supposed to work.)  A general rule is that file descriptors are handled "
11928 "in the kernel, while stdio is just a library.  This means for example, that "
11929 "after an B<exec>(3), the child inherits all open file descriptors, but all "
11930 "old streams have become inaccessible."
11931 msgstr ""
11932 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
11933 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
11934 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
11935 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
11936 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
11937 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
11938 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
11939
11940 #. type: Plain text
11941 #: build/C/man3/stdin.3:109
11942 msgid ""
11943 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
11944 "macros, assigning to them is nonportable.  The standard streams can be made "
11945 "to refer to different files with help of the library function B<freopen>(3), "
11946 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
11947 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
11948 "by normal program termination."
11949 msgstr ""
11950 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
11951 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
11952 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
11953 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
11954 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
11955 "グラムの正常終了によってクローズされる。"
11956
11957 #. type: Plain text
11958 #: build/C/man3/stdin.3:118
11959 msgid ""
11960 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
11961 "standard also stipulates that these three streams shall be open at program "
11962 "startup."
11963 msgstr ""
11964 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
11965 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
11966 "とが規定されている。"
11967
11968 #. type: Plain text
11969 #: build/C/man3/stdin.3:150
11970 msgid ""
11971 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
11972 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
11973 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
11974 "unexpected results, especially with debugging output.  The buffering mode of "
11975 "the standard streams (or any other stream)  can be changed using the "
11976 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
11977 "associated with a terminal, there may also be input buffering in the "
11978 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
11979 "terminal input is line buffered in the kernel.)  This kernel input handling "
11980 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
11981 "B<termios>(3)."
11982 msgstr ""
11983 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
11984 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
11985 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
11986 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
11987 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
11988 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
11989 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
11990 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
11991 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
11992 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
11993 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
11994 "B<termios>(3)  も参照すること。"
11995
11996 #. type: Plain text
11997 #: build/C/man3/stdin.3:156
11998 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
11999 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12000
12001 #. type: TH
12002 #: build/C/man3/stdio.3:37
12003 #, no-wrap
12004 msgid "STDIO"
12005 msgstr "STDIO"
12006
12007 #. type: TH
12008 #: build/C/man3/stdio.3:37
12009 #, no-wrap
12010 msgid "2001-12-26"
12011 msgstr "2001-12-26"
12012
12013 #. type: Plain text
12014 #: build/C/man3/stdio.3:40
12015 msgid "stdio - standard input/output library functions"
12016 msgstr "stdio - 標準入出力ライブラリ関数"
12017
12018 #. type: Plain text
12019 #: build/C/man3/stdio.3:44
12020 msgid "B<FILE *>I<stdin>B<;>"
12021 msgstr "B<FILE *>I<stdin>B<;>"
12022
12023 #. type: Plain text
12024 #: build/C/man3/stdio.3:46
12025 msgid "B<FILE *>I<stdout>B<;>"
12026 msgstr "B<FILE *>I<stdout>B<;>"
12027
12028 #. type: Plain text
12029 #: build/C/man3/stdio.3:48
12030 msgid "B<FILE *>I<stderr>B<;>"
12031 msgstr "B<FILE *>I<stderr>B<;>"
12032
12033 #. type: Plain text
12034 #: build/C/man3/stdio.3:55
12035 msgid ""
12036 "The standard I/O library provides a simple and efficient buffered stream I/O "
12037 "interface.  Input and output is mapped into logical data streams and the "
12038 "physical I/O characteristics are concealed.  The functions and macros are "
12039 "listed below; more information is available from the individual man pages."
12040 msgstr ""
12041 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12042 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12043 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12044 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12045
12046 #. type: Plain text
12047 #: build/C/man3/stdio.3:78
12048 msgid ""
12049 "A stream is associated with an external file (which may be a physical "
12050 "device) by I<opening> a file, which may involve creating a new file.  "
12051 "Creating an existing file causes its former contents to be discarded.  If a "
12052 "file can support positioning requests (such as a disk file, as opposed to a "
12053 "terminal) then a I<file position indicator> associated with the stream is "
12054 "positioned at the start of the file (byte zero), unless the file is opened "
12055 "with append mode.  If append mode is used, it is unspecified whether the "
12056 "position indicator will be placed at the start or the end of the file.  The "
12057 "position indicator is maintained by subsequent reads, writes and positioning "
12058 "requests.  All input occurs as if the characters were read by successive "
12059 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12060 "characters were written by successive calls to the B<fputc>(3)  function."
12061 msgstr ""
12062 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12063 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12064 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12065 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12066 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12067 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12068 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12069 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12070 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12071 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12072 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12073 "字を書き込んだかのように行われる。"
12074
12075 #. type: Plain text
12076 #: build/C/man3/stdio.3:88
12077 msgid ""
12078 "A file is disassociated from a stream by I<closing> the file.  Output "
12079 "streams are flushed (any unwritten buffer contents are transferred to the "
12080 "host environment) before the stream is disassociated from the file.  The "
12081 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12082 "closed (garbage)."
12083 msgstr ""
12084 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12085 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12086 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12087 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12088 "確定になる (ゴミになってしまう)。"
12089
12090 #. type: Plain text
12091 #: build/C/man3/stdio.3:101
12092 msgid ""
12093 "A file may be subsequently reopened, by the same or another program "
12094 "execution, and its contents reclaimed or modified (if it can be repositioned "
12095 "at the start).  If the main function returns to its original caller, or the "
12096 "B<exit>(3)  function is called, all open files are closed (hence all output "
12097 "streams are flushed) before program termination.  Other methods of program "
12098 "termination, such as B<abort>(3)  do not bother about closing files properly."
12099 msgstr ""
12100 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12101 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12102 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12103 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12104 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12105 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12106 "保証はない。"
12107
12108 #. type: Plain text
12109 #: build/C/man3/stdio.3:117
12110 msgid ""
12111 "At program startup, three text streams are predefined and need not be opened "
12112 "explicitly: I<standard input> (for reading conventional input), I<standard "
12113 "output> (for writing conventional input), and I<standard error> (for writing "
12114 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12115 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12116 "the standard input and output streams are fully buffered if and only if the "
12117 "streams do not to refer to an interactive device."
12118 msgstr ""
12119 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12120 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12121 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12122 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12123 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12124 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12125 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12126 "スを参照していなければ、 完全にバッファリングされている。"
12127
12128 #. type: Plain text
12129 #: build/C/man3/stdio.3:127
12130 msgid ""
12131 "Output streams that refer to terminal devices are always line buffered by "
12132 "default; pending output to such streams is written automatically whenever an "
12133 "input stream that refers to a terminal device is read.  In cases where a "
12134 "large amount of computation is done after printing part of a line on an "
12135 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12136 "going off and computing so that the output will appear."
12137 msgstr ""
12138 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12139 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12140 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12141 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12142 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12143 "必要がある。"
12144
12145 #. type: Plain text
12146 #: build/C/man3/stdio.3:141
12147 msgid ""
12148 "The I<stdio> library is a part of the library B<libc> and routines are "
12149 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12150 "SYNOPSIS sections of the following manual pages indicate which include files "
12151 "are to be used, what the compiler declaration for the function looks like "
12152 "and which external variables are of interest."
12153 msgstr ""
12154 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12155 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12156 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12157 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12158 "数が関係するのかが示されている。"
12159
12160 #.  Not on Linux: .BR fropen ,
12161 #.  Not on Linux: .BR fwopen ,
12162 #. type: Plain text
12163 #: build/C/man3/stdio.3:181
12164 msgid ""
12165 "The following are defined as macros; these names may not be reused without "
12166 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12167 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12168 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12169 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12170 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12171 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12172 "and B<putchar> exist and will be used if the macros definitions are "
12173 "explicitly removed."
12174 msgstr ""
12175 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12176 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12177 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12178 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12179 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12180 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12181 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12182 "示的に消去されている場合には、 これらを使用することになるだろう。"
12183
12184 #. type: SS
12185 #: build/C/man3/stdio.3:181
12186 #, no-wrap
12187 msgid "List of Functions"
12188 msgstr "関数のリスト"
12189
12190 #. type: tbl table
12191 #: build/C/man3/stdio.3:186
12192 #, no-wrap
12193 msgid "Function\tDescription\n"
12194 msgstr "関数\t説明\n"
12195
12196 #. type: tbl table
12197 #: build/C/man3/stdio.3:187
12198 #, no-wrap
12199 msgid "_\n"
12200 msgstr "_\n"
12201
12202 #. type: tbl table
12203 #: build/C/man3/stdio.3:188
12204 #, no-wrap
12205 msgid "clearerr\tcheck and reset stream status\n"
12206 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12207
12208 #. type: tbl table
12209 #: build/C/man3/stdio.3:189
12210 #, no-wrap
12211 msgid "fclose\tclose a stream\n"
12212 msgstr "fclose\tストリームをクローズする\n"
12213
12214 #. type: tbl table
12215 #: build/C/man3/stdio.3:190
12216 #, no-wrap
12217 msgid "fdopen\tstream open functions\n"
12218 msgstr "fdopen\tストリームをオープンする\n"
12219
12220 #. type: tbl table
12221 #: build/C/man3/stdio.3:191
12222 #, no-wrap
12223 msgid "feof\tcheck and reset stream status\n"
12224 msgstr "feof\tストリームの状態の確認とリセット\n"
12225
12226 #. type: tbl table
12227 #: build/C/man3/stdio.3:192
12228 #, no-wrap
12229 msgid "ferror\tcheck and reset stream status\n"
12230 msgstr "ferror\tストリームの状態の確認とリセット\n"
12231
12232 #. type: tbl table
12233 #: build/C/man3/stdio.3:193
12234 #, no-wrap
12235 msgid "fflush\tflush a stream\n"
12236 msgstr "fflush\tストリームをフラッシュする\n"
12237
12238 #. type: tbl table
12239 #: build/C/man3/stdio.3:194
12240 #, no-wrap
12241 msgid "fgetc\tget next character or word from input stream\n"
12242 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12243
12244 #. type: tbl table
12245 #: build/C/man3/stdio.3:195
12246 #, no-wrap
12247 msgid "fgetpos\treposition a stream\n"
12248 msgstr "fgetpos\tストリームの位置を取得する\n"
12249
12250 #. type: tbl table
12251 #: build/C/man3/stdio.3:196
12252 #, no-wrap
12253 msgid "fgets\tget a line from a stream\n"
12254 msgstr "fgets\tストリームから行を取得する\n"
12255
12256 #. type: tbl table
12257 #: build/C/man3/stdio.3:197
12258 #, no-wrap
12259 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12260 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12261
12262 #. type: tbl table
12263 #: build/C/man3/stdio.3:198
12264 #, no-wrap
12265 msgid "fopen\tstream open functions\n"
12266 msgstr "fopen\tストリームをオープンする\n"
12267
12268 #. type: tbl table
12269 #: build/C/man3/stdio.3:199
12270 #, no-wrap
12271 msgid "fprintf\tformatted output conversion\n"
12272 msgstr "fprintf\t書式付き出力変換\n"
12273
12274 #. type: tbl table
12275 #: build/C/man3/stdio.3:200
12276 #, no-wrap
12277 msgid "fpurge\tflush a stream\n"
12278 msgstr "fpurge\tストリームをフラッシュする\n"
12279
12280 #. type: tbl table
12281 #: build/C/man3/stdio.3:201
12282 #, no-wrap
12283 msgid "fputc\toutput a character or word to a stream\n"
12284 msgstr "fputc\t文字または語をストリームに出力する\n"
12285
12286 #. type: tbl table
12287 #: build/C/man3/stdio.3:202
12288 #, no-wrap
12289 msgid "fputs\toutput a line to a stream\n"
12290 msgstr "fputs\t行をストリームに出力する\n"
12291
12292 #. type: tbl table
12293 #: build/C/man3/stdio.3:203
12294 #, no-wrap
12295 msgid "fread\tbinary stream input/output\n"
12296 msgstr "fread\tバイナリーストリーム入出力\n"
12297
12298 #. type: tbl table
12299 #: build/C/man3/stdio.3:204
12300 #, no-wrap
12301 msgid "freopen\tstream open functions\n"
12302 msgstr "freopen\tストリームをオープンする\n"
12303
12304 #. type: tbl table
12305 #: build/C/man3/stdio.3:205
12306 #, no-wrap
12307 msgid "fscanf\tinput format conversion\n"
12308 msgstr "fscanf\t書式付き入力変換\n"
12309
12310 #. type: tbl table
12311 #: build/C/man3/stdio.3:206
12312 #, no-wrap
12313 msgid "fseek\treposition a stream\n"
12314 msgstr "fseek\tストリームの位置指示子を移動する\n"
12315
12316 #. type: tbl table
12317 #: build/C/man3/stdio.3:207
12318 #, no-wrap
12319 msgid "fsetpos\treposition a stream\n"
12320 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12321
12322 #. type: tbl table
12323 #: build/C/man3/stdio.3:208
12324 #, no-wrap
12325 msgid "ftell\treposition a stream\n"
12326 msgstr "ftell\tストリームの位置を取得する\n"
12327
12328 #. type: tbl table
12329 #: build/C/man3/stdio.3:209
12330 #, no-wrap
12331 msgid "fwrite\tbinary stream input/output\n"
12332 msgstr "fwrite\tバイナリーストリーム入出力\n"
12333
12334 #. type: tbl table
12335 #: build/C/man3/stdio.3:210
12336 #, no-wrap
12337 msgid "getc\tget next character or word from input stream\n"
12338 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12339
12340 #. type: tbl table
12341 #: build/C/man3/stdio.3:211
12342 #, no-wrap
12343 msgid "getchar\tget next character or word from input stream\n"
12344 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12345
12346 #. type: tbl table
12347 #: build/C/man3/stdio.3:212
12348 #, no-wrap
12349 msgid "gets\tget a line from a stream\n"
12350 msgstr "gets\t行を入力ストリームから取得する\n"
12351
12352 #. type: tbl table
12353 #: build/C/man3/stdio.3:213
12354 #, no-wrap
12355 msgid "getw\tget next character or word from input stream\n"
12356 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12357
12358 #. type: tbl table
12359 #: build/C/man3/stdio.3:214
12360 #, no-wrap
12361 msgid "mktemp\tmake temporary filename (unique)\n"
12362 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12363
12364 #. type: tbl table
12365 #: build/C/man3/stdio.3:215
12366 #, no-wrap
12367 msgid "perror\tsystem error messages\n"
12368 msgstr "perror\tシステムエラーメッセージ\n"
12369
12370 #. type: tbl table
12371 #: build/C/man3/stdio.3:216
12372 #, no-wrap
12373 msgid "printf\tformatted output conversion\n"
12374 msgstr "printf\t書式付き出力変換\n"
12375
12376 #. type: tbl table
12377 #: build/C/man3/stdio.3:217
12378 #, no-wrap
12379 msgid "putc\toutput a character or word to a stream\n"
12380 msgstr "putc\t文字または語をストリームに出力する\n"
12381
12382 #. type: tbl table
12383 #: build/C/man3/stdio.3:218
12384 #, no-wrap
12385 msgid "putchar\toutput a character or word to a stream\n"
12386 msgstr "putchar\t文字または語をストリームに出力する\n"
12387
12388 #. type: tbl table
12389 #: build/C/man3/stdio.3:219
12390 #, no-wrap
12391 msgid "puts\toutput a line to a stream\n"
12392 msgstr "puts\t行をストリームに出力する\n"
12393
12394 #. type: tbl table
12395 #: build/C/man3/stdio.3:220
12396 #, no-wrap
12397 msgid "putw\toutput a character or word to a stream\n"
12398 msgstr "putw\t文字または語をストリームに出力する\n"
12399
12400 #. type: tbl table
12401 #: build/C/man3/stdio.3:221
12402 #, no-wrap
12403 msgid "remove\tremove directory entry\n"
12404 msgstr "remove\tディレクトリエントリを削除する\n"
12405
12406 #. type: tbl table
12407 #: build/C/man3/stdio.3:222
12408 #, no-wrap
12409 msgid "rewind\treposition a stream\n"
12410 msgstr "rewind\tストリームの位置指示子を移動する\n"
12411
12412 #. type: tbl table
12413 #: build/C/man3/stdio.3:223
12414 #, no-wrap
12415 msgid "scanf\tinput format conversion\n"
12416 msgstr "scanf\t書式付き入力変換\n"
12417
12418 #. type: tbl table
12419 #: build/C/man3/stdio.3:224
12420 #, no-wrap
12421 msgid "setbuf\tstream buffering operations\n"
12422 msgstr "setbuf\tストリームのバッファリングの操作\n"
12423
12424 #. type: tbl table
12425 #: build/C/man3/stdio.3:225
12426 #, no-wrap
12427 msgid "setbuffer\tstream buffering operations\n"
12428 msgstr "setbuffer\tストリームのバッファリングの操作\n"
12429
12430 #. type: tbl table
12431 #: build/C/man3/stdio.3:226
12432 #, no-wrap
12433 msgid "setlinebuf\tstream buffering operations\n"
12434 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
12435
12436 #. type: tbl table
12437 #: build/C/man3/stdio.3:227
12438 #, no-wrap
12439 msgid "setvbuf\tstream buffering operations\n"
12440 msgstr "setvbuf\tストリームのバッファリングの操作\n"
12441
12442 #. type: tbl table
12443 #: build/C/man3/stdio.3:228
12444 #, no-wrap
12445 msgid "sprintf\tformatted output conversion\n"
12446 msgstr "sprintf\t書式付き出力変換\n"
12447
12448 #. type: tbl table
12449 #: build/C/man3/stdio.3:229
12450 #, no-wrap
12451 msgid "sscanf\tinput format conversion\n"
12452 msgstr "sscanf\t書式付き入力変換\n"
12453
12454 #. type: tbl table
12455 #: build/C/man3/stdio.3:230
12456 #, no-wrap
12457 msgid "strerror\tsystem error messages\n"
12458 msgstr "strerror\tシステムエラーメッセージ\n"
12459
12460 #. type: tbl table
12461 #: build/C/man3/stdio.3:231
12462 #, no-wrap
12463 msgid "sys_errlist\tsystem error messages\n"
12464 msgstr "sys_errlist\tシステムエラーメッセージ\n"
12465
12466 #. type: tbl table
12467 #: build/C/man3/stdio.3:232
12468 #, no-wrap
12469 msgid "sys_nerr\tsystem error messages\n"
12470 msgstr "sys_nerr\tシステムエラーメッセージ\n"
12471
12472 #. type: tbl table
12473 #: build/C/man3/stdio.3:233
12474 #, no-wrap
12475 msgid "tempnam\ttemporary file routines\n"
12476 msgstr "tempnam\tテンポラリファイルの操作\n"
12477
12478 #. type: tbl table
12479 #: build/C/man3/stdio.3:234
12480 #, no-wrap
12481 msgid "tmpfile\ttemporary file routines\n"
12482 msgstr "tmpfile\tテンポラリファイルの操作\n"
12483
12484 #. type: tbl table
12485 #: build/C/man3/stdio.3:235
12486 #, no-wrap
12487 msgid "tmpnam\ttemporary file routines\n"
12488 msgstr "tmpnam\tテンポラリファイルの操作\n"
12489
12490 #. type: tbl table
12491 #: build/C/man3/stdio.3:236
12492 #, no-wrap
12493 msgid "ungetc\tun-get character from input stream\n"
12494 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
12495
12496 #. type: tbl table
12497 #: build/C/man3/stdio.3:237
12498 #, no-wrap
12499 msgid "vfprintf\tformatted output conversion\n"
12500 msgstr "vfprintf\t書式付き出力変換\n"
12501
12502 #. type: tbl table
12503 #: build/C/man3/stdio.3:238
12504 #, no-wrap
12505 msgid "vfscanf\tinput format conversion\n"
12506 msgstr "vfscanf\t書式付き入力変換\n"
12507
12508 #. type: tbl table
12509 #: build/C/man3/stdio.3:239
12510 #, no-wrap
12511 msgid "vprintf\tformatted output conversion\n"
12512 msgstr "vprintf\t書式付き出力変換\n"
12513
12514 #. type: tbl table
12515 #: build/C/man3/stdio.3:240
12516 #, no-wrap
12517 msgid "vscanf\tinput format conversion\n"
12518 msgstr "vscanf\t書式付き入力変換\n"
12519
12520 #. type: tbl table
12521 #: build/C/man3/stdio.3:241
12522 #, no-wrap
12523 msgid "vsprintf\tformatted output conversion\n"
12524 msgstr "vsprintf\t書式付き出力変換\n"
12525
12526 #. type: tbl table
12527 #: build/C/man3/stdio.3:242
12528 #, no-wrap
12529 msgid "vsscanf\tinput format conversion\n"
12530 msgstr "vsscanf\t書式付き入力変換\n"
12531
12532 #. type: Plain text
12533 #: build/C/man3/stdio.3:248
12534 msgid "The I<stdio> library conforms to C89."
12535 msgstr "I<stdio> ライブラリは C89 に準拠している。"
12536
12537 #. type: Plain text
12538 #: build/C/man3/stdio.3:255
12539 msgid ""
12540 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12541 "B<unlocked_stdio>(3)"
12542 msgstr ""
12543 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12544 "B<unlocked_stdio>(3)"
12545
12546 #. type: TH
12547 #: build/C/man3/stdio_ext.3:23
12548 #, no-wrap
12549 msgid "STDIO_EXT"
12550 msgstr "STDIO_EXT"
12551
12552 #. type: TH
12553 #: build/C/man3/stdio_ext.3:23
12554 #, no-wrap
12555 msgid "2001-12-16"
12556 msgstr "2001-12-16"
12557
12558 #. type: Plain text
12559 #: build/C/man3/stdio_ext.3:28
12560 msgid ""
12561 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12562 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
12563 "structure"
12564 msgstr ""
12565 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12566 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
12567 "へのインタフェース"
12568
12569 #. type: Plain text
12570 #: build/C/man3/stdio_ext.3:32
12571 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
12572 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
12573
12574 #. type: Plain text
12575 #: build/C/man3/stdio_ext.3:34
12576 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12577 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12578
12579 #. type: Plain text
12580 #: build/C/man3/stdio_ext.3:36
12581 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
12582 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
12583
12584 #. type: Plain text
12585 #: build/C/man3/stdio_ext.3:38
12586 msgid "B<int __flbf(FILE *>I<stream>B<);>"
12587 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
12588
12589 #. type: Plain text
12590 #: build/C/man3/stdio_ext.3:40
12591 msgid "B<int __freadable(FILE *>I<stream>B<);>"
12592 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
12593
12594 #. type: Plain text
12595 #: build/C/man3/stdio_ext.3:42
12596 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
12597 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
12598
12599 #. type: Plain text
12600 #: build/C/man3/stdio_ext.3:44
12601 msgid "B<int __freading(FILE *>I<stream>B<);>"
12602 msgstr "B<int __freading(FILE *>I<stream>B<);>"
12603
12604 #. type: Plain text
12605 #: build/C/man3/stdio_ext.3:46
12606 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
12607 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
12608
12609 #. type: Plain text
12610 #: build/C/man3/stdio_ext.3:48
12611 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12612 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12613
12614 #. type: Plain text
12615 #: build/C/man3/stdio_ext.3:50
12616 msgid "B<void _flushlbf(void);>"
12617 msgstr "B<void _flushlbf(void);>"
12618
12619 #. type: Plain text
12620 #: build/C/man3/stdio_ext.3:52
12621 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
12622 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
12623
12624 #. type: Plain text
12625 #: build/C/man3/stdio_ext.3:57
12626 msgid ""
12627 "Solaris introduced routines to allow portable access to the internals of the "
12628 "I<FILE> structure, and glibc also implemented these."
12629 msgstr ""
12630 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
12631 "が導入されており、これらは glibc でも実装されている。"
12632
12633 #. type: Plain text
12634 #: build/C/man3/stdio_ext.3:62
12635 msgid ""
12636 "The B<__fbufsize>()  function returns the size of the buffer currently used "
12637 "by the given stream."
12638 msgstr ""
12639 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファサイズを返"
12640 "す。"
12641
12642 #. type: Plain text
12643 #: build/C/man3/stdio_ext.3:69
12644 msgid ""
12645 "The B<__fpending>()  function returns the number of bytes in the output "
12646 "buffer.  For wide-oriented streams the unit is wide characters.  This "
12647 "function is undefined on buffers in reading mode, or opened read-only."
12648 msgstr ""
12649 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
12650 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
12651 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
12652 "は未定義である。"
12653
12654 #. type: Plain text
12655 #: build/C/man3/stdio_ext.3:74
12656 msgid ""
12657 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
12658 "buffered, and zero otherwise."
12659 msgstr ""
12660 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
12661 "場合は 0 を返す。"
12662
12663 #. type: Plain text
12664 #: build/C/man3/stdio_ext.3:79
12665 msgid ""
12666 "The B<__freadable>()  function returns a nonzero value if the stream allows "
12667 "reading, and zero otherwise."
12668 msgstr ""
12669 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
12670 "外の場合は 0 を返す。"
12671
12672 #. type: Plain text
12673 #: build/C/man3/stdio_ext.3:84
12674 msgid ""
12675 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
12676 "writing, and zero otherwise."
12677 msgstr ""
12678 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
12679 "外の場合は 0 を返す。"
12680
12681 #. type: Plain text
12682 #: build/C/man3/stdio_ext.3:90
12683 msgid ""
12684 "The B<__freading>()  function returns a nonzero value if the stream is read-"
12685 "only, or if the last operation on the stream was a read operation, and zero "
12686 "otherwise."
12687 msgstr ""
12688 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
12689 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
12690 "を返す。"
12691
12692 #. type: Plain text
12693 #: build/C/man3/stdio_ext.3:96
12694 msgid ""
12695 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
12696 "only (or append-only), or if the last operation on the stream was a write "
12697 "operation, and zero otherwise."
12698 msgstr ""
12699 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
12700 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
12701 "し、 それ以外の場合は 0 を返す。"
12702
12703 #. type: Plain text
12704 #: build/C/man3/stdio_ext.3:104
12705 msgid ""
12706 "The B<__fsetlocking>()  function can be used to select the desired type of "
12707 "locking on the stream.  It returns the current type.  The I<type> argument "
12708 "can take the following three values:"
12709 msgstr ""
12710 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
12711 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
12712 "ることができる :"
12713
12714 #. type: TP
12715 #: build/C/man3/stdio_ext.3:104
12716 #, no-wrap
12717 msgid "B<FSETLOCKING_INTERNAL>"
12718 msgstr "B<FSETLOCKING_INTERNAL>"
12719
12720 #. type: Plain text
12721 #: build/C/man3/stdio_ext.3:109
12722 msgid ""
12723 "Perform implicit locking around every operation on the given stream (except "
12724 "for the *_unlocked ones).  This is the default."
12725 msgstr ""
12726 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
12727 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
12728 "である)。 これがデフォルトのロック形式である。"
12729
12730 #. type: TP
12731 #: build/C/man3/stdio_ext.3:109
12732 #, no-wrap
12733 msgid "B<FSETLOCKING_BYCALLER>"
12734 msgstr "B<FSETLOCKING_BYCALLER>"
12735
12736 #. type: Plain text
12737 #: build/C/man3/stdio_ext.3:116
12738 msgid ""
12739 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
12740 "case there is more than one thread), and the stdio routines will not do "
12741 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
12742 msgstr ""
12743 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
12744 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
12745 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
12746 "理を行わない。"
12747
12748 #. type: TP
12749 #: build/C/man3/stdio_ext.3:116
12750 #, no-wrap
12751 msgid "B<FSETLOCKING_QUERY>"
12752 msgstr "B<FSETLOCKING_QUERY>"
12753
12754 #. type: Plain text
12755 #: build/C/man3/stdio_ext.3:120
12756 msgid "Don't change the type of locking.  (Only return it.)"
12757 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
12758
12759 #. type: Plain text
12760 #: build/C/man3/stdio_ext.3:126
12761 msgid ""
12762 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
12763 "so that output to a terminal is forced out, say before reading keyboard "
12764 "input.)"
12765 msgstr ""
12766 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
12767 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
12768 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
12769 "いだろう)"
12770
12771 #. type: Plain text
12772 #: build/C/man3/stdio_ext.3:130
12773 msgid ""
12774 "The B<__fpurge>()  function discards the contents of the stream's buffer."
12775 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
12776
12777 #. type: Plain text
12778 #: build/C/man3/stdio_ext.3:133
12779 msgid "B<flockfile>(3), B<fpurge>(3)"
12780 msgstr "B<flockfile>(3), B<fpurge>(3)"
12781
12782 #. type: TH
12783 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
12784 #, no-wrap
12785 msgid "SYMLINK"
12786 msgstr "SYMLINK"
12787
12788 #. type: TH
12789 #: build/C/man2/symlink.2:32
12790 #, no-wrap
12791 msgid "2010-09-20"
12792 msgstr "2010-09-20"
12793
12794 #. type: Plain text
12795 #: build/C/man2/symlink.2:35
12796 msgid "symlink - make a new name for a file"
12797 msgstr "symlink - ファイルに新しい名前を付ける"
12798
12799 #. type: Plain text
12800 #: build/C/man2/symlink.2:39
12801 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12802 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12803
12804 #. type: Plain text
12805 #: build/C/man2/symlink.2:47
12806 msgid "B<symlink>():"
12807 msgstr "B<symlink>():"
12808
12809 #. type: Plain text
12810 #: build/C/man2/symlink.2:58
12811 msgid ""
12812 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
12813 "string I<oldpath>."
12814 msgstr ""
12815 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
12816 "I<newpath> というシンボリックリンク (symbolic link) を作成する。"
12817
12818 #. type: Plain text
12819 #: build/C/man2/symlink.2:62
12820 msgid ""
12821 "Symbolic links are interpreted at run time as if the contents of the link "
12822 "had been substituted into the path being followed to find a file or "
12823 "directory."
12824 msgstr ""
12825 "シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
12826 "スを辿ることで、 ファイルやディレクトリに到達する。"
12827
12828 #. type: Plain text
12829 #: build/C/man2/symlink.2:67
12830 msgid ""
12831 "Symbolic links may contain I<..> path components, which (if used at the "
12832 "start of the link) refer to the parent directories of that in which the link "
12833 "resides."
12834 msgstr ""
12835 "シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
12836 "の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
12837 "される。"
12838
12839 #. type: Plain text
12840 #: build/C/man2/symlink.2:71
12841 msgid ""
12842 "A symbolic link (also known as a soft link) may point to an existing file or "
12843 "to a nonexistent one; the latter case is known as a dangling link."
12844 msgstr ""
12845 "シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
12846 "を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
12847 "の場合は壊れたリンク (dangling link) とも呼ばれる。"
12848
12849 #. type: Plain text
12850 #: build/C/man2/symlink.2:78
12851 msgid ""
12852 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
12853 "when following the link, but is checked when removal or renaming of the link "
12854 "is requested and the link is in a directory with the sticky bit "
12855 "(B<S_ISVTX>)  set."
12856 msgstr ""
12857 "シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
12858 "は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
12859 "れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
12860 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
12861
12862 #. type: Plain text
12863 #: build/C/man2/symlink.2:99
12864 msgid ""
12865 "Write access to the directory containing I<newpath> is denied, or one of the "
12866 "directories in the path prefix of I<newpath> did not allow search "
12867 "permission.  (See also B<path_resolution>(7).)"
12868 msgstr ""
12869 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
12870 "含まれているディレクトリのどれかに検索許可が与えられていない "
12871 "(B<path_resolution>(7)  も参照すること)。"
12872
12873 #. type: Plain text
12874 #: build/C/man2/symlink.2:113
12875 msgid "Too many symbolic links were encountered in resolving I<newpath>."
12876 msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
12877
12878 #. type: Plain text
12879 #: build/C/man2/symlink.2:123
12880 msgid ""
12881 "A directory component in I<newpath> does not exist or is a dangling symbolic "
12882 "link, or I<oldpath> is the empty string."
12883 msgstr ""
12884 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
12885 "I<oldpath> が空文字列である。"
12886
12887 #. type: Plain text
12888 #: build/C/man2/symlink.2:135
12889 msgid ""
12890 "A component used as a directory in I<newpath> is not, in fact, a directory."
12891 msgstr ""
12892 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
12893
12894 #. type: Plain text
12895 #: build/C/man2/symlink.2:140
12896 msgid ""
12897 "The file system containing I<newpath> does not support the creation of "
12898 "symbolic links."
12899 msgstr ""
12900 "I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
12901 "作成をサポートしていない。"
12902
12903 #. type: Plain text
12904 #: build/C/man2/symlink.2:144
12905 msgid "I<newpath> is on a read-only file system."
12906 msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
12907
12908 #. type: Plain text
12909 #: build/C/man2/symlink.2:154
12910 msgid "No checking of I<oldpath> is done."
12911 msgstr "I<oldpath> についてのチェックは行なわれない。"
12912
12913 #. type: Plain text
12914 #: build/C/man2/symlink.2:159
12915 msgid ""
12916 "Deleting the name referred to by a symlink will actually delete the file "
12917 "(unless it also has other hard links).  If this behavior is not desired, use "
12918 "B<link>(2)."
12919 msgstr ""
12920 "symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
12921 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
12922 "場合は、 B<link>(2)  を使用すること。"
12923
12924 #. type: Plain text
12925 #: build/C/man2/symlink.2:171
12926 msgid ""
12927 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12928 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12929 "B<symlink>(7)"
12930 msgstr ""
12931 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12932 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12933 "B<symlink>(7)"
12934
12935 #. type: TH
12936 #: build/C/man7/symlink.7:35
12937 #, no-wrap
12938 msgid "2008-06-18"
12939 msgstr "2008-06-18"
12940
12941 #. type: Plain text
12942 #: build/C/man7/symlink.7:38
12943 msgid "symlink - symbolic link handling"
12944 msgstr "symlink - symbolic link handling"
12945
12946 #. type: SH
12947 #: build/C/man7/symlink.7:38
12948 #, no-wrap
12949 msgid "SYMBOLIC LINK HANDLING"
12950 msgstr "SYMBOLIC LINK HANDLING"
12951
12952 #. type: Plain text
12953 #: build/C/man7/symlink.7:42
12954 msgid ""
12955 "Symbolic links are files that act as pointers to other files.  To understand "
12956 "their behavior, you must first understand how hard links work."
12957 msgstr ""
12958 "Symbolic links are files that act as pointers to other files.  To understand "
12959 "their behavior, you must first understand how hard links work."
12960
12961 #. type: Plain text
12962 #: build/C/man7/symlink.7:58
12963 msgid ""
12964 "A hard link to a file is indistinguishable from the original file because it "
12965 "is a reference to the object underlying the original filename.  (To be "
12966 "precise: each of the hard links to a file is a reference to the same I<i-"
12967 "node number>, where an i-node number is an index into the i-node table, "
12968 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
12969 "Changes to a file are independent of the name used to reference the file.  "
12970 "Hard links may not refer to directories (to prevent the possibility of loops "
12971 "within the file system tree, which would confuse many programs)  and may not "
12972 "refer to files on different file systems (because i-node numbers are not "
12973 "unique across file systems)."
12974 msgstr ""
12975 "A hard link to a file is indistinguishable from the original file because it "
12976 "is a reference to the object underlying the original filename.  (To be "
12977 "precise: each of the hard links to a file is a reference to the same I<i-"
12978 "node number>, where an i-node number is an index into the i-node table, "
12979 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
12980 "Changes to a file are independent of the name used to reference the file.  "
12981 "Hard links may not refer to directories (to prevent the possibility of loops "
12982 "within the file system tree, which would confuse many programs)  and may not "
12983 "refer to files on different file systems (because i-node numbers are not "
12984 "unique across file systems)."
12985
12986 #. type: Plain text
12987 #: build/C/man7/symlink.7:65
12988 msgid ""
12989 "A symbolic link is a special type of file whose contents are a string that "
12990 "is the pathname another file, the file to which the link refers.  In other "
12991 "words, a symbolic link is a pointer to another name, and not to an "
12992 "underlying object.  For this reason, symbolic links may refer to directories "
12993 "and may cross file system boundaries."
12994 msgstr ""
12995 "A symbolic link is a special type of file whose contents are a string that "
12996 "is the pathname another file, the file to which the link refers.  In other "
12997 "words, a symbolic link is a pointer to another name, and not to an "
12998 "underlying object.  For this reason, symbolic links may refer to directories "
12999 "and may cross file system boundaries."
13000
13001 #. type: Plain text
13002 #: build/C/man7/symlink.7:71
13003 msgid ""
13004 "There is no requirement that the pathname referred to by a symbolic link "
13005 "should exist.  A symbolic link that refers to a pathname that does not exist "
13006 "is said to be a I<dangling link>."
13007 msgstr ""
13008 "There is no requirement that the pathname referred to by a symbolic link "
13009 "should exist.  A symbolic link that refers to a pathname that does not exist "
13010 "is said to be a I<dangling link>."
13011
13012 #. type: Plain text
13013 #: build/C/man7/symlink.7:83
13014 msgid ""
13015 "Because a symbolic link and its referenced object coexist in the file system "
13016 "name space, confusion can arise in distinguishing between the link itself "
13017 "and the referenced object.  On historical systems, commands and system calls "
13018 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13019 "Rules for a more uniform approach, as they are implemented on Linux and "
13020 "other systems, are outlined here.  It is important that site-local "
13021 "applications also conform to these rules, so that the user interface can be "
13022 "as consistent as possible."
13023 msgstr ""
13024 "Because a symbolic link and its referenced object coexist in the file system "
13025 "name space, confusion can arise in distinguishing between the link itself "
13026 "and the referenced object.  On historical systems, commands and system calls "
13027 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13028 "Rules for a more uniform approach, as they are implemented on Linux and "
13029 "other systems, are outlined here.  It is important that site-local "
13030 "applications also conform to these rules, so that the user interface can be "
13031 "as consistent as possible."
13032
13033 #. type: SS
13034 #: build/C/man7/symlink.7:83
13035 #, no-wrap
13036 msgid "Symbolic link ownership, permissions, and timestamps"
13037 msgstr "Symbolic link ownership, permissions, and timestamps"
13038
13039 #. type: Plain text
13040 #: build/C/man7/symlink.7:91
13041 msgid ""
13042 "The owner and group of an existing symbolic link can be changed using "
13043 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13044 "is when the link is being removed or renamed in a directory that has the "
13045 "sticky bit set (see B<stat>(2))."
13046 msgstr ""
13047 "The owner and group of an existing symbolic link can be changed using "
13048 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13049 "is when the link is being removed or renamed in a directory that has the "
13050 "sticky bit set (see B<stat>(2))."
13051
13052 #. type: Plain text
13053 #: build/C/man7/symlink.7:97
13054 msgid ""
13055 "The last access and last modification timestamps of a symbolic link can be "
13056 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13057 msgstr ""
13058 "The last access and last modification timestamps of a symbolic link can be "
13059 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13060
13061 #.  Linux does not currently implement an lchmod(2).
13062 #.  The
13063 #.  4.4BSD
13064 #.  system differs from historical
13065 #.  4BSD
13066 #.  systems in that the system call
13067 #.  .BR chown (2)
13068 #.  has been changed to follow symbolic links.
13069 #.  The
13070 #.  .BR lchown (2)
13071 #.  system call was added later when the limitations of the new
13072 #.  .BR chown (2)
13073 #.  became apparent.
13074 #. type: Plain text
13075 #: build/C/man7/symlink.7:116
13076 msgid ""
13077 "On Linux, the permissions of a symbolic link are not used in any operations; "
13078 "the permissions are always 0777 (read, write, and execute for all user "
13079 "categories), and can't be changed."
13080 msgstr ""
13081 "On Linux, the permissions of a symbolic link are not used in any operations; "
13082 "the permissions are always 0777 (read, write, and execute for all user "
13083 "categories), and can't be changed."
13084
13085 #. type: SS
13086 #: build/C/man7/symlink.7:116
13087 #, no-wrap
13088 msgid "Handling of symbolic links by system calls and commands"
13089 msgstr "Handling of symbolic links by system calls and commands"
13090
13091 #. type: Plain text
13092 #: build/C/man7/symlink.7:131
13093 msgid ""
13094 "Symbolic links are handled either by operating on the link itself, or by "
13095 "operating on the object referred to by the link.  In the latter case, an "
13096 "application or system call is said to I<follow> the link.  Symbolic links "
13097 "may refer to other symbolic links, in which case the links are dereferenced "
13098 "until an object that is not a symbolic link is found, a symbolic link that "
13099 "refers to a file which does not exist is found, or a loop is detected.  "
13100 "(Loop detection is done by placing an upper limit on the number of links "
13101 "that may be followed, and an error results if this limit is exceeded.)"
13102 msgstr ""
13103 "Symbolic links are handled either by operating on the link itself, or by "
13104 "operating on the object referred to by the link.  In the latter case, an "
13105 "application or system call is said to I<follow> the link.  Symbolic links "
13106 "may refer to other symbolic links, in which case the links are dereferenced "
13107 "until an object that is not a symbolic link is found, a symbolic link that "
13108 "refers to a file which does not exist is found, or a loop is detected.  "
13109 "(Loop detection is done by placing an upper limit on the number of links "
13110 "that may be followed, and an error results if this limit is exceeded.)"
13111
13112 #. type: Plain text
13113 #: build/C/man7/symlink.7:134
13114 msgid ""
13115 "There are three separate areas that need to be discussed.  They are as "
13116 "follows:"
13117 msgstr ""
13118 "There are three separate areas that need to be discussed.  They are as "
13119 "follows:"
13120
13121 #. type: IP
13122 #: build/C/man7/symlink.7:134
13123 #, no-wrap
13124 msgid "1."
13125 msgstr "1."
13126
13127 #. type: Plain text
13128 #: build/C/man7/symlink.7:136
13129 msgid "Symbolic links used as filename arguments for system calls."
13130 msgstr "Symbolic links used as filename arguments for system calls."
13131
13132 #. type: IP
13133 #: build/C/man7/symlink.7:136
13134 #, no-wrap
13135 msgid "2."
13136 msgstr "2."
13137
13138 #. type: Plain text
13139 #: build/C/man7/symlink.7:139
13140 msgid ""
13141 "Symbolic links specified as command-line arguments to utilities that are not "
13142 "traversing a file tree."
13143 msgstr ""
13144 "Symbolic links specified as command-line arguments to utilities that are not "
13145 "traversing a file tree."
13146
13147 #. type: IP
13148 #: build/C/man7/symlink.7:139
13149 #, no-wrap
13150 msgid "3."
13151 msgstr "3."
13152
13153 #. type: Plain text
13154 #: build/C/man7/symlink.7:143
13155 msgid ""
13156 "Symbolic links encountered by utilities that are traversing a file tree "
13157 "(either specified on the command line or encountered as part of the file "
13158 "hierarchy walk)."
13159 msgstr ""
13160 "Symbolic links encountered by utilities that are traversing a file tree "
13161 "(either specified on the command line or encountered as part of the file "
13162 "hierarchy walk)."
13163
13164 #. type: SS
13165 #: build/C/man7/symlink.7:143
13166 #, no-wrap
13167 msgid "System calls"
13168 msgstr "System calls"
13169
13170 #. type: Plain text
13171 #: build/C/man7/symlink.7:146
13172 msgid ""
13173 "The first area is symbolic links used as filename arguments for system calls."
13174 msgstr ""
13175 "The first area is symbolic links used as filename arguments for system calls."
13176
13177 #. type: Plain text
13178 #: build/C/man7/symlink.7:156
13179 msgid ""
13180 "Except as noted below, all system calls follow symbolic links.  For example, "
13181 "if there were a symbolic link I<slink> which pointed to a file named "
13182 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13183 "descriptor referring to the file I<afile>."
13184 msgstr ""
13185 "Except as noted below, all system calls follow symbolic links.  For example, "
13186 "if there were a symbolic link I<slink> which pointed to a file named "
13187 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13188 "descriptor referring to the file I<afile>."
13189
13190 #.  Maybe one day: .BR fchownat (2)
13191 #. type: Plain text
13192 #: build/C/man7/symlink.7:206
13193 msgid ""
13194 "Various system calls do not follow links, and operate on the symbolic link "
13195 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13196 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13197 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13198 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13199 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13200 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13201 "(2), that library function also does not follow symbolic links.  When "
13202 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13203 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13204 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13205 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13206 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13207 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13208 "to allow either behavior in an implementation."
13209 msgstr ""
13210 "Various system calls do not follow links, and operate on the symbolic link "
13211 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13212 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13213 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13214 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13215 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13216 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13217 "(2), that library function also does not follow symbolic links.  When "
13218 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13219 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13220 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13221 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13222 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13223 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13224 "to allow either behavior in an implementation."
13225
13226 #. type: SS
13227 #: build/C/man7/symlink.7:206
13228 #, no-wrap
13229 msgid "Commands not traversing a file tree"
13230 msgstr "Commands not traversing a file tree"
13231
13232 #. type: Plain text
13233 #: build/C/man7/symlink.7:209
13234 msgid ""
13235 "The second area is symbolic links, specified as command-line filename "
13236 "arguments, to commands which are not traversing a file tree."
13237 msgstr ""
13238 "The second area is symbolic links, specified as command-line filename "
13239 "arguments, to commands which are not traversing a file tree."
13240
13241 #. type: Plain text
13242 #: build/C/man7/symlink.7:220
13243 msgid ""
13244 "Except as noted below, commands follow symbolic links named as command-line "
13245 "arguments.  For example, if there were a symbolic link I<slink> which "
13246 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13247 "contents of the file I<afile>."
13248 msgstr ""
13249 "Except as noted below, commands follow symbolic links named as command-line "
13250 "arguments.  For example, if there were a symbolic link I<slink> which "
13251 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13252 "contents of the file I<afile>."
13253
13254 #. type: Plain text
13255 #: build/C/man7/symlink.7:228
13256 msgid ""
13257 "It is important to realize that this rule includes commands which may "
13258 "optionally traverse file trees, e.g., the command I<chown file> is included "
13259 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13260 "traversal, is not.  (The latter is described in the third area, below.)"
13261 msgstr ""
13262 "It is important to realize that this rule includes commands which may "
13263 "optionally traverse file trees, e.g., the command I<chown file> is included "
13264 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13265 "traversal, is not.  (The latter is described in the third area, below.)"
13266
13267 #. type: Plain text
13268 #: build/C/man7/symlink.7:246
13269 msgid ""
13270 "If it is explicitly intended that the command operate on the symbolic link "
13271 "instead of following the symbolic link, e.g., it is desired that I<chown "
13272 "slink> change the ownership of the file that I<slink> is, whether it is a "
13273 "symbolic link or not, the I<-h> option should be used.  In the above "
13274 "example, I<chown root slink> would change the ownership of the file referred "
13275 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13276 "I<slink> itself."
13277 msgstr ""
13278 "If it is explicitly intended that the command operate on the symbolic link "
13279 "instead of following the symbolic link, e.g., it is desired that I<chown "
13280 "slink> change the ownership of the file that I<slink> is, whether it is a "
13281 "symbolic link or not, the I<-h> option should be used.  In the above "
13282 "example, I<chown root slink> would change the ownership of the file referred "
13283 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13284 "I<slink> itself."
13285
13286 #. type: Plain text
13287 #: build/C/man7/symlink.7:248
13288 msgid "There are some exceptions to this rule:"
13289 msgstr "There are some exceptions to this rule:"
13290
13291 #. type: Plain text
13292 #: build/C/man7/symlink.7:258
13293 msgid ""
13294 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13295 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13296 "the symbolic link references a file via a relative path, moving it to "
13297 "another directory may very well cause it to stop working, since the path may "
13298 "no longer be correct.)"
13299 msgstr ""
13300 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13301 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13302 "the symbolic link references a file via a relative path, moving it to "
13303 "another directory may very well cause it to stop working, since the path may "
13304 "no longer be correct.)"
13305
13306 #. type: Plain text
13307 #: build/C/man7/symlink.7:288
13308 msgid ""
13309 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13310 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13311 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13312 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13313 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13314 "the only command where the I<-H> and I<-L> options affect its behavior even "
13315 "though it is not doing a walk of a file tree.)"
13316 msgstr ""
13317 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13318 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13319 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13320 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13321 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13322 "the only command where the I<-H> and I<-L> options affect its behavior even "
13323 "though it is not doing a walk of a file tree.)"
13324
13325 #. The 4.4BSD system differs from historical 4BSD systems in that the
13326 #. .BR chown (1)
13327 #. and
13328 #. .BR chgrp (1)
13329 #. commands follow symbolic links specified on the command line.
13330 #. type: Plain text
13331 #: build/C/man7/symlink.7:306
13332 msgid ""
13333 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13334 "command does not follow symbolic links named as argument by default.  The "
13335 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13336 "L> option is specified."
13337 msgstr ""
13338 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13339 "command does not follow symbolic links named as argument by default.  The "
13340 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13341 "L> option is specified."
13342
13343 #. type: SS
13344 #: build/C/man7/symlink.7:306
13345 #, no-wrap
13346 msgid "Commands traversing a file tree"
13347 msgstr "Commands traversing a file tree"
13348
13349 #. type: Plain text
13350 #: build/C/man7/symlink.7:319
13351 msgid ""
13352 "The following commands either optionally or always traverse file trees: "
13353 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13354 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13355 msgstr ""
13356 "The following commands either optionally or always traverse file trees: "
13357 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13358 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13359
13360 #. type: Plain text
13361 #: build/C/man7/symlink.7:323
13362 msgid ""
13363 "It is important to realize that the following rules apply equally to "
13364 "symbolic links encountered during the file tree traversal and symbolic links "
13365 "listed as command-line arguments."
13366 msgstr ""
13367 "It is important to realize that the following rules apply equally to "
13368 "symbolic links encountered during the file tree traversal and symbolic links "
13369 "listed as command-line arguments."
13370
13371 #. type: Plain text
13372 #: build/C/man7/symlink.7:328
13373 msgid ""
13374 "The I<first rule> applies to symbolic links that reference files other than "
13375 "directories.  Operations that apply to symbolic links are performed on the "
13376 "links themselves, but otherwise the links are ignored."
13377 msgstr ""
13378 "The I<first rule> applies to symbolic links that reference files other than "
13379 "directories.  Operations that apply to symbolic links are performed on the "
13380 "links themselves, but otherwise the links are ignored."
13381
13382 #. type: Plain text
13383 #: build/C/man7/symlink.7:340
13384 msgid ""
13385 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13386 "symbolic links encountered in the tree traversal of I<directory>, because "
13387 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13388 "referred to by I<slink>."
13389 msgstr ""
13390 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13391 "symbolic links encountered in the tree traversal of I<directory>, because "
13392 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13393 "referred to by I<slink>."
13394
13395 #. type: Plain text
13396 #: build/C/man7/symlink.7:345
13397 msgid ""
13398 "The I<second rule> applies to symbolic links that refer to directories.  "
13399 "Symbolic links that refer to directories are never followed by default.  "
13400 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13401 "\" walk (where symbolic links the refer to directories are followed)."
13402 msgstr ""
13403 "The I<second rule> applies to symbolic links that refer to directories.  "
13404 "Symbolic links that refer to directories are never followed by default.  "
13405 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13406 "\" walk (where symbolic links the refer to directories are followed)."
13407
13408 #. type: Plain text
13409 #: build/C/man7/symlink.7:348
13410 msgid ""
13411 "Certain conventions are (should be) followed as consistently as possible by "
13412 "commands that perform file tree walks:"
13413 msgstr ""
13414 "Certain conventions are (should be) followed as consistently as possible by "
13415 "commands that perform file tree walks:"
13416
13417 #. type: Plain text
13418 #: build/C/man7/symlink.7:361
13419 msgid ""
13420 "A command can be made to follow any symbolic links named on the command "
13421 "line, regardless of the type of file they reference, by specifying the I<-H> "
13422 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13423 "name space look like the logical name space.  (Note, for commands that do "
13424 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13425 "R> flag is not also specified.)"
13426 msgstr ""
13427 "A command can be made to follow any symbolic links named on the command "
13428 "line, regardless of the type of file they reference, by specifying the I<-H> "
13429 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13430 "name space look like the logical name space.  (Note, for commands that do "
13431 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13432 "R> flag is not also specified.)"
13433
13434 #. type: Plain text
13435 #: build/C/man7/symlink.7:377
13436 msgid ""
13437 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13438 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13439 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13440 "symbolic links specified on the command line to be dereferenced for the "
13441 "purposes of both the action to be performed and the tree walk, and it is as "
13442 "if the user had specified the name of the file to which the symbolic link "
13443 "pointed."
13444 msgstr ""
13445 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13446 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13447 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13448 "symbolic links specified on the command line to be dereferenced for the "
13449 "purposes of both the action to be performed and the tree walk, and it is as "
13450 "if the user had specified the name of the file to which the symbolic link "
13451 "pointed."
13452
13453 #. type: Plain text
13454 #: build/C/man7/symlink.7:391
13455 msgid ""
13456 "A command can be made to follow any symbolic links named on the command "
13457 "line, as well as any symbolic links encountered during the traversal, "
13458 "regardless of the type of file they reference, by specifying the I<-L> (for "
13459 "\"logical\") flag.  This flag is intended to make the entire name space look "
13460 "like the logical name space.  (Note, for commands that do not always do file "
13461 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13462 "also specified.)"
13463 msgstr ""
13464 "A command can be made to follow any symbolic links named on the command "
13465 "line, as well as any symbolic links encountered during the traversal, "
13466 "regardless of the type of file they reference, by specifying the I<-L> (for "
13467 "\"logical\") flag.  This flag is intended to make the entire name space look "
13468 "like the logical name space.  (Note, for commands that do not always do file "
13469 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13470 "also specified.)"
13471
13472 #. type: Plain text
13473 #: build/C/man7/symlink.7:406
13474 msgid ""
13475 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13476 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13477 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13478 "references.  In addition, if any symbolic links are encountered in any file "
13479 "tree that B<chown> traverses, they will be treated in the same fashion as "
13480 "I<slink>."
13481 msgstr ""
13482 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13483 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13484 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13485 "references.  In addition, if any symbolic links are encountered in any file "
13486 "tree that B<chown> traverses, they will be treated in the same fashion as "
13487 "I<slink>."
13488
13489 #. type: Plain text
13490 #: build/C/man7/symlink.7:413
13491 msgid ""
13492 "A command can be made to provide the default behavior by specifying the I<-"
13493 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13494 "space look like the physical name space."
13495 msgstr ""
13496 "A command can be made to provide the default behavior by specifying the I<-"
13497 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13498 "space look like the physical name space."
13499
13500 #. type: Plain text
13501 #: build/C/man7/symlink.7:431
13502 msgid ""
13503 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13504 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13505 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13506 "once; the last one specified determines the command's behavior.  This is "
13507 "intended to permit you to alias commands to behave one way or the other, and "
13508 "then override that behavior on the command line."
13509 msgstr ""
13510 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13511 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13512 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13513 "once; the last one specified determines the command's behavior.  This is "
13514 "intended to permit you to alias commands to behave one way or the other, and "
13515 "then override that behavior on the command line."
13516
13517 #. type: Plain text
13518 #: build/C/man7/symlink.7:437
13519 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13520 msgstr "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13521
13522 #. type: Plain text
13523 #: build/C/man7/symlink.7:450
13524 msgid ""
13525 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13526 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13527 "command does not support the I<-H>, I<-L>, or I<-P> options."
13528 msgstr ""
13529 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13530 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13531 "command does not support the I<-H>, I<-L>, or I<-P> options."
13532
13533 #. type: Plain text
13534 #: build/C/man7/symlink.7:470
13535 msgid ""
13536 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13537 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13538 "options, B<ls>(1)  will follow symbolic links specified on the command "
13539 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13540 "regardless of their type, whether specified on the command line or "
13541 "encountered in the tree walk."
13542 msgstr ""
13543 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13544 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13545 "options, B<ls>(1)  will follow symbolic links specified on the command "
13546 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13547 "regardless of their type, whether specified on the command line or "
13548 "encountered in the tree walk."
13549
13550 #. type: Plain text
13551 #: build/C/man7/symlink.7:488
13552 msgid ""
13553 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13554 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13555 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13556 "B<path_resolution>(7)"
13557 msgstr ""
13558 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13559 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13560 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13561 "B<path_resolution>(7)"
13562
13563 #. type: TH
13564 #: build/C/man3/tempnam.3:23
13565 #, no-wrap
13566 msgid "TEMPNAM"
13567 msgstr "TEMPNAM"
13568
13569 #. type: TH
13570 #: build/C/man3/tempnam.3:23
13571 #, no-wrap
13572 msgid "2008-08-06"
13573 msgstr "2008-08-06"
13574
13575 #. type: Plain text
13576 #: build/C/man3/tempnam.3:26
13577 msgid "tempnam - create a name for a temporary file"
13578 msgstr "tempnam - テンポラリファイルの名前を作成する"
13579
13580 #. type: Plain text
13581 #: build/C/man3/tempnam.3:31
13582 #, no-wrap
13583 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13584 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13585
13586 #. type: Plain text
13587 #: build/C/man3/tempnam.3:40
13588 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13589 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13590
13591 #. type: Plain text
13592 #: build/C/man3/tempnam.3:54
13593 msgid ""
13594 "The B<tempnam>()  function returns a pointer to a string that is a valid "
13595 "filename, and such that a file with this name did not exist when B<tempnam>"
13596 "()  checked.  The filename suffix of the pathname generated will start with "
13597 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
13598 "directory prefix part of the pathname generated is required to be "
13599 "\"appropriate\" (often that at least implies writable)."
13600 msgstr ""
13601 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
13602 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
13603 "い (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成さ"
13604 "れるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成される"
13605 "ディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」である"
13606 "ためにはまず少なくとも 書き込み可能でなければならない)。"
13607
13608 #. type: Plain text
13609 #: build/C/man3/tempnam.3:57
13610 msgid ""
13611 "Attempts to find an appropriate directory go through the following steps:"
13612 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
13613
13614 #. type: TP
13615 #: build/C/man3/tempnam.3:57
13616 #, no-wrap
13617 msgid "a)"
13618 msgstr "a)"
13619
13620 #. type: Plain text
13621 #: build/C/man3/tempnam.3:63
13622 msgid ""
13623 "In case the environment variable B<TMPDIR> exists and contains the name of "
13624 "an appropriate directory, that is used."
13625 msgstr ""
13626 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
13627 "ら、それを用いる。"
13628
13629 #. type: TP
13630 #: build/C/man3/tempnam.3:63
13631 #, no-wrap
13632 msgid "b)"
13633 msgstr "b)"
13634
13635 #. type: Plain text
13636 #: build/C/man3/tempnam.3:68
13637 msgid ""
13638 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
13639 msgstr ""
13640 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
13641 "る。"
13642
13643 #. type: TP
13644 #: build/C/man3/tempnam.3:68
13645 #, no-wrap
13646 msgid "c)"
13647 msgstr "c)"
13648
13649 #. type: Plain text
13650 #: build/C/man3/tempnam.3:75
13651 msgid ""
13652 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
13653 "appropriate."
13654 msgstr ""
13655 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
13656 "なら、それを用いる。"
13657
13658 #. type: TP
13659 #: build/C/man3/tempnam.3:75
13660 #, no-wrap
13661 msgid "d)"
13662 msgstr "d)"
13663
13664 #. type: Plain text
13665 #: build/C/man3/tempnam.3:78
13666 msgid "Finally an implementation-defined directory may be used."
13667 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
13668
13669 #. type: Plain text
13670 #: build/C/man3/tempnam.3:85
13671 msgid ""
13672 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
13673 "hence should be freed by B<free>(3)."
13674 msgstr ""
13675 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
13676 "B<free>(3)  で解放すべきである。"
13677
13678 #. type: Plain text
13679 #: build/C/man3/tempnam.3:90
13680 msgid ""
13681 "The B<tempnam>()  function returns a pointer to a unique temporary filename, "
13682 "or NULL if a unique name cannot be generated."
13683 msgstr ""
13684 "B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
13685 "と重ならない名前が生成できなければ NULL を返す。"
13686
13687 #. type: Plain text
13688 #: build/C/man3/tempnam.3:94
13689 msgid "Allocation of storage failed."
13690 msgstr "保存領域の割り当てに失敗した。"
13691
13692 #. type: Plain text
13693 #: build/C/man3/tempnam.3:99
13694 msgid ""
13695 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
13696 msgstr ""
13697 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
13698 "る。"
13699
13700 #. type: Plain text
13701 #: build/C/man3/tempnam.3:118
13702 msgid ""
13703 "Although B<tempnam>()  generates names that are difficult to guess, it is "
13704 "nevertheless possible that between the time that B<tempnam>()  returns a "
13705 "pathname, and the time that the program opens it, another program might "
13706 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13707 "This can lead to security holes.  To avoid such possibilities, use the "
13708 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13709 "B<mkstemp>(3)  or B<tmpfile>(3)."
13710 msgstr ""
13711 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
13712 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13713 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13714 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13715 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13716 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13717 "B<tmpfile>(3)  を使うことである。"
13718
13719 #. type: Plain text
13720 #: build/C/man3/tempnam.3:126
13721 msgid ""
13722 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
13723 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
13724 "tmp> (and this is what glibc does)."
13725 msgstr ""
13726 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
13727 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
13728 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
13729
13730 #. type: Plain text
13731 #: build/C/man3/tempnam.3:131
13732 msgid ""
13733 "Because it dynamically allocates memory used to return the pathname, "
13734 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
13735 msgstr ""
13736 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
13737 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
13738
13739 #. type: Plain text
13740 #: build/C/man3/tempnam.3:144
13741 msgid ""
13742 "The B<tempnam>()  function generates a different string each time it is "
13743 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
13744 "called more than B<TMP_MAX> times, the behavior is implementation defined."
13745 msgstr ""
13746 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
13747 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
13748 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
13749
13750 #. type: Plain text
13751 #: build/C/man3/tempnam.3:148
13752 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
13753 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
13754
13755 #. type: Plain text
13756 #: build/C/man3/tempnam.3:154
13757 msgid ""
13758 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
13759 "upon failure to find a unique name."
13760 msgstr ""
13761 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
13762 "ラー B<EEXIST> で失敗する。"
13763
13764 #. type: Plain text
13765 #: build/C/man3/tempnam.3:157
13766 msgid ""
13767 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
13768 "accessibility of a directory is determined."
13769 msgstr ""
13770 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
13771 "度のアクセス権限が必要なのかは指定されていない。"
13772
13773 #. type: Plain text
13774 #: build/C/man3/tempnam.3:164 build/C/man3/tmpnam.3:151
13775 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
13776 msgstr ""
13777 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
13778 "を使うこと。"
13779
13780 #. type: Plain text
13781 #: build/C/man3/tempnam.3:169
13782 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13783 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13784
13785 #. type: TH
13786 #: build/C/man3/tmpfile.3:29
13787 #, no-wrap
13788 msgid "TMPFILE"
13789 msgstr "TMPFILE"
13790
13791 #. type: Plain text
13792 #: build/C/man3/tmpfile.3:32
13793 msgid "tmpfile - create a temporary file"
13794 msgstr "tmpfile - テンポラリファイルを作成する"
13795
13796 #. type: Plain text
13797 #: build/C/man3/tmpfile.3:37
13798 #, no-wrap
13799 msgid "B<FILE *tmpfile(void);>\n"
13800 msgstr "B<FILE *tmpfile(void);>\n"
13801
13802 #. type: Plain text
13803 #: build/C/man3/tmpfile.3:45
13804 msgid ""
13805 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
13806 "write (w+b) mode.  The file will be automatically deleted when it is closed "
13807 "or the program terminates."
13808 msgstr ""
13809 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
13810 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
13811 "自動的に削除される。"
13812
13813 #. type: Plain text
13814 #: build/C/man3/tmpfile.3:52
13815 msgid ""
13816 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
13817 "filename cannot be generated or the unique file cannot be opened.  In the "
13818 "latter case, I<errno> is set to indicate the error."
13819 msgstr ""
13820 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
13821 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
13822 "I<errno> を設定する。"
13823
13824 #. type: Plain text
13825 #: build/C/man3/tmpfile.3:56
13826 msgid "Search permission denied for directory in file's path prefix."
13827 msgstr ""
13828 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
13829
13830 #. type: Plain text
13831 #: build/C/man3/tmpfile.3:59
13832 msgid "Unable to generate a unique filename."
13833 msgstr "ユニークなファイル名が作成できなかった。"
13834
13835 #. type: Plain text
13836 #: build/C/man3/tmpfile.3:62
13837 msgid "The call was interrupted by a signal."
13838 msgstr "呼び出しがシグナルによって中断された。"
13839
13840 #. type: Plain text
13841 #: build/C/man3/tmpfile.3:65
13842 msgid "Too many file descriptors in use by the process."
13843 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
13844
13845 #. type: Plain text
13846 #: build/C/man3/tmpfile.3:68
13847 msgid "Too many files open in the system."
13848 msgstr "システム全体でオープン可能なファイル数を超過した。"
13849
13850 #. type: Plain text
13851 #: build/C/man3/tmpfile.3:71
13852 msgid "There was no room in the directory to add the new filename."
13853 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
13854
13855 #. type: Plain text
13856 #: build/C/man3/tmpfile.3:74
13857 msgid "Read-only file system."
13858 msgstr "読みだし専用ファイルシステムである。"
13859
13860 #. type: Plain text
13861 #: build/C/man3/tmpfile.3:76
13862 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13863 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13864
13865 #. type: Plain text
13866 #: build/C/man3/tmpfile.3:80
13867 msgid ""
13868 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
13869 "stream cannot be opened."
13870 msgstr ""
13871 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
13872 "メッセージが書き出される、と規定されている。"
13873
13874 #. type: Plain text
13875 #: build/C/man3/tmpfile.3:86
13876 msgid ""
13877 "The standard does not specify the directory that B<tmpfile>()  will use.  "
13878 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
13879 "and if that fails the directory I</tmp>."
13880 msgstr ""
13881 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
13882 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
13883 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
13884
13885 #. type: Plain text
13886 #: build/C/man3/tmpfile.3:92
13887 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13888 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13889
13890 #. type: TH
13891 #: build/C/man3/tmpnam.3:25
13892 #, no-wrap
13893 msgid "TMPNAM"
13894 msgstr "TMPNAM"
13895
13896 #. type: TH
13897 #: build/C/man3/tmpnam.3:25
13898 #, no-wrap
13899 msgid "2010-09-10"
13900 msgstr "2010-09-10"
13901
13902 #. type: Plain text
13903 #: build/C/man3/tmpnam.3:28
13904 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
13905 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
13906
13907 #. type: Plain text
13908 #: build/C/man3/tmpnam.3:33
13909 #, no-wrap
13910 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
13911 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
13912
13913 #. type: Plain text
13914 #: build/C/man3/tmpnam.3:56
13915 msgid ""
13916 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
13917 "filename, and such that a file with this name did not exist at some point in "
13918 "time, so that naive programmers may think it a suitable name for a temporary "
13919 "file.  If the argument I<s> is NULL this name is generated in an internal "
13920 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
13921 "I<s> is not NULL, the name is copied to the character array (of length at "
13922 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
13923 "case of success."
13924 msgstr ""
13925 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
13926 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
13927 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
13928 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
13929 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
13930 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
13931 "ピーされ、 成功した場合は I<s> が返される。"
13932
13933 #. type: Plain text
13934 #: build/C/man3/tmpnam.3:68
13935 msgid ""
13936 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
13937 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
13938 "the B<TMP_MAX> mentioned below.)"
13939 msgstr ""
13940 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
13941 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
13942 "hE<gt>> で定義されている。)"
13943
13944 #. type: Plain text
13945 #: build/C/man3/tmpnam.3:73
13946 msgid ""
13947 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
13948 "or NULL if a unique name cannot be generated."
13949 msgstr ""
13950 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
13951 "が作成できなかった場合は NULL を返す。"
13952
13953 #. type: Plain text
13954 #: build/C/man3/tmpnam.3:75
13955 msgid "No errors are defined."
13956 msgstr "エラーは定義されていない。"
13957
13958 #. type: Plain text
13959 #: build/C/man3/tmpnam.3:80
13960 msgid ""
13961 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
13962 "obsolete."
13963 msgstr ""
13964 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
13965 "定としている。"
13966
13967 #. type: Plain text
13968 #: build/C/man3/tmpnam.3:91
13969 msgid ""
13970 "The B<tmpnam>()  function generates a different string each time it is "
13971 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
13972 "the behavior is implementation defined."
13973 msgstr ""
13974 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
13975 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
13976
13977 #. type: Plain text
13978 #: build/C/man3/tmpnam.3:110
13979 msgid ""
13980 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
13981 "nevertheless possible that between the time that B<tmpnam>()  returns a "
13982 "pathname, and the time that the program opens it, another program might "
13983 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13984 "This can lead to security holes.  To avoid such possibilities, use the "
13985 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13986 "B<mkstemp>(3)  or B<tmpfile>(3)."
13987 msgstr ""
13988 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
13989 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13990 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13991 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13992 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13993 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13994 "B<tmpfile>(3)  を使うことである。"
13995
13996 #. type: Plain text
13997 #: build/C/man3/tmpnam.3:118
13998 msgid ""
13999 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
14000 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
14001 "defined."
14002 msgstr ""
14003 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
14004 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
14005 "NULL 引き数で呼び出してはならない。"
14006
14007 #. type: Plain text
14008 #: build/C/man3/tmpnam.3:122
14009 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
14010 msgstr ""
14011 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
14012 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
14013 "扱いしている。"
14014
14015 #. type: Plain text
14016 #: build/C/man3/tmpnam.3:130
14017 #, no-wrap
14018 msgid ""
14019 "char *\n"
14020 "tmpnam_r(char *s)\n"
14021 "{\n"
14022 "    return s ? tmpnam(s) : NULL;\n"
14023 "}\n"
14024 msgstr ""
14025 "char *\n"
14026 "tmpnam_r(char *s)\n"
14027 "{\n"
14028 "    return s ? tmpnam(s) : NULL;\n"
14029 "}\n"
14030
14031 #. type: Plain text
14032 #: build/C/man3/tmpnam.3:144
14033 msgid ""
14034 "apparently as a warning not to use NULL.  A few systems implement it.  To "
14035 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
14036 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
14037 msgstr ""
14038 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
14039 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
14040 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
14041 "がある。"
14042
14043 #. type: Plain text
14044 #: build/C/man3/tmpnam.3:156
14045 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14046 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14047
14048 #. type: TH
14049 #: build/C/man2/unlink.2:32
14050 #, no-wrap
14051 msgid "UNLINK"
14052 msgstr "UNLINK"
14053
14054 #. type: TH
14055 #: build/C/man2/unlink.2:32
14056 #, no-wrap
14057 msgid "2011-09-15"
14058 msgstr "2011-09-15"
14059
14060 #. type: Plain text
14061 #: build/C/man2/unlink.2:35
14062 msgid "unlink - delete a name and possibly the file it refers to"
14063 msgstr ""
14064 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
14065
14066 #. type: Plain text
14067 #: build/C/man2/unlink.2:39
14068 msgid "B<int unlink(const char *>I<pathname>B<);>"
14069 msgstr "B<int unlink(const char *>I<pathname>B<);>"
14070
14071 #. type: Plain text
14072 #: build/C/man2/unlink.2:45
14073 msgid ""
14074 "B<unlink>()  deletes a name from the file system.  If that name was the last "
14075 "link to a file and no processes have the file open the file is deleted and "
14076 "the space it was using is made available for reuse."
14077 msgstr ""
14078 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14079 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14080 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14081 "は再利用が可能になる。"
14082
14083 #. type: Plain text
14084 #: build/C/man2/unlink.2:49
14085 msgid ""
14086 "If the name was the last link to a file but any processes still have the "
14087 "file open the file will remain in existence until the last file descriptor "
14088 "referring to it is closed."
14089 msgstr ""
14090 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14091 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14092 "スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
14093 "ける。"
14094
14095 #. type: Plain text
14096 #: build/C/man2/unlink.2:51
14097 msgid "If the name referred to a symbolic link the link is removed."
14098 msgstr ""
14099 "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
14100 "削除される。"
14101
14102 #. type: Plain text
14103 #: build/C/man2/unlink.2:55
14104 msgid ""
14105 "If the name referred to a socket, fifo or device the name for it is removed "
14106 "but processes which have the object open may continue to use it."
14107 msgstr ""
14108 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14109 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14110 "とができる。"
14111
14112 #. type: Plain text
14113 #: build/C/man2/unlink.2:71
14114 msgid ""
14115 "Write access to the directory containing I<pathname> is not allowed for the "
14116 "process's effective UID, or one of the directories in I<pathname> did not "
14117 "allow search permission.  (See also B<path_resolution>(7).)"
14118 msgstr ""
14119 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14120 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14121 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14122 "と)。"
14123
14124 #. type: Plain text
14125 #: build/C/man2/unlink.2:80
14126 msgid ""
14127 "The file I<pathname> cannot be unlinked because it is being used by the "
14128 "system or another process; for example, it is a mount point or the NFS "
14129 "client software created it to represent an active but otherwise nameless "
14130 "inode (\"NFS silly renamed\")."
14131 msgstr ""
14132
14133 #. type: Plain text
14134 #: build/C/man2/unlink.2:92
14135 msgid ""
14136 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14137 "Linux since 2.1.132.)"
14138 msgstr ""
14139 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14140 "で、Linux 2.1.132 以降で返される。)"
14141
14142 #. type: Plain text
14143 #: build/C/man2/unlink.2:96
14144 msgid "Too many symbolic links were encountered in translating I<pathname>."
14145 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
14146
14147 #. type: Plain text
14148 #: build/C/man2/unlink.2:106
14149 msgid ""
14150 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14151 "I<pathname> is empty."
14152 msgstr ""
14153 "I<pathname> に対応するものが存在しないか、壊れたシンボリックリンクであるか、 "
14154 "I<pathname> が空である。"
14155
14156 #. type: Plain text
14157 #: build/C/man2/unlink.2:114
14158 msgid ""
14159 "A component used as a directory in I<pathname> is not, in fact, a directory."
14160 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14161
14162 #. type: Plain text
14163 #: build/C/man2/unlink.2:123
14164 msgid ""
14165 "The system does not allow unlinking of directories, or unlinking of "
14166 "directories requires privileges that the calling process doesn't have.  "
14167 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14168 "B<EISDIR> for this case.)"
14169 msgstr ""
14170 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14171 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14172 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14173 "合には Linux は B<EISDIR> を返す。)"
14174
14175 #. type: TP
14176 #: build/C/man2/unlink.2:123
14177 #, no-wrap
14178 msgid "B<EPERM> (Linux only)"
14179 msgstr "B<EPERM> (Linux のみ)"
14180
14181 #. type: Plain text
14182 #: build/C/man2/unlink.2:126
14183 msgid "The file system does not allow unlinking of files."
14184 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14185
14186 #. type: Plain text
14187 #: build/C/man2/unlink.2:137
14188 msgid ""
14189 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14190 "and the process's effective UID is neither the UID of the file to be deleted "
14191 "nor that of the directory containing it, and the process is not privileged "
14192 "(Linux: does not have the B<CAP_FOWNER> capability)."
14193 msgstr ""
14194 "I<pathname> を含んでいるディレクトリにスティッキービット (sticky-bit)  "
14195 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14196 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14197 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14198
14199 #. type: Plain text
14200 #: build/C/man2/unlink.2:141
14201 msgid "I<pathname> refers to a file on a read-only file system."
14202 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14203
14204 #. type: Plain text
14205 #: build/C/man2/unlink.2:161
14206 msgid ""
14207 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14208 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14209 "(7), B<symlink>(7)"
14210 msgstr ""
14211 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14212 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14213 "(7), B<symlink>(7)"
14214
14215 #. type: TH
14216 #: build/C/man3/unlocked_stdio.3:23
14217 #, no-wrap
14218 msgid "UNLOCKED_STDIO"
14219 msgstr "UNLOCKED_STDIO"
14220
14221 #. type: Plain text
14222 #: build/C/man3/unlocked_stdio.3:27
14223 msgid ""
14224 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14225 "nonlocking stdio functions"
14226 msgstr ""
14227 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14228 "わずに標準入出力を行う関数群"
14229
14230 #. type: Plain text
14231 #: build/C/man3/unlocked_stdio.3:35
14232 #, no-wrap
14233 msgid ""
14234 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14235 "B<int getchar_unlocked(void);>\n"
14236 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14237 "B<int putchar_unlocked(int >I<c>B<);>\n"
14238 msgstr ""
14239 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14240 "B<int getchar_unlocked(void);>\n"
14241 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14242 "B<int putchar_unlocked(int >I<c>B<);>\n"
14243
14244 #. type: Plain text
14245 #: build/C/man3/unlocked_stdio.3:47
14246 #, no-wrap
14247 msgid ""
14248 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14249 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14250 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14251 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14252 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14253 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14254 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14255 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14256 "B<                      FILE *>I<stream>B<);>\n"
14257 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14258 "B<                      FILE *>I<stream>B<);>\n"
14259 msgstr ""
14260 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14261 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14262 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14263 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14264 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14265 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14266 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14267 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14268 "B<                      FILE *>I<stream>B<);>\n"
14269 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14270 "B<                      FILE *>I<stream>B<);>\n"
14271
14272 #. type: Plain text
14273 #: build/C/man3/unlocked_stdio.3:50
14274 #, no-wrap
14275 msgid ""
14276 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14277 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14278 msgstr ""
14279 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14280 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14281
14282 #. type: Plain text
14283 #: build/C/man3/unlocked_stdio.3:61
14284 #, no-wrap
14285 msgid ""
14286 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14287 "B<wint_t getwchar_unlocked(void);>\n"
14288 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14289 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14290 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14291 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14292 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14293 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14294 msgstr ""
14295 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14296 "B<wint_t getwchar_unlocked(void);>\n"
14297 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14298 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14299 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14300 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14301 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14302 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14303
14304 #. type: Plain text
14305 #: build/C/man3/unlocked_stdio.3:73
14306 msgid ""
14307 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14308 "B<putchar_unlocked>():"
14309 msgstr ""
14310 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14311 "B<putchar_unlocked>():"
14312
14313 #. type: Plain text
14314 #: build/C/man3/unlocked_stdio.3:76
14315 msgid ""
14316 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14317 "_BSD_SOURCE || _SVID_SOURCE"
14318 msgstr ""
14319 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14320 "_BSD_SOURCE || _SVID_SOURCE"
14321
14322 #. type: Plain text
14323 #: build/C/man3/unlocked_stdio.3:87
14324 msgid ""
14325 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14326 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14327 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14328 msgstr ""
14329 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14330 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14331 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14332
14333 #. type: Plain text
14334 #: build/C/man3/unlocked_stdio.3:89
14335 msgid "_BSD_SOURCE || _SVID_SOURCE"
14336 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14337
14338 #. type: Plain text
14339 #: build/C/man3/unlocked_stdio.3:100
14340 msgid ""
14341 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14342 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14343 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14344 msgstr ""
14345 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14346 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14347 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14348
14349 #. type: Plain text
14350 #: build/C/man3/unlocked_stdio.3:111
14351 msgid ""
14352 "Each of these functions has the same behavior as its counterpart without the "
14353 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14354 "locks themselves, and do not test for the presence of locks set by others) "
14355 "and hence are thread-unsafe.  See B<flockfile>(3)."
14356 msgstr ""
14357 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14358 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14359 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14360 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14361 "B<flockfile>(3)  を参照のこと。"
14362
14363 #. type: Plain text
14364 #: build/C/man3/unlocked_stdio.3:118
14365 msgid ""
14366 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14367 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14368 msgstr ""
14369 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14370 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14371
14372 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14373 #.  moved to a compatibility library.
14374 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14375 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14376 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14377 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14378 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14379 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14380 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14381 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14382 #.  ungetc_unlocked, ungetwc_unlocked.
14383 #. type: Plain text
14384 #: build/C/man3/unlocked_stdio.3:134
14385 msgid ""
14386 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14387 "are available in recent glibc.  They should probably not be used."
14388 msgstr ""
14389 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14390 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14391
14392 #. type: Plain text
14393 #: build/C/man3/unlocked_stdio.3:137
14394 msgid "B<flockfile>(3), B<stdio>(3)"
14395 msgstr "B<flockfile>(3), B<stdio>(3)"
14396
14397 #. type: TH
14398 #: build/C/man3/wprintf.3:14
14399 #, no-wrap
14400 msgid "WPRINTF"
14401 msgstr "WPRINTF"
14402
14403 #. type: TH
14404 #: build/C/man3/wprintf.3:14
14405 #, no-wrap
14406 msgid "2011-09-17"
14407 msgstr "2011-09-17"
14408
14409 #. type: Plain text
14410 #: build/C/man3/wprintf.3:18
14411 msgid ""
14412 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14413 "character output conversion"
14414 msgstr ""
14415 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14416 "フォーマットして出力する"
14417
14418 #. type: Plain text
14419 #: build/C/man3/wprintf.3:22
14420 #, no-wrap
14421 msgid ""
14422 "B<#include E<lt>stdio.hE<gt>>\n"
14423 "B<#include E<lt>wchar.hE<gt>>\n"
14424 msgstr ""
14425 "B<#include E<lt>stdio.hE<gt>>\n"
14426 "B<#include E<lt>wchar.hE<gt>>\n"
14427
14428 #. type: Plain text
14429 #: build/C/man3/wprintf.3:27
14430 #, no-wrap
14431 msgid ""
14432 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14433 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14434 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14435 "B<             const wchar_t *>I<format>B<, ...);>\n"
14436 msgstr ""
14437 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14438 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14439 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14440 "B<             const wchar_t *>I<format>B<, ...);>\n"
14441
14442 #. type: Plain text
14443 #: build/C/man3/wprintf.3:32
14444 #, no-wrap
14445 msgid ""
14446 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14447 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14448 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14449 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14450 msgstr ""
14451 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14452 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14453 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14454 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14455
14456 #.  .BR wprintf (),
14457 #.  .BR fwprintf (),
14458 #.  .BR swprintf (),
14459 #.  .BR vwprintf (),
14460 #.  .BR vfwprintf (),
14461 #.  .BR vswprintf ():
14462 #. type: Plain text
14463 #: build/C/man3/wprintf.3:49
14464 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14465 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14466
14467 #. type: Plain text
14468 #: build/C/man3/wprintf.3:51
14469 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14470 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14471
14472 #. type: Plain text
14473 #: build/C/man3/wprintf.3:53
14474 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14475 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14476
14477 #. type: Plain text
14478 #: build/C/man3/wprintf.3:56
14479 msgid "or I<cc\\ -std=c99>"
14480 msgstr "or I<cc\\ -std=c99>"
14481
14482 #. type: Plain text
14483 #: build/C/man3/wprintf.3:67
14484 msgid ""
14485 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14486 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14487 "characters."
14488 msgstr ""
14489 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14490 "版である。これらはワイド文字をフォーマットして出力する。"
14491
14492 #. type: Plain text
14493 #: build/C/man3/wprintf.3:77
14494 msgid ""
14495 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14496 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14497 "more information."
14498 msgstr ""
14499 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14500 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14501 "ること。"
14502
14503 #. type: Plain text
14504 #: build/C/man3/wprintf.3:87
14505 msgid ""
14506 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14507 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14508 "for more information."
14509 msgstr ""
14510 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14511 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14512 "B<fwide>(3)  を参照すること。"
14513
14514 #. type: Plain text
14515 #: build/C/man3/wprintf.3:98
14516 msgid ""
14517 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14518 "output to an array of wide characters.  The programmer must ensure that "
14519 "there is room for at least I<maxlen> wide characters at I<wcs>."
14520 msgstr ""
14521 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14522 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14523 "空きがあることを保証しなければ ならない。"
14524
14525 #. type: Plain text
14526 #: build/C/man3/wprintf.3:109
14527 msgid ""
14528 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14529 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
14530 "following differences:"
14531 msgstr ""
14532 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
14533 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
14534
14535 #. type: TP
14536 #: build/C/man3/wprintf.3:109 build/C/man3/wprintf.3:112
14537 #: build/C/man3/wprintf.3:115
14538 #, no-wrap
14539 msgid "B<\\(bu>"
14540 msgstr "B<\\(bu>"
14541
14542 #. type: Plain text
14543 #: build/C/man3/wprintf.3:112
14544 msgid "The I<format> string is a wide-character string."
14545 msgstr "I<format> がワイド文字列で与えられる。"
14546
14547 #. type: Plain text
14548 #: build/C/man3/wprintf.3:115
14549 msgid "The output consists of wide characters, not bytes."
14550 msgstr "出力がバイトではなくワイド文字で構成される。"
14551
14552 #. type: Plain text
14553 #: build/C/man3/wprintf.3:130
14554 msgid ""
14555 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
14556 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
14557 "I<maxlen> argument, but these functions do not return -1 upon buffer "
14558 "overflow on Linux.)"
14559 msgstr ""
14560 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
14561 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
14562 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
14563 "も -1 を返さない)。"
14564
14565 #. type: Plain text
14566 #: build/C/man3/wprintf.3:132
14567 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
14568 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
14569
14570 #. type: Plain text
14571 #: build/C/man3/wprintf.3:146
14572 msgid ""
14573 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
14574 "character by a call to the B<btowc>(3)  function, and the resulting wide "
14575 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
14576 "character) argument is written."
14577 msgstr ""
14578 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
14579 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
14580 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
14581
14582 #. type: Plain text
14583 #: build/C/man3/wprintf.3:185
14584 msgid ""
14585 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
14586 "to be a pointer to an array of character type (pointer to a string) "
14587 "containing a multibyte character sequence beginning in the initial shift "
14588 "state.  Characters from the array are converted to wide characters (each by "
14589 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
14590 "the initial state before the first byte).  The resulting wide characters are "
14591 "written up to (but not including) the terminating null wide character.  If a "
14592 "precision is specified, no more wide characters than the number specified "
14593 "are written.  Note that the precision determines the number of I<wide "
14594 "characters> written, not the number of I<bytes> or I<screen positions>.  The "
14595 "array must contain a terminating null byte, unless a precision is given and "
14596 "it is so small that the number of converted wide characters reaches it "
14597 "before the end of the array is reached.  If an B<l> modifier is present: The "
14598 "I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
14599 "wide characters.  Wide characters from the array are written up to (but not "
14600 "including) a terminating null wide character.  If a precision is specified, "
14601 "no more than the number specified are written.  The array must contain a "
14602 "terminating null wide character, unless a precision is given and it is "
14603 "smaller than or equal to the number of wide characters in the array."
14604 msgstr ""
14605 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
14606 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
14607 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
14608 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
14609 "字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定され"
14610 "た 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込まれ"
14611 "る I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定することに"
14612 "注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 精度"
14613 "を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそれに"
14614 "到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が存在"
14615 "する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインタとみな"
14616 "される。 配列のワイド文字列は終端のナルワイド文字の手間まで出力される。 もし"
14617 "精度が指定された場合には指定された精度以上の文字は出力されない。 精度を指定し"
14618 "ない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場合にはそれ"
14619 "はワイド文字の配列の大きさよりも小さくな ければならない。"
14620
14621 #. type: Plain text
14622 #: build/C/man3/wprintf.3:193
14623 msgid ""
14624 "The functions return the number of wide characters written, excluding the "
14625 "terminating null wide character in case of the functions B<swprintf>()  and "
14626 "B<vswprintf>().  They return -1 when an error occurs."
14627 msgstr ""
14628 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
14629 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
14630 "場合は -1 を返す。"
14631
14632 #. type: Plain text
14633 #: build/C/man3/wprintf.3:195
14634 msgid "C99."
14635 msgstr "C99."
14636
14637 #. type: Plain text
14638 #: build/C/man3/wprintf.3:203
14639 msgid ""
14640 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
14641 "the current locale."
14642 msgstr ""
14643 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
14644
14645 #. type: Plain text
14646 #: build/C/man3/wprintf.3:229
14647 msgid ""
14648 "If the I<format> string contains non-ASCII wide characters, the program will "
14649 "only work correctly if the B<LC_CTYPE> category of the current locale at run "
14650 "time is the same as the B<LC_CTYPE> category of the current locale at "
14651 "compile time.  This is because the I<wchar_t> representation is platform- "
14652 "and locale-dependent.  (The glibc represents wide characters using their "
14653 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
14654 "the use of C99 universal character names of the form \\eunnnn does not solve "
14655 "this problem.)  Therefore, in internationalized programs, the I<format> "
14656 "string should consist of ASCII wide characters only, or should be "
14657 "constructed at run time in an internationalized way (e.g., using B<gettext>"
14658 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
14659 msgstr ""
14660 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
14661 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
14662 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
14663 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
14664 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
14665 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
14666 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
14667 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
14668 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
14669
14670 #.  .BR wscanf (3)
14671 #. type: Plain text
14672 #: build/C/man3/wprintf.3:236
14673 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14674 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14675
14676 #. type: TH
14677 #: build/C/man2/write.2:39
14678 #, no-wrap
14679 msgid "WRITE"
14680 msgstr "WRITE"
14681
14682 #. type: TH
14683 #: build/C/man2/write.2:39
14684 #, no-wrap
14685 msgid "2010-08-29"
14686 msgstr "2010-08-29"
14687
14688 #. type: Plain text
14689 #: build/C/man2/write.2:42
14690 msgid "write - write to a file descriptor"
14691 msgstr "write - ファイルディスクリプタ (file descriptor) に書き込む"
14692
14693 #. type: Plain text
14694 #: build/C/man2/write.2:46
14695 msgid ""
14696 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14697 msgstr ""
14698 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14699
14700 #. type: Plain text
14701 #: build/C/man2/write.2:54
14702 msgid ""
14703 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
14704 "the file referred to by the file descriptor I<fd>."
14705 msgstr ""
14706 "B<write>()  は、 I<buf> が指すバッファから、ファイルディスクリプタ I<fd> が参"
14707 "照するファイルへ、最大 I<count> バイトを書き込む。"
14708
14709 #. type: Plain text
14710 #: build/C/man2/write.2:68
14711 msgid ""
14712 "The number of bytes written may be less than I<count> if, for example, there "
14713 "is insufficient space on the underlying physical medium, or the "
14714 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
14715 "call was interrupted by a signal handler after having written less than "
14716 "I<count> bytes.  (See also B<pipe>(7).)"
14717 msgstr ""
14718 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
14719 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
14720 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
14721 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
14722 "(7)  も参照のこと。)"
14723
14724 #. type: Plain text
14725 #: build/C/man2/write.2:82
14726 msgid ""
14727 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
14728 "example, a regular file)  writing takes place at the current file offset, "
14729 "and the file offset is incremented by the number of bytes actually written.  "
14730 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
14731 "to the end of the file before writing.  The adjustment of the file offset "
14732 "and the write operation are performed as an atomic step."
14733 msgstr ""
14734 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
14735 "ファイル) では、 書き込みは現在のファイルオフセットから行われ、 ファイルオフ"
14736 "セットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
14737 "B<O_APPEND> で B<open>(2)  された場合、ファイルオフセットは書き込み前に ファ"
14738 "イルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな"
14739 "処理として 実行される。"
14740
14741 #. type: Plain text
14742 #: build/C/man2/write.2:89
14743 msgid ""
14744 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
14745 "B<write>()  has returned returns the new data.  Note that not all file "
14746 "systems are POSIX conforming."
14747 msgstr ""
14748 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
14749 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
14750 "ること。"
14751
14752 #. type: Plain text
14753 #: build/C/man2/write.2:94
14754 msgid ""
14755 "On success, the number of bytes written is returned (zero indicates nothing "
14756 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
14757 msgstr ""
14758 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
14759 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
14760
14761 #. type: Plain text
14762 #: build/C/man2/write.2:107
14763 msgid ""
14764 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
14765 "return a failure status if one of the errors below is detected.  If no "
14766 "errors are detected, 0 will be returned without causing any other effect.  "
14767 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
14768 "the results are not specified."
14769 msgstr ""
14770 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
14771 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
14772 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
14773 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
14774 "その結果は規定されていない。"
14775
14776 #. type: Plain text
14777 #: build/C/man2/write.2:115
14778 msgid ""
14779 "The file descriptor I<fd> refers to a file other than a socket and has been "
14780 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
14781 msgstr ""
14782 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
14783 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
14784 "する状況にある。"
14785
14786 #.  Actually EAGAIN on Linux
14787 #. type: Plain text
14788 #: build/C/man2/write.2:126
14789 msgid ""
14790 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
14791 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
14792 "error to be returned for this case, and does not require these constants to "
14793 "have the same value, so a portable application should check for both "
14794 "possibilities."
14795 msgstr ""
14796 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
14797 "モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にあ"
14798 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
14799 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
14800 "プリケーションでは、両方の可能性を 確認すべきである。"
14801
14802 #. type: Plain text
14803 #: build/C/man2/write.2:130
14804 msgid "I<fd> is not a valid file descriptor or is not open for writing."
14805 msgstr ""
14806 "I<fd> が有効なファイルディスクリプタでないか書き込みのためにオープン (open) "
14807 "されていない。"
14808
14809 #. type: TP
14810 #: build/C/man2/write.2:130
14811 #, no-wrap
14812 msgid "B<EDESTADDRREQ>"
14813 msgstr "B<EDESTADDRREQ>"
14814
14815 #. type: Plain text
14816 #: build/C/man2/write.2:135
14817 msgid ""
14818 "I<fd> refers to a datagram socket for which a peer address has not been set "
14819 "using B<connect>(2)."
14820 msgstr ""
14821 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
14822 "グラムソケットを 参照している。"
14823
14824 #. type: Plain text
14825 #: build/C/man2/write.2:144
14826 msgid ""
14827 "An attempt was made to write a file that exceeds the implementation-defined "
14828 "maximum file size or the process's file size limit, or to write at a "
14829 "position past the maximum allowed offset."
14830 msgstr ""
14831 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
14832 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
14833 "書き込もうとした。"
14834
14835 #. type: Plain text
14836 #: build/C/man2/write.2:148
14837 msgid ""
14838 "The call was interrupted by a signal before any data was written; see "
14839 "B<signal>(7)."
14840 msgstr ""
14841 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
14842 "(7)  参照。"
14843
14844 #. type: Plain text
14845 #: build/C/man2/write.2:159
14846 msgid ""
14847 "I<fd> is attached to an object which is unsuitable for writing; or the file "
14848 "was opened with the B<O_DIRECT> flag, and either the address specified in "
14849 "I<buf>, the value specified in I<count>, or the current file offset is not "
14850 "suitably aligned."
14851 msgstr ""
14852 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
14853 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
14854 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
14855 "メントが不適切である。"
14856
14857 #. type: Plain text
14858 #: build/C/man2/write.2:162
14859 msgid "A low-level I/O error occurred while modifying the inode."
14860 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
14861
14862 #. type: Plain text
14863 #: build/C/man2/write.2:167
14864 msgid ""
14865 "The device containing the file referred to by I<fd> has no room for the data."
14866 msgstr ""
14867 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14868
14869 #. type: TP
14870 #: build/C/man2/write.2:167
14871 #, no-wrap
14872 msgid "B<EPIPE>"
14873 msgstr "B<EPIPE>"
14874
14875 #. type: Plain text
14876 #: build/C/man2/write.2:176
14877 msgid ""
14878 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
14879 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
14880 "(Thus, the write return value is seen only if the program catches, blocks or "
14881 "ignores this signal.)"
14882 msgstr ""
14883 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
14884 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
14885 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
14886 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
14887 "write の返り値を参照できる。)"
14888
14889 #. type: Plain text
14890 #: build/C/man2/write.2:179
14891 msgid "Other errors may occur, depending on the object connected to I<fd>."
14892 msgstr ""
14893 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
14894
14895 #. type: Plain text
14896 #: build/C/man2/write.2:188
14897 msgid ""
14898 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
14899 "just before any data is written."
14900 msgstr ""
14901 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
14902 "で B<EINTR> が返る。"
14903
14904 #. type: Plain text
14905 #: build/C/man2/write.2:197
14906 msgid ""
14907 "A successful return from B<write>()  does not make any guarantee that data "
14908 "has been committed to disk.  In fact, on some buggy implementations, it does "
14909 "not even guarantee that space has successfully been reserved for the data.  "
14910 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
14911 "all your data."
14912 msgstr ""
14913 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
14914 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
14915 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
14916 "write した後に B<fsync>(2)  を呼び出すことである。"
14917
14918 #. type: Plain text
14919 #: build/C/man2/write.2:205
14920 msgid ""
14921 "If a B<write>()  is interrupted by a signal handler before any bytes are "
14922 "written, then the call fails with the error B<EINTR>; if it is interrupted "
14923 "after at least one byte has been written, the call succeeds, and returns the "
14924 "number of bytes written."
14925 msgstr ""
14926 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
14927 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
14928 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
14929
14930 #. type: Plain text
14931 #: build/C/man2/write.2:217
14932 msgid ""
14933 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14934 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14935 msgstr ""
14936 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14937 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14938
14939 #. type: TH
14940 #: build/C/man2/process_vm_readv.2:27
14941 #, no-wrap
14942 msgid "PROCESS_VM_READV"
14943 msgstr ""
14944
14945 #. type: TH
14946 #: build/C/man2/process_vm_readv.2:27
14947 #, fuzzy, no-wrap
14948 #| msgid "2012-04-17"
14949 msgid "2012-04-25"
14950 msgstr "2012-04-17"
14951
14952 #. type: Plain text
14953 #: build/C/man2/process_vm_readv.2:30
14954 msgid ""
14955 "process_vm_readv, process_vm_writev - transfer data between process address "
14956 "spaces"
14957 msgstr ""
14958
14959 #. type: Plain text
14960 #: build/C/man2/process_vm_readv.2:40
14961 #, no-wrap
14962 msgid ""
14963 "B<ssize_t process_vm_readv(pid_t >I<pid>B<,>\n"
14964 "B<                         const struct iovec *>I<local_iov>B<,>\n"
14965 "B<                         unsigned long >I<liovcnt>B<,>\n"
14966 "B<                         const struct iovec *>I<remote_iov>B<,>\n"
14967 "B<                         unsigned long >I<riovcnt>B<,>\n"
14968 "B<                         unsigned long >I<flags>B<);>\n"
14969 msgstr ""
14970
14971 #. type: Plain text
14972 #: build/C/man2/process_vm_readv.2:47
14973 #, no-wrap
14974 msgid ""
14975 "B<ssize_t process_vm_writev(pid_t >I<pid>B<,>\n"
14976 "B<                          const struct iovec *>I<local_iov>B<,>\n"
14977 "B<                          unsigned long >I<liovcnt>B<,>\n"
14978 "B<                          const struct iovec *>I<remote_iov>B<,>\n"
14979 "B<                          unsigned long >I<riovcnt>B<,>\n"
14980 "B<                          unsigned long >I<flags>B<);>\n"
14981 msgstr ""
14982
14983 #. type: Plain text
14984 #: build/C/man2/process_vm_readv.2:55
14985 msgid ""
14986 "These system calls transfer data between the address space of the calling "
14987 "process (\"the local process\") and the process identified by I<pid> (\"the "
14988 "remote process\").  The data moves directly between the address spaces of "
14989 "the two processes, without passing through kernel space."
14990 msgstr ""
14991
14992 #. type: Plain text
14993 #: build/C/man2/process_vm_readv.2:80
14994 msgid ""
14995 "The B<process_vm_readv>()  system call transfers data from the remote "
14996 "process to the local process.  The data to be transferred is identified by "
14997 "I<remote_iov> and I<riovcnt>: I<remote_iov> is a pointer to an array "
14998 "describing address ranges in the process I<pid>, and I<riovcnt> specifies "
14999 "the number of elements in I<remote_iov>.  The data is transferred to the "
15000 "locations specified by I<local_iov> and I<liovcnt>: I<local_iov> is a "
15001 "pointer to an array describing address ranges in the calling process, and "
15002 "I<liovcnt> specifies the number of elements in I<local_iov>."
15003 msgstr ""
15004
15005 #. type: Plain text
15006 #: build/C/man2/process_vm_readv.2:94
15007 msgid ""
15008 "The B<process_vm_writev>()  system call is the converse of "
15009 "B<process_vm_readv>()\\(emit transfers data from the local process to the "
15010 "remote process.  Other than the direction of the transfer, the arguments "
15011 "I<liovcnt>, I<local_iov>, I<riovcnt>, and I<remote_iov> have the same "
15012 "meaning as for B<process_vm_readv>()."
15013 msgstr ""
15014
15015 #. type: Plain text
15016 #: build/C/man2/process_vm_readv.2:104
15017 #, fuzzy
15018 #| msgid ""
15019 #| "The pointer I<iov> points to an array of I<iovec> structures, defined in "
15020 #| "I<E<lt>sys/uio.hE<gt>> as:"
15021 msgid ""
15022 "The I<local_iov> and I<remote_iov> arguments point to an array of I<iovec> "
15023 "structures, defined in I<E<lt>sys/uio.hE<gt>> as:"
15024 msgstr ""
15025 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
15026 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
15027
15028 #. type: Plain text
15029 #: build/C/man2/process_vm_readv.2:127
15030 #, fuzzy
15031 #| msgid ""
15032 #| "Buffers are processed in array order.  This means that B<readv>()  "
15033 #| "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  "
15034 #| "(If there is insufficient data, then not all buffers pointed to by I<iov> "
15035 #| "may be filled.)  Similarly, B<writev>()  writes out the entire contents "
15036 #| "of I<iov>[0] before proceeding to I<iov>[1], and so on."
15037 msgid ""
15038 "Buffers are processed in array order.  This means that B<process_vm_readv>"
15039 "()  completely fills I<local_iov[0]> before proceeding to I<local_iov[1]>, "
15040 "and so on.  Likewise, I<remote_iov[0]> is completely read before proceeding "
15041 "to I<remote_iov[1]>, and so on."
15042 msgstr ""
15043 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
15044 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
15045 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
15046 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
15047
15048 #. type: Plain text
15049 #: build/C/man2/process_vm_readv.2:138
15050 msgid ""
15051 "Similarly, B<process_vm_writev>()  writes out the entire contents of "
15052 "I<local_iov[0]> before proceeding to I<local_iov[1]>, and it completely "
15053 "fills I<remote_iov[0]> before proceeding to I<remote_iov[1]>."
15054 msgstr ""
15055
15056 #. type: Plain text
15057 #: build/C/man2/process_vm_readv.2:146
15058 msgid ""
15059 "The lengths of I<remote_iov[i].iov_len> and I<local_iov[i].iov_len> do not "
15060 "have to be the same.  Thus, it is possible to split a single local buffer "
15061 "into multiple remote buffers, or vice versa."
15062 msgstr ""
15063
15064 #. type: Plain text
15065 #: build/C/man2/process_vm_readv.2:150
15066 #, fuzzy
15067 #| msgid "The I<double> argument is rounded and converted in the style"
15068 msgid "The I<flags> argument is currently unused and must be set to 0."
15069 msgstr "I<double> 引き数を丸めて"
15070
15071 #.  In time, glibc might provide a wrapper that works around this limit,
15072 #.  as is done for readv()/writev()
15073 #. type: Plain text
15074 #: build/C/man2/process_vm_readv.2:163
15075 msgid ""
15076 "The values specified in the I<liovcnt> and I<riovcnt> arguments must be less "
15077 "than or equal to B<IOV_MAX> (defined in I<E<lt>limits.hE<gt>> or accessible "
15078 "via the call I<sysconf(_SC_IOV_MAX)>)."
15079 msgstr ""
15080
15081 #. type: Plain text
15082 #: build/C/man2/process_vm_readv.2:173
15083 msgid ""
15084 "The count arguments and I<local_iov> are checked before doing any "
15085 "transfers.  If the counts are too big, or I<local_iov> is invalid, or the "
15086 "addresses refer to regions that are inaccessible to the local process, none "
15087 "of the vectors will be processed and an error will be returned immediately."
15088 msgstr ""
15089
15090 #. type: Plain text
15091 #: build/C/man2/process_vm_readv.2:193
15092 msgid ""
15093 "Note, however, that these system calls do not check the memory regions in "
15094 "the remote process until just before doing the read/write.  Consequently, a "
15095 "partial read/write (see RETURN VALUE)  may result if one of the "
15096 "I<remote_iov> elements points to an invalid memory region in the remote "
15097 "process.  No further reads/writes will be attempted beyond that point.  Keep "
15098 "this in mind when attempting to read data of unknown length (such as C "
15099 "strings that are null-terminated) from a remote process, by avoiding "
15100 "spanning memory pages (typically 4KiB) in a single remote I<iovec> element.  "
15101 "(Instead, split the remote read into two I<remote_iov> elements and have "
15102 "them merge back into a single write I<local_iov> entry.  The first read "
15103 "entry goes up to the page boundary, while the second starts on the next page "
15104 "boundary.)"
15105 msgstr ""
15106
15107 #. type: Plain text
15108 #: build/C/man2/process_vm_readv.2:207
15109 msgid ""
15110 "In order to read from or write to another process, either the caller must "
15111 "have the capability B<CAP_SYS_PTRACE>, or the real user ID, effective user "
15112 "ID, and saved set-user-ID of the remote process must match the real user ID "
15113 "of the caller I<and> the real group ID, effective group ID, and saved set-"
15114 "group-ID of the remote process must match the real group ID of the caller.  "
15115 "(The permission required is exactly the same as that required to perform a "
15116 "B<ptrace>(2)  B<PTRACE_ATTACH> on the remote process.)"
15117 msgstr ""
15118
15119 #. type: Plain text
15120 #: build/C/man2/process_vm_readv.2:223
15121 msgid ""
15122 "On success, B<process_vm_readv>()  returns the number of bytes read and "
15123 "B<process_vm_writev>()  returns the number of bytes written.  This return "
15124 "value may be less than the total number of requested bytes, if a partial "
15125 "read/write occurred.  (Partial transfers apply at the granularity of "
15126 "I<iovec> elements.  These system calls won't perform a partial transfer that "
15127 "splits a single I<iovec> element.)  The caller should check the return value "
15128 "to determine whether a partial read/write occurred."
15129 msgstr ""
15130
15131 #. type: Plain text
15132 #: build/C/man2/process_vm_readv.2:227
15133 #, fuzzy
15134 #| msgid ""
15135 #| "On success, zero is returned.  On error, -1 is returned, and I<errno> is "
15136 #| "set appropriately."
15137 msgid "On error, -1 is returned and I<errno> is set appropriately."
15138 msgstr ""
15139 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
15140 "定される。"
15141
15142 #. type: Plain text
15143 #: build/C/man2/process_vm_readv.2:239
15144 msgid ""
15145 "The sum of the I<iov_len> values of either I<local_iov> or I<remote_iov> "
15146 "overflows a I<ssize_t> value."
15147 msgstr ""
15148
15149 #. type: Plain text
15150 #: build/C/man2/process_vm_readv.2:243
15151 #, fuzzy
15152 #| msgid "I<bufsiz> is not positive."
15153 msgid "I<flags> is not 0."
15154 msgstr "I<bufsiz> が正でない。"
15155
15156 #. type: Plain text
15157 #: build/C/man2/process_vm_readv.2:249
15158 #, fuzzy
15159 #| msgid "I<oldpath> or I<newpath> was too long."
15160 msgid "I<liovcnt> or I<riovcnt> is too large."
15161 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
15162
15163 #. type: Plain text
15164 #: build/C/man2/process_vm_readv.2:254
15165 #, fuzzy
15166 #| msgid "I<buf> is outside your accessible address space."
15167 msgid ""
15168 "The memory described by I<local_iov> is outside the caller's accessible "
15169 "address space."
15170 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
15171
15172 #. type: Plain text
15173 #: build/C/man2/process_vm_readv.2:260
15174 msgid ""
15175 "The memory described by I<remote_iov> is outside the accessible address "
15176 "space of the process I<pid>."
15177 msgstr ""
15178
15179 #. type: Plain text
15180 #: build/C/man2/process_vm_readv.2:265
15181 msgid ""
15182 "Could not allocate memory for internal copies of the I<iovec> structures."
15183 msgstr ""
15184
15185 #. type: Plain text
15186 #: build/C/man2/process_vm_readv.2:269
15187 msgid ""
15188 "The caller does not have permission to access the address space of the "
15189 "process I<pid>."
15190 msgstr ""
15191
15192 #. type: TP
15193 #: build/C/man2/process_vm_readv.2:269
15194 #, no-wrap
15195 msgid "B<ESRCH>"
15196 msgstr ""
15197
15198 #. type: Plain text
15199 #: build/C/man2/process_vm_readv.2:274
15200 msgid "No process with ID I<pid> exists."
15201 msgstr ""
15202
15203 #. type: Plain text
15204 #: build/C/man2/process_vm_readv.2:277
15205 #, fuzzy
15206 #| msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
15207 msgid ""
15208 "These system calls were added in Linux 3.2.  Support is provided in glibc "
15209 "since version 2.15."
15210 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
15211
15212 #. type: Plain text
15213 #: build/C/man2/process_vm_readv.2:279
15214 #, fuzzy
15215 #| msgid "This function is a nonstandard GNU extension."
15216 msgid "These system calls are nonstandard Linux extensions."
15217 msgstr "This function is a nonstandard GNU extension."
15218
15219 #. type: Plain text
15220 #: build/C/man2/process_vm_readv.2:285
15221 msgid ""
15222 "The data transfers performed by B<process_vm_readv>()  and "
15223 "B<process_vm_writev>()  are not guaranteed to be atomic in any way."
15224 msgstr ""
15225
15226 #.  Original user is MPI, http://www.mcs.anl.gov/research/projects/mpi/
15227 #.  See also some benchmarks at http://lwn.net/Articles/405284/
15228 #.  and http://marc.info/?l=linux-mm&m=130105930902915&w=2
15229 #. type: Plain text
15230 #: build/C/man2/process_vm_readv.2:293
15231 msgid ""
15232 "These system calls were designed to permit fast message passing by allowing "
15233 "messages to be exchanged with a single copy operation (rather than the "
15234 "double copy that would be required when using, for example, shared memory or "
15235 "pipes)."
15236 msgstr ""
15237
15238 #. type: Plain text
15239 #: build/C/man2/process_vm_readv.2:301
15240 msgid ""
15241 "The following code sample demonstrates the use of B<process_vm_readv>().  It "
15242 "reads 20 bytes at the address 0x10000 from the process with PID 10 and "
15243 "writes the first 10 bytes into I<buf1> and the second 10 bytes into I<buf2>."
15244 msgstr ""
15245
15246 #. type: Plain text
15247 #: build/C/man2/process_vm_readv.2:304
15248 #, fuzzy, no-wrap
15249 #| msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
15250 msgid "#include E<lt>sys/uio.hE<gt>\n"
15251 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
15252
15253 #. type: Plain text
15254 #: build/C/man2/process_vm_readv.2:314
15255 #, no-wrap
15256 msgid ""
15257 "int\n"
15258 "main(void)\n"
15259 "{\n"
15260 "    struct iovec local[2];\n"
15261 "    struct iovec remote[1];\n"
15262 "    char buf1[10];\n"
15263 "    char buf2[10];\n"
15264 "    ssize_t nread;\n"
15265 "    pid_t pid = 10;             /* PID of remote process */\n"
15266 msgstr ""
15267
15268 #. type: Plain text
15269 #: build/C/man2/process_vm_readv.2:321
15270 #, no-wrap
15271 msgid ""
15272 "    local[0].iov_base = buf1;\n"
15273 "    local[0].iov_len = 10;\n"
15274 "    local[1].iov_base = buf2;\n"
15275 "    local[1].iov_len = 10;\n"
15276 "    remote[0].iov_base = (void *) 0x10000;\n"
15277 "    remote[1].iov_len = 20;\n"
15278 msgstr ""
15279
15280 #. type: Plain text
15281 #: build/C/man2/process_vm_readv.2:328
15282 #, no-wrap
15283 msgid ""
15284 "    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
15285 "    if (nread != 20)\n"
15286 "        return 1;\n"
15287 "    else\n"
15288 "        return 0;\n"
15289 "}\n"
15290 msgstr ""
15291
15292 #. type: Plain text
15293 #: build/C/man2/process_vm_readv.2:332
15294 #, fuzzy
15295 #| msgid "B<pread>(2), B<read>(2), B<write>(2)"
15296 msgid "B<readv>(2), B<writev>(2)"
15297 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
15298
15299 #~ msgid "call."
15300 #~ msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
15301
15302 #~ msgid ""
15303 #~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
15304 #~ "B<gets>()  obsolescent."
15305 #~ msgstr ""
15306 #~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
15307 #~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
15308
15309 #~ msgid ""
15310 #~ "This document's use of I<whence> is incorrect English, but maintained for "
15311 #~ "historical reasons."
15312 #~ msgstr ""
15313 #~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
15314 #~ "のまま使われている。"
15315
15316 #~ msgid "B<EBUSY> (not on Linux)"
15317 #~ msgstr "B<EBUSY> (Linux 以外)"