OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.41.
[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-28 07:17+0900\n"
10 "PO-Revision-Date: 2012-05-08 01:25+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/asprintf.3:25
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:25
26 #, no-wrap
27 msgid "2001-12-18"
28 msgstr "2001-12-18"
29
30 #. type: TH
31 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
32 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
33 #: build/C/man3/fcloseall.3:24 build/C/man3/fflush.3:43
34 #: build/C/man3/fgetwc.3:16 build/C/man3/fmemopen.3:6 build/C/man3/fopen.3:42
35 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
36 #: build/C/man3/getline.3:24 build/C/man3/gets.3:25 build/C/man3/getw.3:23
37 #: build/C/man3/popen.3:38 build/C/man3/printf.3:34 build/C/man3/puts.3:24
38 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:50 build/C/man3/wprintf.3:14
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
44 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
45 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
46 #: build/C/man3/fcloseall.3:24 build/C/man3/ferror.3:42
47 #: build/C/man3/fflush.3:43 build/C/man3/fgetwc.3:16
48 #: build/C/man3/flockfile.3:23 build/C/man3/fmemopen.3:6
49 #: build/C/man3/fmtmsg.3:9 build/C/man3/fopen.3:42
50 #: build/C/man3/fopencookie.3:24 build/C/man3/fpurge.3:23
51 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
52 #: build/C/man3/fseeko.3:23 build/C/man3/getline.3:24 build/C/man3/gets.3:25
53 #: build/C/man3/getw.3:23 build/C/man2/link.2:31 build/C/man2/llseek.2:26
54 #: build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23 build/C/man2/open.2:52
55 #: build/C/man3/perror.3:30 build/C/man2/pipe.2:36 build/C/man3/popen.3:38
56 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man2/read.2:35
57 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man3/remove.3:31
58 #: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:50
59 #: build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9 build/C/man3/stdio.3:37
60 #: build/C/man3/stdio_ext.3:23 build/C/man2/symlink.2:32
61 #: build/C/man7/symlink.7:35 build/C/man3/tempnam.3:23
62 #: build/C/man3/tmpfile.3:29 build/C/man3/tmpnam.3:25 build/C/man2/unlink.2:32
63 #: build/C/man3/unlocked_stdio.3:23 build/C/man3/wprintf.3:14
64 #: build/C/man2/write.2:39
65 #, no-wrap
66 msgid "Linux Programmer's Manual"
67 msgstr "Linux Programmer's Manual"
68
69 #. type: SH
70 #: build/C/man3/asprintf.3:26 build/C/man3/ctermid.3:25
71 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:43
72 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:43
73 #: build/C/man3/fflush.3:44 build/C/man3/fgetwc.3:17
74 #: build/C/man3/flockfile.3:24 build/C/man3/fmemopen.3:7
75 #: build/C/man3/fmtmsg.3:10 build/C/man3/fopen.3:43
76 #: build/C/man3/fopencookie.3:25 build/C/man3/fpurge.3:24
77 #: build/C/man3/fputwc.3:15 build/C/man3/fread.3:44 build/C/man3/fseek.3:41
78 #: build/C/man3/fseeko.3:24 build/C/man3/getline.3:25 build/C/man3/gets.3:26
79 #: build/C/man3/getw.3:24 build/C/man2/link.2:32 build/C/man2/llseek.2:27
80 #: build/C/man2/lseek.2:46 build/C/man3/lseek64.3:24 build/C/man2/open.2:53
81 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:37 build/C/man3/popen.3:39
82 #: build/C/man3/printf.3:35 build/C/man3/puts.3:25 build/C/man2/read.2:36
83 #: build/C/man2/readlink.2:42 build/C/man2/readv.2:31 build/C/man3/remove.3:32
84 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:51
85 #: build/C/man3/setbuf.3:47 build/C/man3/stdin.3:10 build/C/man3/stdio.3:38
86 #: build/C/man3/stdio_ext.3:24 build/C/man2/symlink.2:33
87 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:24
88 #: build/C/man3/tmpfile.3:30 build/C/man3/tmpnam.3:26 build/C/man2/unlink.2:33
89 #: build/C/man3/unlocked_stdio.3:24 build/C/man3/wprintf.3:15
90 #: build/C/man2/write.2:40
91 #, no-wrap
92 msgid "NAME"
93 msgstr "名前"
94
95 #. type: Plain text
96 #: build/C/man3/asprintf.3:28
97 msgid "asprintf, vasprintf - print to allocated string"
98 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
99
100 #. type: SH
101 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
102 #: build/C/man3/dprintf.3:28 build/C/man3/fclose.3:45
103 #: build/C/man3/fcloseall.3:27 build/C/man3/ferror.3:45
104 #: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
105 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:9
106 #: build/C/man3/fmtmsg.3:12 build/C/man3/fopen.3:45
107 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
108 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
109 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
110 #: build/C/man3/getw.3:26 build/C/man2/link.2:34 build/C/man2/llseek.2:29
111 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:55
112 #: build/C/man3/perror.3:33 build/C/man2/pipe.2:39 build/C/man3/popen.3:41
113 #: build/C/man3/printf.3:38 build/C/man3/puts.3:27 build/C/man2/read.2:38
114 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:34
115 #: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:53
116 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:12 build/C/man3/stdio.3:40
117 #: build/C/man3/stdio_ext.3:28 build/C/man2/symlink.2:35
118 #: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
119 #: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:35
120 #: build/C/man3/unlocked_stdio.3:27 build/C/man3/wprintf.3:18
121 #: build/C/man2/write.2:42
122 #, no-wrap
123 msgid "SYNOPSIS"
124 msgstr "書式"
125
126 #. type: Plain text
127 #: build/C/man3/asprintf.3:30
128 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
129 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
130
131 #. type: Plain text
132 #: build/C/man3/asprintf.3:32 build/C/man3/dprintf.3:30
133 #: build/C/man3/fclose.3:47 build/C/man3/ferror.3:47 build/C/man3/fflush.3:48
134 #: build/C/man3/fseek.3:45 build/C/man3/perror.3:35 build/C/man3/printf.3:40
135 #: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:42
136 #: build/C/man3/stdio_ext.3:30
137 msgid "B<#include E<lt>stdio.hE<gt>>"
138 msgstr "B<#include E<lt>stdio.hE<gt>>"
139
140 #. type: Plain text
141 #: build/C/man3/asprintf.3:34
142 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
143 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
144
145 #. type: Plain text
146 #: build/C/man3/asprintf.3:36
147 msgid ""
148 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
149 msgstr ""
150 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
151
152 #. type: SH
153 #: build/C/man3/asprintf.3:36 build/C/man3/ctermid.3:44
154 #: build/C/man3/dprintf.3:54 build/C/man3/fclose.3:49
155 #: build/C/man3/fcloseall.3:34 build/C/man3/ferror.3:63
156 #: build/C/man3/fflush.3:50 build/C/man3/fgetwc.3:28
157 #: build/C/man3/flockfile.3:49 build/C/man3/fmemopen.3:42
158 #: build/C/man3/fmtmsg.3:22 build/C/man3/fopen.3:63
159 #: build/C/man3/fopencookie.3:35 build/C/man3/fpurge.3:40
160 #: build/C/man3/fputwc.3:26 build/C/man3/fread.3:56 build/C/man3/fseek.3:55
161 #: build/C/man3/fseeko.3:35 build/C/man3/getline.3:56 build/C/man3/gets.3:44
162 #: build/C/man3/getw.3:57 build/C/man2/link.2:38 build/C/man2/llseek.2:38
163 #: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/open.2:66
164 #: build/C/man3/perror.3:54 build/C/man2/pipe.2:51 build/C/man3/popen.3:62
165 #: build/C/man3/printf.3:76 build/C/man3/puts.3:41 build/C/man2/read.2:44
166 #: build/C/man2/readlink.2:61 build/C/man2/readv.2:56 build/C/man3/remove.3:38
167 #: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:85
168 #: build/C/man3/setbuf.3:71 build/C/man3/stdin.3:20 build/C/man3/stdio.3:48
169 #: build/C/man3/stdio_ext.3:52 build/C/man2/symlink.2:52
170 #: build/C/man3/tempnam.3:40 build/C/man3/tmpfile.3:38
171 #: build/C/man3/tmpnam.3:34 build/C/man2/unlink.2:39
172 #: build/C/man3/unlocked_stdio.3:104 build/C/man3/wprintf.3:58
173 #: build/C/man2/write.2:46
174 #, no-wrap
175 msgid "DESCRIPTION"
176 msgstr "説明"
177
178 #. type: Plain text
179 #: build/C/man3/asprintf.3:51
180 msgid ""
181 "The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
182 "(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
183 "hold the output including the terminating null byte, and return a pointer to "
184 "it via the first argument.  This pointer should be passed to B<free>(3)  to "
185 "release the allocated storage when it is no longer needed."
186 msgstr ""
187 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
188 "と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイトも含"
189 "めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数にその文字列への"
190 "ポインタを返す。 このポインタは、不要になったら B<free>(3)  に渡し、割り当て"
191 "られた記憶領域を解放すべきである。"
192
193 #. type: SH
194 #: build/C/man3/asprintf.3:51 build/C/man3/ctermid.3:57
195 #: build/C/man3/fclose.3:57 build/C/man3/fcloseall.3:49
196 #: build/C/man3/fflush.3:72 build/C/man3/fgetwc.3:53
197 #: build/C/man3/flockfile.3:112 build/C/man3/fmemopen.3:172
198 #: build/C/man3/fmtmsg.3:148 build/C/man3/fopen.3:187
199 #: build/C/man3/fopencookie.3:236 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 #, no-wrap
212 msgid "RETURN VALUE"
213 msgstr "返り値"
214
215 #. type: Plain text
216 #: build/C/man3/asprintf.3:59
217 msgid ""
218 "When successful, these functions return the number of bytes printed, just "
219 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
220 "error occurs, these functions will return -1, and the contents of I<strp> is "
221 "undefined."
222 msgstr ""
223 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
224 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
225 "は -1 を返し、 I<strp> の内容は未定義となる。"
226
227 #. type: SH
228 #: build/C/man3/asprintf.3:59 build/C/man3/ctermid.3:59
229 #: build/C/man3/dprintf.3:68 build/C/man3/fclose.3:88
230 #: build/C/man3/fcloseall.3:54 build/C/man3/ferror.3:105
231 #: build/C/man3/fflush.3:91 build/C/man3/fgetwc.3:65
232 #: build/C/man3/flockfile.3:119 build/C/man3/fmemopen.3:191
233 #: build/C/man3/fmtmsg.3:221 build/C/man3/fopen.3:244
234 #: build/C/man3/fopencookie.3:243 build/C/man3/fpurge.3:68
235 #: build/C/man3/fputwc.3:63 build/C/man3/fread.3:101 build/C/man3/fseek.3:164
236 #: build/C/man3/fseeko.3:75 build/C/man3/getline.3:132 build/C/man3/gets.3:136
237 #: build/C/man3/getw.3:78 build/C/man2/link.2:128 build/C/man2/llseek.2:76
238 #: build/C/man2/lseek.2:189 build/C/man2/open.2:610 build/C/man3/perror.3:111
239 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:167 build/C/man3/printf.3:806
240 #: build/C/man3/puts.3:101 build/C/man2/read.2:155 build/C/man2/readlink.2:123
241 #: build/C/man2/readv.2:212 build/C/man3/remove.3:70 build/C/man2/rename.2:229
242 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:575 build/C/man3/setbuf.3:162
243 #: build/C/man3/stdin.3:109 build/C/man3/stdio.3:244
244 #: build/C/man2/symlink.2:144 build/C/man3/tempnam.3:94
245 #: build/C/man3/tmpfile.3:74 build/C/man3/tmpnam.3:75
246 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:111
247 #: build/C/man3/wprintf.3:193 build/C/man2/write.2:179
248 #, no-wrap
249 msgid "CONFORMING TO"
250 msgstr "準拠"
251
252 #. type: Plain text
253 #: build/C/man3/asprintf.3:65
254 msgid ""
255 "These functions are GNU extensions, not in C or POSIX.  They are also "
256 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
257 "error."
258 msgstr ""
259 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
260 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
261 "る。"
262
263 #. type: SH
264 #: build/C/man3/asprintf.3:65 build/C/man3/ctermid.3:69
265 #: build/C/man3/dprintf.3:94 build/C/man3/fclose.3:100
266 #: build/C/man3/fcloseall.3:56 build/C/man3/ferror.3:112
267 #: build/C/man3/fflush.3:106 build/C/man3/fgetwc.3:82
268 #: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:337
269 #: build/C/man3/fmtmsg.3:293 build/C/man3/fopen.3:346
270 #: build/C/man3/fopencookie.3:435 build/C/man3/fpurge.3:78
271 #: build/C/man3/fputwc.3:80 build/C/man3/fread.3:103 build/C/man3/fseek.3:166
272 #: build/C/man3/fseeko.3:81 build/C/man3/getline.3:166 build/C/man3/gets.3:171
273 #: build/C/man3/getw.3:84 build/C/man2/link.2:177 build/C/man2/llseek.2:82
274 #: build/C/man2/lseek.2:234 build/C/man3/lseek64.3:157 build/C/man2/open.2:882
275 #: build/C/man3/perror.3:139 build/C/man2/pipe.2:190 build/C/man3/popen.3:196
276 #: build/C/man3/printf.3:1074 build/C/man3/puts.3:110 build/C/man2/read.2:178
277 #: build/C/man2/readlink.2:212 build/C/man2/readv.2:282
278 #: build/C/man3/remove.3:81 build/C/man2/rename.2:242 build/C/man2/rmdir.2:132
279 #: build/C/man3/scanf.3:717 build/C/man3/setbuf.3:198 build/C/man3/stdin.3:150
280 #: build/C/man3/stdio.3:248 build/C/man3/stdio_ext.3:130
281 #: build/C/man2/symlink.2:159 build/C/man7/symlink.7:470
282 #: build/C/man3/tempnam.3:164 build/C/man3/tmpfile.3:86
283 #: build/C/man3/tmpnam.3:151 build/C/man2/unlink.2:148
284 #: build/C/man3/unlocked_stdio.3:134 build/C/man3/wprintf.3:229
285 #: build/C/man2/write.2:205
286 #, no-wrap
287 msgid "SEE ALSO"
288 msgstr "関連項目"
289
290 #. type: Plain text
291 #: build/C/man3/asprintf.3:69
292 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
293 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
294
295 #. type: SH
296 #: build/C/man3/asprintf.3:69 build/C/man3/ctermid.3:71
297 #: build/C/man3/dprintf.3:96 build/C/man3/fclose.3:106
298 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:117
299 #: build/C/man3/fflush.3:114 build/C/man3/fgetwc.3:87
300 #: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:340
301 #: build/C/man3/fmtmsg.3:296 build/C/man3/fopen.3:352
302 #: build/C/man3/fopencookie.3:440 build/C/man3/fpurge.3:83
303 #: build/C/man3/fputwc.3:84 build/C/man3/fread.3:109 build/C/man3/fseek.3:169
304 #: build/C/man3/fseeko.3:83 build/C/man3/getline.3:173 build/C/man3/gets.3:187
305 #: build/C/man3/getw.3:90 build/C/man2/link.2:187 build/C/man2/llseek.2:85
306 #: build/C/man2/lseek.2:241 build/C/man3/lseek64.3:160 build/C/man2/open.2:904
307 #: build/C/man3/perror.3:144 build/C/man2/pipe.2:197 build/C/man3/popen.3:206
308 #: build/C/man3/printf.3:1083 build/C/man3/puts.3:122 build/C/man2/read.2:191
309 #: build/C/man2/readlink.2:220 build/C/man2/readv.2:286
310 #: build/C/man3/remove.3:92 build/C/man2/rename.2:251 build/C/man2/rmdir.2:141
311 #: build/C/man3/scanf.3:724 build/C/man3/setbuf.3:206 build/C/man3/stdin.3:156
312 #: build/C/man3/stdio.3:255 build/C/man3/stdio_ext.3:133
313 #: build/C/man2/symlink.2:171 build/C/man7/symlink.7:488
314 #: build/C/man3/tempnam.3:169 build/C/man3/tmpfile.3:92
315 #: build/C/man3/tmpnam.3:156 build/C/man2/unlink.2:161
316 #: build/C/man3/unlocked_stdio.3:137 build/C/man3/wprintf.3:236
317 #: build/C/man2/write.2:217
318 #, no-wrap
319 msgid "COLOPHON"
320 msgstr "この文書について"
321
322 #. type: Plain text
323 #: build/C/man3/asprintf.3:76 build/C/man3/ctermid.3:78
324 #: build/C/man3/dprintf.3:103 build/C/man3/fclose.3:113
325 #: build/C/man3/fcloseall.3:69 build/C/man3/ferror.3:124
326 #: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:94
327 #: build/C/man3/flockfile.3:136 build/C/man3/fmemopen.3:347
328 #: build/C/man3/fmtmsg.3:303 build/C/man3/fopen.3:359
329 #: build/C/man3/fopencookie.3:447 build/C/man3/fpurge.3:90
330 #: build/C/man3/fputwc.3:91 build/C/man3/fread.3:116 build/C/man3/fseek.3:176
331 #: build/C/man3/fseeko.3:90 build/C/man3/getline.3:180 build/C/man3/gets.3:194
332 #: build/C/man3/getw.3:97 build/C/man2/link.2:194 build/C/man2/llseek.2:92
333 #: build/C/man2/lseek.2:248 build/C/man3/lseek64.3:167 build/C/man2/open.2:911
334 #: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:213
335 #: build/C/man3/printf.3:1090 build/C/man3/puts.3:129 build/C/man2/read.2:198
336 #: build/C/man2/readlink.2:227 build/C/man2/readv.2:293
337 #: build/C/man3/remove.3:99 build/C/man2/rename.2:258 build/C/man2/rmdir.2:148
338 #: build/C/man3/scanf.3:731 build/C/man3/setbuf.3:213 build/C/man3/stdin.3:163
339 #: build/C/man3/stdio.3:262 build/C/man3/stdio_ext.3:140
340 #: build/C/man2/symlink.2:178 build/C/man7/symlink.7:495
341 #: build/C/man3/tempnam.3:176 build/C/man3/tmpfile.3:99
342 #: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:168
343 #: build/C/man3/unlocked_stdio.3:144 build/C/man3/wprintf.3:243
344 #: build/C/man2/write.2:224
345 #, fuzzy
346 #| msgid ""
347 #| "This page is part of release 3.40 of the Linux I<man-pages> project.  A "
348 #| "description of the project, and information about reporting bugs, can be "
349 #| "found at http://www.kernel.org/doc/man-pages/."
350 msgid ""
351 "This page is part of release 3.41 of the Linux I<man-pages> project.  A "
352 "description of the project, and information about reporting bugs, can be "
353 "found at http://www.kernel.org/doc/man-pages/."
354 msgstr ""
355 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
356 "である。プロジェクトの説明とバグ報告に関する情報は\n"
357 "http://www.kernel.org/doc/man-pages/ に書かれている。"
358
359 #. type: TH
360 #: build/C/man3/ctermid.3:24
361 #, no-wrap
362 msgid "CTERMID"
363 msgstr "CTERMID"
364
365 #. type: TH
366 #: build/C/man3/ctermid.3:24
367 #, no-wrap
368 msgid "2007-07-26"
369 msgstr "2007-07-26"
370
371 #. type: Plain text
372 #: build/C/man3/ctermid.3:27
373 msgid "ctermid - get controlling terminal name"
374 msgstr "ctermid - 制御端末名の取得"
375
376 #. type: Plain text
377 #: build/C/man3/ctermid.3:32 build/C/man3/fgetwc.3:22
378 #: build/C/man3/flockfile.3:29 build/C/man3/fmemopen.3:12
379 #: build/C/man3/fopen.3:48 build/C/man3/fputwc.3:20 build/C/man3/fread.3:49
380 #: build/C/man3/fseeko.3:29 build/C/man3/getline.3:30 build/C/man3/gets.3:31
381 #: build/C/man3/getw.3:29 build/C/man3/popen.3:44 build/C/man3/puts.3:30
382 #: build/C/man3/scanf.3:56 build/C/man3/setbuf.3:52 build/C/man3/stdin.3:15
383 #: build/C/man3/tempnam.3:29 build/C/man3/tmpfile.3:35
384 #: build/C/man3/tmpnam.3:31 build/C/man3/unlocked_stdio.3:30
385 #, no-wrap
386 msgid "B<#include E<lt>stdio.hE<gt>>\n"
387 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
388
389 #. type: Plain text
390 #: build/C/man3/ctermid.3:34
391 #, no-wrap
392 msgid "B<char *ctermid(char *>I<s>B<);>\n"
393 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
394
395 #. type: Plain text
396 #: build/C/man3/ctermid.3:39 build/C/man3/dprintf.3:38
397 #: build/C/man3/ferror.3:59 build/C/man3/flockfile.3:40
398 #: build/C/man3/fmemopen.3:25 build/C/man3/fopen.3:59
399 #: build/C/man3/getline.3:40 build/C/man3/getw.3:38 build/C/man3/perror.3:49
400 #: build/C/man3/popen.3:53 build/C/man3/printf.3:63 build/C/man2/readlink.2:52
401 #: build/C/man2/readv.2:51 build/C/man3/scanf.3:71 build/C/man3/setbuf.3:66
402 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:36
403 #: build/C/man3/unlocked_stdio.3:66 build/C/man3/wprintf.3:37
404 msgid ""
405 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
406 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
407
408 #.  From <unistd.h>: _XOPEN_SOURCE
409 #. type: Plain text
410 #: build/C/man3/ctermid.3:44
411 msgid ""
412 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
413 msgstr ""
414 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
415
416 #. type: Plain text
417 #: build/C/man3/ctermid.3:57
418 msgid ""
419 "B<ctermid>()  returns a string which is the pathname for the current "
420 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
421 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
422 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
423 "the returned pathname."
424 msgstr ""
425 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
426 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
427 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
428 "ス名の最大文字数である。"
429
430 #. type: Plain text
431 #: build/C/man3/ctermid.3:59
432 msgid "The pointer to the pathname."
433 msgstr "パス名へのポインタ。"
434
435 #. type: Plain text
436 #: build/C/man3/ctermid.3:61
437 msgid "Svr4, POSIX.1-2001."
438 msgstr "SVr4, POSIX.1-2001."
439
440 #. type: SH
441 #: build/C/man3/ctermid.3:61 build/C/man3/fmemopen.3:209
442 #: build/C/man3/fopen.3:329 build/C/man3/gets.3:150 build/C/man3/getw.3:80
443 #: build/C/man2/link.2:171 build/C/man2/open.2:871 build/C/man3/popen.3:173
444 #: build/C/man3/printf.3:929 build/C/man3/puts.3:103 build/C/man2/readv.2:256
445 #: build/C/man3/remove.3:78 build/C/man2/rename.2:231 build/C/man2/rmdir.2:129
446 #: build/C/man3/scanf.3:682 build/C/man3/setbuf.3:168
447 #: build/C/man3/tempnam.3:154 build/C/man3/tmpnam.3:144
448 #: build/C/man2/unlink.2:145
449 #, no-wrap
450 msgid "BUGS"
451 msgstr "バグ"
452
453 #. type: Plain text
454 #: build/C/man3/ctermid.3:65
455 msgid ""
456 "The path returned may not uniquely identify the controlling terminal; it "
457 "may, for example, be I</dev/tty>."
458 msgstr ""
459 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
460 "ように。"
461
462 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
463 #.  if ctermid() was given an argument; fixed in 2.4.
464 #. type: Plain text
465 #: build/C/man3/ctermid.3:69
466 msgid "It is not assured that the program can open the terminal."
467 msgstr "プログラムが端末をオープンできることは保証されていない。"
468
469 #. type: Plain text
470 #: build/C/man3/ctermid.3:71
471 msgid "B<ttyname>(3)"
472 msgstr "B<ttyname>(3)"
473
474 #. type: TH
475 #: build/C/man3/dprintf.3:25
476 #, no-wrap
477 msgid "DPRINTF"
478 msgstr "DPRINTF"
479
480 #. type: TH
481 #: build/C/man3/dprintf.3:25
482 #, no-wrap
483 msgid "2010-09-15"
484 msgstr "2010-09-15"
485
486 #. type: Plain text
487 #: build/C/man3/dprintf.3:28
488 msgid "dprintf, vdprintf - print to a file descriptor"
489 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
490
491 #. type: Plain text
492 #: build/C/man3/dprintf.3:32
493 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
494 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
495
496 #. type: Plain text
497 #: build/C/man3/dprintf.3:34
498 msgid ""
499 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
500 msgstr ""
501 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
502
503 #. type: Plain text
504 #: build/C/man3/dprintf.3:42
505 msgid "B<dprintf>(), B<vdprintf>():"
506 msgstr "B<dprintf>(), B<vdprintf>():"
507
508 #. type: TP
509 #: build/C/man3/dprintf.3:45 build/C/man3/fmemopen.3:33
510 #: build/C/man3/getline.3:47
511 #, no-wrap
512 msgid "Since glibc 2.10:"
513 msgstr "glibc 2.10 以降:"
514
515 #. type: Plain text
516 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
517 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
518 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
519
520 #. type: TP
521 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
522 #: build/C/man3/getline.3:50
523 #, no-wrap
524 msgid "Before glibc 2.10:"
525 msgstr "glibc 2.10 より前:"
526
527 #. type: Plain text
528 #: build/C/man3/dprintf.3:51 build/C/man3/fmemopen.3:39
529 #: build/C/man3/getline.3:53 build/C/man3/unlocked_stdio.3:102
530 msgid "_GNU_SOURCE"
531 msgstr "_GNU_SOURCE"
532
533 #. type: Plain text
534 #: build/C/man3/dprintf.3:68
535 msgid ""
536 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
537 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
538 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
539 msgstr ""
540 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
541 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
542 "れらは I<stdio> ストリームではなくファイルディスクリプタ I<fd> に対して出力を"
543 "行う。"
544
545 #.  .SH NOTES
546 #.  These functions are GNU extensions, not in C or POSIX.
547 #.  Clearly, the names were badly chosen.
548 #.  Many systems (like MacOS) have incompatible functions called
549 #.  .BR dprintf (),
550 #.  usually some debugging version of
551 #.  .BR printf (3),
552 #.  perhaps with a prototype like
553 #.  .BI "void dprintf(int level, const char *" format ", ...);"
554 #.  where the first argument is a debugging level (and output is to
555 #.  .IR stderr ).
556 #.  Moreover,
557 #.  .BR dprintf ()
558 #.  (or
559 #.  .BR DPRINTF )
560 #.  is also a popular macro name for a debugging printf.
561 #.  So, probably, it is better to avoid this function in programs
562 #.  intended to be portable.
563 #.  A better name would have been
564 #.  .BR fdprintf ().
565 #. type: Plain text
566 #: build/C/man3/dprintf.3:94
567 msgid ""
568 "These functions are GNU extensions that are nowadays specified in "
569 "POSIX.1-2008."
570 msgstr ""
571 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
572 "る。"
573
574 #. type: Plain text
575 #: build/C/man3/dprintf.3:96
576 msgid "B<printf>(3)"
577 msgstr "B<printf>(3)"
578
579 #. type: TH
580 #: build/C/man3/fclose.3:42
581 #, no-wrap
582 msgid "FCLOSE"
583 msgstr "FCLOSE"
584
585 #. type: TH
586 #: build/C/man3/fclose.3:42 build/C/man2/read.2:35
587 #, no-wrap
588 msgid "2009-02-23"
589 msgstr "2009-02-23"
590
591 #. type: Plain text
592 #: build/C/man3/fclose.3:45
593 msgid "fclose - close a stream"
594 msgstr "fclose - ストリームを閉じる"
595
596 #. type: Plain text
597 #: build/C/man3/fclose.3:49
598 msgid "B<int fclose(FILE *>I<fp>B<);>"
599 msgstr "B<int fclose(FILE *>I<fp>B<);>"
600
601 #. type: Plain text
602 #: build/C/man3/fclose.3:57
603 #, fuzzy
604 #| msgid ""
605 #| "The B<fclose>()  function will flushes the stream pointed to by I<fp> "
606 #| "(writing any buffered output data using B<fflush>(3))  and closes the "
607 #| "underlying file descriptor."
608 msgid ""
609 "The B<fclose>()  function flushes the stream pointed to by I<fp> (writing "
610 "any buffered output data using B<fflush>(3))  and closes the underlying file "
611 "descriptor."
612 msgstr ""
613 "B<fclose>()  関数は I<fp> で指されるストリームを (バッファリングされていた全"
614 "ての出力データを B<fflush>(3)  を用いて書き込んで) フラッシュし、 その基とな"
615 "るファイルディスクリプタをクローズする。"
616
617 #. type: Plain text
618 #: build/C/man3/fclose.3:68
619 msgid ""
620 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
621 "I<errno> is set to indicate the error.  In either case any further access "
622 "(including another call to B<fclose>())  to the stream results in undefined "
623 "behavior."
624 msgstr ""
625 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
626 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
627 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
628 "は 未定義の動作を生じさせる。"
629
630 #. type: SH
631 #: build/C/man3/fclose.3:68 build/C/man3/ferror.3:95 build/C/man3/fflush.3:79
632 #: build/C/man3/fgetwc.3:59 build/C/man3/flockfile.3:117
633 #: build/C/man3/fopen.3:199 build/C/man3/fpurge.3:63 build/C/man3/fputwc.3:58
634 #: build/C/man3/fseek.3:132 build/C/man3/fseeko.3:72
635 #: build/C/man3/getline.3:120 build/C/man2/link.2:57 build/C/man2/llseek.2:64
636 #: build/C/man2/lseek.2:159 build/C/man2/open.2:472 build/C/man2/pipe.2:97
637 #: build/C/man3/popen.3:141 build/C/man2/read.2:77 build/C/man2/readlink.2:83
638 #: build/C/man2/readv.2:186 build/C/man3/remove.3:65 build/C/man2/rename.2:96
639 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:545 build/C/man2/symlink.2:89
640 #: build/C/man3/tempnam.3:90 build/C/man3/tmpfile.3:52
641 #: build/C/man3/tmpnam.3:73 build/C/man2/unlink.2:60 build/C/man2/write.2:107
642 #, no-wrap
643 msgid "ERRORS"
644 msgstr "エラー"
645
646 #. type: TP
647 #: build/C/man3/fclose.3:69 build/C/man3/fflush.3:80 build/C/man3/fpurge.3:64
648 #: build/C/man3/fseek.3:133 build/C/man2/llseek.2:65 build/C/man2/lseek.2:160
649 #: build/C/man2/read.2:96 build/C/man3/scanf.3:551 build/C/man2/write.2:126
650 #, no-wrap
651 msgid "B<EBADF>"
652 msgstr "B<EBADF>"
653
654 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
655 #.   low-level file operations on the same stream. If you do get this error,
656 #.   you must have closed the stream's low-level file descriptor using
657 #.   something like close(fileno(fp)).
658 #. type: Plain text
659 #: build/C/man3/fclose.3:78
660 msgid "The file descriptor underlying I<fp> is not valid."
661 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
662
663 #. type: Plain text
664 #: build/C/man3/fclose.3:88
665 msgid ""
666 "The B<fclose>()  function may also fail and set I<errno> for any of the "
667 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
668 msgstr ""
669 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
670 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
671 "された値に設定される。"
672
673 #. type: Plain text
674 #: build/C/man3/fclose.3:90 build/C/man3/fseek.3:166 build/C/man3/puts.3:103
675 msgid "C89, C99."
676 msgstr "C89, C99."
677
678 #. type: SH
679 #: build/C/man3/fclose.3:90 build/C/man3/fflush.3:97 build/C/man3/fgetwc.3:67
680 #: build/C/man3/fmemopen.3:203 build/C/man3/fmtmsg.3:236
681 #: build/C/man3/fopen.3:253 build/C/man3/fpurge.3:76 build/C/man3/fputwc.3:65
682 #: build/C/man3/fseeko.3:77 build/C/man2/link.2:133 build/C/man2/llseek.2:79
683 #: build/C/man2/lseek.2:199 build/C/man2/open.2:636 build/C/man3/perror.3:124
684 #: build/C/man3/printf.3:867 build/C/man2/read.2:157
685 #: build/C/man2/readlink.2:128 build/C/man2/readv.2:224
686 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:606 build/C/man3/stdin.3:118
687 #: build/C/man2/symlink.2:150 build/C/man3/tempnam.3:99
688 #: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:80
689 #: build/C/man3/wprintf.3:195 build/C/man2/write.2:188
690 #, no-wrap
691 msgid "NOTES"
692 msgstr "注意"
693
694 #. type: Plain text
695 #: build/C/man3/fclose.3:100
696 msgid ""
697 "Note that B<fclose>()  only flushes the user space buffers provided by the C "
698 "library.  To ensure that the data is physically stored on disk the kernel "
699 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
700 msgstr ""
701 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
702 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
703 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
704 "ればならない。"
705
706 #. type: Plain text
707 #: build/C/man3/fclose.3:106
708 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
709 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
710
711 #. type: TH
712 #: build/C/man3/fcloseall.3:24
713 #, no-wrap
714 msgid "FCLOSEALL"
715 msgstr "FCLOSEALL"
716
717 #. type: TH
718 #: build/C/man3/fcloseall.3:24
719 #, no-wrap
720 msgid "2006-12-27"
721 msgstr "2006-12-27"
722
723 #. type: Plain text
724 #: build/C/man3/fcloseall.3:27
725 msgid "fcloseall - close all open streams"
726 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
727
728 #. type: Plain text
729 #: build/C/man3/fcloseall.3:31 build/C/man3/fopencookie.3:31
730 #, no-wrap
731 msgid ""
732 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
733 "B<#include E<lt>stdio.hE<gt>>\n"
734 msgstr ""
735 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
736 "B<#include E<lt>stdio.hE<gt>>\n"
737
738 #. type: Plain text
739 #: build/C/man3/fcloseall.3:33
740 #, no-wrap
741 msgid "B<int fcloseall(void);>\n"
742 msgstr "B<int fcloseall(void);>\n"
743
744 #. type: Plain text
745 #: build/C/man3/fcloseall.3:42
746 msgid ""
747 "The B<fcloseall>()  function closes all of the calling process's open "
748 "streams.  Buffered output for each stream is written before it is closed (as "
749 "for B<fflush>(3)); buffered input is discarded."
750 msgstr ""
751 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
752 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
753 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
754 "れる。"
755
756 #. type: Plain text
757 #: build/C/man3/fcloseall.3:49
758 msgid ""
759 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
760 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
761
762 #. type: Plain text
763 #: build/C/man3/fcloseall.3:54
764 msgid ""
765 "This function returns 0 if all files were successfully closed; on error, "
766 "B<EOF> is returned."
767 msgstr ""
768 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
769 "B<EOF> を返す。"
770
771 #. type: Plain text
772 #: build/C/man3/fcloseall.3:56
773 msgid "This function is a GNU extension."
774 msgstr "この関数は GNU 拡張である。"
775
776 #. type: Plain text
777 #: build/C/man3/fcloseall.3:62
778 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
779 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
780
781 #. type: TH
782 #: build/C/man3/ferror.3:42
783 #, no-wrap
784 msgid "FERROR"
785 msgstr "FERROR"
786
787 #. type: TH
788 #: build/C/man3/ferror.3:42 build/C/man3/flockfile.3:23
789 #: build/C/man3/unlocked_stdio.3:23
790 #, no-wrap
791 msgid "2008-08-29"
792 msgstr "2008-08-29"
793
794 #. type: Plain text
795 #: build/C/man3/ferror.3:45
796 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
797 msgstr ""
798 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
799
800 #. type: Plain text
801 #: build/C/man3/ferror.3:49
802 msgid "B<void clearerr(FILE *>I<stream>B<);>"
803 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
804
805 #. type: Plain text
806 #: build/C/man3/ferror.3:51
807 msgid "B<int feof(FILE *>I<stream>B<);>"
808 msgstr "B<int feof(FILE *>I<stream>B<);>"
809
810 #. type: Plain text
811 #: build/C/man3/ferror.3:53
812 msgid "B<int ferror(FILE *>I<stream>B<);>"
813 msgstr "B<int ferror(FILE *>I<stream>B<);>"
814
815 #. type: Plain text
816 #: build/C/man3/ferror.3:55
817 msgid "B<int fileno(FILE *>I<stream>B<);>"
818 msgstr "B<int fileno(FILE *>I<stream>B<);>"
819
820 #. type: Plain text
821 #: build/C/man3/ferror.3:63
822 msgid ""
823 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
824 msgstr ""
825 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
826
827 #. type: Plain text
828 #: build/C/man3/ferror.3:68
829 msgid ""
830 "The function B<clearerr>()  clears the end-of-file and error indicators for "
831 "the stream pointed to by I<stream>."
832 msgstr ""
833 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
834 "子とエラー指示子をクリアする。"
835
836 #. type: Plain text
837 #: build/C/man3/ferror.3:77
838 msgid ""
839 "The function B<feof>()  tests the end-of-file indicator for the stream "
840 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
841 "indicator can only be cleared by the function B<clearerr>()."
842 msgstr ""
843 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
844 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
845 "よってのみクリアすることができる。"
846
847 #. type: Plain text
848 #: build/C/man3/ferror.3:86
849 msgid ""
850 "The function B<ferror>()  tests the error indicator for the stream pointed "
851 "to by I<stream>, returning nonzero if it is set.  The error indicator can "
852 "only be reset by the B<clearerr>()  function."
853 msgstr ""
854 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
855 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
856 "()  によってのみリセットすることができる。"
857
858 #. type: Plain text
859 #: build/C/man3/ferror.3:92
860 msgid ""
861 "The function B<fileno>()  examines the argument I<stream> and returns its "
862 "integer descriptor."
863 msgstr ""
864 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
865
866 #. type: Plain text
867 #: build/C/man3/ferror.3:95 build/C/man3/fgetwc.3:53 build/C/man3/fputwc.3:52
868 #: build/C/man3/fread.3:81 build/C/man3/gets.3:109 build/C/man3/puts.3:82
869 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
870 msgstr ""
871 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
872
873 #. type: Plain text
874 #: build/C/man3/ferror.3:105
875 msgid ""
876 "These functions should not fail and do not set the external variable "
877 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
878 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
879 msgstr ""
880 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
881 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
882 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
883
884 #. type: Plain text
885 #: build/C/man3/ferror.3:112
886 msgid ""
887 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
888 "C99."
889 msgstr ""
890 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
891
892 #. type: Plain text
893 #: build/C/man3/ferror.3:117
894 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
895 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
896
897 #. type: TH
898 #: build/C/man3/fflush.3:43
899 #, no-wrap
900 msgid "FFLUSH"
901 msgstr "FFLUSH"
902
903 #. type: TH
904 #: build/C/man3/fflush.3:43
905 #, no-wrap
906 msgid "2009-09-06"
907 msgstr "2009-09-06"
908
909 #. type: Plain text
910 #: build/C/man3/fflush.3:46
911 msgid "fflush - flush a stream"
912 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
913
914 #. type: Plain text
915 #: build/C/man3/fflush.3:50
916 msgid "B<int fflush(FILE *>I<stream>B<);>"
917 msgstr "B<int fflush(FILE *>I<stream>B<);>"
918
919 #. type: Plain text
920 #: build/C/man3/fflush.3:61
921 msgid ""
922 "For output streams, B<fflush>()  forces a write of all user-space buffered "
923 "data for the given output or update I<stream> via the stream's underlying "
924 "write function.  For input streams, B<fflush>()  discards any buffered data "
925 "that has been fetched from the underlying file, but has not been consumed by "
926 "the application.  The open status of the stream is unaffected."
927 msgstr ""
928 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
929 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
930 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
931 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
932 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
933 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
934 "い。"
935
936 #. type: Plain text
937 #: build/C/man3/fflush.3:69
938 msgid ""
939 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
940 "streams."
941 msgstr ""
942 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
943 "トリームをフラッシュする。"
944
945 #. type: Plain text
946 #: build/C/man3/fflush.3:72
947 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
948 msgstr ""
949 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
950 "と。"
951
952 #. type: Plain text
953 #: build/C/man3/fflush.3:79
954 msgid ""
955 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
956 "I<errno> is set to indicate the error."
957 msgstr ""
958 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
959 "ラーに対応した値に設定される。"
960
961 #. type: Plain text
962 #: build/C/man3/fflush.3:84
963 msgid "I<Stream> is not an open stream, or is not open for writing."
964 msgstr ""
965 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
966 "ない。"
967
968 #. type: Plain text
969 #: build/C/man3/fflush.3:91
970 msgid ""
971 "The function B<fflush>()  may also fail and set I<errno> for any of the "
972 "errors specified for B<write>(2)."
973 msgstr ""
974 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
975 "ある。 この場合 I<errno> もその値に設定される。"
976
977 #. type: Plain text
978 #: build/C/man3/fflush.3:93
979 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
980 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
981
982 #.  Verified on: Solaris 8.
983 #. type: Plain text
984 #: build/C/man3/fflush.3:97
985 msgid ""
986 "The standards do not specify the behavior for input streams.  Most other "
987 "implementations behave the same as Linux."
988 msgstr ""
989 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
990 "は Linux と同じ動作をする。"
991
992 #. type: Plain text
993 #: build/C/man3/fflush.3:106
994 msgid ""
995 "Note that B<fflush>()  only flushes the user space buffers provided by the C "
996 "library.  To ensure that the data is physically stored on disk the kernel "
997 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
998 msgstr ""
999 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
1000 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
1001 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
1002 "B<fsync>(2)  を用いる。"
1003
1004 #. type: Plain text
1005 #: build/C/man3/fflush.3:114
1006 msgid ""
1007 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1008 "(3), B<unlocked_stdio>(3)"
1009 msgstr ""
1010 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1011 "(3), B<unlocked_stdio>(3)"
1012
1013 #. type: TH
1014 #: build/C/man3/fgetwc.3:16
1015 #, no-wrap
1016 msgid "FGETWC"
1017 msgstr "FGETWC"
1018
1019 #. type: TH
1020 #: build/C/man3/fgetwc.3:16 build/C/man3/fputwc.3:14
1021 #, no-wrap
1022 msgid "1999-07-25"
1023 msgstr "1999-07-25"
1024
1025 #. type: Plain text
1026 #: build/C/man3/fgetwc.3:19
1027 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1028 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1029
1030 #. type: Plain text
1031 #: build/C/man3/fgetwc.3:24 build/C/man3/fmemopen.3:18
1032 #: build/C/man3/fputwc.3:22 build/C/man3/unlocked_stdio.3:52
1033 #, no-wrap
1034 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1035 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1036
1037 #. type: Plain text
1038 #: build/C/man3/fgetwc.3:27
1039 #, no-wrap
1040 msgid ""
1041 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1042 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1043 msgstr ""
1044 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1045 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1046
1047 #. type: Plain text
1048 #: build/C/man3/fgetwc.3:42
1049 msgid ""
1050 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1051 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1052 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1053 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1054 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1055 msgstr ""
1056 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1057 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1058 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1059 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1060 "し、 B<WEOF> を返す。"
1061
1062 #. type: Plain text
1063 #: build/C/man3/fgetwc.3:50
1064 msgid ""
1065 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1066 "may be implemented as a macro, and may evaluate its argument more than "
1067 "once.  There is no reason ever to use it."
1068 msgstr ""
1069 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1070 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1071 "ない。この関数を使う理由はもはや存在しない。"
1072
1073 #. type: Plain text
1074 #: build/C/man3/fgetwc.3:59
1075 msgid ""
1076 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1077 "or B<WEOF>."
1078 msgstr ""
1079 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
1080
1081 #. type: Plain text
1082 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60
1083 msgid "Apart from the usual ones, there is"
1084 msgstr "通常のエラーに加えて、以下のエラーがある:"
1085
1086 #. type: TP
1087 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60 build/C/man3/scanf.3:556
1088 #, no-wrap
1089 msgid "B<EILSEQ>"
1090 msgstr "B<EILSEQ>"
1091
1092 #. type: Plain text
1093 #: build/C/man3/fgetwc.3:65
1094 msgid ""
1095 "The data obtained from the input stream does not form a valid character."
1096 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1097
1098 #. type: Plain text
1099 #: build/C/man3/fgetwc.3:67 build/C/man3/fputwc.3:65
1100 msgid "C99, POSIX.1-2001."
1101 msgstr "C99, POSIX.1-2001."
1102
1103 #. type: Plain text
1104 #: build/C/man3/fgetwc.3:74
1105 msgid ""
1106 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1107 "current locale."
1108 msgstr ""
1109 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1110
1111 #. type: Plain text
1112 #: build/C/man3/fgetwc.3:82
1113 msgid ""
1114 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1115 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1116 "sequence from the stream and then convert it to a wide character."
1117 msgstr ""
1118 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1119 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1120 "換すると期待することは適切である。"
1121
1122 #. type: Plain text
1123 #: build/C/man3/fgetwc.3:87
1124 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1125 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1126
1127 #. type: TH
1128 #: build/C/man3/flockfile.3:23
1129 #, no-wrap
1130 msgid "FLOCKFILE"
1131 msgstr "FLOCKFILE"
1132
1133 #. type: Plain text
1134 #: build/C/man3/flockfile.3:26
1135 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1136 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1137
1138 #. type: Plain text
1139 #: build/C/man3/flockfile.3:31
1140 #, no-wrap
1141 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1142 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1143
1144 #. type: Plain text
1145 #: build/C/man3/flockfile.3:33
1146 #, no-wrap
1147 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1148 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1149
1150 #. type: Plain text
1151 #: build/C/man3/flockfile.3:35
1152 #, no-wrap
1153 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1154 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1155
1156 #. type: Plain text
1157 #: build/C/man3/flockfile.3:44 build/C/man3/wprintf.3:41
1158 msgid "All functions shown above:"
1159 msgstr "上記の全ての関数:"
1160
1161 #. type: Plain text
1162 #: build/C/man3/flockfile.3:47
1163 msgid ""
1164 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1165 "|| _POSIX_SOURCE"
1166 msgstr ""
1167 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1168 "|| _POSIX_SOURCE"
1169
1170 #. type: Plain text
1171 #: build/C/man3/flockfile.3:61
1172 msgid ""
1173 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1174 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1175 "thread.  For each library call, these functions wait until the I<FILE> "
1176 "object is no longer locked by a different thread, then lock it, do the "
1177 "requested I/O, and unlock the object again."
1178 msgstr ""
1179 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1180 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1181 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1182 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1183 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1184 "オブジェクトのロックを解除する。"
1185
1186 #. type: Plain text
1187 #: build/C/man3/flockfile.3:67
1188 msgid ""
1189 "(Note: this locking has nothing to do with the file locking done by "
1190 "functions like B<flock>(2)  and B<lockf>(3).)"
1191 msgstr ""
1192 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1193 "全く無関係である。)"
1194
1195 #. type: Plain text
1196 #: build/C/man3/flockfile.3:75
1197 msgid ""
1198 "All this is invisible to the C-programmer, but there may be two reasons to "
1199 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1200 "actions by one thread belongs together, and should not be interrupted by the "
1201 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1202 "should be avoided for greater efficiency."
1203 msgstr ""
1204 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1205 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1206 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1207 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1208 "避ける必要があるということであろう。"
1209
1210 #. type: Plain text
1211 #: build/C/man3/flockfile.3:92
1212 msgid ""
1213 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1214 "series of I/O actions, then unlock.  This prevents other threads from coming "
1215 "in between.  If the reason for doing this was to achieve greater efficiency, "
1216 "one does the I/O with the nonlocking versions of the stdio functions: with "
1217 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1218 "B<putc>(3)."
1219 msgstr ""
1220 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1221 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1222 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1223 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1224 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1225 "B<putc_unlocked>(3)  を使用する。"
1226
1227 #. type: Plain text
1228 #: build/C/man3/flockfile.3:99
1229 msgid ""
1230 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1231 "by a different thread, then makes the current thread owner of "
1232 "I<*filehandle>, and increments the lockcount."
1233 msgstr ""
1234 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1235 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1236 "ロック数を加算する。"
1237
1238 #. type: Plain text
1239 #: build/C/man3/flockfile.3:103
1240 msgid "The B<funlockfile>()  function decrements the lock count."
1241 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1242
1243 #. type: Plain text
1244 #: build/C/man3/flockfile.3:112
1245 msgid ""
1246 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1247 "It does nothing in case some other thread owns I<*filehandle>, and it "
1248 "obtains ownership and increments the lockcount otherwise."
1249 msgstr ""
1250 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1251 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1252 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1253
1254 #. type: Plain text
1255 #: build/C/man3/flockfile.3:117
1256 msgid ""
1257 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1258 "obtained), and nonzero for failure."
1259 msgstr ""
1260 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1261 "の値を返す。"
1262
1263 #. type: Plain text
1264 #: build/C/man3/flockfile.3:119
1265 msgid "None."
1266 msgstr "なし。"
1267
1268 #. type: Plain text
1269 #: build/C/man3/flockfile.3:121 build/C/man3/popen.3:169
1270 msgid "POSIX.1-2001."
1271 msgstr "POSIX.1-2001."
1272
1273 #. type: SH
1274 #: build/C/man3/flockfile.3:121
1275 #, no-wrap
1276 msgid "AVAILABILITY"
1277 msgstr "可用性"
1278
1279 #. type: Plain text
1280 #: build/C/man3/flockfile.3:127
1281 msgid ""
1282 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1283 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1284 msgstr ""
1285 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1286 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1287
1288 #. type: Plain text
1289 #: build/C/man3/flockfile.3:129
1290 msgid "B<unlocked_stdio>(3)"
1291 msgstr "B<unlocked_stdio>(3)"
1292
1293 #. type: TH
1294 #: build/C/man3/fmemopen.3:6
1295 #, no-wrap
1296 msgid "FMEMOPEN"
1297 msgstr "FMEMOPEN"
1298
1299 #. type: TH
1300 #: build/C/man3/fmemopen.3:6
1301 #, fuzzy, no-wrap
1302 #| msgid "2012-04-22"
1303 msgid "2012-04-28"
1304 msgstr "2012-04-22"
1305
1306 #. type: Plain text
1307 #: build/C/man3/fmemopen.3:9
1308 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1309 msgstr ""
1310 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1311 "する"
1312
1313 #. type: Plain text
1314 #: build/C/man3/fmemopen.3:14
1315 #, no-wrap
1316 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1317 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1318
1319 #. type: Plain text
1320 #: build/C/man3/fmemopen.3:16
1321 #, no-wrap
1322 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1323 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1324
1325 #. type: Plain text
1326 #: build/C/man3/fmemopen.3:20
1327 #, no-wrap
1328 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1329 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1330
1331 #. type: Plain text
1332 #: build/C/man3/fmemopen.3:30
1333 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1334 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1335
1336 #. type: Plain text
1337 #: build/C/man3/fmemopen.3:53
1338 msgid ""
1339 "The B<fmemopen>()  function opens a stream that permits the access specified "
1340 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1341 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1342 "long."
1343 msgstr ""
1344 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1345 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1346 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1347 "I<size> バイトの長さでなければならない。"
1348
1349 #. type: Plain text
1350 #: build/C/man3/fmemopen.3:73
1351 #, fuzzy
1352 #| msgid ""
1353 #| "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> "
1354 #| "specifies an append mode, then the initial file position is set to the "
1355 #| "location of the first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise "
1356 #| "the initial file position is set to the start of the buffer.  Since glibc "
1357 #| "2.9, the letter 'b' may be specified as the second character in I<mode>.  "
1358 #| "This provides \"binary\" mode: writes don't implicitly add a terminating "
1359 #| "null byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the "
1360 #| "buffer (i.e., the value specified by the I<size> argument), rather than "
1361 #| "the current string length."
1362 msgid ""
1363 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1364 "an append mode, then the initial file position is set to the location of the "
1365 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1366 "position is set to the start of the buffer.  Since glibc 2.9, the letter "
1367 "\\(aqb\\(aq may be specified as the second character in I<mode>.  This "
1368 "provides \"binary\" mode: writes don't implicitly add a terminating null "
1369 "byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the buffer (i."
1370 "e., the value specified by the I<size> argument), rather than the current "
1371 "string length."
1372 msgstr ""
1373 "引き数 I<mode> は B<fopen>(3)  の場合と同じである。 I<mode> で追記モード "
1374 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の最初の "
1375 "NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。 それ以外の場合は、ファイル"
1376 "位置の初期値はバッファの先頭になる。 glibc 2.9 以降では、文字 'b' を I<mode> "
1377 "の二番目の文字として指定することができる。 この文字は「バイナリ」モードを指定"
1378 "するものである。 このモードでは、書き込み時に文字列終端のヌルバイトが黙って追"
1379 "加 されることはない。また、 B<fseek>(3)  B<SEEK_END> は、文字列の長さからの相"
1380 "対値ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1381
1382 #. type: Plain text
1383 #: build/C/man3/fmemopen.3:85
1384 msgid ""
1385 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1386 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1387 "there is space.  The caller should ensure that an extra byte is available in "
1388 "the buffer (and that I<size> counts that byte)  to allow for this."
1389 msgstr ""
1390 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1391 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1392 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1393 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1394
1395 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1396 #.  and
1397 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1398 #. type: Plain text
1399 #: build/C/man3/fmemopen.3:103
1400 msgid ""
1401 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1402 "(By default, such errors will only be visible when the I<stdio> buffer is "
1403 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1404 "detect errors at the time of an output operation.  Alternatively, the caller "
1405 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1406 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1407 msgstr ""
1408 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1409 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1410 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1411 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1412 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1413 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1414 "stdio に教える方法がある。)"
1415
1416 #. type: Plain text
1417 #: build/C/man3/fmemopen.3:111
1418 msgid ""
1419 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1420 "not cause read operations to return an end-of-file indication.  A read from "
1421 "the buffer will only indicate end-of-file when the file pointer advances "
1422 "I<size> bytes past the start of the buffer."
1423 msgstr ""
1424 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1425 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1426 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1427 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1428
1429 #. type: Plain text
1430 #: build/C/man3/fmemopen.3:126
1431 msgid ""
1432 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1433 "buffer I<size> bytes long.  This is useful for an application that wants to "
1434 "write data to a temporary buffer and then read it back again.  The buffer is "
1435 "automatically freed when the stream is closed.  Note that the caller has no "
1436 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1437 "see B<open_memstream>()  below)."
1438 msgstr ""
1439 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1440 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1441 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1442 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1443 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1444 "の B<open_memstream>()  も参照)。"
1445
1446 #. type: Plain text
1447 #: build/C/man3/fmemopen.3:137
1448 msgid ""
1449 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1450 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1451 "automatically grows as required.  After closing the stream, the caller "
1452 "should B<free>(3)  this buffer."
1453 msgstr ""
1454 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1455 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1456 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1457 "B<free>(3)  すべきである。"
1458
1459 #. type: Plain text
1460 #: build/C/man3/fmemopen.3:152
1461 msgid ""
1462 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1463 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1464 "respectively, a pointer to the buffer and the current size of the buffer.  "
1465 "These values remain valid only as long as the caller performs no further "
1466 "output on the stream.  If further output is performed, then the stream must "
1467 "again be flushed before trying to access these variables."
1468 msgstr ""
1469 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1470 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1471 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1472 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1473 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1474
1475 #. type: Plain text
1476 #: build/C/man3/fmemopen.3:158
1477 msgid ""
1478 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1479 "included in the size value stored at I<sizeloc>."
1480 msgstr ""
1481 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1482 "されるサイズには「含まれない」。"
1483
1484 #. type: Plain text
1485 #: build/C/man3/fmemopen.3:166
1486 msgid ""
1487 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1488 "(3).  Moving the file position past the end of the data already written "
1489 "fills the intervening space with zeros."
1490 msgstr ""
1491 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1492 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1493 "は 0 で埋められる。"
1494
1495 #. type: Plain text
1496 #: build/C/man3/fmemopen.3:172
1497 msgid ""
1498 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1499 "wide characters instead of bytes."
1500 msgstr ""
1501 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1502 "ド文字に対して操作を行う点が異なる。"
1503
1504 #. type: Plain text
1505 #: build/C/man3/fmemopen.3:184
1506 msgid ""
1507 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1508 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1509 "and I<errno> is set to indicate the error."
1510 msgstr ""
1511 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1512 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1513 "し、 I<errno> にエラーを示す値をセットする。"
1514
1515 #. type: SH
1516 #: build/C/man3/fmemopen.3:184 build/C/man3/fmtmsg.3:218
1517 #: build/C/man3/getline.3:130 build/C/man2/pipe.2:113 build/C/man2/readv.2:207
1518 #, no-wrap
1519 msgid "VERSIONS"
1520 msgstr "バージョン"
1521
1522 #. type: Plain text
1523 #: build/C/man3/fmemopen.3:191
1524 msgid ""
1525 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1526 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1527 msgstr ""
1528 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1529 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1530
1531 #. type: Plain text
1532 #: build/C/man3/fmemopen.3:195
1533 msgid ""
1534 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1535 "not widely available on other systems."
1536 msgstr ""
1537 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1538 "のシステムで広く利用可能である。"
1539
1540 #.  http://austingroupbugs.net/view.php?id=396
1541 #. type: Plain text
1542 #: build/C/man3/fmemopen.3:203
1543 msgid ""
1544 "POSIX.1-2008 specifies that \\(aqb\\(aq in I<mode> shall be ignored.  "
1545 "However, Technical Corrigendum 1 adjusts the standard to allow "
1546 "implementation-specific treatment for this case, thus permitting the glibc "
1547 "treatment of \\(aqb\\(aq."
1548 msgstr ""
1549
1550 #. type: Plain text
1551 #: build/C/man3/fmemopen.3:209
1552 msgid ""
1553 "There is no file descriptor associated with the file stream returned by "
1554 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1555 "returned stream)."
1556 msgstr ""
1557 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1558 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1559 "とになる)。"
1560
1561 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1562 #. type: Plain text
1563 #: build/C/man3/fmemopen.3:216
1564 msgid ""
1565 "In glibc before version 2.7, seeking past the end of a stream created by "
1566 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1567 "call fails, returning -1."
1568 msgstr ""
1569 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1570 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1571 "B<fseek>(3)  が失敗し -1 が返る。"
1572
1573 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=11216
1574 #. type: Plain text
1575 #: build/C/man3/fmemopen.3:227
1576 msgid ""
1577 "If I<size> is specified as zero, B<fmemopen>()  fails with the error "
1578 "B<EINVAL>.  It would be more consistent if this case successfully created a "
1579 "stream that then returned end of file on the first attempt at reading.  "
1580 "Furthermore, POSIX.1-2008 does not specify a failure for this case."
1581 msgstr ""
1582
1583 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13152
1584 #. type: Plain text
1585 #: build/C/man3/fmemopen.3:235
1586 msgid ""
1587 "Specifying append mode (\"a\" or \"a+\") for B<fmemopen>()  sets the initial "
1588 "file position to the first null byte, but (if the file offset is reset to a "
1589 "location other than the end of the stream)  does not force subsequent writes "
1590 "to append at the end of the stream."
1591 msgstr ""
1592
1593 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13151
1594 #. type: Plain text
1595 #: build/C/man3/fmemopen.3:251
1596 msgid ""
1597 "If the I<mode> argument to B<fmemopen>()  specifies append (\"a\" or \"a+"
1598 "\"), and the I<size> argument does not cover a null byte in I<buf> then, "
1599 "according to POSIX.1-2008, the initial file position should be set to the "
1600 "next byte after the end of the buffer.  However, in this case the glibc "
1601 "B<fmemopen>()  sets the file position to -1."
1602 msgstr ""
1603
1604 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12836
1605 #. type: Plain text
1606 #: build/C/man3/fmemopen.3:264
1607 msgid ""
1608 "To specify binary mode for B<fmemopen>()  the \\(aqb\\(aq must be the "
1609 "I<second> character in I<mode>.  Thus, for example, \"wb+\" has the desired "
1610 "effect, but \"w+b\" does not.  This is inconsistent with the treatment of "
1611 "I<mode> by B<fopen>(3)."
1612 msgstr ""
1613
1614 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=6544
1615 #. type: Plain text
1616 #: build/C/man3/fmemopen.3:272
1617 msgid ""
1618 "The glibc 2.9 addition of \"binary\" mode for B<fmemopen>()  silently "
1619 "changed the ABI: previously, B<fmemopen>()  ignored \\(aqb\\(aq in I<mode>."
1620 msgstr ""
1621
1622 #. type: SH
1623 #: build/C/man3/fmemopen.3:272 build/C/man3/fmtmsg.3:240
1624 #: build/C/man3/fopencookie.3:245 build/C/man3/getline.3:139
1625 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:973
1626 #: build/C/man2/readlink.2:155 build/C/man2/readv.2:263
1627 #, no-wrap
1628 msgid "EXAMPLE"
1629 msgstr "例"
1630
1631 #. type: Plain text
1632 #: build/C/man3/fmemopen.3:282
1633 msgid ""
1634 "The program below uses B<fmemopen>()  to open an input buffer, and "
1635 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1636 "scans its input string (taken from the program's first command-line "
1637 "argument) reading integers, and writes the squares of these integers to the "
1638 "output buffer.  An example of the output produced by this program is the "
1639 "following:"
1640 msgstr ""
1641 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1642 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1643 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1644 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1645 "ムの実行例は以下のようになる。"
1646
1647 #. type: Plain text
1648 #: build/C/man3/fmemopen.3:287
1649 #, no-wrap
1650 msgid ""
1651 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1652 "size=11; ptr=1 529 1849\n"
1653 msgstr ""
1654 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1655 "size=11; ptr=1 529 1849\n"
1656
1657 #. type: SS
1658 #: build/C/man3/fmemopen.3:289 build/C/man3/fopencookie.3:269
1659 #, no-wrap
1660 msgid "Program source"
1661 msgstr "プログラムのソース"
1662
1663 #. type: Plain text
1664 #: build/C/man3/fmemopen.3:296
1665 #, no-wrap
1666 msgid ""
1667 "#define _GNU_SOURCE\n"
1668 "#include E<lt>string.hE<gt>\n"
1669 "#include E<lt>stdio.hE<gt>\n"
1670 "#include E<lt>stdlib.hE<gt>\n"
1671 msgstr ""
1672 "#define _GNU_SOURCE\n"
1673 "#include E<lt>string.hE<gt>\n"
1674 "#include E<lt>stdio.hE<gt>\n"
1675 "#include E<lt>stdlib.hE<gt>\n"
1676
1677 #. type: Plain text
1678 #: build/C/man3/fmemopen.3:299
1679 #, no-wrap
1680 msgid ""
1681 "#define handle_error(msg) \\e\n"
1682 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1683 msgstr ""
1684 "#define handle_error(msg) \\e\n"
1685 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1686
1687 #. type: Plain text
1688 #: build/C/man3/fmemopen.3:307
1689 #, no-wrap
1690 msgid ""
1691 "int\n"
1692 "main(int argc, char *argv[])\n"
1693 "{\n"
1694 "    FILE *out, *in;\n"
1695 "    int v, s;\n"
1696 "    size_t size;\n"
1697 "    char *ptr;\n"
1698 msgstr ""
1699 "int\n"
1700 "main(int argc, char *argv[])\n"
1701 "{\n"
1702 "    FILE *out, *in;\n"
1703 "    int v, s;\n"
1704 "    size_t size;\n"
1705 "    char *ptr;\n"
1706
1707 #. type: Plain text
1708 #: build/C/man3/fmemopen.3:312
1709 #, no-wrap
1710 msgid ""
1711 "    if (argc != 2) {\n"
1712 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1713 "\texit(EXIT_FAILURE);\n"
1714 "    }\n"
1715 msgstr ""
1716 "    if (argc != 2) {\n"
1717 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1718 "\texit(EXIT_FAILURE);\n"
1719 "    }\n"
1720
1721 #. type: Plain text
1722 #: build/C/man3/fmemopen.3:316
1723 #, no-wrap
1724 msgid ""
1725 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1726 "    if (in == NULL)\n"
1727 "        handle_error(\"fmemopen\");\n"
1728 msgstr ""
1729 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1730 "    if (in == NULL)\n"
1731 "        handle_error(\"fmemopen\");\n"
1732
1733 #. type: Plain text
1734 #: build/C/man3/fmemopen.3:320
1735 #, no-wrap
1736 msgid ""
1737 "    out = open_memstream(&ptr, &size);\n"
1738 "    if (out == NULL)\n"
1739 "        handle_error(\"open_memstream\");\n"
1740 msgstr ""
1741 "    out = open_memstream(&ptr, &size);\n"
1742 "    if (out == NULL)\n"
1743 "        handle_error(\"open_memstream\");\n"
1744
1745 #. type: Plain text
1746 #: build/C/man3/fmemopen.3:325
1747 #, no-wrap
1748 msgid ""
1749 "    for (;;) {\n"
1750 "        s = fscanf(in, \"%d\", &v);\n"
1751 "        if (s E<lt>= 0)\n"
1752 "            break;\n"
1753 msgstr ""
1754 "    for (;;) {\n"
1755 "        s = fscanf(in, \"%d\", &v);\n"
1756 "        if (s E<lt>= 0)\n"
1757 "            break;\n"
1758
1759 #. type: Plain text
1760 #: build/C/man3/fmemopen.3:336
1761 #, no-wrap
1762 msgid ""
1763 "        s = fprintf(out, \"%d \", v * v);\n"
1764 "        if (s == -1)\n"
1765 "            handle_error(\"fprintf\");\n"
1766 "    }\n"
1767 "    fclose(in);\n"
1768 "    fclose(out);\n"
1769 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1770 "    free(ptr);\n"
1771 "    exit(EXIT_SUCCESS);\n"
1772 "}\n"
1773 msgstr ""
1774 "        s = fprintf(out, \"%d \", v * v);\n"
1775 "        if (s == -1)\n"
1776 "            handle_error(\"fprintf\");\n"
1777 "    }\n"
1778 "    fclose(in);\n"
1779 "    fclose(out);\n"
1780 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1781 "    free(ptr);\n"
1782 "    exit(EXIT_SUCCESS);\n"
1783 "}\n"
1784
1785 #. type: Plain text
1786 #: build/C/man3/fmemopen.3:340
1787 msgid "B<fopen>(3), B<fopencookie>(3)"
1788 msgstr "B<fopen>(3), B<fopencookie>(3)"
1789
1790 #. type: TH
1791 #: build/C/man3/fmtmsg.3:9
1792 #, no-wrap
1793 msgid "FMTMSG"
1794 msgstr "FMTMSG"
1795
1796 #. type: TH
1797 #: build/C/man3/fmtmsg.3:9
1798 #, no-wrap
1799 msgid "2008-06-14"
1800 msgstr "2008-06-14"
1801
1802 #. type: Plain text
1803 #: build/C/man3/fmtmsg.3:12
1804 msgid "fmtmsg - print formatted error messages"
1805 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1806
1807 #. type: Plain text
1808 #: build/C/man3/fmtmsg.3:15
1809 #, no-wrap
1810 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1811 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1812
1813 #. type: Plain text
1814 #: build/C/man3/fmtmsg.3:17
1815 #, no-wrap
1816 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1817 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1818
1819 #. type: Plain text
1820 #: build/C/man3/fmtmsg.3:19
1821 #, no-wrap
1822 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1823 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1824
1825 #. type: Plain text
1826 #: build/C/man3/fmtmsg.3:21
1827 #, no-wrap
1828 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1829 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1830
1831 #. type: Plain text
1832 #: build/C/man3/fmtmsg.3:32
1833 msgid ""
1834 "This function displays a message described by its arguments on the device"
1835 "(s)  specified in the I<classification> argument.  For messages written to "
1836 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1837 msgstr ""
1838 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1839 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1840 "は、 B<MSGVERB> 環境変数に依存する。"
1841
1842 #. type: Plain text
1843 #: build/C/man3/fmtmsg.3:39
1844 msgid ""
1845 "The I<label> argument identifies the source of the message.  The string must "
1846 "consist of two colon separated parts where the first part has not more than "
1847 "10 and the second part not more than 14 characters."
1848 msgstr ""
1849 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1850 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1851 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1852
1853 #. type: Plain text
1854 #: build/C/man3/fmtmsg.3:43
1855 msgid "The I<text> argument describes the condition of the error."
1856 msgstr "I<text> 引き数にはエラー条件を記述する。"
1857
1858 #. type: Plain text
1859 #: build/C/man3/fmtmsg.3:48
1860 msgid ""
1861 "The I<action> argument describes possible steps to recover from the error.  "
1862 "If it is printed, it is prefixed by \"TO FIX: \"."
1863 msgstr ""
1864 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1865 "れが表示される場合、\"TO FIX: \" が前に付く。"
1866
1867 #. type: Plain text
1868 #: build/C/man3/fmtmsg.3:56
1869 msgid ""
1870 "The I<tag> argument is a reference to the online documentation where more "
1871 "information can be found.  It should contain the I<label> value and a unique "
1872 "identification number."
1873 msgstr ""
1874 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1875 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1876
1877 #. type: SS
1878 #: build/C/man3/fmtmsg.3:56
1879 #, no-wrap
1880 msgid "Dummy arguments"
1881 msgstr "ダミー引き数"
1882
1883 #. type: Plain text
1884 #: build/C/man3/fmtmsg.3:75
1885 msgid ""
1886 "Each of the arguments can have a dummy value.  The dummy classification "
1887 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1888 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1889 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1890 "synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
1891 "synonym for B<NO_SEV>."
1892 msgstr ""
1893 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1894 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1895 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1896 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1897 "((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
1898 "る。"
1899
1900 #. type: SS
1901 #: build/C/man3/fmtmsg.3:75
1902 #, no-wrap
1903 msgid "The classification argument"
1904 msgstr "classification 引き数"
1905
1906 #. type: Plain text
1907 #: build/C/man3/fmtmsg.3:79
1908 msgid ""
1909 "The I<classification> argument is the sum of values describing 4 types of "
1910 "information."
1911 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1912
1913 #. type: Plain text
1914 #: build/C/man3/fmtmsg.3:82
1915 msgid "The first value defines the output channel."
1916 msgstr "最初の値は出力チャンネルを定義する。"
1917
1918 #. type: TP
1919 #: build/C/man3/fmtmsg.3:82
1920 #, no-wrap
1921 msgid "B<MM_PRINT>"
1922 msgstr "B<MM_PRINT>"
1923
1924 #. type: Plain text
1925 #: build/C/man3/fmtmsg.3:86
1926 msgid "Output to I<stderr>."
1927 msgstr "I<stderr> に出力する。"
1928
1929 #. type: TP
1930 #: build/C/man3/fmtmsg.3:86
1931 #, no-wrap
1932 msgid "B<MM_CONSOLE>"
1933 msgstr "B<MM_CONSOLE>"
1934
1935 #. type: Plain text
1936 #: build/C/man3/fmtmsg.3:89
1937 msgid "Output to the system console."
1938 msgstr "システムコンソールに出力する。"
1939
1940 #. type: TP
1941 #: build/C/man3/fmtmsg.3:89
1942 #, no-wrap
1943 msgid "B<MM_PRINT | MM_CONSOLE>"
1944 msgstr "B<MM_PRINT | MM_CONSOLE>"
1945
1946 #. type: Plain text
1947 #: build/C/man3/fmtmsg.3:92
1948 msgid "Output to both."
1949 msgstr "両方に出力する。"
1950
1951 #. type: Plain text
1952 #: build/C/man3/fmtmsg.3:94
1953 msgid "The second value is the source of the error:"
1954 msgstr "2 番目の値はエラーの発生源である:"
1955
1956 #. type: TP
1957 #: build/C/man3/fmtmsg.3:94
1958 #, no-wrap
1959 msgid "B<MM_HARD>"
1960 msgstr "B<MM_HARD>"
1961
1962 #. type: Plain text
1963 #: build/C/man3/fmtmsg.3:97
1964 msgid "A hardware error occurred."
1965 msgstr "ハードウェアエラーが起こった。"
1966
1967 #. type: TP
1968 #: build/C/man3/fmtmsg.3:97
1969 #, no-wrap
1970 msgid "B<MM_FIRM>"
1971 msgstr "B<MM_FIRM>"
1972
1973 #. type: Plain text
1974 #: build/C/man3/fmtmsg.3:100
1975 msgid "A firmware error occurred."
1976 msgstr "ファームウェアエラーが起こった。"
1977
1978 #. type: TP
1979 #: build/C/man3/fmtmsg.3:100
1980 #, no-wrap
1981 msgid "B<MM_SOFT>"
1982 msgstr "B<MM_SOFT>"
1983
1984 #. type: Plain text
1985 #: build/C/man3/fmtmsg.3:103
1986 msgid "A software error occurred."
1987 msgstr "ソフトウェアエラーが起こった。"
1988
1989 #. type: Plain text
1990 #: build/C/man3/fmtmsg.3:105
1991 msgid "The third value encodes the detector of the problem:"
1992 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
1993
1994 #. type: TP
1995 #: build/C/man3/fmtmsg.3:105
1996 #, no-wrap
1997 msgid "B<MM_APPL>"
1998 msgstr "B<MM_APPL>"
1999
2000 #. type: Plain text
2001 #: build/C/man3/fmtmsg.3:108
2002 msgid "It is detected by an application."
2003 msgstr "アプリケーションによって検知された。"
2004
2005 #. type: TP
2006 #: build/C/man3/fmtmsg.3:108
2007 #, no-wrap
2008 msgid "B<MM_UTIL>"
2009 msgstr "B<MM_UTIL>"
2010
2011 #. type: Plain text
2012 #: build/C/man3/fmtmsg.3:111
2013 msgid "It is detected by a utility."
2014 msgstr "ユーティリティによって検知された。"
2015
2016 #. type: TP
2017 #: build/C/man3/fmtmsg.3:111
2018 #, no-wrap
2019 msgid "B<MM_OPSYS>"
2020 msgstr "B<MM_OPSYS>"
2021
2022 #. type: Plain text
2023 #: build/C/man3/fmtmsg.3:114
2024 msgid "It is detected by the operating system."
2025 msgstr "オペレーティングシステムによって検知された。"
2026
2027 #. type: Plain text
2028 #: build/C/man3/fmtmsg.3:116
2029 msgid "The fourth value shows the severity of the incident:"
2030 msgstr "4 番目の値は問題の重大度を表す:"
2031
2032 #. type: TP
2033 #: build/C/man3/fmtmsg.3:116
2034 #, no-wrap
2035 msgid "B<MM_RECOVER>"
2036 msgstr "B<MM_RECOVER>"
2037
2038 #. type: Plain text
2039 #: build/C/man3/fmtmsg.3:119
2040 msgid "It is a recoverable error."
2041 msgstr "回復可能なエラーである。"
2042
2043 #. type: TP
2044 #: build/C/man3/fmtmsg.3:119
2045 #, no-wrap
2046 msgid "B<MM_NRECOV>"
2047 msgstr "B<MM_NRECOV>"
2048
2049 #. type: Plain text
2050 #: build/C/man3/fmtmsg.3:122
2051 msgid "It is a nonrecoverable error."
2052 msgstr "回復不可能なエラーである。"
2053
2054 #. type: SS
2055 #: build/C/man3/fmtmsg.3:122
2056 #, no-wrap
2057 msgid "The severity argument"
2058 msgstr "severity 引き数"
2059
2060 #. type: Plain text
2061 #: build/C/man3/fmtmsg.3:126
2062 msgid "The I<severity> argument can take one of the following values:"
2063 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
2064
2065 #. type: TP
2066 #: build/C/man3/fmtmsg.3:126
2067 #, no-wrap
2068 msgid "B<MM_NOSEV>"
2069 msgstr "B<MM_NOSEV>"
2070
2071 #. type: Plain text
2072 #: build/C/man3/fmtmsg.3:129
2073 msgid "No severity is printed."
2074 msgstr "重大度は表示されない。"
2075
2076 #. type: TP
2077 #: build/C/man3/fmtmsg.3:129
2078 #, no-wrap
2079 msgid "B<MM_HALT>"
2080 msgstr "B<MM_HALT>"
2081
2082 #. type: Plain text
2083 #: build/C/man3/fmtmsg.3:132
2084 msgid "This value is printed as HALT."
2085 msgstr "この値は HALT として表示される。"
2086
2087 #. type: TP
2088 #: build/C/man3/fmtmsg.3:132
2089 #, no-wrap
2090 msgid "B<MM_ERROR>"
2091 msgstr "B<MM_ERROR>"
2092
2093 #. type: Plain text
2094 #: build/C/man3/fmtmsg.3:135
2095 msgid "This value is printed as ERROR."
2096 msgstr "この値は ERROR として表示される。"
2097
2098 #. type: TP
2099 #: build/C/man3/fmtmsg.3:135
2100 #, no-wrap
2101 msgid "B<MM_WARNING>"
2102 msgstr "B<MM_WARNING>"
2103
2104 #. type: Plain text
2105 #: build/C/man3/fmtmsg.3:138
2106 msgid "This value is printed as WARNING."
2107 msgstr "この値は WARNING として表示される。"
2108
2109 #. type: TP
2110 #: build/C/man3/fmtmsg.3:138
2111 #, no-wrap
2112 msgid "B<MM_INFO>"
2113 msgstr "B<MM_INFO>"
2114
2115 #. type: Plain text
2116 #: build/C/man3/fmtmsg.3:141
2117 msgid "This value is printed as INFO."
2118 msgstr "この値は INFO として表示される。"
2119
2120 #. type: Plain text
2121 #: build/C/man3/fmtmsg.3:148
2122 msgid ""
2123 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2124 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2125 "print."
2126 msgstr ""
2127 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2128 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2129
2130 #. type: Plain text
2131 #: build/C/man3/fmtmsg.3:150
2132 msgid "The function can return 4 values:"
2133 msgstr "関数は 4 つの値を返す:"
2134
2135 #. type: TP
2136 #: build/C/man3/fmtmsg.3:150
2137 #, no-wrap
2138 msgid "B<MM_OK>"
2139 msgstr "B<MM_OK>"
2140
2141 #. type: Plain text
2142 #: build/C/man3/fmtmsg.3:153
2143 msgid "Everything went smooth."
2144 msgstr "全てがうまくいった。"
2145
2146 #. type: TP
2147 #: build/C/man3/fmtmsg.3:153
2148 #, no-wrap
2149 msgid "B<MM_NOTOK>"
2150 msgstr "B<MM_NOTOK>"
2151
2152 #. type: Plain text
2153 #: build/C/man3/fmtmsg.3:156
2154 msgid "Complete failure."
2155 msgstr "完全に失敗した。"
2156
2157 #. type: TP
2158 #: build/C/man3/fmtmsg.3:156
2159 #, no-wrap
2160 msgid "B<MM_NOMSG>"
2161 msgstr "B<MM_NOMSG>"
2162
2163 #. type: Plain text
2164 #: build/C/man3/fmtmsg.3:160
2165 msgid "Error writing to I<stderr>."
2166 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2167
2168 #. type: TP
2169 #: build/C/man3/fmtmsg.3:160
2170 #, no-wrap
2171 msgid "B<MM_NOCON>"
2172 msgstr "B<MM_NOCON>"
2173
2174 #. type: Plain text
2175 #: build/C/man3/fmtmsg.3:163
2176 msgid "Error writing to the console."
2177 msgstr "コンソールに書き込むときにエラーが起こった。"
2178
2179 #. type: SH
2180 #: build/C/man3/fmtmsg.3:163
2181 #, no-wrap
2182 msgid "ENVIRONMENT"
2183 msgstr "環境変数"
2184
2185 #. type: Plain text
2186 #: build/C/man3/fmtmsg.3:174
2187 msgid ""
2188 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2189 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2190 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2191 "separated list of valid keywords, then only the parts of the message "
2192 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2193 "\"severity\", \"text\", \"action\" and \"tag\"."
2194 msgstr ""
2195 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2196 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2197 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2198 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2199 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2200
2201 #. type: Plain text
2202 #: build/C/man3/fmtmsg.3:186
2203 msgid ""
2204 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2205 "levels.  By default, only the five severity levels described above are "
2206 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2207 "If the user puts B<SEV_LEVEL> with a format like"
2208 msgstr ""
2209 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2210 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2211 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2212 "B<SEV_LEVEL> を"
2213
2214 #. type: Plain text
2215 #: build/C/man3/fmtmsg.3:189
2216 msgid "SEV_LEVEL=[description[:description[:...]]]"
2217 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2218
2219 #. type: Plain text
2220 #: build/C/man3/fmtmsg.3:194
2221 msgid ""
2222 "in the environment of the process before the first call to B<fmtmsg>(), "
2223 "where each description is of the form"
2224 msgstr ""
2225 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2226 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2227 "指定された printstring を表示する。 各 description は"
2228
2229 #. type: Plain text
2230 #: build/C/man3/fmtmsg.3:197
2231 msgid "severity-keyword,level,printstring"
2232 msgstr "severity-keyword,level,printstring"
2233
2234 #. type: Plain text
2235 #: build/C/man3/fmtmsg.3:204
2236 msgid ""
2237 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2238 "addition to the standard levels 0-4), and use the indicated printstring when "
2239 "such a level occurs."
2240 msgstr "という形式である。"
2241
2242 #. type: Plain text
2243 #: build/C/man3/fmtmsg.3:218
2244 msgid ""
2245 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2246 "present.  The level part is a string representation of a number.  The "
2247 "numeric value must be a number greater than 4.  This value must be used in "
2248 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2249 "possible to overwrite any of the predefined classes.  The printstring is the "
2250 "string printed when a message of this class is processed by B<fmtmsg>()."
2251 msgstr ""
2252 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2253 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2254 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2255 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2256 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2257 "た場合に表示される文字列である。"
2258
2259 #. type: Plain text
2260 #: build/C/man3/fmtmsg.3:221
2261 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2262 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2263
2264 #. type: Plain text
2265 #: build/C/man3/fmtmsg.3:236
2266 msgid ""
2267 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2268 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2269 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2270 msgstr ""
2271 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2272 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2273 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2274
2275 #. type: Plain text
2276 #: build/C/man3/fmtmsg.3:240
2277 msgid ""
2278 "System V and UnixWare man pages tell us that these functions have been "
2279 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2280 "vlfmt()\", and will be removed later."
2281 msgstr ""
2282 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2283 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2284 "は削除される予定である」と書かれている。"
2285
2286 #. type: Plain text
2287 #: build/C/man3/fmtmsg.3:245
2288 #, no-wrap
2289 msgid ""
2290 "#include E<lt>stdio.hE<gt>\n"
2291 "#include E<lt>stdlib.hE<gt>\n"
2292 "#include E<lt>fmtmsg.hE<gt>\n"
2293 msgstr ""
2294 "#include E<lt>stdio.hE<gt>\n"
2295 "#include E<lt>stdlib.hE<gt>\n"
2296 "#include E<lt>fmtmsg.hE<gt>\n"
2297
2298 #. type: Plain text
2299 #: build/C/man3/fmtmsg.3:251
2300 #, no-wrap
2301 msgid ""
2302 "int\n"
2303 "main(void)\n"
2304 "{\n"
2305 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2306 "    int err;\n"
2307 msgstr ""
2308 "int\n"
2309 "main(void)\n"
2310 "{\n"
2311 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2312 "    int err;\n"
2313
2314 #. type: Plain text
2315 #: build/C/man3/fmtmsg.3:272
2316 #, no-wrap
2317 msgid ""
2318 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2319 "                \"unknown mount option\", \"See mount(8).\",\n"
2320 "                \"util-linux:mount:017\");\n"
2321 "    switch (err) {\n"
2322 "    case MM_OK:\n"
2323 "        break;\n"
2324 "    case MM_NOTOK:\n"
2325 "        printf(\"Nothing printed\\en\");\n"
2326 "        break;\n"
2327 "    case MM_NOMSG:\n"
2328 "        printf(\"Nothing printed to stderr\\en\");\n"
2329 "        break;\n"
2330 "    case MM_NOCON:\n"
2331 "        printf(\"No console output\\en\");\n"
2332 "        break;\n"
2333 "    default:\n"
2334 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2335 "    }\n"
2336 "    exit(EXIT_SUCCESS);\n"
2337 "}\n"
2338 msgstr ""
2339 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2340 "                \"unknown mount option\", \"See mount(8).\",\n"
2341 "                \"util-linux:mount:017\");\n"
2342 "    switch (err) {\n"
2343 "    case MM_OK:\n"
2344 "      break;\n"
2345 "    case MM_NOTOK:\n"
2346 "        printf(\"Nothing printed\\en\");\n"
2347 "        break;\n"
2348 "    case MM_NOMSG:\n"
2349 "        printf(\"Nothing printed to stderr\\en\");\n"
2350 "        break;\n"
2351 "    case MM_NOCON:\n"
2352 "        printf(\"No console output\\en\");\n"
2353 "        break;\n"
2354 "    default:\n"
2355 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2356 "    }\n"
2357 "    exit(EXIT_SUCCESS);\n"
2358 "}\n"
2359
2360 #. type: Plain text
2361 #: build/C/man3/fmtmsg.3:275
2362 msgid "The output should be:"
2363 msgstr "出力は"
2364
2365 #. type: Plain text
2366 #: build/C/man3/fmtmsg.3:279
2367 #, no-wrap
2368 msgid ""
2369 "    util-linux:mount: ERROR: unknown mount option\n"
2370 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2371 msgstr ""
2372 "    util-linux:mount: ERROR: unknown mount option\n"
2373 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2374
2375 #. type: Plain text
2376 #: build/C/man3/fmtmsg.3:282
2377 msgid "and after"
2378 msgstr "のようになり、"
2379
2380 #. type: Plain text
2381 #: build/C/man3/fmtmsg.3:285
2382 #, no-wrap
2383 msgid "    MSGVERB=text:action; export MSGVERB\n"
2384 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2385
2386 #. type: Plain text
2387 #: build/C/man3/fmtmsg.3:288
2388 msgid "the output becomes:"
2389 msgstr "を実行すると、次のようになる。"
2390
2391 #. type: Plain text
2392 #: build/C/man3/fmtmsg.3:292
2393 #, no-wrap
2394 msgid ""
2395 "    unknown mount option\n"
2396 "    TO FIX: See mount(8).\n"
2397 msgstr ""
2398 "    unknown mount option\n"
2399 "    TO FIX: See mount(8).\n"
2400
2401 #. type: Plain text
2402 #: build/C/man3/fmtmsg.3:296
2403 msgid "B<addseverity>(3), B<perror>(3)"
2404 msgstr "B<addseverity>(3), B<perror>(3)"
2405
2406 #. type: TH
2407 #: build/C/man3/fopen.3:42
2408 #, no-wrap
2409 msgid "FOPEN"
2410 msgstr "FOPEN"
2411
2412 #. type: TH
2413 #: build/C/man3/fopen.3:42
2414 #, no-wrap
2415 msgid "2012-04-22"
2416 msgstr "2012-04-22"
2417
2418 #. type: Plain text
2419 #: build/C/man3/fopen.3:45
2420 msgid "fopen, fdopen, freopen - stream open functions"
2421 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2422
2423 #. type: Plain text
2424 #: build/C/man3/fopen.3:50
2425 #, no-wrap
2426 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2427 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2428
2429 #. type: Plain text
2430 #: build/C/man3/fopen.3:52
2431 #, no-wrap
2432 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2433 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2434
2435 #. type: Plain text
2436 #: build/C/man3/fopen.3:54
2437 #, no-wrap
2438 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2439 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2440
2441 #. type: Plain text
2442 #: build/C/man3/fopen.3:63
2443 msgid ""
2444 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2445 msgstr ""
2446 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2447
2448 #. type: Plain text
2449 #: build/C/man3/fopen.3:69
2450 msgid ""
2451 "The B<fopen>()  function opens the file whose name is the string pointed to "
2452 "by I<path> and associates a stream with it."
2453 msgstr ""
2454 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2455 "びつける。"
2456
2457 #. type: Plain text
2458 #: build/C/man3/fopen.3:74
2459 msgid ""
2460 "The argument I<mode> points to a string beginning with one of the following "
2461 "sequences (possibly followed by additional characters, as described below):"
2462 msgstr ""
2463 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタであ\n"
2464 "る (以下の述べる、追加の文字が後に続くこともある):"
2465
2466 #. type: TP
2467 #: build/C/man3/fopen.3:74
2468 #, no-wrap
2469 msgid "B<r>"
2470 msgstr "B<r>"
2471
2472 #. type: Plain text
2473 #: build/C/man3/fopen.3:78
2474 msgid ""
2475 "Open text file for reading.  The stream is positioned at the beginning of "
2476 "the file."
2477 msgstr ""
2478 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2479 "る。"
2480
2481 #. type: TP
2482 #: build/C/man3/fopen.3:78
2483 #, no-wrap
2484 msgid "B<r+>"
2485 msgstr "B<r+>"
2486
2487 #. type: Plain text
2488 #: build/C/man3/fopen.3:82
2489 msgid ""
2490 "Open for reading and writing.  The stream is positioned at the beginning of "
2491 "the file."
2492 msgstr ""
2493 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2494 "る。"
2495
2496 #. type: TP
2497 #: build/C/man3/fopen.3:82
2498 #, no-wrap
2499 msgid "B<w>"
2500 msgstr "B<w>"
2501
2502 #. type: Plain text
2503 #: build/C/man3/fopen.3:86
2504 msgid ""
2505 "Truncate file to zero length or create text file for writing.  The stream is "
2506 "positioned at the beginning of the file."
2507 msgstr ""
2508 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2509 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2510 "頭に位置される。"
2511
2512 #. type: TP
2513 #: build/C/man3/fopen.3:86
2514 #, no-wrap
2515 msgid "B<w+>"
2516 msgstr "B<w+>"
2517
2518 #. type: Plain text
2519 #: build/C/man3/fopen.3:92
2520 msgid ""
2521 "Open for reading and writing.  The file is created if it does not exist, "
2522 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2523 "file."
2524 msgstr ""
2525 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2526 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2527 "の先頭に位置される。"
2528
2529 #. type: TP
2530 #: build/C/man3/fopen.3:92 build/C/man3/scanf.3:444
2531 #, no-wrap
2532 msgid "B<a>"
2533 msgstr "B<a>"
2534
2535 #. type: Plain text
2536 #: build/C/man3/fopen.3:97
2537 msgid ""
2538 "Open for appending (writing at end of file).  The file is created if it does "
2539 "not exist.  The stream is positioned at the end of the file."
2540 msgstr ""
2541 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2542 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2543
2544 #. type: TP
2545 #: build/C/man3/fopen.3:97
2546 #, no-wrap
2547 msgid "B<a+>"
2548 msgstr "B<a+>"
2549
2550 #. type: Plain text
2551 #: build/C/man3/fopen.3:103
2552 msgid ""
2553 "Open for reading and appending (writing at end of file).  The file is "
2554 "created if it does not exist.  The initial file position for reading is at "
2555 "the beginning of the file, but output is always appended to the end of the "
2556 "file."
2557 msgstr ""
2558 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2559 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2560 "あるが、 書き込みは常にファイルの最後に追加される。"
2561
2562 #. type: Plain text
2563 #: build/C/man3/fopen.3:116
2564 msgid ""
2565 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2566 "character or as a character between the characters in any of the two-"
2567 "character strings described above.  This is strictly for compatibility with "
2568 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2569 "systems, including Linux.  (Other systems may treat text files and binary "
2570 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2571 "O to a binary file and expect that your program may be ported to non-UNIX "
2572 "environments.)"
2573 msgstr ""
2574 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2575 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2576 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2577 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2578 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2579 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2580 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2581 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2582
2583 #. type: Plain text
2584 #: build/C/man3/fopen.3:119
2585 msgid "See NOTES below for details of glibc extensions for I<mode>."
2586 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2587
2588 #. type: Plain text
2589 #: build/C/man3/fopen.3:124
2590 msgid ""
2591 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2592 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2593 "umask value (see B<umask>(2))."
2594 msgstr ""
2595 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2596 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2597 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2598
2599 #. type: Plain text
2600 #: build/C/man3/fopen.3:139
2601 msgid ""
2602 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2603 "that ANSI C requires that a file positioning function intervene between "
2604 "output and input, unless an input operation encounters end-of-file.  (If "
2605 "this condition is not met, then a read is allowed to return the result of "
2606 "writes other than the most recent.)  Therefore it is good practice (and "
2607 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2608 "(3)  operation between write and read operations on such a stream.  This "
2609 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2610 "for its synchronizing side effect."
2611 msgstr ""
2612 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2613 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2614 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2615 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2616 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2617 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2618 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2619 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2620 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2621 "い)。"
2622
2623 #. type: Plain text
2624 #: build/C/man3/fopen.3:144
2625 msgid ""
2626 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2627 "causes all subsequent write operations to this stream to occur at end-of-"
2628 "file, as if preceded the call:"
2629 msgstr ""
2630 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、\n"
2631 "このストリームに対する書き込み操作は全て (先に以下の呼び出しを行った\n"
2632 "かのように) ファイルの末尾で行われる。"
2633
2634 #. type: Plain text
2635 #: build/C/man3/fopen.3:147
2636 #, no-wrap
2637 msgid "    fseek(stream,0,SEEK_END);\n"
2638 msgstr "    fseek(stream,0,SEEK_END);\n"
2639
2640 #. type: Plain text
2641 #: build/C/man3/fopen.3:169
2642 msgid ""
2643 "The B<fdopen>()  function associates a stream with the existing file "
2644 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2645 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2646 "file descriptor.  The file position indicator of the new stream is set to "
2647 "that belonging to I<fd>, and the error and end-of-file indicators are "
2648 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2649 "file descriptor is not dup'ed, and will be closed when the stream created by "
2650 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2651 "memory object is undefined."
2652 msgstr ""
2653 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2654 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2655 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2656 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2657 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2658 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2659 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2660 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2661
2662 #. type: Plain text
2663 #: build/C/man3/fopen.3:187
2664 msgid ""
2665 "The B<freopen>()  function opens the file whose name is the string pointed "
2666 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2667 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2668 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2669 "function is to change the file associated with a standard text stream "
2670 "(I<stderr>, I<stdin>, or I<stdout>)."
2671 msgstr ""
2672 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2673 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2674 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2675 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2676 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2677
2678 #. type: Plain text
2679 #: build/C/man3/fopen.3:199
2680 msgid ""
2681 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2682 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2683 "indicate the error."
2684 msgstr ""
2685 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2686 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2687
2688 #. type: TP
2689 #: build/C/man3/fopen.3:200 build/C/man3/fseek.3:138
2690 #: build/C/man3/getline.3:121 build/C/man2/llseek.2:72
2691 #: build/C/man2/lseek.2:164 build/C/man2/pipe.2:102 build/C/man2/read.2:108
2692 #: build/C/man2/read.2:119 build/C/man2/readlink.2:93
2693 #: build/C/man2/readlink.2:102 build/C/man2/readv.2:198
2694 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:563
2695 #: build/C/man2/write.2:148
2696 #, no-wrap
2697 msgid "B<EINVAL>"
2698 msgstr "B<EINVAL>"
2699
2700 #. type: Plain text
2701 #: build/C/man3/fopen.3:210
2702 msgid ""
2703 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2704 "invalid."
2705 msgstr ""
2706 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2707
2708 #. type: Plain text
2709 #: build/C/man3/fopen.3:220
2710 msgid ""
2711 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2712 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2713 msgstr ""
2714 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2715 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2716 "する。"
2717
2718 #. type: Plain text
2719 #: build/C/man3/fopen.3:227
2720 msgid ""
2721 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2722 "errors specified for the routine B<open>(2)."
2723 msgstr ""
2724 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2725 "があり、 その時は対応する値に I<errno> をセットする。"
2726
2727 #. type: Plain text
2728 #: build/C/man3/fopen.3:234
2729 msgid ""
2730 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2731 "errors specified for the routine B<fcntl>(2)."
2732 msgstr ""
2733 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2734 "とがあり、 その時は対応する値に I<errno> をセットする。"
2735
2736 #. type: Plain text
2737 #: build/C/man3/fopen.3:244
2738 msgid ""
2739 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2740 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2741 msgstr ""
2742 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2743 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2744 "トする。"
2745
2746 #. type: Plain text
2747 #: build/C/man3/fopen.3:253
2748 msgid ""
2749 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2750 "()  function conforms to POSIX.1-1990."
2751 msgstr ""
2752 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2753 "は POSIX.1-1990 に準拠している。"
2754
2755 #. type: SS
2756 #: build/C/man3/fopen.3:254
2757 #, no-wrap
2758 msgid "Glibc Notes"
2759 msgstr "glibc での注意"
2760
2761 #. type: Plain text
2762 #: build/C/man3/fopen.3:257
2763 msgid ""
2764 "The GNU C library allows the following extensions for the string specified "
2765 "in I<mode>:"
2766 msgstr ""
2767 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2768 "いる:"
2769
2770 #. type: TP
2771 #: build/C/man3/fopen.3:257
2772 #, no-wrap
2773 msgid "B<c> (since glibc 2.3.3)"
2774 msgstr "B<c> (glibc 2.3.3 以降)"
2775
2776 #. type: Plain text
2777 #: build/C/man3/fopen.3:264
2778 msgid ""
2779 "Do not make the open operation, or subsequent read and write operations, "
2780 "thread cancellation points.  This flag is ignored for B<fdopen>()."
2781 msgstr ""
2782 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント\n"
2783 "(cancellation points) を作成しない。\n"
2784 "このフラグは B<fdopen>() では無視される。"
2785
2786 #. type: TP
2787 #: build/C/man3/fopen.3:264
2788 #, no-wrap
2789 msgid "B<e> (since glibc 2.7)"
2790 msgstr "B<e> (glibc 2.7 以降)"
2791
2792 #. type: Plain text
2793 #: build/C/man3/fopen.3:274
2794 msgid ""
2795 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2796 "information.  This flag is ignored for B<fdopen>()."
2797 msgstr ""
2798 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。詳細は\n"
2799 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
2800
2801 #. type: TP
2802 #: build/C/man3/fopen.3:274
2803 #, no-wrap
2804 msgid "B<m> (since glibc 2.3)"
2805 msgstr "B<m> (glibc 2.3 以降)"
2806
2807 #.  As at glibc 2.4:
2808 #. type: Plain text
2809 #: build/C/man3/fopen.3:286
2810 msgid ""
2811 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2812 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is only attempted "
2813 "for a file opened for reading."
2814 msgstr ""
2815 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2816 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2817 "オープンするファイルについてだけである。"
2818
2819 #. type: TP
2820 #: build/C/man3/fopen.3:286 build/C/man3/scanf.3:418
2821 #, no-wrap
2822 msgid "B<x>"
2823 msgstr "B<x>"
2824
2825 #.  Since glibc 2.0?
2826 #.  FIXME C11 specifies this flag
2827 #. type: Plain text
2828 #: build/C/man3/fopen.3:303
2829 msgid ""
2830 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2831 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2832 "This flag is ignored for B<fdopen>()."
2833 msgstr ""
2834 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2835 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2836 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2837
2838 #. type: Plain text
2839 #: build/C/man3/fopen.3:311
2840 msgid ""
2841 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
2842 "the following syntax in I<mode>:"
2843 msgstr ""
2844 "上記の文字に加えて、\n"
2845 "B<fopen>() と B<freopen>() では I<mode> に\n"
2846 "以下の書式を 指定することができる。"
2847
2848 #. type: Plain text
2849 #: build/C/man3/fopen.3:313
2850 msgid "B< ,ccs=>I<string>"
2851 msgstr "B< ,ccs=>I<string>"
2852
2853 #. type: Plain text
2854 #: build/C/man3/fopen.3:329
2855 msgid ""
2856 "The given I<string> is taken as the name of a coded character set and the "
2857 "stream is marked as wide-oriented.  Thereafter, internal conversion "
2858 "functions convert I/O to and from the character set I<string>.  If the B<,"
2859 "ccs=>I<string> syntax is not specified, then the wide-orientation of the "
2860 "stream is determined by the first file operation.  If that operation is a "
2861 "wide-character operation, the stream is marked wide-oriented, and functions "
2862 "to convert to the coded character set are loaded."
2863 msgstr ""
2864 "指定された I<string> は、符号化文字集合の名前と解釈され、\n"
2865 "ストリームではワイド文字のストリームとして扱われる。\n"
2866 "内部変換関数で入出力時に文字集合 I<string> との変換が行われる。\n"
2867 "書式 B<,ccs=>I<string> が指定されない場合は、\n"
2868 "ストリームをワイド文字のストリームとして扱うかは\n"
2869 "最初のファイル操作時に決定される。\n"
2870 "最初のファイル操作がワイド文字操作であった場合は、\n"
2871 "そのストリームはワイド文字のストリームとして扱われ、\n"
2872 "符号化文字集合との変換を行う関数が読み込まれる。"
2873
2874 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
2875 #. type: Plain text
2876 #: build/C/man3/fopen.3:346
2877 #, fuzzy
2878 #| msgid ""
2879 #| "When parsing for individual flag characters in I<mode> (i.e., the "
2880 #| "characters preceding the \"ccs\" specification\"), the glibc "
2881 #| "implementation of B<fopen>()  and B<freopen>()  limits the number of "
2882 #| "characters examined in I<mode> to 7 (or, in glibc versions before 2.14, "
2883 #| "to 6, which was not enough to include possible specifications such as \"rb"
2884 #| "+cmxe\").  The current implementation of B<fdopen>()  parses at most 5 "
2885 #| "characters in in I<mode>."
2886 msgid ""
2887 "When parsing for individual flag characters in I<mode> (i.e., the characters "
2888 "preceding the \"ccs\" specification), the glibc implementation of B<fopen>"
2889 "()  and B<freopen>()  limits the number of characters examined in I<mode> to "
2890 "7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
2891 "possible specifications such as \"rb+cmxe\").  The current implementation of "
2892 "B<fdopen>()  parses at most 5 characters in I<mode>."
2893 msgstr ""
2894 "I<mode> の個々のフラグ文字 (\"ccs\" 指定の前の文字) を解釈する際に、\n"
2895 "glibc の B<fopen>() と B<freopen>() の実装では、\n"
2896 "I<mode> の確認を最大 7 文字しか行わないという制限がある\n"
2897 "(バージョン 2.14 より前の glibc では最大 6 文字だが、\n"
2898 "6 文字では \"rb+cmxe\" などの指定を行うには不十分であった)。\n"
2899 "B<fdopen>() の現在の実装では最大 5 文字の I<mode> しか解釈されない。"
2900
2901 #. type: Plain text
2902 #: build/C/man3/fopen.3:352
2903 msgid ""
2904 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2905 msgstr ""
2906 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2907
2908 #. type: TH
2909 #: build/C/man3/fopencookie.3:24
2910 #, no-wrap
2911 msgid "FOPENCOOKIE"
2912 msgstr "FOPENCOOKIE"
2913
2914 #. type: TH
2915 #: build/C/man3/fopencookie.3:24
2916 #, fuzzy, no-wrap
2917 #| msgid "2012-03-30"
2918 msgid "2012-04-30"
2919 msgstr "2012-03-30"
2920
2921 #. type: TH
2922 #: build/C/man3/fopencookie.3:24 build/C/man2/link.2:31
2923 #: build/C/man2/llseek.2:26 build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23
2924 #: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2925 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man2/rename.2:32
2926 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9
2927 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
2928 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
2929 #, no-wrap
2930 msgid "Linux"
2931 msgstr "Linux"
2932
2933 #. type: Plain text
2934 #: build/C/man3/fopencookie.3:27
2935 msgid "fopencookie - opening a custom stream"
2936 msgstr ""
2937
2938 #. type: Plain text
2939 #: build/C/man3/fopencookie.3:34
2940 #, no-wrap
2941 msgid ""
2942 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2943 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2944 msgstr ""
2945 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2946 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2947
2948 #. type: Plain text
2949 #: build/C/man3/fopencookie.3:47
2950 msgid ""
2951 "The B<fopencookie>()  function allows the programmer to create a custom "
2952 "implementation for a standard I/O stream.  This implementation can store the "
2953 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2954 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2955 "to data that is stored in a buffer in memory."
2956 msgstr ""
2957
2958 #. type: Plain text
2959 #: build/C/man3/fopencookie.3:49
2960 msgid "In order to create a custom stream the programmer must:"
2961 msgstr ""
2962
2963 #. type: IP
2964 #: build/C/man3/fopencookie.3:49 build/C/man3/fopencookie.3:52
2965 #: build/C/man3/fopencookie.3:63 build/C/man3/scanf.3:669
2966 #: build/C/man3/scanf.3:674 build/C/man3/scanf.3:680
2967 #: build/C/man7/symlink.7:248 build/C/man7/symlink.7:258
2968 #: build/C/man7/symlink.7:288 build/C/man7/symlink.7:348
2969 #: build/C/man7/symlink.7:377 build/C/man7/symlink.7:406
2970 #: build/C/man7/symlink.7:437 build/C/man7/symlink.7:450
2971 #, no-wrap
2972 msgid "*"
2973 msgstr "*"
2974
2975 #. type: Plain text
2976 #: build/C/man3/fopencookie.3:52
2977 msgid ""
2978 "Implement four \"hook\" functions that are used internally by the standard I/"
2979 "O library when performing I/O on the stream."
2980 msgstr ""
2981
2982 #. type: Plain text
2983 #: build/C/man3/fopencookie.3:63
2984 msgid ""
2985 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2986 "information (e.g., where to store data) used by the aforementioned hook "
2987 "functions.  The standard I/O package knows nothing about the contents of "
2988 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2989 "()), but automatically supplies the cookie as the first argument when "
2990 "calling the hook functions."
2991 msgstr ""
2992
2993 #. type: Plain text
2994 #: build/C/man3/fopencookie.3:68
2995 msgid ""
2996 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2997 "hook functions with that stream."
2998 msgstr ""
2999
3000 #. type: Plain text
3001 #: build/C/man3/fopencookie.3:76
3002 msgid ""
3003 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
3004 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
3005 "operate on that stream."
3006 msgstr ""
3007
3008 #. type: Plain text
3009 #: build/C/man3/fopencookie.3:83
3010 msgid ""
3011 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
3012 "to be associated with the new stream.  This pointer is supplied as the first "
3013 "argument when the standard I/O library invokes any of the hook functions "
3014 "described below."
3015 msgstr ""
3016
3017 #. type: Plain text
3018 #: build/C/man3/fopencookie.3:99
3019 msgid ""
3020 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
3021 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
3022 "See B<fopen>(3)  for details."
3023 msgstr ""
3024
3025 #. type: Plain text
3026 #: build/C/man3/fopencookie.3:105
3027 msgid ""
3028 "The I<io_funcs> argument is a structure that contains four fields pointing "
3029 "to the programmer-defined hook functions that are used to implement this "
3030 "stream.  The structure is defined as follows"
3031 msgstr ""
3032
3033 #. type: Plain text
3034 #: build/C/man3/fopencookie.3:114
3035 #, no-wrap
3036 msgid ""
3037 "struct cookie_io_functions_t {\n"
3038 "    cookie_read_function_t  *read;\n"
3039 "    cookie_write_function_t *write;\n"
3040 "    cookie_seek_function_t  *seek;\n"
3041 "    cookie_close_function_t *close;\n"
3042 "};\n"
3043 msgstr ""
3044 "struct cookie_io_functions_t {\n"
3045 "    cookie_read_function_t  *read;\n"
3046 "    cookie_write_function_t *write;\n"
3047 "    cookie_seek_function_t  *seek;\n"
3048 "    cookie_close_function_t *close;\n"
3049 "};\n"
3050
3051 #. type: Plain text
3052 #: build/C/man3/fopencookie.3:118
3053 msgid "The four fields are as follows:"
3054 msgstr ""
3055
3056 #. type: TP
3057 #: build/C/man3/fopencookie.3:118
3058 #, no-wrap
3059 msgid "I<cookie_read_function_t *read>"
3060 msgstr "I<cookie_read_function_t *read>"
3061
3062 #. type: Plain text
3063 #: build/C/man3/fopencookie.3:122
3064 msgid ""
3065 "This function implements read operations for the stream.  When called, it "
3066 "receives three arguments:"
3067 msgstr ""
3068
3069 #. type: Plain text
3070 #: build/C/man3/fopencookie.3:124
3071 #, no-wrap
3072 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3073 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
3074
3075 #. type: Plain text
3076 #: build/C/man3/fopencookie.3:139
3077 msgid ""
3078 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
3079 "input data can be placed and the size of that buffer.  As its function "
3080 "result, the I<read> function should return the number of bytes copied into "
3081 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
3082 "update the stream offset appropriately."
3083 msgstr ""
3084
3085 #. type: Plain text
3086 #: build/C/man3/fopencookie.3:144
3087 msgid ""
3088 "If I<*read> is a NULL pointer, then reads from the custom stream always "
3089 "return end of file."
3090 msgstr ""
3091
3092 #. type: TP
3093 #: build/C/man3/fopencookie.3:144
3094 #, no-wrap
3095 msgid "I<cookie_write_function_t *write>"
3096 msgstr "I<cookie_write_function_t *write>"
3097
3098 #. type: Plain text
3099 #: build/C/man3/fopencookie.3:148
3100 msgid ""
3101 "This function implements write operations for the stream.  When called, it "
3102 "receives three arguments:"
3103 msgstr ""
3104
3105 #. type: Plain text
3106 #: build/C/man3/fopencookie.3:150
3107 #, no-wrap
3108 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3109 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
3110
3111 #. type: Plain text
3112 #: build/C/man3/fopencookie.3:166
3113 msgid ""
3114 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3115 "output to the stream and the size of that buffer.  As its function result, "
3116 "the I<write> function should return the number of bytes copied from I<buf>, "
3117 "or 0 on error.  (The function must not return a negative value.)  The "
3118 "I<write> function should update the stream offset appropriately."
3119 msgstr ""
3120
3121 #. type: Plain text
3122 #: build/C/man3/fopencookie.3:171
3123 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3124 msgstr ""
3125
3126 #. type: TP
3127 #: build/C/man3/fopencookie.3:171
3128 #, no-wrap
3129 msgid "I<cookie_seek_function_t *seek>"
3130 msgstr "I<cookie_seek_function_t *seek>"
3131
3132 #. type: Plain text
3133 #: build/C/man3/fopencookie.3:175
3134 msgid ""
3135 "This function implements seek operations on the stream.  When called, it "
3136 "receives three arguments:"
3137 msgstr ""
3138
3139 #. type: Plain text
3140 #: build/C/man3/fopencookie.3:177
3141 #, no-wrap
3142 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3143 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3144
3145 #. type: Plain text
3146 #: build/C/man3/fopencookie.3:183
3147 msgid ""
3148 "The I<*offset> argument specifies the new file offset depending on which of "
3149 "the following three values is supplied in I<whence>:"
3150 msgstr ""
3151
3152 #. type: TP
3153 #: build/C/man3/fopencookie.3:184 build/C/man2/lseek.2:65
3154 #, no-wrap
3155 msgid "B<SEEK_SET>"
3156 msgstr "B<SEEK_SET>"
3157
3158 #. type: Plain text
3159 #: build/C/man3/fopencookie.3:189
3160 msgid ""
3161 "The stream offset should be set I<*offset> bytes from the start of the "
3162 "stream."
3163 msgstr ""
3164
3165 #. type: TP
3166 #: build/C/man3/fopencookie.3:189 build/C/man2/lseek.2:70
3167 #, no-wrap
3168 msgid "B<SEEK_CUR>"
3169 msgstr "B<SEEK_CUR>"
3170
3171 #. type: Plain text
3172 #: build/C/man3/fopencookie.3:193
3173 msgid "I<*offset> should be added to the current stream offset."
3174 msgstr ""
3175
3176 #. type: TP
3177 #: build/C/man3/fopencookie.3:193 build/C/man2/lseek.2:75
3178 #, no-wrap
3179 msgid "B<SEEK_END>"
3180 msgstr "B<SEEK_END>"
3181
3182 #. type: Plain text
3183 #: build/C/man3/fopencookie.3:197
3184 msgid ""
3185 "The stream offset should be set to the size of the stream plus I<*offset>."
3186 msgstr ""
3187
3188 #. type: Plain text
3189 #: build/C/man3/fopencookie.3:204
3190 msgid ""
3191 "Before returning, the I<seek> function should update I<*offset> to indicate "
3192 "the new stream offset."
3193 msgstr ""
3194
3195 #. type: Plain text
3196 #: build/C/man3/fopencookie.3:208
3197 msgid ""
3198 "As its function result, the I<seek> function should return 0 on success, and "
3199 "-1 on error."
3200 msgstr ""
3201
3202 #. type: Plain text
3203 #: build/C/man3/fopencookie.3:213
3204 msgid ""
3205 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3206 "operations on the stream."
3207 msgstr ""
3208
3209 #. type: TP
3210 #: build/C/man3/fopencookie.3:213
3211 #, no-wrap
3212 msgid "I<cookie_close_function_t *close>"
3213 msgstr "I<cookie_close_function_t *close>"
3214
3215 #. type: Plain text
3216 #: build/C/man3/fopencookie.3:219
3217 msgid ""
3218 "This function closes the stream.  The hook function can do things such as "
3219 "freeing buffers allocated for the stream.  When called, it receives one "
3220 "argument:"
3221 msgstr ""
3222
3223 #. type: Plain text
3224 #: build/C/man3/fopencookie.3:221
3225 #, no-wrap
3226 msgid "    int close(void *cookie);\n"
3227 msgstr "    int close(void *cookie);\n"
3228
3229 #. type: Plain text
3230 #: build/C/man3/fopencookie.3:226
3231 msgid ""
3232 "The I<cookie> argument is the cookie that the programmer supplied when "
3233 "calling B<fopencookie>()."
3234 msgstr ""
3235
3236 #. type: Plain text
3237 #: build/C/man3/fopencookie.3:232
3238 msgid ""
3239 "As its function result, the I<close> function should return 0 on success, "
3240 "and B<EOF> on error."
3241 msgstr ""
3242
3243 #. type: Plain text
3244 #: build/C/man3/fopencookie.3:236
3245 msgid ""
3246 "If I<*close> is NULL, then no special action is performed when the stream is "
3247 "closed."
3248 msgstr ""
3249
3250 #.  .SH ERRORS
3251 #.  It's not clear if errno ever gets set...
3252 #. type: Plain text
3253 #: build/C/man3/fopencookie.3:243
3254 msgid ""
3255 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3256 "NULL is returned."
3257 msgstr ""
3258
3259 #. type: Plain text
3260 #: build/C/man3/fopencookie.3:245
3261 msgid "This function is a nonstandard GNU extension."
3262 msgstr ""
3263
3264 #. type: Plain text
3265 #: build/C/man3/fopencookie.3:254
3266 msgid ""
3267 "The program below implements a custom stream whose functionality is similar "
3268 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3269 "stream whose data is stored in a memory buffer.  The program writes its "
3270 "command-line arguments to the stream, and then seeks through the stream "
3271 "reading two out of every five characters and writing them to standard "
3272 "output.  The following shell session demonstrates the use of the program:"
3273 msgstr ""
3274
3275 #. type: Plain text
3276 #: build/C/man3/fopencookie.3:262
3277 #, no-wrap
3278 msgid ""
3279 "$B< ./a.out \\(aqhello world\\(aq>\n"
3280 "/he/\n"
3281 "/ w/\n"
3282 "/d/\n"
3283 "Reached end of file\n"
3284 msgstr ""
3285 "$B< ./a.out \\(aqhello world\\(aq>\n"
3286 "/he/\n"
3287 "/ w/\n"
3288 "/d/\n"
3289 "Reached end of file\n"
3290
3291 #. type: Plain text
3292 #: build/C/man3/fopencookie.3:269
3293 msgid ""
3294 "Note that a more general version of the program below could be improved to "
3295 "more robustly handle various error situations (e.g., opening a stream with a "
3296 "cookie that already has an open stream; closing a stream that has already "
3297 "been closed)."
3298 msgstr ""
3299
3300 #. type: Plain text
3301 #: build/C/man3/fopencookie.3:278
3302 #, no-wrap
3303 msgid ""
3304 "#define _GNU_SOURCE\n"
3305 "#include E<lt>sys/types.hE<gt>\n"
3306 "#include E<lt>stdio.hE<gt>\n"
3307 "#include E<lt>stdlib.hE<gt>\n"
3308 "#include E<lt>unistd.hE<gt>\n"
3309 "#include E<lt>string.hE<gt>\n"
3310 msgstr ""
3311 "#define _GNU_SOURCE\n"
3312 "#include E<lt>sys/types.hE<gt>\n"
3313 "#include E<lt>stdio.hE<gt>\n"
3314 "#include E<lt>stdlib.hE<gt>\n"
3315 "#include E<lt>unistd.hE<gt>\n"
3316 "#include E<lt>string.hE<gt>\n"
3317
3318 #. type: Plain text
3319 #: build/C/man3/fopencookie.3:280
3320 #, no-wrap
3321 msgid "#define INIT_BUF_SIZE 4\n"
3322 msgstr "#define INIT_BUF_SIZE 4\n"
3323
3324 #. type: Plain text
3325 #: build/C/man3/fopencookie.3:287
3326 #, no-wrap
3327 msgid ""
3328 "struct memfile_cookie {\n"
3329 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3330 "    size_t  allocated;  /* Size of buf */\n"
3331 "    size_t  endpos;     /* Number of characters in buf */\n"
3332 "    off_t   offset;     /* Current file offset in buf */\n"
3333 "};\n"
3334 msgstr ""
3335 "struct memfile_cookie {\n"
3336 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3337 "    size_t  allocated;  /* Size of buf */\n"
3338 "    size_t  endpos;     /* Number of characters in buf */\n"
3339 "    off_t   offset;     /* Current file offset in buf */\n"
3340 "};\n"
3341
3342 #. type: Plain text
3343 #: build/C/man3/fopencookie.3:293
3344 #, no-wrap
3345 msgid ""
3346 "ssize_t\n"
3347 "memfile_write(void *c, const char *buf, size_t size)\n"
3348 "{\n"
3349 "    char *new_buff;\n"
3350 "    struct memfile_cookie *cookie = c;\n"
3351 msgstr ""
3352 "ssize_t\n"
3353 "memfile_write(void *c, const char *buf, size_t size)\n"
3354 "{\n"
3355 "    char *new_buff;\n"
3356 "    struct memfile_cookie *cookie = c;\n"
3357
3358 #. type: Plain text
3359 #: build/C/man3/fopencookie.3:295
3360 #, no-wrap
3361 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3362 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3363
3364 #. type: Plain text
3365 #: build/C/man3/fopencookie.3:305
3366 #, no-wrap
3367 msgid ""
3368 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3369 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3370 "        if (new_buff == NULL) {\n"
3371 "            return -1;\n"
3372 "        } else {\n"
3373 "            cookie-E<gt>allocated *= 2;\n"
3374 "            cookie-E<gt>buf = new_buff;\n"
3375 "        }\n"
3376 "    }\n"
3377 msgstr ""
3378 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3379 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3380 "        if (new_buff == NULL) {\n"
3381 "            return -1;\n"
3382 "        } else {\n"
3383 "            cookie-E<gt>allocated *= 2;\n"
3384 "            cookie-E<gt>buf = new_buff;\n"
3385 "        }\n"
3386 "    }\n"
3387
3388 #. type: Plain text
3389 #: build/C/man3/fopencookie.3:307
3390 #, no-wrap
3391 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3392 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3393
3394 #. type: Plain text
3395 #: build/C/man3/fopencookie.3:311
3396 #, no-wrap
3397 msgid ""
3398 "    cookie-E<gt>offset += size;\n"
3399 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3400 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3401 msgstr ""
3402 "    cookie-E<gt>offset += size;\n"
3403 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3404 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3405
3406 #. type: Plain text
3407 #: build/C/man3/fopencookie.3:314
3408 #, no-wrap
3409 msgid ""
3410 "    return size;\n"
3411 "}\n"
3412 msgstr ""
3413 "    return size;\n"
3414 "}\n"
3415
3416 #. type: Plain text
3417 #: build/C/man3/fopencookie.3:320
3418 #, no-wrap
3419 msgid ""
3420 "ssize_t\n"
3421 "memfile_read(void *c, char *buf, size_t size)\n"
3422 "{\n"
3423 "    ssize_t xbytes;\n"
3424 "    struct memfile_cookie *cookie = c;\n"
3425 msgstr ""
3426 "ssize_t\n"
3427 "memfile_read(void *c, char *buf, size_t size)\n"
3428 "{\n"
3429 "    ssize_t xbytes;\n"
3430 "    struct memfile_cookie *cookie = c;\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/fopencookie.3:322
3434 #, no-wrap
3435 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3436 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3437
3438 #. type: Plain text
3439 #: build/C/man3/fopencookie.3:328
3440 #, no-wrap
3441 msgid ""
3442 "    xbytes = size;\n"
3443 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3444 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3445 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3446 "       xbytes = 0;\n"
3447 msgstr ""
3448 "    xbytes = size;\n"
3449 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3450 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3451 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3452 "       xbytes = 0;\n"
3453
3454 #. type: Plain text
3455 #: build/C/man3/fopencookie.3:330
3456 #, no-wrap
3457 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3458 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3459
3460 #. type: Plain text
3461 #: build/C/man3/fopencookie.3:334
3462 #, no-wrap
3463 msgid ""
3464 "    cookie-E<gt>offset += xbytes;\n"
3465 "    return xbytes;\n"
3466 "}\n"
3467 msgstr ""
3468 "    cookie-E<gt>offset += xbytes;\n"
3469 "    return xbytes;\n"
3470 "}\n"
3471
3472 #. type: Plain text
3473 #: build/C/man3/fopencookie.3:340
3474 #, no-wrap
3475 msgid ""
3476 "int\n"
3477 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3478 "{\n"
3479 "    off64_t new_offset;\n"
3480 "    struct memfile_cookie *cookie = c;\n"
3481 msgstr ""
3482 "int\n"
3483 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3484 "{\n"
3485 "    off64_t new_offset;\n"
3486 "    struct memfile_cookie *cookie = c;\n"
3487
3488 #. type: Plain text
3489 #: build/C/man3/fopencookie.3:349
3490 #, no-wrap
3491 msgid ""
3492 "    if (whence == SEEK_SET)\n"
3493 "        new_offset = *offset;\n"
3494 "    else if (whence == SEEK_END)\n"
3495 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3496 "    else if (whence == SEEK_CUR)\n"
3497 "        new_offset = cookie-E<gt>offset + *offset;\n"
3498 "    else\n"
3499 "        return -1;\n"
3500 msgstr ""
3501 "    if (whence == SEEK_SET)\n"
3502 "        new_offset = *offset;\n"
3503 "    else if (whence == SEEK_END)\n"
3504 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3505 "    else if (whence == SEEK_CUR)\n"
3506 "        new_offset = cookie-E<gt>offset + *offset;\n"
3507 "    else\n"
3508 "        return -1;\n"
3509
3510 #. type: Plain text
3511 #: build/C/man3/fopencookie.3:352
3512 #, no-wrap
3513 msgid ""
3514 "    if (new_offset E<lt> 0)\n"
3515 "        return -1;\n"
3516 msgstr ""
3517 "    if (new_offset E<lt> 0)\n"
3518 "        return -1;\n"
3519
3520 #. type: Plain text
3521 #: build/C/man3/fopencookie.3:357
3522 #, no-wrap
3523 msgid ""
3524 "    cookie-E<gt>offset = new_offset;\n"
3525 "    *offset = new_offset;\n"
3526 "    return 0;\n"
3527 "}\n"
3528 msgstr ""
3529 "    cookie-E<gt>offset = new_offset;\n"
3530 "    *offset = new_offset;\n"
3531 "    return 0;\n"
3532 "}\n"
3533
3534 #. type: Plain text
3535 #: build/C/man3/fopencookie.3:362
3536 #, no-wrap
3537 msgid ""
3538 "int\n"
3539 "memfile_close(void *c)\n"
3540 "{\n"
3541 "    struct memfile_cookie *cookie = c;\n"
3542 msgstr ""
3543 "int\n"
3544 "memfile_close(void *c)\n"
3545 "{\n"
3546 "    struct memfile_cookie *cookie = c;\n"
3547
3548 #. type: Plain text
3549 #: build/C/man3/fopencookie.3:366
3550 #, no-wrap
3551 msgid ""
3552 "    free(cookie-E<gt>buf);\n"
3553 "    cookie-E<gt>allocated = 0;\n"
3554 "    cookie-E<gt>buf = NULL;\n"
3555 msgstr ""
3556 "    free(cookie-E<gt>buf);\n"
3557 "    cookie-E<gt>allocated = 0;\n"
3558 "    cookie-E<gt>buf = NULL;\n"
3559
3560 #. type: Plain text
3561 #: build/C/man3/fopencookie.3:369
3562 #, no-wrap
3563 msgid ""
3564 "    return 0;\n"
3565 "}\n"
3566 msgstr ""
3567 "    return 0;\n"
3568 "}\n"
3569
3570 #. type: Plain text
3571 #: build/C/man3/fopencookie.3:385
3572 #, no-wrap
3573 msgid ""
3574 "int\n"
3575 "main(int argc, char *argv[])\n"
3576 "{\n"
3577 "    cookie_io_functions_t  memfile_func = {\n"
3578 "        .read  = memfile_read,\n"
3579 "        .write = memfile_write,\n"
3580 "        .seek  = memfile_seek,\n"
3581 "        .close = memfile_close\n"
3582 "    };\n"
3583 "    FILE *fp;\n"
3584 "    struct memfile_cookie mycookie;\n"
3585 "    ssize_t nread;\n"
3586 "    long p;\n"
3587 "    int j;\n"
3588 "    char buf[1000];\n"
3589 msgstr ""
3590 "int\n"
3591 "main(int argc, char *argv[])\n"
3592 "{\n"
3593 "    cookie_io_functions_t  memfile_func = {\n"
3594 "        .read  = memfile_read,\n"
3595 "        .write = memfile_write,\n"
3596 "        .seek  = memfile_seek,\n"
3597 "        .close = memfile_close\n"
3598 "    };\n"
3599 "    FILE *fp;\n"
3600 "    struct memfile_cookie mycookie;\n"
3601 "    ssize_t nread;\n"
3602 "    long p;\n"
3603 "    int j;\n"
3604 "    char buf[1000];\n"
3605
3606 #. type: Plain text
3607 #: build/C/man3/fopencookie.3:387
3608 #, no-wrap
3609 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3610 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3611
3612 #. type: Plain text
3613 #: build/C/man3/fopencookie.3:393
3614 #, no-wrap
3615 msgid ""
3616 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3617 "    if (mycookie.buf == NULL) {\n"
3618 "        perror(\"malloc\");\n"
3619 "        exit(EXIT_FAILURE);\n"
3620 "    }\n"
3621 msgstr ""
3622 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3623 "    if (mycookie.buf == NULL) {\n"
3624 "        perror(\"malloc\");\n"
3625 "        exit(EXIT_FAILURE);\n"
3626 "    }\n"
3627
3628 #. type: Plain text
3629 #: build/C/man3/fopencookie.3:397
3630 #, no-wrap
3631 msgid ""
3632 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3633 "    mycookie.offset = 0;\n"
3634 "    mycookie.endpos = 0;\n"
3635 msgstr ""
3636 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3637 "    mycookie.offset = 0;\n"
3638 "    mycookie.endpos = 0;\n"
3639
3640 #. type: Plain text
3641 #: build/C/man3/fopencookie.3:403
3642 #, no-wrap
3643 msgid ""
3644 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3645 "    if (fp == NULL) {\n"
3646 "        perror(\"fopencookie\");\n"
3647 "        exit(EXIT_FAILURE);\n"
3648 "    }\n"
3649 msgstr ""
3650 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3651 "    if (fp == NULL) {\n"
3652 "        perror(\"fopencookie\");\n"
3653 "        exit(EXIT_FAILURE);\n"
3654 "    }\n"
3655
3656 #. type: Plain text
3657 #: build/C/man3/fopencookie.3:405
3658 #, no-wrap
3659 msgid "    /* Write command-line arguments to our file */\n"
3660 msgstr "    /* Write command-line arguments to our file */\n"
3661
3662 #. type: Plain text
3663 #: build/C/man3/fopencookie.3:411
3664 #, no-wrap
3665 msgid ""
3666 "    for (j = 1; j E<lt> argc; j++)\n"
3667 "        if (fputs(argv[j], fp) == EOF) {\n"
3668 "            perror(\"fputs\");\n"
3669 "            exit(EXIT_FAILURE);\n"
3670 "        }\n"
3671 msgstr ""
3672 "    for (j = 1; j E<lt> argc; j++)\n"
3673 "        if (fputs(argv[j], fp) == EOF) {\n"
3674 "            perror(\"fputs\");\n"
3675 "            exit(EXIT_FAILURE);\n"
3676 "        }\n"
3677
3678 #. type: Plain text
3679 #: build/C/man3/fopencookie.3:413
3680 #, no-wrap
3681 msgid "    /* Read two bytes out of every five, until EOF */\n"
3682 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3683
3684 #. type: Plain text
3685 #: build/C/man3/fopencookie.3:428
3686 #, no-wrap
3687 msgid ""
3688 "    for (p = 0; ; p += 5) {\n"
3689 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3690 "            perror(\"fseek\");\n"
3691 "            exit(EXIT_FAILURE);\n"
3692 "        }\n"
3693 "        nread = fread(buf, 1, 2, fp);\n"
3694 "        if (nread == -1) {\n"
3695 "            perror(\"fread\");\n"
3696 "            exit(EXIT_FAILURE);\n"
3697 "        }\n"
3698 "        if (nread == 0) {\n"
3699 "            printf(\"Reached end of file\\en\");\n"
3700 "            break;\n"
3701 "        }\n"
3702 msgstr ""
3703 "    for (p = 0; ; p += 5) {\n"
3704 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3705 "            perror(\"fseek\");\n"
3706 "            exit(EXIT_FAILURE);\n"
3707 "        }\n"
3708 "        nread = fread(buf, 1, 2, fp);\n"
3709 "        if (nread == -1) {\n"
3710 "            perror(\"fread\");\n"
3711 "            exit(EXIT_FAILURE);\n"
3712 "        }\n"
3713 "        if (nread == 0) {\n"
3714 "            printf(\"Reached end of file\\en\");\n"
3715 "            break;\n"
3716 "        }\n"
3717
3718 #. type: Plain text
3719 #: build/C/man3/fopencookie.3:431
3720 #, no-wrap
3721 msgid ""
3722 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3723 "    }\n"
3724 msgstr ""
3725 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3726 "    }\n"
3727
3728 #. type: Plain text
3729 #: build/C/man3/fopencookie.3:434 build/C/man2/readlink.2:211
3730 #, no-wrap
3731 msgid ""
3732 "    exit(EXIT_SUCCESS);\n"
3733 "}\n"
3734 msgstr ""
3735 "    exit(EXIT_SUCCESS);\n"
3736 "}\n"
3737
3738 #. type: Plain text
3739 #: build/C/man3/fopencookie.3:440
3740 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3741 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3742
3743 #. type: TH
3744 #: build/C/man3/fpurge.3:23
3745 #, no-wrap
3746 msgid "FPURGE"
3747 msgstr "FPURGE"
3748
3749 #. type: TH
3750 #: build/C/man3/fpurge.3:23
3751 #, no-wrap
3752 msgid "2001-12-15"
3753 msgstr "2001-12-15"
3754
3755 #. type: Plain text
3756 #: build/C/man3/fpurge.3:26
3757 msgid "fpurge, __fpurge - purge a stream"
3758 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3759
3760 #. type: Plain text
3761 #: build/C/man3/fpurge.3:30
3762 #, no-wrap
3763 msgid ""
3764 "/* unsupported */\n"
3765 "B<#include E<lt>stdio.hE<gt>>\n"
3766 msgstr ""
3767 "/* unsupported */\n"
3768 "B<#include E<lt>stdio.hE<gt>>\n"
3769
3770 #. type: Plain text
3771 #: build/C/man3/fpurge.3:32
3772 #, no-wrap
3773 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3774 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3775
3776 #. type: Plain text
3777 #: build/C/man3/fpurge.3:35
3778 #, no-wrap
3779 msgid ""
3780 "/* supported */\n"
3781 "B<#include E<lt>stdio.hE<gt>>\n"
3782 msgstr ""
3783 "/* supported */\n"
3784 "B<#include E<lt>stdio.hE<gt>>\n"
3785
3786 #. type: Plain text
3787 #: build/C/man3/fpurge.3:37
3788 #, no-wrap
3789 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3790 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3791
3792 #. type: Plain text
3793 #: build/C/man3/fpurge.3:39
3794 #, no-wrap
3795 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3796 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3797
3798 #. type: Plain text
3799 #: build/C/man3/fpurge.3:52
3800 msgid ""
3801 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3802 "output streams this discards any unwritten output.  For input streams this "
3803 "discards any input read from the underlying object but not yet obtained via "
3804 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3805 "B<fflush>(3)."
3806 msgstr ""
3807 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3808 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3809 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3810 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3811 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3812
3813 #. type: Plain text
3814 #: build/C/man3/fpurge.3:56
3815 msgid ""
3816 "The function B<__fpurge>()  does precisely the same, but without returning a "
3817 "value."
3818 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3819
3820 #. type: Plain text
3821 #: build/C/man3/fpurge.3:63
3822 msgid ""
3823 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3824 "and sets I<errno> appropriately."
3825 msgstr ""
3826 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3827 "を適切な値に設定する。"
3828
3829 #. type: Plain text
3830 #: build/C/man3/fpurge.3:68
3831 msgid "I<stream> is not an open stream."
3832 msgstr "I<stream> がオープンされていない。"
3833
3834 #. type: Plain text
3835 #: build/C/man3/fpurge.3:76
3836 msgid ""
3837 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3838 "was introduced in 4.4BSD and is not available under Linux.  The function "
3839 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3840 "later."
3841 msgstr ""
3842 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3843 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3844 "され、glibc 2.1.95 以降には存在している。"
3845
3846 #. type: Plain text
3847 #: build/C/man3/fpurge.3:78
3848 msgid "Usually it is a mistake to want to discard input buffers."
3849 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3850
3851 #.  .BR fclean (3),
3852 #. type: Plain text
3853 #: build/C/man3/fpurge.3:83
3854 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3855 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3856
3857 #. type: TH
3858 #: build/C/man3/fputwc.3:14
3859 #, no-wrap
3860 msgid "FPUTWC"
3861 msgstr "FPUTWC"
3862
3863 #. type: Plain text
3864 #: build/C/man3/fputwc.3:17
3865 msgid "fputwc, putwc - write a wide character to a FILE stream"
3866 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3867
3868 #. type: Plain text
3869 #: build/C/man3/fputwc.3:25
3870 #, no-wrap
3871 msgid ""
3872 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3873 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3874 msgstr ""
3875 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3876 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3877
3878 #. type: Plain text
3879 #: build/C/man3/fputwc.3:41
3880 msgid ""
3881 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3882 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3883 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3884 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3885 "it returns I<wc>."
3886 msgstr ""
3887 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3888 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3889 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3890 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3891 "関数は I<wc> を返す。"
3892
3893 #. type: Plain text
3894 #: build/C/man3/fputwc.3:49
3895 msgid ""
3896 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3897 "may be implemented as a macro, and may evaluate its argument more than "
3898 "once.  There is no reason ever to use it."
3899 msgstr ""
3900 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3901 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3902 "ない。この関数を使う理由はもはや存在しない。"
3903
3904 #. type: Plain text
3905 #: build/C/man3/fputwc.3:58
3906 msgid ""
3907 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3908 "indicate an error."
3909 msgstr ""
3910 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3911 "B<WEOF> を返す。"
3912
3913 #. type: Plain text
3914 #: build/C/man3/fputwc.3:63
3915 msgid "Conversion of I<wc> to the stream's encoding fails."
3916 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3917
3918 #. type: Plain text
3919 #: build/C/man3/fputwc.3:72
3920 msgid ""
3921 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3922 "current locale."
3923 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3924
3925 #. type: Plain text
3926 #: build/C/man3/fputwc.3:80
3927 msgid ""
3928 "In the absence of additional information passed to the B<fopen>(3)  call, it "
3929 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
3930 "sequence corresponding to the wide character I<wc>."
3931 msgstr ""
3932 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
3933 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
3934 "よい。"
3935
3936 #. type: Plain text
3937 #: build/C/man3/fputwc.3:84
3938 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3939 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3940
3941 #. type: TH
3942 #: build/C/man3/fread.3:43
3943 #, no-wrap
3944 msgid "FREAD"
3945 msgstr "FREAD"
3946
3947 #. type: TH
3948 #: build/C/man3/fread.3:43
3949 #, no-wrap
3950 msgid "2012-03-30"
3951 msgstr "2012-03-30"
3952
3953 #. type: Plain text
3954 #: build/C/man3/fread.3:46
3955 msgid "fread, fwrite - binary stream input/output"
3956 msgstr "fread, fwrite - バイナリストリームの入出力"
3957
3958 #. type: Plain text
3959 #: build/C/man3/fread.3:52
3960 #, no-wrap
3961 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3962 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3963
3964 #. type: Plain text
3965 #: build/C/man3/fread.3:55
3966 #, no-wrap
3967 msgid ""
3968 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3969 "B<              FILE *>I<stream>B<);>\n"
3970 msgstr ""
3971 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3972 "B<              FILE *>I<stream>B<);>\n"
3973
3974 #. type: Plain text
3975 #: build/C/man3/fread.3:67
3976 msgid ""
3977 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
3978 "long, from the stream pointed to by I<stream>, storing them at the location "
3979 "given by I<ptr>."
3980 msgstr ""
3981 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
3982 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
3983 "I<size> バイトの長さを持つ。"
3984
3985 #. type: Plain text
3986 #: build/C/man3/fread.3:78
3987 msgid ""
3988 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
3989 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
3990 "location given by I<ptr>."
3991 msgstr ""
3992 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
3993 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
3994 "バイトの長さを持つ。"
3995
3996 #. type: Plain text
3997 #: build/C/man3/fread.3:94
3998 msgid ""
3999 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
4000 "or written.  This number equals the number of bytes transferred only when "
4001 "I<size> is 1.  If an error occurs, or the end of the file is reached, the "
4002 "return value is a short item count (or zero)."
4003 msgstr ""
4004 "成功すると、 B<fread>() と B<fwrite>() は読み書きを行った要素の個数を返す。\n"
4005 "I<size> が 1 の場合は、この数字は転送されたバイト数と等しい。\n"
4006 "エラーが生じた場合や、ファイルの末尾 (end-of-file) に達した場合、\n"
4007 "返り値は指定した個数よりも小さい値 (または 0) となる。"
4008
4009 #. type: Plain text
4010 #: build/C/man3/fread.3:101
4011 msgid ""
4012 "B<fread>()  does not distinguish between end-of-file and error, and callers "
4013 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
4014 msgstr ""
4015 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
4016 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
4017 "らない。"
4018
4019 #. type: Plain text
4020 #: build/C/man3/fread.3:103
4021 msgid "C89, POSIX.1-2001."
4022 msgstr "C89, POSIX.1-2001."
4023
4024 #. type: Plain text
4025 #: build/C/man3/fread.3:109
4026 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4027 msgstr ""
4028 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
4029
4030 #. type: TH
4031 #: build/C/man3/fseek.3:40
4032 #, no-wrap
4033 msgid "FSEEK"
4034 msgstr "FSEEK"
4035
4036 #. type: TH
4037 #: build/C/man3/fseek.3:40
4038 #, no-wrap
4039 msgid "1993-11-29"
4040 msgstr "1993-11-29"
4041
4042 #. type: Plain text
4043 #: build/C/man3/fseek.3:43
4044 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
4045 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
4046
4047 #. type: Plain text
4048 #: build/C/man3/fseek.3:47
4049 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4050 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
4051
4052 #. type: Plain text
4053 #: build/C/man3/fseek.3:49
4054 msgid "B<long ftell(FILE *>I<stream>B<);>"
4055 msgstr "B<long ftell(FILE *>I<stream>B<);>"
4056
4057 #. type: Plain text
4058 #: build/C/man3/fseek.3:51
4059 msgid "B<void rewind(FILE *>I<stream>B<);>"
4060 msgstr "B<void rewind(FILE *>I<stream>B<);>"
4061
4062 #. type: Plain text
4063 #: build/C/man3/fseek.3:53
4064 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4065 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4066
4067 #. type: Plain text
4068 #: build/C/man3/fseek.3:55
4069 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4070 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
4071
4072 #. type: Plain text
4073 #: build/C/man3/fseek.3:79
4074 msgid ""
4075 "The B<fseek>()  function sets the file position indicator for the stream "
4076 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
4077 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4078 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4079 "relative to the start of the file, the current position indicator, or end-of-"
4080 "file, respectively.  A successful call to the B<fseek>()  function clears "
4081 "the end-of-file indicator for the stream and undoes any effects of the "
4082 "B<ungetc>(3)  function on the same stream."
4083 msgstr ""
4084 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4085 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4086 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4087 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4088 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4089 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4090 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4091 "かったことになる。"
4092
4093 #. type: Plain text
4094 #: build/C/man3/fseek.3:85
4095 msgid ""
4096 "The B<ftell>()  function obtains the current value of the file position "
4097 "indicator for the stream pointed to by I<stream>."
4098 msgstr ""
4099 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4100 "置表示子 の現時点での値を与える。"
4101
4102 #. type: Plain text
4103 #: build/C/man3/fseek.3:92
4104 msgid ""
4105 "The B<rewind>()  function sets the file position indicator for the stream "
4106 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4107 msgstr ""
4108 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4109 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4110
4111 #. type: Plain text
4112 #: build/C/man3/fseek.3:95
4113 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4114 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4115
4116 #. type: Plain text
4117 #: build/C/man3/fseek.3:99
4118 msgid ""
4119 "except that the error indicator for the stream is also cleared (see "
4120 "B<clearerr>(3))."
4121 msgstr ""
4122 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4123 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4124
4125 #. type: Plain text
4126 #: build/C/man3/fseek.3:117
4127 msgid ""
4128 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4129 "equivalent to B<ftell>()  and B<fseek>()  (with whence set to B<SEEK_SET>), "
4130 "setting and storing the current value of the file offset into or from the "
4131 "object referenced by I<pos>.  On some non-UNIX systems an I<fpos_t> object "
4132 "may be a complex object and these routines may be the only way to portably "
4133 "reposition a text stream."
4134 msgstr ""
4135 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4136 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4137 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4138 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4139 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4140 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4141 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4142
4143 #. type: Plain text
4144 #: build/C/man3/fseek.3:132
4145 msgid ""
4146 "The B<rewind>()  function returns no value.  Upon successful completion, "
4147 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4148 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4149 "indicate the error."
4150 msgstr ""
4151 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4152 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4153 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4154
4155 #. type: Plain text
4156 #: build/C/man3/fseek.3:138
4157 msgid "The I<stream> specified is not a seekable stream."
4158 msgstr "指定した I<stream> がシークできない。"
4159
4160 #. type: Plain text
4161 #: build/C/man3/fseek.3:149
4162 msgid ""
4163 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4164 "B<SEEK_CUR>."
4165 msgstr ""
4166 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4167 "B<SEEK_CUR> 以外の値であった。"
4168
4169 #. type: Plain text
4170 #: build/C/man3/fseek.3:164
4171 msgid ""
4172 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4173 "also fail and set I<errno> for any of the errors specified for the routines "
4174 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4175 msgstr ""
4176 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4177 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4178 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4179
4180 #. type: Plain text
4181 #: build/C/man3/fseek.3:169
4182 msgid "B<lseek>(2), B<fseeko>(3)"
4183 msgstr "B<lseek>(2), B<fseeko>(3)"
4184
4185 #. type: TH
4186 #: build/C/man3/fseeko.3:23
4187 #, no-wrap
4188 msgid "FSEEKO"
4189 msgstr "FSEEKO"
4190
4191 #. type: TH
4192 #: build/C/man3/fseeko.3:23
4193 #, no-wrap
4194 msgid "2001-11-05"
4195 msgstr "2001-11-05"
4196
4197 #. type: Plain text
4198 #: build/C/man3/fseeko.3:26
4199 msgid "fseeko, ftello - seek to or report file position"
4200 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4201
4202 #. type: Plain text
4203 #: build/C/man3/fseeko.3:31
4204 #, no-wrap
4205 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4206 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4207
4208 #. type: Plain text
4209 #: build/C/man3/fseeko.3:34
4210 #, no-wrap
4211 msgid ""
4212 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4213 "\n"
4214 msgstr ""
4215 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4216 "\n"
4217
4218 #. type: Plain text
4219 #: build/C/man3/fseeko.3:52
4220 msgid ""
4221 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4222 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4223 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4224 "I<off_t> instead of I<long>."
4225 msgstr ""
4226 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4227 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4228 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4229 "I<off_t> になっている。"
4230
4231 #. type: Plain text
4232 #: build/C/man3/fseeko.3:55
4233 msgid ""
4234 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4235 "compilation with"
4236 msgstr ""
4237 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4238
4239 #. type: Plain text
4240 #: build/C/man3/fseeko.3:59 build/C/man3/lseek64.3:79
4241 #, no-wrap
4242 msgid "#define _FILE_OFFSET_BITS 64\n"
4243 msgstr "#define _FILE_OFFSET_BITS 64\n"
4244
4245 #. type: Plain text
4246 #: build/C/man3/fseeko.3:63
4247 msgid "will turn I<off_t> into a 64-bit type."
4248 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4249
4250 #. type: Plain text
4251 #: build/C/man3/fseeko.3:72
4252 msgid ""
4253 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4254 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4255 "indicate the error."
4256 msgstr ""
4257 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4258 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4259
4260 #. type: Plain text
4261 #: build/C/man3/fseeko.3:75
4262 msgid "See the ERRORS in B<fseek>(3)."
4263 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4264
4265 #. type: Plain text
4266 #: build/C/man3/fseeko.3:77
4267 msgid "SUSv2, POSIX.1-2001."
4268 msgstr "SUSv2, POSIX.1-2001."
4269
4270 #. type: Plain text
4271 #: build/C/man3/fseeko.3:81
4272 msgid ""
4273 "These functions are found on System V-like systems.  They are not present in "
4274 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4275 msgstr ""
4276 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4277 "かったが、 glibc 2.1 から使えるようになった。"
4278
4279 #. type: Plain text
4280 #: build/C/man3/fseeko.3:83
4281 msgid "B<fseek>(3)"
4282 msgstr "B<fseek>(3)"
4283
4284 #. type: TH
4285 #: build/C/man3/getline.3:24
4286 #, no-wrap
4287 msgid "GETLINE"
4288 msgstr "GETLINE"
4289
4290 #. type: TH
4291 #: build/C/man3/getline.3:24
4292 #, no-wrap
4293 msgid "2010-06-12"
4294 msgstr "2010-06-12"
4295
4296 #. type: Plain text
4297 #: build/C/man3/getline.3:27
4298 msgid "getline, getdelim - delimited string input"
4299 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4300
4301 #. type: Plain text
4302 #: build/C/man3/getline.3:32
4303 #, no-wrap
4304 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4305 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4306
4307 #. type: Plain text
4308 #: build/C/man3/getline.3:35
4309 #, no-wrap
4310 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4311 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4312
4313 #. type: Plain text
4314 #: build/C/man3/getline.3:45
4315 msgid "B<getline>(), B<getdelim>():"
4316 msgstr "B<getline>(), B<getdelim>():"
4317
4318 #. type: Plain text
4319 #: build/C/man3/getline.3:50
4320 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4321 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4322
4323 #. type: Plain text
4324 #: build/C/man3/getline.3:63
4325 msgid ""
4326 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4327 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4328 "terminated and includes the newline character, if one was found."
4329 msgstr ""
4330 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4331 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4332 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4333
4334 #. type: Plain text
4335 #: build/C/man3/getline.3:73
4336 msgid ""
4337 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4338 "storing the line, which should be freed by the user program.  (In this case, "
4339 "the value in I<*n> is ignored.)"
4340 msgstr ""
4341 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4342 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4343 "合、 I<*n> の値は無視される)。"
4344
4345 #. type: Plain text
4346 #: build/C/man3/getline.3:91
4347 msgid ""
4348 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4349 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4350 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4351 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4352 msgstr ""
4353 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4354 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4355 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4356 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4357 "I<*n> を更新する。"
4358
4359 #. type: Plain text
4360 #: build/C/man3/getline.3:97
4361 msgid ""
4362 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4363 "to reflect the buffer address and allocated size respectively."
4364 msgstr ""
4365 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4366 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4367
4368 #. type: Plain text
4369 #: build/C/man3/getline.3:108
4370 msgid ""
4371 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4372 "than newline can be specified as the I<delimiter> argument.  As with "
4373 "B<getline>(), a delimiter character is not added if one was not present in "
4374 "the input before end of file was reached."
4375 msgstr ""
4376 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4377 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4378 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4379 "ファに追加しない。"
4380
4381 #. type: Plain text
4382 #: build/C/man3/getline.3:117
4383 msgid ""
4384 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4385 "read, including the delimiter character, but not including the terminating "
4386 "null byte.  This value can be used to handle embedded null bytes in the line "
4387 "read."
4388 msgstr ""
4389 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4390 "字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
4391 "よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
4392
4393 #. type: Plain text
4394 #: build/C/man3/getline.3:120
4395 msgid ""
4396 "Both functions return -1 on failure to read a line (including end-of-file "
4397 "condition)."
4398 msgstr ""
4399 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4400 "した場合にも -1 を返す)。"
4401
4402 #. type: Plain text
4403 #: build/C/man3/getline.3:130
4404 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4405 msgstr ""
4406 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4407 "I<stream> が有効でない)。"
4408
4409 #. type: Plain text
4410 #: build/C/man3/getline.3:132
4411 msgid "These functions are available since libc 4.6.27."
4412 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4413
4414 #. type: Plain text
4415 #: build/C/man3/getline.3:139
4416 msgid ""
4417 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4418 "were standardized in POSIX.1-2008."
4419 msgstr ""
4420 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4421 "POSIX.1-2008 で標準化された。"
4422
4423 #. type: Plain text
4424 #: build/C/man3/getline.3:144
4425 #, no-wrap
4426 msgid ""
4427 "#define _GNU_SOURCE\n"
4428 "#include E<lt>stdio.hE<gt>\n"
4429 "#include E<lt>stdlib.hE<gt>\n"
4430 msgstr ""
4431 "#define _GNU_SOURCE\n"
4432 "#include E<lt>stdio.hE<gt>\n"
4433 "#include E<lt>stdlib.hE<gt>\n"
4434
4435 #. type: Plain text
4436 #: build/C/man3/getline.3:152
4437 #, no-wrap
4438 msgid ""
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 msgstr ""
4447 "int\n"
4448 "main(void)\n"
4449 "{\n"
4450 "    FILE *fp;\n"
4451 "    char *line = NULL;\n"
4452 "    size_t len = 0;\n"
4453 "    ssize_t read;\n"
4454
4455 #. type: Plain text
4456 #: build/C/man3/getline.3:156
4457 #, no-wrap
4458 msgid ""
4459 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4460 "    if (fp == NULL)\n"
4461 "        exit(EXIT_FAILURE);\n"
4462 msgstr ""
4463 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4464 "    if (fp == NULL)\n"
4465 "        exit(EXIT_FAILURE);\n"
4466
4467 #. type: Plain text
4468 #: build/C/man3/getline.3:161
4469 #, no-wrap
4470 msgid ""
4471 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4472 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4473 "        printf(\"%s\", line);\n"
4474 "    }\n"
4475 msgstr ""
4476 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4477 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4478 "        printf(\"%s\", line);\n"
4479 "    }\n"
4480
4481 #. type: Plain text
4482 #: build/C/man3/getline.3:165
4483 #, no-wrap
4484 msgid ""
4485 "    free(line);\n"
4486 "    exit(EXIT_SUCCESS);\n"
4487 "}\n"
4488 msgstr ""
4489 "    free(line);\n"
4490 "    exit(EXIT_SUCCESS);\n"
4491 "}\n"
4492
4493 #. type: Plain text
4494 #: build/C/man3/getline.3:173
4495 msgid ""
4496 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4497 msgstr ""
4498 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4499
4500 #. type: TH
4501 #: build/C/man3/gets.3:25
4502 #, no-wrap
4503 msgid "GETS"
4504 msgstr "GETS"
4505
4506 #. type: TH
4507 #: build/C/man3/gets.3:25
4508 #, no-wrap
4509 msgid "2012-01-18"
4510 msgstr "2012-01-18"
4511
4512 #. type: Plain text
4513 #: build/C/man3/gets.3:28
4514 msgid ""
4515 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4516 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4517
4518 #. type: Plain text
4519 #: build/C/man3/gets.3:33
4520 #, no-wrap
4521 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4522 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4523
4524 #. type: Plain text
4525 #: build/C/man3/gets.3:35
4526 #, no-wrap
4527 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4528 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4529
4530 #. type: Plain text
4531 #: build/C/man3/gets.3:37
4532 #, no-wrap
4533 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4534 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4535
4536 #. type: Plain text
4537 #: build/C/man3/gets.3:39
4538 #, no-wrap
4539 msgid "B<int getchar(void);>\n"
4540 msgstr "B<int getchar(void);>\n"
4541
4542 #. type: Plain text
4543 #: build/C/man3/gets.3:41
4544 #, no-wrap
4545 msgid "B<char *gets(char *>I<s>B<);>\n"
4546 msgstr "B<char *gets(char *>I<s>B<);>\n"
4547
4548 #. type: Plain text
4549 #: build/C/man3/gets.3:43
4550 #, no-wrap
4551 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4552 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4553
4554 #. type: Plain text
4555 #: build/C/man3/gets.3:55
4556 msgid ""
4557 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4558 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4559 msgstr ""
4560 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4561 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4562 "す。"
4563
4564 #. type: Plain text
4565 #: build/C/man3/gets.3:62
4566 msgid ""
4567 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4568 "a macro which evaluates I<stream> more than once."
4569 msgstr ""
4570 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4571 "実装されているかもしれない。"
4572
4573 #. type: Plain text
4574 #: build/C/man3/gets.3:66
4575 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4576 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4577
4578 #. type: Plain text
4579 #: build/C/man3/gets.3:76
4580 msgid ""
4581 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4582 "until either a terminating newline or B<EOF>, which it replaces with a null "
4583 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4584 "below)."
4585 msgstr ""
4586 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4587 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4588 "\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
4589 "記の「バグ」を参照)。"
4590
4591 #. type: Plain text
4592 #: build/C/man3/gets.3:90
4593 msgid ""
4594 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4595 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4596 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4597 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4598 "in the buffer."
4599 msgstr ""
4600 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4601 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4602 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4603 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4604
4605 #. type: Plain text
4606 #: build/C/man3/gets.3:101
4607 msgid ""
4608 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4609 "it is available for subsequent read operations.  Pushed-back characters will "
4610 "be returned in reverse order; only one pushback is guaranteed."
4611 msgstr ""
4612 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4613 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4614 "しとして保証されているのは、一文字だけである。"
4615
4616 #. type: Plain text
4617 #: build/C/man3/gets.3:106
4618 msgid ""
4619 "Calls to the functions described here can be mixed with each other and with "
4620 "calls to other input functions from the I<stdio> library for the same input "
4621 "stream."
4622 msgstr ""
4623 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4624 "互いに混ぜて使うことができる。"
4625
4626 #. type: Plain text
4627 #: build/C/man3/gets.3:121
4628 msgid ""
4629 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4630 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4631 msgstr ""
4632 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4633 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4634 "す。"
4635
4636 #. type: Plain text
4637 #: build/C/man3/gets.3:129
4638 msgid ""
4639 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4640 "end of file occurs while no characters have been read."
4641 msgstr ""
4642 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4643 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4644
4645 #. type: Plain text
4646 #: build/C/man3/gets.3:136
4647 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4648 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4649
4650 #. type: Plain text
4651 #: build/C/man3/gets.3:138
4652 msgid "C89, C99, POSIX.1-2001."
4653 msgstr "C89, C99, POSIX.1-2001."
4654
4655 #. type: Plain text
4656 #: build/C/man3/gets.3:150
4657 msgid ""
4658 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4659 "C11 removes the specification of B<gets>()  from the C language, and since "
4660 "version 2.16, glibc header files don't expose the function declaration if "
4661 "the B<_ISOC11_SOURCE> feature test macro is defined."
4662 msgstr ""
4663 "LSB は B<gets>() を非推奨としている。\n"
4664 "POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
4665 "ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
4666 "glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
4667 "た\n"
4668 "場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
4669
4670 #. type: Plain text
4671 #: build/C/man3/gets.3:164
4672 msgid ""
4673 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4674 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4675 "()  will continue to store characters past the end of the buffer, it is "
4676 "extremely dangerous to use.  It has been used to break computer security.  "
4677 "Use B<fgets>()  instead."
4678 msgstr ""
4679 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4680 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4681 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4682 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4683 "と。"
4684
4685 #. type: Plain text
4686 #: build/C/man3/gets.3:171
4687 msgid ""
4688 "It is not advisable to mix calls to input functions from the I<stdio> "
4689 "library with low-level calls to B<read>(2)  for the file descriptor "
4690 "associated with the input stream; the results will be undefined and very "
4691 "probably not what you want."
4692 msgstr ""
4693 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4694 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4695 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4696
4697 #. type: Plain text
4698 #: build/C/man3/gets.3:187
4699 msgid ""
4700 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4701 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4702 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4703 msgstr ""
4704 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
4705 "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
4706 "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
4707 "B<feature_test_macros>(7)"
4708
4709 #. type: TH
4710 #: build/C/man3/getw.3:23
4711 #, no-wrap
4712 msgid "GETW"
4713 msgstr "GETW"
4714
4715 #. type: TH
4716 #: build/C/man3/getw.3:23
4717 #, no-wrap
4718 msgid "2010-09-26"
4719 msgstr "2010-09-26"
4720
4721 #. type: Plain text
4722 #: build/C/man3/getw.3:26
4723 msgid "getw, putw - input and output of words (ints)"
4724 msgstr "getw, putw - ワード(int)の入出力"
4725
4726 #. type: Plain text
4727 #: build/C/man3/getw.3:31
4728 #, no-wrap
4729 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4730 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4731
4732 #. type: Plain text
4733 #: build/C/man3/getw.3:33
4734 #, no-wrap
4735 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4736 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4737
4738 #. type: Plain text
4739 #: build/C/man3/getw.3:42
4740 msgid "B<getw>(), B<putw>():"
4741 msgstr "B<getw>(), B<putw>():"
4742
4743 #. type: TP
4744 #: build/C/man3/getw.3:45
4745 #, no-wrap
4746 msgid "Since glibc 2.3.3:"
4747 msgstr "glibc 2.3.3 以降:"
4748
4749 #. type: Plain text
4750 #: build/C/man3/getw.3:48
4751 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4752 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4753
4754 #. type: Plain text
4755 #: build/C/man3/getw.3:51
4756 #, no-wrap
4757 msgid ""
4758 "(_XOPEN_SOURCE &&\n"
4759 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4760 msgstr ""
4761 "(_XOPEN_SOURCE &&\n"
4762 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4763
4764 #. type: TP
4765 #: build/C/man3/getw.3:51
4766 #, no-wrap
4767 msgid "Before glibc 2.3.3:"
4768 msgstr "glibc 2.3.3 より前:"
4769
4770 #. type: Plain text
4771 #: build/C/man3/getw.3:54
4772 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4773 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4774
4775 #. type: Plain text
4776 #: build/C/man3/getw.3:64
4777 msgid ""
4778 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4779 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4780 msgstr ""
4781 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4782 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4783 "ことを勧める。"
4784
4785 #. type: Plain text
4786 #: build/C/man3/getw.3:71
4787 msgid ""
4788 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4789 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4790 "instead."
4791 msgstr ""
4792 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4793 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4794 "使用することを勧める。"
4795
4796 #. type: Plain text
4797 #: build/C/man3/getw.3:78
4798 msgid ""
4799 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4800 "error, they return B<EOF>."
4801 msgstr ""
4802 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4803 "が発生した場合、これらの関数は B<EOF> を返す。"
4804
4805 #. type: Plain text
4806 #: build/C/man3/getw.3:80
4807 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4808 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4809
4810 #. type: Plain text
4811 #: build/C/man3/getw.3:84
4812 msgid ""
4813 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4814 "can be used to distinguish between the two cases."
4815 msgstr ""
4816 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4817 "(3)  を用いると、この二つの場合を区別することが出来る。"
4818
4819 #. type: Plain text
4820 #: build/C/man3/getw.3:90
4821 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4822 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4823
4824 #. type: TH
4825 #: build/C/man2/link.2:31
4826 #, no-wrap
4827 msgid "LINK"
4828 msgstr "LINK"
4829
4830 #. type: TH
4831 #: build/C/man2/link.2:31
4832 #, no-wrap
4833 msgid "2008-08-21"
4834 msgstr "2008-08-21"
4835
4836 #. type: Plain text
4837 #: build/C/man2/link.2:34
4838 msgid "link - make a new name for a file"
4839 msgstr "link - ファイルの新しい名前を作成する"
4840
4841 #. type: Plain text
4842 #: build/C/man2/link.2:36 build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
4843 #: build/C/man2/readlink.2:46 build/C/man2/rmdir.2:35
4844 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4845 msgid "B<#include E<lt>unistd.hE<gt>>"
4846 msgstr "B<#include E<lt>unistd.hE<gt>>"
4847
4848 #. type: Plain text
4849 #: build/C/man2/link.2:38
4850 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4851 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4852
4853 #. type: Plain text
4854 #: build/C/man2/link.2:41
4855 msgid ""
4856 "B<link>()  creates a new link (also known as a hard link) to an existing "
4857 "file."
4858 msgstr ""
4859 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハードリンク (hard "
4860 "link) ともいう) を作成する。"
4861
4862 #. type: Plain text
4863 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4864 msgid "If I<newpath> exists it will I<not> be overwritten."
4865 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4866
4867 #. type: Plain text
4868 #: build/C/man2/link.2:52
4869 msgid ""
4870 "This new name may be used exactly as the old one for any operation; both "
4871 "names refer to the same file (and so have the same permissions and "
4872 "ownership) and it is impossible to tell which name was the \"original\"."
4873 msgstr ""
4874 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4875 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4876 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4877
4878 #. type: Plain text
4879 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4880 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4881 #: build/C/man2/unlink.2:60
4882 msgid ""
4883 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4884 "appropriately."
4885 msgstr ""
4886 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4887 "定される。"
4888
4889 #. type: TP
4890 #: build/C/man2/link.2:58 build/C/man2/open.2:473 build/C/man2/readlink.2:84
4891 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4892 #: build/C/man3/tmpfile.3:53 build/C/man2/unlink.2:61
4893 #, no-wrap
4894 msgid "B<EACCES>"
4895 msgstr "B<EACCES>"
4896
4897 #. type: Plain text
4898 #: build/C/man2/link.2:69
4899 msgid ""
4900 "Write access to the directory containing I<newpath> is denied, or search "
4901 "permission is denied for one of the directories in the path prefix of "
4902 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4903 msgstr ""
4904 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4905 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4906 "(B<path_resolution>(7)  を参照)。"
4907
4908 #. type: TP
4909 #: build/C/man2/link.2:69 build/C/man2/open.2:482 build/C/man2/symlink.2:99
4910 #: build/C/man3/tmpfile.3:56
4911 #, no-wrap
4912 msgid "B<EEXIST>"
4913 msgstr "B<EEXIST>"
4914
4915 #. type: Plain text
4916 #: build/C/man2/link.2:73 build/C/man2/symlink.2:103
4917 msgid "I<newpath> already exists."
4918 msgstr "I<newpath> が既に存在する。"
4919
4920 #. type: TP
4921 #: build/C/man2/link.2:73 build/C/man2/llseek.2:69 build/C/man2/open.2:488
4922 #: build/C/man2/pipe.2:98 build/C/man2/read.2:100 build/C/man2/readlink.2:89
4923 #: build/C/man2/rename.2:133 build/C/man2/rmdir.2:64
4924 #: build/C/man2/symlink.2:103 build/C/man2/unlink.2:80
4925 #: build/C/man2/write.2:135
4926 #, no-wrap
4927 msgid "B<EFAULT>"
4928 msgstr "B<EFAULT>"
4929
4930 #. type: Plain text
4931 #: build/C/man2/link.2:76 build/C/man2/rename.2:136 build/C/man2/symlink.2:106
4932 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
4933 msgstr ""
4934 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
4935
4936 #. type: TP
4937 #: build/C/man2/link.2:76 build/C/man2/read.2:129 build/C/man2/readlink.2:105
4938 #: build/C/man2/symlink.2:106 build/C/man2/unlink.2:84
4939 #: build/C/man2/write.2:159
4940 #, no-wrap
4941 msgid "B<EIO>"
4942 msgstr "B<EIO>"
4943
4944 #. type: Plain text
4945 #: build/C/man2/link.2:79 build/C/man2/symlink.2:109 build/C/man2/unlink.2:87
4946 msgid "An I/O error occurred."
4947 msgstr "I/O エラーが発生した。"
4948
4949 #. type: TP
4950 #: build/C/man2/link.2:79 build/C/man2/open.2:512 build/C/man2/readlink.2:108
4951 #: build/C/man2/rename.2:146 build/C/man2/rmdir.2:73
4952 #: build/C/man2/symlink.2:109 build/C/man2/unlink.2:92
4953 #, no-wrap
4954 msgid "B<ELOOP>"
4955 msgstr "B<ELOOP>"
4956
4957 #. type: Plain text
4958 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4959 msgid ""
4960 "Too many symbolic links were encountered in resolving I<oldpath> or "
4961 "I<newpath>."
4962 msgstr ""
4963 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎ"
4964 "る。"
4965
4966 #. type: TP
4967 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4968 #, no-wrap
4969 msgid "B<EMLINK>"
4970 msgstr "B<EMLINK>"
4971
4972 #. type: Plain text
4973 #: build/C/man2/link.2:88
4974 msgid ""
4975 "The file referred to by I<oldpath> already has the maximum number of links "
4976 "to it."
4977 msgstr ""
4978 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
4979
4980 #. type: TP
4981 #: build/C/man2/link.2:88 build/C/man2/open.2:522 build/C/man2/readlink.2:111
4982 #: build/C/man2/rename.2:157 build/C/man2/rmdir.2:77
4983 #: build/C/man2/symlink.2:113 build/C/man2/unlink.2:96
4984 #, no-wrap
4985 msgid "B<ENAMETOOLONG>"
4986 msgstr "B<ENAMETOOLONG>"
4987
4988 #. type: Plain text
4989 #: build/C/man2/link.2:91 build/C/man2/rename.2:160 build/C/man2/symlink.2:116
4990 msgid "I<oldpath> or I<newpath> was too long."
4991 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
4992
4993 #. type: TP
4994 #: build/C/man2/link.2:91 build/C/man2/open.2:536 build/C/man2/readlink.2:114
4995 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:80
4996 #: build/C/man2/symlink.2:116 build/C/man2/unlink.2:99
4997 #, no-wrap
4998 msgid "B<ENOENT>"
4999 msgstr "B<ENOENT>"
5000
5001 #. type: Plain text
5002 #: build/C/man2/link.2:96
5003 msgid ""
5004 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
5005 "dangling symbolic link."
5006 msgstr ""
5007 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
5008 "(dangling)シンボリックリンクである。"
5009
5010 #. type: TP
5011 #: build/C/man2/link.2:96 build/C/man2/open.2:543 build/C/man2/readlink.2:117
5012 #: build/C/man2/rename.2:173 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:568
5013 #: build/C/man2/symlink.2:123 build/C/man3/tempnam.3:91
5014 #: build/C/man2/unlink.2:106
5015 #, no-wrap
5016 msgid "B<ENOMEM>"
5017 msgstr "B<ENOMEM>"
5018
5019 #. type: Plain text
5020 #: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/readlink.2:120
5021 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:88
5022 #: build/C/man2/symlink.2:126 build/C/man2/unlink.2:109
5023 msgid "Insufficient kernel memory was available."
5024 msgstr "十分なカーネルメモリーがない。"
5025
5026 #. type: TP
5027 #: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/rename.2:176
5028 #: build/C/man2/symlink.2:126 build/C/man3/tmpfile.3:68
5029 #: build/C/man2/write.2:162
5030 #, no-wrap
5031 msgid "B<ENOSPC>"
5032 msgstr "B<ENOSPC>"
5033
5034 #. type: Plain text
5035 #: build/C/man2/link.2:103 build/C/man2/rename.2:180
5036 #: build/C/man2/symlink.2:130
5037 msgid "The device containing the file has no room for the new directory entry."
5038 msgstr ""
5039 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
5040 "空きがない。"
5041
5042 #. type: TP
5043 #: build/C/man2/link.2:103 build/C/man2/open.2:552 build/C/man2/readlink.2:120
5044 #: build/C/man2/rename.2:180 build/C/man2/rmdir.2:88
5045 #: build/C/man2/symlink.2:130 build/C/man2/unlink.2:109
5046 #, no-wrap
5047 msgid "B<ENOTDIR>"
5048 msgstr "B<ENOTDIR>"
5049
5050 #. type: Plain text
5051 #: build/C/man2/link.2:108
5052 msgid ""
5053 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
5054 "a directory."
5055 msgstr ""
5056 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
5057 "い。"
5058
5059 #. type: TP
5060 #: build/C/man2/link.2:108 build/C/man2/link.2:112 build/C/man2/open.2:585
5061 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
5062 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:114
5063 #, no-wrap
5064 msgid "B<EPERM>"
5065 msgstr "B<EPERM>"
5066
5067 #. type: Plain text
5068 #: build/C/man2/link.2:112
5069 msgid "I<oldpath> is a directory."
5070 msgstr "I<oldpath> がディレクトリである。"
5071
5072 #. type: Plain text
5073 #: build/C/man2/link.2:117
5074 msgid ""
5075 "The file system containing I<oldpath> and I<newpath> does not support the "
5076 "creation of hard links."
5077 msgstr ""
5078 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
5079 "していない。"
5080
5081 #. type: TP
5082 #: build/C/man2/link.2:117 build/C/man2/open.2:593 build/C/man2/rename.2:218
5083 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:140
5084 #: build/C/man3/tmpfile.3:71 build/C/man2/unlink.2:137
5085 #, no-wrap
5086 msgid "B<EROFS>"
5087 msgstr "B<EROFS>"
5088
5089 #. type: Plain text
5090 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5091 msgid "The file is on a read-only file system."
5092 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
5093
5094 #. type: TP
5095 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5096 #, no-wrap
5097 msgid "B<EXDEV>"
5098 msgstr "B<EXDEV>"
5099
5100 #. type: Plain text
5101 #: build/C/man2/link.2:128
5102 msgid ""
5103 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
5104 "permits a file system to be mounted at multiple points, but B<link>()  does "
5105 "not work across different mount points, even if the same file system is "
5106 "mounted on both.)"
5107 msgstr ""
5108 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
5109 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
5110 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
5111 "のマウント位置を跨いでは動作しない。)"
5112
5113 #.  SVr4 documents additional ENOLINK and
5114 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5115 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5116 #. type: Plain text
5117 #: build/C/man2/link.2:133
5118 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5119 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5120
5121 #. type: Plain text
5122 #: build/C/man2/link.2:140
5123 msgid ""
5124 "Hard links, as created by B<link>(), cannot span file systems.  Use "
5125 "B<symlink>(2)  if this is required."
5126 msgstr ""
5127 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
5128 "このような場合は B<symlink>(2)  を使用すること。"
5129
5130 #.  more precisely: since kernel 1.3.56
5131 #.  For example, the default Solaris compilation environment
5132 #.  behaves like Linux, and contributors to a March 2005
5133 #.  thread in the Austin mailing list reported that some
5134 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5135 #. type: Plain text
5136 #: build/C/man2/link.2:171
5137 msgid ""
5138 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5139 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5140 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5141 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5142 "the same file that I<oldpath> refers to).  Some other implementations behave "
5143 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5144 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5145 "dereferenced if it is a symbolic link.  For precise control over the "
5146 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5147 msgstr ""
5148 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
5149 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5150 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリックリンク"
5151 "である場合、 I<newpath> は同じシンボリックリンクファイルへの (ハード) リンク"
5152 "として作成される (つまり I<newpath> は I<oldpath> が参照していた同じファイル"
5153 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
5154 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
5155 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
5156 "なった。 リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関して"
5157 "は B<linkat>(2)  を参照のこと。"
5158
5159 #. type: Plain text
5160 #: build/C/man2/link.2:177
5161 msgid ""
5162 "On NFS file systems, the return code may be wrong in case the NFS server "
5163 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5164 "to find out if the link got created."
5165 msgstr ""
5166 "NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前"
5167 "に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つける"
5168 "ためには B<stat>(2)  を使用すること。"
5169
5170 #. type: Plain text
5171 #: build/C/man2/link.2:187
5172 msgid ""
5173 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5174 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5175 msgstr ""
5176 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5177 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5178
5179 #. type: TH
5180 #: build/C/man2/llseek.2:26
5181 #, no-wrap
5182 msgid "LLSEEK"
5183 msgstr "LLSEEK"
5184
5185 #. type: TH
5186 #: build/C/man2/llseek.2:26
5187 #, no-wrap
5188 msgid "2007-06-01"
5189 msgstr "2007-06-01"
5190
5191 #. type: Plain text
5192 #: build/C/man2/llseek.2:29
5193 msgid "_llseek - reposition read/write file offset"
5194 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5195
5196 #. type: Plain text
5197 #: build/C/man2/llseek.2:33
5198 #, no-wrap
5199 msgid ""
5200 "B<#include E<lt>sys/types.hE<gt>>\n"
5201 "B<#include E<lt>unistd.hE<gt>>\n"
5202 msgstr ""
5203 "B<#include E<lt>sys/types.hE<gt>>\n"
5204 "B<#include E<lt>unistd.hE<gt>>\n"
5205
5206 #. type: Plain text
5207 #: build/C/man2/llseek.2:37
5208 #, no-wrap
5209 msgid ""
5210 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5211 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5212 "B<            unsigned int >I<whence>B<);>\n"
5213 msgstr ""
5214 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5215 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5216 "B<            unsigned int >I<whence>B<);>\n"
5217
5218 #. type: Plain text
5219 #: build/C/man2/llseek.2:57
5220 msgid ""
5221 "The B<_llseek>()  function repositions the offset of the open file "
5222 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5223 "offset_low> bytes relative to the beginning of the file, the current "
5224 "position in the file, or the end of the file, depending on whether I<whence> "
5225 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5226 "resulting file position in the argument I<result>."
5227 msgstr ""
5228 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
5229 "れたオープンされたファイルのオフセットの位置を、相対的に I<"
5230 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5231 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5232 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5233 "のファイル位置を I<result> 引き数に返す。"
5234
5235 #. type: Plain text
5236 #: build/C/man2/llseek.2:64
5237 msgid ""
5238 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5239 "-1 is returned and I<errno> is set to indicate the error."
5240 msgstr ""
5241 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5242 "エラーを示す I<errno> が設定される。"
5243
5244 #. type: Plain text
5245 #: build/C/man2/llseek.2:69 build/C/man2/lseek.2:164
5246 msgid "I<fd> is not an open file descriptor."
5247 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5248
5249 #. type: Plain text
5250 #: build/C/man2/llseek.2:72
5251 msgid "Problem with copying results to user space."
5252 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5253
5254 #. type: Plain text
5255 #: build/C/man2/llseek.2:76
5256 msgid "I<whence> is invalid."
5257 msgstr "I<whence> が不正である。"
5258
5259 #. type: Plain text
5260 #: build/C/man2/llseek.2:79
5261 msgid ""
5262 "This function is Linux-specific, and should not be used in programs intended "
5263 "to be portable."
5264 msgstr ""
5265 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5266
5267 #. type: Plain text
5268 #: build/C/man2/llseek.2:82
5269 msgid ""
5270 "Glibc does not provide a wrapper for this system call; call it using "
5271 "B<syscall>(2)."
5272 msgstr ""
5273 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5274 "(2)  を使って呼び出すこと。"
5275
5276 #. type: Plain text
5277 #: build/C/man2/llseek.2:85
5278 msgid "B<lseek>(2), B<lseek64>(3)"
5279 msgstr "B<lseek>(2), B<lseek64>(3)"
5280
5281 #. type: TH
5282 #: build/C/man2/lseek.2:45
5283 #, no-wrap
5284 msgid "LSEEK"
5285 msgstr "LSEEK"
5286
5287 #. type: TH
5288 #: build/C/man2/lseek.2:45
5289 #, no-wrap
5290 msgid "2011-09-25"
5291 msgstr "2011-09-25"
5292
5293 #. type: Plain text
5294 #: build/C/man2/lseek.2:48
5295 msgid "lseek - reposition read/write file offset"
5296 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5297
5298 #. type: Plain text
5299 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:30
5300 msgid "B<#include E<lt>sys/types.hE<gt>>"
5301 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5302
5303 #. type: Plain text
5304 #: build/C/man2/lseek.2:54
5305 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5306 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5307
5308 #. type: Plain text
5309 #: build/C/man2/lseek.2:65
5310 msgid ""
5311 "The B<lseek>()  function repositions the offset of the open file associated "
5312 "with the file descriptor I<fd> to the argument I<offset> according to the "
5313 "directive I<whence> as follows:"
5314 msgstr ""
5315 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5316 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5317 "へ以下のように変更する:"
5318
5319 #. type: Plain text
5320 #: build/C/man2/lseek.2:70
5321 msgid "The offset is set to I<offset> bytes."
5322 msgstr "オフセットは I<offset> バイトに設定される。"
5323
5324 #. type: Plain text
5325 #: build/C/man2/lseek.2:75
5326 msgid "The offset is set to its current location plus I<offset> bytes."
5327 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5328
5329 #. type: Plain text
5330 #: build/C/man2/lseek.2:80
5331 msgid "The offset is set to the size of the file plus I<offset> bytes."
5332 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5333
5334 #. type: Plain text
5335 #: build/C/man2/lseek.2:88
5336 msgid ""
5337 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5338 "the file (but this does not change the size of the file).  If data is later "
5339 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5340 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5341 "gap."
5342 msgstr ""
5343 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5344 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5345 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5346 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5347 "される。"
5348
5349 #. type: SS
5350 #: build/C/man2/lseek.2:88
5351 #, no-wrap
5352 msgid "Seeking file data and holes"
5353 msgstr ""
5354
5355 #. type: Plain text
5356 #: build/C/man2/lseek.2:91
5357 msgid ""
5358 "Since version 3.1, Linux supports the following additional values for "
5359 "I<whence>:"
5360 msgstr ""
5361 "Linux バージョン 3.1 以降では、\n"
5362 "I<whence> に以下の値も指定することができる。"
5363
5364 #. type: TP
5365 #: build/C/man2/lseek.2:91
5366 #, no-wrap
5367 msgid "B<SEEK_DATA>"
5368 msgstr "B<SEEK_DATA>"
5369
5370 #. type: Plain text
5371 #: build/C/man2/lseek.2:102
5372 msgid ""
5373 "Adjust the file offset to the next location in the file greater than or "
5374 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5375 "file offset is set to I<offset>."
5376 msgstr ""
5377
5378 #. type: TP
5379 #: build/C/man2/lseek.2:102
5380 #, no-wrap
5381 msgid "B<SEEK_HOLE>"
5382 msgstr "B<SEEK_HOLE>"
5383
5384 #. type: Plain text
5385 #: build/C/man2/lseek.2:116
5386 msgid ""
5387 "Adjust the file offset to the next hole in the file greater than or equal to "
5388 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5389 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5390 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5391 "hole at the end of any file)."
5392 msgstr ""
5393
5394 #. type: Plain text
5395 #: build/C/man2/lseek.2:122
5396 msgid ""
5397 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5398 "end of the file."
5399 msgstr ""
5400
5401 #. type: Plain text
5402 #: build/C/man2/lseek.2:128
5403 msgid ""
5404 "These operations allow applications to map holes in a sparsely allocated "
5405 "file.  This can be useful for applications such as file backup tools, which "
5406 "can save space when creating backups and preserve holes, if they have a "
5407 "mechanism for discovering holes."
5408 msgstr ""
5409
5410 #.  https://lkml.org/lkml/2011/4/22/79
5411 #.  http://lwn.net/Articles/440255/
5412 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5413 #. type: Plain text
5414 #: build/C/man2/lseek.2:151
5415 msgid ""
5416 "For the purposes of these operations, a hole is a sequence of zeros that "
5417 "(normally) has not been allocated in the underlying file storage.  However, "
5418 "a file system is not obliged to report holes, so these operations are not a "
5419 "guaranteed mechanism for mapping the storage space actually allocated to a "
5420 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5421 "the underlying storage may not be reported as a hole.)  In the simplest "
5422 "implementation, a file system can support the operations by making "
5423 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5424 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5425 "by I<offset> is a hole, it can be considered to consist of data that is a "
5426 "sequence of zeros)."
5427 msgstr ""
5428
5429 #. type: Plain text
5430 #: build/C/man2/lseek.2:159
5431 msgid ""
5432 "Upon successful completion, B<lseek>()  returns the resulting offset "
5433 "location as measured in bytes from the beginning of the file.  On error, the "
5434 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5435 msgstr ""
5436 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5437 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5438 "される。"
5439
5440 #.  Some systems may allow negative offsets for character devices
5441 #.  and/or for remote file systems.
5442 #. type: Plain text
5443 #: build/C/man2/lseek.2:172
5444 msgid ""
5445 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5446 "beyond the end of a seekable device."
5447 msgstr ""
5448 "I<whence> が有効な値ではない。または、seek の結果、ファイルオフセットが負に\n"
5449 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
5450
5451 #. type: TP
5452 #: build/C/man2/lseek.2:172 build/C/man2/open.2:565
5453 #, no-wrap
5454 msgid "B<EOVERFLOW>"
5455 msgstr "B<EOVERFLOW>"
5456
5457 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5458 #. type: Plain text
5459 #: build/C/man2/lseek.2:177
5460 msgid "The resulting file offset cannot be represented in an I<off_t>."
5461 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
5462
5463 #. type: TP
5464 #: build/C/man2/lseek.2:177
5465 #, no-wrap
5466 msgid "B<ESPIPE>"
5467 msgstr "B<ESPIPE>"
5468
5469 #. type: Plain text
5470 #: build/C/man2/lseek.2:181
5471 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5472 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5473
5474 #. type: TP
5475 #: build/C/man2/lseek.2:181 build/C/man2/open.2:559
5476 #, no-wrap
5477 msgid "B<ENXIO>"
5478 msgstr "B<ENXIO>"
5479
5480 #. type: Plain text
5481 #: build/C/man2/lseek.2:189
5482 msgid ""
5483 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5484 "beyond the end of the file."
5485 msgstr ""
5486 "I<whence> が B<SEEK_DATA> か B<SEEK_HOLE> で、\n"
5487 "現在のファイルオフセットがファイルの末尾を超えた位置である。"
5488
5489 #.  SVr4 documents additional error
5490 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5491 #. type: Plain text
5492 #: build/C/man2/lseek.2:191 build/C/man2/read.2:157 build/C/man2/rmdir.2:129
5493 #: build/C/man2/symlink.2:150 build/C/man2/unlink.2:145
5494 #: build/C/man2/write.2:183
5495 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5496 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5497
5498 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5499 #. type: Plain text
5500 #: build/C/man2/lseek.2:199
5501 msgid ""
5502 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5503 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5504 "next POSIX revision (Issue 8)."
5505 msgstr ""
5506
5507 #. type: Plain text
5508 #: build/C/man2/lseek.2:203
5509 msgid ""
5510 "Some devices are incapable of seeking and POSIX does not specify which "
5511 "devices must support B<lseek>()."
5512 msgstr ""
5513 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5514 "に対応すべきかは規定していない。"
5515
5516 #.  Other systems return the number of written characters,
5517 #.  using SEEK_SET to set the counter. (Of written characters.)
5518 #. type: Plain text
5519 #: build/C/man2/lseek.2:210
5520 msgid "On Linux, using B<lseek>()  on a tty device returns B<ESPIPE>."
5521 msgstr ""
5522 "Linux では、 tty デバイスに B<lseek>()  を使用すると B<ESPIPE> を返す。"
5523
5524 #. type: Plain text
5525 #: build/C/man2/lseek.2:213
5526 msgid ""
5527 "When converting old code, substitute values for I<whence> with the following "
5528 "macros:"
5529 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5530
5531 #. type: tbl table
5532 #: build/C/man2/lseek.2:216
5533 #, no-wrap
5534 msgid "old\tnew\n"
5535 msgstr "old \tnew\n"
5536
5537 #. type: tbl table
5538 #: build/C/man2/lseek.2:217
5539 #, no-wrap
5540 msgid "0\tSEEK_SET\n"
5541 msgstr "0\tSEEK_SET\n"
5542
5543 #. type: tbl table
5544 #: build/C/man2/lseek.2:218
5545 #, no-wrap
5546 msgid "1\tSEEK_CUR\n"
5547 msgstr "1\tSEEK_CUR\n"
5548
5549 #. type: tbl table
5550 #: build/C/man2/lseek.2:219
5551 #, no-wrap
5552 msgid "2\tSEEK_END\n"
5553 msgstr "2\tSEEK_END\n"
5554
5555 #. type: tbl table
5556 #: build/C/man2/lseek.2:220
5557 #, no-wrap
5558 msgid "L_SET\tSEEK_SET\n"
5559 msgstr "L_SET\tSEEK_SET\n"
5560
5561 #. type: tbl table
5562 #: build/C/man2/lseek.2:221
5563 #, no-wrap
5564 msgid "L_INCR\tSEEK_CUR\n"
5565 msgstr "L_INCR\tSEEK_CUR\n"
5566
5567 #. type: tbl table
5568 #: build/C/man2/lseek.2:222
5569 #, no-wrap
5570 msgid "L_XTND\tSEEK_END\n"
5571 msgstr "L_XTND\tSEEK_END\n"
5572
5573 #. type: Plain text
5574 #: build/C/man2/lseek.2:234
5575 msgid ""
5576 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5577 "current file position pointer, so seeking on such files may be subject to "
5578 "race conditions."
5579 msgstr ""
5580 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5581 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5582 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5583
5584 #. type: Plain text
5585 #: build/C/man2/lseek.2:241
5586 msgid ""
5587 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5588 "B<posix_fallocate>(3)"
5589 msgstr ""
5590 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5591 "B<posix_fallocate>(3)"
5592
5593 #. type: TH
5594 #: build/C/man3/lseek64.3:23
5595 #, no-wrap
5596 msgid "LSEEK64"
5597 msgstr "LSEEK64"
5598
5599 #. type: TH
5600 #: build/C/man3/lseek64.3:23
5601 #, no-wrap
5602 msgid "2004-12-11"
5603 msgstr "2004-12-11"
5604
5605 #. type: Plain text
5606 #: build/C/man3/lseek64.3:26
5607 msgid "lseek64 - reposition 64-bit read/write file offset"
5608 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5609
5610 #. type: Plain text
5611 #: build/C/man3/lseek64.3:28
5612 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5613 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5614
5615 #. type: Plain text
5616 #: build/C/man3/lseek64.3:34
5617 msgid ""
5618 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5619 msgstr ""
5620 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5621
5622 #. type: Plain text
5623 #: build/C/man3/lseek64.3:51
5624 msgid ""
5625 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5626 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5627 "start, current position, or end of the file, when I<whence> has the value "
5628 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5629 msgstr ""
5630 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5631 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5632 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5633 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5634
5635 #. type: Plain text
5636 #: build/C/man3/lseek64.3:54
5637 msgid "For more details, return value, and errors, see B<lseek>(2)."
5638 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5639
5640 #. type: Plain text
5641 #: build/C/man3/lseek64.3:61
5642 msgid ""
5643 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5644 "the raw system call B<_llseek>(2)."
5645 msgstr ""
5646 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5647 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5648
5649 #. type: SS
5650 #: build/C/man3/lseek64.3:61
5651 #, no-wrap
5652 msgid "lseek"
5653 msgstr "lseek"
5654
5655 #. type: Plain text
5656 #: build/C/man3/lseek64.3:63 build/C/man3/lseek64.3:85
5657 #: build/C/man3/lseek64.3:114
5658 msgid "Prototype:"
5659 msgstr "プロトタイプ:"
5660
5661 #. type: Plain text
5662 #: build/C/man3/lseek64.3:67
5663 #, no-wrap
5664 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5665 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5666
5667 #. type: Plain text
5668 #: build/C/man3/lseek64.3:75
5669 msgid ""
5670 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5671 "architectures, unless one compiles with"
5672 msgstr ""
5673 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5674 "ビット符号付き型である。 ただし、"
5675
5676 #. type: Plain text
5677 #: build/C/man3/lseek64.3:83
5678 msgid "in which case it is a 64-bit signed type."
5679 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5680
5681 #. type: SS
5682 #: build/C/man3/lseek64.3:83
5683 #, no-wrap
5684 msgid "lseek64"
5685 msgstr "lseek64"
5686
5687 #. type: Plain text
5688 #: build/C/man3/lseek64.3:89
5689 #, no-wrap
5690 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5691 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5692
5693 #. type: Plain text
5694 #: build/C/man3/lseek64.3:100
5695 msgid ""
5696 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5697 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5698 "when one compiles with"
5699 msgstr ""
5700 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5701 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5702 "ルした場合にのみ使用可能である。"
5703
5704 #. type: Plain text
5705 #: build/C/man3/lseek64.3:104
5706 #, no-wrap
5707 msgid "#define _LARGEFILE64_SOURCE\n"
5708 msgstr "#define _LARGEFILE64_SOURCE\n"
5709
5710 #.  in glibc 2.0.94, not in 2.0.6
5711 #. type: Plain text
5712 #: build/C/man3/lseek64.3:112
5713 msgid ""
5714 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5715 "be an alias for B<llseek>()."
5716 msgstr ""
5717 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5718 "アスとして定義されている。"
5719
5720 #. type: SS
5721 #: build/C/man3/lseek64.3:112
5722 #, no-wrap
5723 msgid "llseek"
5724 msgstr "llseek"
5725
5726 #. type: Plain text
5727 #: build/C/man3/lseek64.3:118
5728 #, no-wrap
5729 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5730 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5731
5732 #.  in libc 5.0.9, not in 4.7.6
5733 #. type: Plain text
5734 #: build/C/man3/lseek64.3:137
5735 msgid ""
5736 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5737 "()  is available in libc5 and glibc and works without special defines.  Its "
5738 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5739 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5740 "should add the above prototype, or something equivalent, to their own "
5741 "source.  When users complained about data loss caused by a miscompilation of "
5742 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5743 msgstr ""
5744 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5745 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5746 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5747 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5748 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5749 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5750 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5751
5752 #. type: Plain text
5753 #: build/C/man3/lseek64.3:140
5754 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5755 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5756
5757 #. type: Plain text
5758 #: build/C/man3/lseek64.3:144
5759 msgid ""
5760 "This makes this function unusable if one desires a warning-free compilation."
5761 msgstr ""
5762 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5763
5764 #. type: SS
5765 #: build/C/man3/lseek64.3:144
5766 #, no-wrap
5767 msgid "_llseek"
5768 msgstr "_llseek"
5769
5770 #. type: Plain text
5771 #: build/C/man3/lseek64.3:147
5772 msgid ""
5773 "All the above functions are implemented in terms of this system call.  The "
5774 "prototype is:"
5775 msgstr ""
5776 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5777 "下の通り:"
5778
5779 #. type: Plain text
5780 #: build/C/man3/lseek64.3:152
5781 #, no-wrap
5782 msgid ""
5783 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5784 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5785 msgstr ""
5786 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5787 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5788
5789 #. type: Plain text
5790 #: build/C/man3/lseek64.3:157
5791 msgid "For more details, see B<llseek>(2)."
5792 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5793
5794 #. type: Plain text
5795 #: build/C/man3/lseek64.3:160
5796 msgid "B<llseek>(2), B<lseek>(2)"
5797 msgstr "B<llseek>(2), B<lseek>(2)"
5798
5799 #. type: TH
5800 #: build/C/man2/open.2:52
5801 #, no-wrap
5802 msgid "OPEN"
5803 msgstr "OPEN"
5804
5805 #. type: TH
5806 #: build/C/man2/open.2:52
5807 #, fuzzy, no-wrap
5808 #| msgid "2012-03-30"
5809 msgid "2012-05-01"
5810 msgstr "2012-03-30"
5811
5812 #. type: Plain text
5813 #: build/C/man2/open.2:55
5814 msgid "open, creat - open and possibly create a file or device"
5815 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
5816
5817 #. type: Plain text
5818 #: build/C/man2/open.2:60
5819 #, no-wrap
5820 msgid ""
5821 "B<#include E<lt>sys/types.hE<gt>>\n"
5822 "B<#include E<lt>sys/stat.hE<gt>>\n"
5823 "B<#include E<lt>fcntl.hE<gt>>\n"
5824 msgstr ""
5825 "B<#include E<lt>sys/types.hE<gt>>\n"
5826 "B<#include E<lt>sys/stat.hE<gt>>\n"
5827 "B<#include E<lt>fcntl.hE<gt>>\n"
5828
5829 #. type: Plain text
5830 #: build/C/man2/open.2:63
5831 #, no-wrap
5832 msgid ""
5833 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5834 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5835 msgstr ""
5836 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5837 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5838
5839 #. type: Plain text
5840 #: build/C/man2/open.2:65
5841 #, no-wrap
5842 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5843 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5844
5845 #. type: Plain text
5846 #: build/C/man2/open.2:76
5847 msgid ""
5848 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
5849 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
5850 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
5851 "by a successful call will be the lowest-numbered file descriptor not "
5852 "currently open for the process."
5853 msgstr ""
5854 "ファイルの I<pathname> を与えると、 B<open>()  はファイルディスクリプタを返"
5855 "す。 ファイルディスクリプタは、この後に続くシステムコール (B<read>(2), "
5856 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
5857 "る。 このシステムコールが成功した場合に返されるファイルディスクリプタは その"
5858 "プロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字"
5859 "のものとなる。"
5860
5861 #. type: Plain text
5862 #: build/C/man2/open.2:88
5863 msgid ""
5864 "By default, the new file descriptor is set to remain open across an B<execve>"
5865 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
5866 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
5867 "to change this default).  The file offset is set to the beginning of the "
5868 "file (see B<lseek>(2))."
5869 msgstr ""
5870 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
5871 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
5872 "ファイルディスクリプタフラグは最初は無効である; 後述の B<O_CLOEXEC> フラグ\n"
5873 "を使うとこのデフォルトを変更することができる)。 ファイルオフセット \n"
5874 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
5875
5876 #. type: Plain text
5877 #: build/C/man2/open.2:107
5878 msgid ""
5879 "A call to B<open>()  creates a new I<open file description>, an entry in the "
5880 "system-wide table of open files.  This entry records the file offset and the "
5881 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
5882 "file descriptor is a reference to one of these entries; this reference is "
5883 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
5884 "different file.  The new open file description is initially not shared with "
5885 "any other process, but sharing may arise via B<fork>(2)."
5886 msgstr ""
5887 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
5888 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
5889 "のエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ "
5890 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイルディスクリ"
5891 "プタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除され"
5892 "たり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けな"
5893 "い。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていない"
5894 "が、 B<fork>(2)  で共有が起こる場合がある。"
5895
5896 #. type: Plain text
5897 #: build/C/man2/open.2:115
5898 msgid ""
5899 "The argument I<flags> must include one of the following I<access modes>: "
5900 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
5901 "only, write-only, or read/write, respectively."
5902 msgstr ""
5903 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
5904 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
5905 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
5906
5907 #.  FIXME . Actually is it true that the "file status flags" are all of the
5908 #.  remaining flags listed below?  SUSv4 divides the flags into:
5909 #.  * Access mode
5910 #.  * File creation
5911 #.  * File status
5912 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
5913 #.  though it's not clear what the difference between "other" and
5914 #.  "File creation" flags is.  (I've raised an Aardvark to see if this
5915 #.  can be clarified in SUSv4; 10 Oct 2008.)
5916 #. type: Plain text
5917 #: build/C/man2/open.2:142
5918 msgid ""
5919 "In addition, zero or more file creation flags and file status flags can be "
5920 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CREAT>, "
5921 "B<O_EXCL>, B<O_NOCTTY>, and B<O_TRUNC>.  The I<file status flags> are all of "
5922 "the remaining flags listed below.  The distinction between these two groups "
5923 "of flags is that the file status flags can be retrieved and (in some cases)  "
5924 "modified using B<fcntl>(2).  The full list of file creation flags and file "
5925 "status flags is as follows:"
5926 msgstr ""
5927 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
5928 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
5929 "定することができる。 I<ファイル作成フラグ> は B<O_CREAT>, B<O_EXCL>, "
5930 "B<O_NOCTTY>, B<O_TRUNC> である。 I<ファイル状態フラグ> は以下のリストのうち上"
5931 "記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は "
5932 "B<fcntl>(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点"
5933 "にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
5934
5935 #. type: TP
5936 #: build/C/man2/open.2:142
5937 #, no-wrap
5938 msgid "B<O_APPEND>"
5939 msgstr "B<O_APPEND>"
5940
5941 #.  For more background, see
5942 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
5943 #.  http://nfs.sourceforge.net/
5944 #. type: Plain text
5945 #: build/C/man2/open.2:159
5946 msgid ""
5947 "The file is opened in append mode.  Before each B<write>(2), the file offset "
5948 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
5949 "may lead to corrupted files on NFS file systems if more than one process "
5950 "appends data to a file at once.  This is because NFS does not support "
5951 "appending to a file, so the client kernel has to simulate it, which can't be "
5952 "done without a race condition."
5953 msgstr ""
5954 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
5955 "B<lseek>(2)  を行ったかのように、ファイルポインタをファイルの最後に移動す"
5956 "る。 NFS ファイルシステムで、 B<O_APPEND> を使用すると、複数のプロセスがひと"
5957 "つのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
5958 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
5959 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
5960 "とはできないからである。"
5961
5962 #. type: TP
5963 #: build/C/man2/open.2:159
5964 #, no-wrap
5965 msgid "B<O_ASYNC>"
5966 msgstr "B<O_ASYNC>"
5967
5968 #. type: Plain text
5969 #: build/C/man2/open.2:172
5970 msgid ""
5971 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
5972 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
5973 "this file descriptor.  This feature is only available for terminals, "
5974 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
5975 "B<fcntl>(2)  for further details."
5976 msgstr ""
5977 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
5978 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
5979 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
5980 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
5981 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
5982
5983 #. type: TP
5984 #: build/C/man2/open.2:172
5985 #, no-wrap
5986 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
5987 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
5988
5989 #.  This flag fixes only one form of the race condition;
5990 #.  The race can also occur with, for example, descriptors
5991 #.  returned by accept(), pipe(), etc.
5992 #. type: Plain text
5993 #: build/C/man2/open.2:197
5994 msgid ""
5995 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
5996 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
5997 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
5998 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
5999 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
6000 "race conditions where one thread opens a file descriptor at the same time as "
6001 "another thread does a B<fork>(2)  plus B<execve>(2)."
6002 msgstr ""
6003 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
6004 "フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
6005 "B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
6006 "チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
6007 "B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
6008 "も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
6009 "が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
6010 "はないからである。"
6011
6012 #. type: TP
6013 #: build/C/man2/open.2:197
6014 #, no-wrap
6015 msgid "B<O_CREAT>"
6016 msgstr "B<O_CREAT>"
6017
6018 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
6019 #.  XFS (since 2.6.14).
6020 #. type: Plain text
6021 #: build/C/man2/open.2:213
6022 msgid ""
6023 "If the file does not exist it will be created.  The owner (user ID) of the "
6024 "file is set to the effective user ID of the process.  The group ownership "
6025 "(group ID) is set either to the effective group ID of the process or to the "
6026 "group ID of the parent directory (depending on file system type and mount "
6027 "options, and the mode of the parent directory, see the mount options "
6028 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
6029 msgstr ""
6030 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
6031 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
6032 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
6033 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
6034 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
6035 "I<bsdgroups> と I<sysvgroups> を参照)。"
6036
6037 #. type: Plain text
6038 #: build/C/man2/open.2:236
6039 msgid ""
6040 "I<mode> specifies the permissions to use in case a new file is created.  "
6041 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
6042 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
6043 "permissions are modified by the process's I<umask> in the usual way: The "
6044 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
6045 "mode only applies to future accesses of the newly created file; the B<open>"
6046 "()  call that creates a read-only file may well return a read/write file "
6047 "descriptor."
6048 msgstr ""
6049 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
6050 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
6051 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
6052 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
6053 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
6054 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
6055 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
6056 "可能なファイルディスクリプタを返すことがありうる。"
6057
6058 #. type: Plain text
6059 #: build/C/man2/open.2:239
6060 msgid "The following symbolic constants are provided for I<mode>:"
6061 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6062
6063 #. type: TP
6064 #: build/C/man2/open.2:239
6065 #, no-wrap
6066 msgid "B<S_IRWXU>"
6067 msgstr "B<S_IRWXU>"
6068
6069 #. type: Plain text
6070 #: build/C/man2/open.2:242
6071 msgid "00700 user (file owner) has read, write and execute permission"
6072 msgstr ""
6073 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6074
6075 #. type: TP
6076 #: build/C/man2/open.2:242
6077 #, no-wrap
6078 msgid "B<S_IRUSR>"
6079 msgstr "B<S_IRUSR>"
6080
6081 #. type: Plain text
6082 #: build/C/man2/open.2:245
6083 msgid "00400 user has read permission"
6084 msgstr "00400 ユーザーに読み込みの許可がある。"
6085
6086 #. type: TP
6087 #: build/C/man2/open.2:245
6088 #, no-wrap
6089 msgid "B<S_IWUSR>"
6090 msgstr "B<S_IWUSR>"
6091
6092 #. type: Plain text
6093 #: build/C/man2/open.2:248
6094 msgid "00200 user has write permission"
6095 msgstr "00200 ユーザーに書き込みの許可がある。"
6096
6097 #. type: TP
6098 #: build/C/man2/open.2:248
6099 #, no-wrap
6100 msgid "B<S_IXUSR>"
6101 msgstr "B<S_IXUSR>"
6102
6103 #. type: Plain text
6104 #: build/C/man2/open.2:251
6105 msgid "00100 user has execute permission"
6106 msgstr "00100 ユーザーに実行の許可がある。"
6107
6108 #. type: TP
6109 #: build/C/man2/open.2:251
6110 #, no-wrap
6111 msgid "B<S_IRWXG>"
6112 msgstr "B<S_IRWXG>"
6113
6114 #. type: Plain text
6115 #: build/C/man2/open.2:254
6116 msgid "00070 group has read, write and execute permission"
6117 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6118
6119 #. type: TP
6120 #: build/C/man2/open.2:254
6121 #, no-wrap
6122 msgid "B<S_IRGRP>"
6123 msgstr "B<S_IRGRP>"
6124
6125 #. type: Plain text
6126 #: build/C/man2/open.2:257
6127 msgid "00040 group has read permission"
6128 msgstr "00040 グループに読み込みの許可がある。"
6129
6130 #. type: TP
6131 #: build/C/man2/open.2:257
6132 #, no-wrap
6133 msgid "B<S_IWGRP>"
6134 msgstr "B<S_IWGRP>"
6135
6136 #. type: Plain text
6137 #: build/C/man2/open.2:260
6138 msgid "00020 group has write permission"
6139 msgstr "00020 グループに書き込みの許可がある。"
6140
6141 #. type: TP
6142 #: build/C/man2/open.2:260
6143 #, no-wrap
6144 msgid "B<S_IXGRP>"
6145 msgstr "B<S_IXGRP>"
6146
6147 #. type: Plain text
6148 #: build/C/man2/open.2:263
6149 msgid "00010 group has execute permission"
6150 msgstr "00010 グループに実行の許可がある。"
6151
6152 #. type: TP
6153 #: build/C/man2/open.2:263
6154 #, no-wrap
6155 msgid "B<S_IRWXO>"
6156 msgstr "B<S_IRWXO>"
6157
6158 #. type: Plain text
6159 #: build/C/man2/open.2:266
6160 msgid "00007 others have read, write and execute permission"
6161 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6162
6163 #. type: TP
6164 #: build/C/man2/open.2:266
6165 #, no-wrap
6166 msgid "B<S_IROTH>"
6167 msgstr "B<S_IROTH>"
6168
6169 #. type: Plain text
6170 #: build/C/man2/open.2:269
6171 msgid "00004 others have read permission"
6172 msgstr "00004 他人に読み込みの許可がある。"
6173
6174 #. type: TP
6175 #: build/C/man2/open.2:269
6176 #, no-wrap
6177 msgid "B<S_IWOTH>"
6178 msgstr "B<S_IWOTH>"
6179
6180 #. type: Plain text
6181 #: build/C/man2/open.2:272
6182 msgid "00002 others have write permission"
6183 msgstr "00002 他人に書き込みの許可がある。"
6184
6185 #. type: TP
6186 #: build/C/man2/open.2:272
6187 #, no-wrap
6188 msgid "B<S_IXOTH>"
6189 msgstr "B<S_IXOTH>"
6190
6191 #. type: Plain text
6192 #: build/C/man2/open.2:275
6193 msgid "00001 others have execute permission"
6194 msgstr "00001 他人に実行の許可がある。"
6195
6196 #. type: TP
6197 #: build/C/man2/open.2:276
6198 #, no-wrap
6199 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6200 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6201
6202 #. type: Plain text
6203 #: build/C/man2/open.2:293
6204 msgid ""
6205 "Try to minimize cache effects of the I/O to and from this file.  In general "
6206 "this will degrade performance, but it is useful in special situations, such "
6207 "as when applications do their own caching.  File I/O is done directly to/"
6208 "from user space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6209 "transfer data synchronously, but does not give the guarantees of the "
6210 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6211 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6212 "B<O_DIRECT>.  See NOTES below for further discussion."
6213 msgstr ""
6214 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグ"
6215 "を\n"
6216 "使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシング"
6217 "を\n"
6218 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6219 "ファ\n"
6220 "に対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようとは"
6221 "す\n"
6222 "るが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証されるわ"
6223 "け\n"
6224 "ではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を使"
6225 "用\n"
6226 "しなければならない。下記の「注意」の節の議論も参照。"
6227
6228 #. type: Plain text
6229 #: build/C/man2/open.2:297
6230 msgid ""
6231 "A semantically similar (but deprecated) interface for block devices is "
6232 "described in B<raw>(8)."
6233 msgstr ""
6234 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6235 "れている (但し、このインタフェースは非推奨である)。"
6236
6237 #. type: TP
6238 #: build/C/man2/open.2:297
6239 #, no-wrap
6240 msgid "B<O_DIRECTORY>"
6241 msgstr "B<O_DIRECTORY>"
6242
6243 #.  But see the following and its replies:
6244 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6245 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6246 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6247 #. type: Plain text
6248 #: build/C/man2/open.2:311
6249 msgid ""
6250 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6251 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6252 "service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
6253 "should not be used outside of the implementation of B<opendir>(3)."
6254 msgstr ""
6255 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6256 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6257 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6258 "加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
6259
6260 #. type: TP
6261 #: build/C/man2/open.2:311
6262 #, no-wrap
6263 msgid "B<O_EXCL>"
6264 msgstr "B<O_EXCL>"
6265
6266 #. type: Plain text
6267 #: build/C/man2/open.2:321
6268 msgid ""
6269 "Ensure that this call creates the file: if this flag is specified in "
6270 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6271 "will fail."
6272 msgstr ""
6273 "この呼び出しでファイルが作成されることを保証する。このフラグが B<O_CREAT> "
6274 "と\n"
6275 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>() は失"
6276 "敗\n"
6277 "する。"
6278
6279 #.  POSIX.1-2001 explicitly requires this behavior.
6280 #. type: Plain text
6281 #: build/C/man2/open.2:329
6282 msgid ""
6283 "When these two flags are specified, symbolic links are not followed: if "
6284 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6285 "the symbolic link points to."
6286 msgstr ""
6287 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6288 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6289 "かに関わらず B<open>()  は失敗する。"
6290
6291 #. type: Plain text
6292 #: build/C/man2/open.2:345
6293 msgid ""
6294 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6295 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6296 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6297 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6298 "the error B<EBUSY>."
6299 msgstr ""
6300 "一般的には、 B<O_CREAT> を指定せずに B<O_EXCL> を使用した場合の\n"
6301 "B<O_EXCL> の動作は規定されていない。\n"
6302 "これには一つ例外があり、Linux 2.6 以降では、\n"
6303 "I<pathname> がブロックデバイスを参照している場合、\n"
6304 "B<O_CREAT> なしで B<O_EXCL> を使用することができる。\n"
6305 "システムがそのブロックデバイスを使用中の場合 (例えば、\n"
6306 "マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
6307
6308 #. type: Plain text
6309 #: build/C/man2/open.2:367
6310 msgid ""
6311 "On NFS, B<O_EXCL> is only supported when using NFSv3 or later on kernel 2.6 "
6312 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6313 "programs that rely on it for performing locking tasks will contain a race "
6314 "condition.  Portable programs that want to perform atomic file locking using "
6315 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6316 "create a unique file on the same file system (e.g., incorporating hostname "
6317 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6318 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6319 "unique file to check if its link count has increased to 2, in which case the "
6320 "lock is also successful."
6321 msgstr ""
6322 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6323 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6324 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6325 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6326 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6327 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6328 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6329 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6330 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6331 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6332 "じくロックに成功しているということである。"
6333
6334 #. type: TP
6335 #: build/C/man2/open.2:367
6336 #, no-wrap
6337 msgid "B<O_LARGEFILE>"
6338 msgstr "B<O_LARGEFILE>"
6339
6340 #. type: Plain text
6341 #: build/C/man2/open.2:389
6342 msgid ""
6343 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6344 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6345 "macro must be defined (before including I<any> header files)  in order to "
6346 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6347 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6348 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6349 msgstr ""
6350 "(LFS) I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる)"
6351 "ファ\n"
6352 "イルをオープン可能にする。この定義を有効にするためには、(I<どの>ヘッダファ"
6353 "イ\n"
6354 "ルをインクルードするよりも前に) B<_LARGEFILE64_SOURCE> マクロを定義しなけれ"
6355 "ば\n"
6356 "ならない。\n"
6357 "32 ビットシステムにおいて大きなファイルにアクセスしたい場合、\n"
6358 "(B<O_LARGEFILE> を使うよりも) B<_FILE_OFFSET_BITS> 機能検査マクロを 64 に\n"
6359 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
6360
6361 #. type: TP
6362 #: build/C/man2/open.2:389
6363 #, no-wrap
6364 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6365 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6366
6367 #.  The O_NOATIME flag also affects the treatment of st_atime
6368 #.  by mmap() and readdir(2), MTK, Dec 04.
6369 #. type: Plain text
6370 #: build/C/man2/open.2:400
6371 msgid ""
6372 "Do not update the file last access time (st_atime in the inode)  when the "
6373 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6374 "programs, where its use can significantly reduce the amount of disk "
6375 "activity.  This flag may not be effective on all file systems.  One example "
6376 "is NFS, where the server maintains the access time."
6377 msgstr ""
6378 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6379 "st_atime) を更新しない。 このフラグはインデックス作成やバックアッププログラム"
6380 "で使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすこと"
6381 "ができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6382 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6383
6384 #. type: TP
6385 #: build/C/man2/open.2:400
6386 #, no-wrap
6387 msgid "B<O_NOCTTY>"
6388 msgstr "B<O_NOCTTY>"
6389
6390 #. type: Plain text
6391 #: build/C/man2/open.2:408
6392 msgid ""
6393 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(em it will "
6394 "not become the process's controlling terminal even if the process does not "
6395 "have one."
6396 msgstr ""
6397 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
6398 "る\n"
6399 "場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイ"
6400 "ル\n"
6401 "は制御端末にはならない。"
6402
6403 #. type: TP
6404 #: build/C/man2/open.2:408
6405 #, no-wrap
6406 msgid "B<O_NOFOLLOW>"
6407 msgstr "B<O_NOFOLLOW>"
6408
6409 #.  The headers from glibc 2.0.100 and later include a
6410 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6411 #.  used\fP.
6412 #. type: Plain text
6413 #: build/C/man2/open.2:417
6414 msgid ""
6415 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6416 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6417 "earlier components of the pathname will still be followed."
6418 msgstr ""
6419 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
6420 "FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
6421 "ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
6422 "が シンボリックリンクである場合には、それが指す先が参照される。"
6423
6424 #. type: TP
6425 #: build/C/man2/open.2:417
6426 #, no-wrap
6427 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6428 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6429
6430 #. type: Plain text
6431 #: build/C/man2/open.2:430
6432 msgid ""
6433 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6434 "()  nor any subsequent operations on the file descriptor which is returned "
6435 "will cause the calling process to wait.  For the handling of FIFOs (named "
6436 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6437 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6438 "see B<fcntl>(2)."
6439 msgstr ""
6440 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
6441 "B<open>() も、返したファイルディスクリプタに対する以後のすべての操作も呼び"
6442 "出\n"
6443 "したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
6444 "B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
6445 "イ\n"
6446 "ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
6447 "議論は、 B<fcntl>(2) を参照すること。"
6448
6449 #. type: TP
6450 #: build/C/man2/open.2:430
6451 #, no-wrap
6452 msgid "B<O_SYNC>"
6453 msgstr "B<O_SYNC>"
6454
6455 #. type: Plain text
6456 #: build/C/man2/open.2:438
6457 msgid ""
6458 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6459 "file descriptor will block the calling process until the data has been "
6460 "physically written to the underlying hardware.  I<But see NOTES below>."
6461 msgstr ""
6462 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6463 "ファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセス"
6464 "をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
6465 "「注意」の章も参照。>"
6466
6467 #. type: TP
6468 #: build/C/man2/open.2:438
6469 #, no-wrap
6470 msgid "B<O_TRUNC>"
6471 msgstr "B<O_TRUNC>"
6472
6473 #. type: Plain text
6474 #: build/C/man2/open.2:452
6475 msgid ""
6476 "If the file already exists and is a regular file and the open mode allows "
6477 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6478 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6479 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6480 msgstr ""
6481 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6482 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6483 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6484 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6485 "ある。"
6486
6487 #. type: Plain text
6488 #: build/C/man2/open.2:456
6489 msgid ""
6490 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6491 "file has been opened."
6492 msgstr ""
6493 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6494 "用して変更することができる。"
6495
6496 #. type: Plain text
6497 #: build/C/man2/open.2:464
6498 msgid ""
6499 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6500 "O_WRONLY|O_TRUNC>."
6501 msgstr ""
6502 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6503 "を行うのと等価である。"
6504
6505 #. type: Plain text
6506 #: build/C/man2/open.2:472
6507 msgid ""
6508 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6509 "occurred (in which case, I<errno> is set appropriately)."
6510 msgstr ""
6511 "B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
6512 "した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6513
6514 #. type: Plain text
6515 #: build/C/man2/open.2:482
6516 msgid ""
6517 "The requested access to the file is not allowed, or search permission is "
6518 "denied for one of the directories in the path prefix of I<pathname>, or the "
6519 "file did not exist yet and write access to the parent directory is not "
6520 "allowed.  (See also B<path_resolution>(7).)"
6521 msgstr ""
6522 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6523 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6524 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6525 "すること。)"
6526
6527 #. type: Plain text
6528 #: build/C/man2/open.2:488
6529 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6530 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6531
6532 #. type: Plain text
6533 #: build/C/man2/open.2:492 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6534 msgid "I<pathname> points outside your accessible address space."
6535 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6536
6537 #. type: TP
6538 #: build/C/man2/open.2:492 build/C/man2/write.2:139
6539 #, no-wrap
6540 msgid "B<EFBIG>"
6541 msgstr "B<EFBIG>"
6542
6543 #. type: Plain text
6544 #: build/C/man2/open.2:496
6545 msgid "See B<EOVERFLOW>."
6546 msgstr "B<EOVERFLOW> 参照。"
6547
6548 #. type: TP
6549 #: build/C/man2/open.2:496 build/C/man2/read.2:104 build/C/man3/scanf.3:559
6550 #: build/C/man3/tmpfile.3:59 build/C/man2/write.2:144
6551 #, no-wrap
6552 msgid "B<EINTR>"
6553 msgstr "B<EINTR>"
6554
6555 #. type: Plain text
6556 #: build/C/man2/open.2:503
6557 msgid ""
6558 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6559 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6560 "(7)."
6561 msgstr ""
6562 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6563 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6564 "B<signal>(7)  参照。"
6565
6566 #. type: TP
6567 #: build/C/man2/open.2:503 build/C/man2/read.2:140 build/C/man2/rename.2:140
6568 #: build/C/man2/unlink.2:87
6569 #, no-wrap
6570 msgid "B<EISDIR>"
6571 msgstr "B<EISDIR>"
6572
6573 #. type: Plain text
6574 #: build/C/man2/open.2:512
6575 msgid ""
6576 "I<pathname> refers to a directory and the access requested involved writing "
6577 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6578 msgstr ""
6579 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6580 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6581
6582 #. type: Plain text
6583 #: build/C/man2/open.2:519
6584 msgid ""
6585 "Too many symbolic links were encountered in resolving I<pathname>, or "
6586 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6587 msgstr ""
6588 "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
6589 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6590
6591 #. type: TP
6592 #: build/C/man2/open.2:519 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:62
6593 #, no-wrap
6594 msgid "B<EMFILE>"
6595 msgstr "B<EMFILE>"
6596
6597 #. type: Plain text
6598 #: build/C/man2/open.2:522
6599 msgid "The process already has the maximum number of files open."
6600 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6601
6602 #. type: Plain text
6603 #: build/C/man2/open.2:526 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6604 msgid "I<pathname> was too long."
6605 msgstr "I<pathname> が長過ぎる。"
6606
6607 #. type: TP
6608 #: build/C/man2/open.2:526 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:65
6609 #, no-wrap
6610 msgid "B<ENFILE>"
6611 msgstr "B<ENFILE>"
6612
6613 #. type: Plain text
6614 #: build/C/man2/open.2:529 build/C/man2/pipe.2:113
6615 msgid "The system limit on the total number of open files has been reached."
6616 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6617
6618 #. type: TP
6619 #: build/C/man2/open.2:529
6620 #, no-wrap
6621 msgid "B<ENODEV>"
6622 msgstr "B<ENODEV>"
6623
6624 #. type: Plain text
6625 #: build/C/man2/open.2:536
6626 msgid ""
6627 "I<pathname> refers to a device special file and no corresponding device "
6628 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6629 "returned.)"
6630 msgstr ""
6631 "I<pathname> がデバイススペシャルファイルを参照しており、対応するデバイスが存"
6632 "在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返され"
6633 "るべきである)"
6634
6635 #. type: Plain text
6636 #: build/C/man2/open.2:543
6637 msgid ""
6638 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6639 "component in I<pathname> does not exist or is a dangling symbolic link."
6640 msgstr ""
6641 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6642 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリックリ"
6643 "ンクである。"
6644
6645 #. type: Plain text
6646 #: build/C/man2/open.2:552
6647 msgid ""
6648 "I<pathname> was to be created but the device containing I<pathname> has no "
6649 "room for the new file."
6650 msgstr ""
6651 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6652 "ファイルのための空き容量がない。"
6653
6654 #. type: Plain text
6655 #: build/C/man2/open.2:559
6656 msgid ""
6657 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6658 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6659 msgstr ""
6660 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6661 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6662
6663 #. type: Plain text
6664 #: build/C/man2/open.2:565
6665 msgid ""
6666 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
6667 "has the file open for reading.  Or, the file is a device special file and no "
6668 "corresponding device exists."
6669 msgstr ""
6670 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
6671 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
6672 "イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
6673
6674 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
6675 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
6676 #.  Reported 2006-10-03
6677 #. type: Plain text
6678 #: build/C/man2/open.2:585
6679 msgid ""
6680 "I<pathname> refers to a regular file that is too large to be opened.  The "
6681 "usual scenario here is that an application compiled on a 32-bit platform "
6682 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
6683 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
6684 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
6685 "B<EFBIG> for this case."
6686 msgstr ""
6687 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
6688 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
6689 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
6690 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
6691 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
6692 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
6693 "いた。"
6694
6695 #.  Strictly speaking, it's the file system UID... (MTK)
6696 #. type: Plain text
6697 #: build/C/man2/open.2:593
6698 msgid ""
6699 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
6700 "did not match the owner of the file and the caller was not privileged "
6701 "(B<CAP_FOWNER>)."
6702 msgstr ""
6703 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
6704 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
6705
6706 #. type: Plain text
6707 #: build/C/man2/open.2:598
6708 msgid ""
6709 "I<pathname> refers to a file on a read-only file system and write access was "
6710 "requested."
6711 msgstr ""
6712 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
6713 "込みアクセスが要求された。"
6714
6715 #. type: TP
6716 #: build/C/man2/open.2:598
6717 #, no-wrap
6718 msgid "B<ETXTBSY>"
6719 msgstr "B<ETXTBSY>"
6720
6721 #. type: Plain text
6722 #: build/C/man2/open.2:603
6723 msgid ""
6724 "I<pathname> refers to an executable image which is currently being executed "
6725 "and write access was requested."
6726 msgstr ""
6727 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
6728
6729 #. type: TP
6730 #: build/C/man2/open.2:603
6731 #, no-wrap
6732 msgid "B<EWOULDBLOCK>"
6733 msgstr "B<EWOULDBLOCK>"
6734
6735 #. type: Plain text
6736 #: build/C/man2/open.2:610
6737 msgid ""
6738 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
6739 "the file (see B<fcntl>(2))."
6740 msgstr ""
6741 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
6742 "ていた (B<fcntl>(2)  参照)。"
6743
6744 #. type: Plain text
6745 #: build/C/man2/open.2:623
6746 msgid ""
6747 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
6748 "B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
6749 "B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
6750 "definitions."
6751 msgstr ""
6752 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
6753 "B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
6754 "は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
6755 "定義する必要があるかもしれない。"
6756
6757 #. type: Plain text
6758 #: build/C/man2/open.2:628
6759 msgid ""
6760 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
6761 "POSIX.1-2008."
6762 msgstr ""
6763 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
6764 "定されている。"
6765
6766 #. type: Plain text
6767 #: build/C/man2/open.2:636
6768 msgid ""
6769 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
6770 "(before including I<any> header files)  to get its definition."
6771 msgstr ""
6772 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
6773 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
6774 "なければならない。"
6775
6776 #. type: Plain text
6777 #: build/C/man2/open.2:644
6778 msgid ""
6779 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
6780 "does not necessarily have the intention to read or write.  This is typically "
6781 "used to open devices in order to get a file descriptor for use with B<ioctl>"
6782 "(2)."
6783 msgstr ""
6784 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
6785 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
6786 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
6787 "られる。"
6788
6789 #.  See for example util-linux's disk-utils/setfdprm.c
6790 #.  For some background on access mode 3, see
6791 #.  http://thread.gmane.org/gmane.linux.kernel/653123
6792 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
6793 #.  LKML, 12 Mar 2008
6794 #. type: Plain text
6795 #: build/C/man2/open.2:673
6796 msgid ""
6797 "Unlike the other values that can be specified in I<flags>, the I<access "
6798 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
6799 "individual bits.  Rather, they define the low order two bits of I<flags>, "
6800 "and are defined respectively as 0, 1, and 2.  In other words, the "
6801 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
6802 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
6803 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
6804 "and write permission on the file and return a descriptor that can't be used "
6805 "for reading or writing.  This nonstandard access mode is used by some Linux "
6806 "drivers to return a descriptor that is only to be used for device-specific "
6807 "B<ioctl>(2)  operations."
6808 msgstr ""
6809 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
6810 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
6811 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
6812 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
6813 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
6814 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
6815 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
6816 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
6817 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで使用され"
6818 "ており、 デバイス固有の B<ioctl>(2)  操作にのみ使用されるディスクリプタを返す"
6819 "ために使われている。"
6820
6821 #.  Linux 2.0, 2.5: truncate
6822 #.  Solaris 5.7, 5.8: truncate
6823 #.  Irix 6.5: truncate
6824 #.  Tru64 5.1B: truncate
6825 #.  HP-UX 11.22: truncate
6826 #.  FreeBSD 4.7: truncate
6827 #. type: Plain text
6828 #: build/C/man2/open.2:684
6829 msgid ""
6830 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
6831 "implementations.  On many systems the file is actually truncated."
6832 msgstr ""
6833 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
6834 "くのシステムではファイルは実際に切り詰められる。"
6835
6836 #. type: Plain text
6837 #: build/C/man2/open.2:688
6838 msgid ""
6839 "There are many infelicities in the protocol underlying NFS, affecting "
6840 "amongst others B<O_SYNC> and B<O_NDELAY>."
6841 msgstr ""
6842 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
6843 "B<O_NDELAY> に影響する。"
6844
6845 #. type: Plain text
6846 #: build/C/man2/open.2:710
6847 msgid ""
6848 "POSIX provides for three different variants of synchronized I/O, "
6849 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
6850 "(2.6.31), Linux only implements B<O_SYNC>, but glibc maps B<O_DSYNC> and "
6851 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
6852 "systems don't actually implement the POSIX B<O_SYNC> semantics, which "
6853 "require all metadata updates of a write to be on disk on returning to "
6854 "userspace, but only the B<O_DSYNC> semantics, which require only actual file "
6855 "data and metadata necessary to retrieve it to be on disk by the time the "
6856 "system call returns."
6857 msgstr ""
6858 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
6859 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
6860 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
6861 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
6862 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
6863 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
6864 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
6865 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
6866 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
6867 "ていればよい。"
6868
6869 #. type: Plain text
6870 #: build/C/man2/open.2:718
6871 msgid ""
6872 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
6873 "create them; use B<mknod>(2)  instead."
6874 msgstr ""
6875 "B<open>()  はスペシャルファイルをオープンすることができるが、 B<creat>()  で"
6876 "スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  を使"
6877 "用する。"
6878
6879 #. type: Plain text
6880 #: build/C/man2/open.2:731
6881 msgid ""
6882 "On NFS file systems with UID mapping enabled, B<open>()  may return a file "
6883 "descriptor but, for example, B<read>(2)  requests are denied with "
6884 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
6885 "permissions, but UID mapping is performed by the server upon read and write "
6886 "requests."
6887 msgstr ""
6888 "UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
6889 "ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
6890 "る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
6891 "が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
6892 "る。"
6893
6894 #. type: Plain text
6895 #: build/C/man2/open.2:750
6896 msgid ""
6897 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
6898 "fields (respectively, time of last access, time of last status change, and "
6899 "time of last modification; see B<stat>(2))  are set to the current time, and "
6900 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
6901 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
6902 "st_ctime and st_mtime fields are set to the current time."
6903 msgstr ""
6904 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
6905 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
6906 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
6907 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
6908 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
6909 "I<st_mtime> フィールドが現在時刻に設定される。"
6910
6911 #. type: SS
6912 #: build/C/man2/open.2:750
6913 #, no-wrap
6914 msgid "O_DIRECT"
6915 msgstr "O_DIRECT"
6916
6917 #. type: Plain text
6918 #: build/C/man2/open.2:767
6919 msgid ""
6920 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
6921 "address of userspace buffers and the file offset of I/Os.  In Linux "
6922 "alignment restrictions vary by file system and kernel version and might be "
6923 "absent entirely.  However there is currently no file system-independent "
6924 "interface for an application to discover these restrictions for a given file "
6925 "or file system.  Some file systems provide their own interfaces for doing "
6926 "so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
6927 msgstr ""
6928 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
6929 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
6930 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
6931 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
6932 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
6933 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
6934 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
6935 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
6936
6937 #. type: Plain text
6938 #: build/C/man2/open.2:772
6939 msgid ""
6940 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
6941 "the file offset must all be multiples of the logical block size of the file "
6942 "system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
6943 msgstr ""
6944 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
6945 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
6946 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
6947
6948 #. type: Plain text
6949 #: build/C/man2/open.2:806
6950 msgid ""
6951 "B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2)  "
6952 "system call, if the memory buffer is a private mapping (i.e., any mapping "
6953 "created with the B<mmap(2)> B<MAP_PRIVATE> flag; this includes memory "
6954 "allocated on the heap and statically allocated buffers).  Any such I/Os, "
6955 "whether submitted via an asynchronous I/O interface or from another thread "
6956 "in the process, should be completed before B<fork>(2)  is called.  Failure "
6957 "to do so can result in data corruption and undefined behavior in parent and "
6958 "child processes.  This restriction does not apply when the memory buffer for "
6959 "the B<O_DIRECT> I/Os was created using B<shmat>(2)  or B<mmap>(2)  with the "
6960 "B<MAP_SHARED> flag.  Nor does this restriction apply when the memory buffer "
6961 "has been advised as B<MADV_DONTFORK> with B<madvise(2),> ensuring that it "
6962 "will not be available to the child after B<fork>(2)."
6963 msgstr ""
6964
6965 #. type: Plain text
6966 #: build/C/man2/open.2:816
6967 msgid ""
6968 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
6969 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
6970 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
6971 "flag of the same name, but without alignment restrictions."
6972 msgstr ""
6973 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
6974 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
6975 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
6976 "ラグを導入したが、アラインメントの制限はない。"
6977
6978 #. type: Plain text
6979 #: build/C/man2/open.2:825
6980 msgid ""
6981 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
6982 "Linux kernels simply ignore this flag.  Some file systems may not implement "
6983 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
6984 msgstr ""
6985 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
6986 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
6987 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
6988 "と B<open>()  は B<EINVAL> で失敗する。"
6989
6990 #. type: Plain text
6991 #: build/C/man2/open.2:836
6992 msgid ""
6993 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
6994 "file, and especially to overlapping byte regions in the same file.  Even "
6995 "when the file system correctly handles the coherency issues in this "
6996 "situation, overall I/O throughput is likely to be slower than using either "
6997 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
6998 "with direct I/O to the same files."
6999 msgstr ""
7000 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
7001 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
7002 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
7003 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
7004 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
7005 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
7006
7007 #. type: Plain text
7008 #: build/C/man2/open.2:858
7009 msgid ""
7010 "The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
7011 "Older kernels, or kernels configured in certain ways, may not support this "
7012 "combination.  The NFS protocol does not support passing the flag to the "
7013 "server, so B<O_DIRECT> I/O will only bypass the page cache on the client; "
7014 "the server may still cache the I/O.  The client asks the server to make the "
7015 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
7016 "servers will perform poorly under these circumstances, especially if the I/O "
7017 "size is small.  Some servers may also be configured to lie to clients about "
7018 "the I/O having reached stable storage; this will avoid the performance "
7019 "penalty at some risk to data integrity in the event of server power "
7020 "failure.  The Linux NFS client places no alignment restrictions on "
7021 "B<O_DIRECT> I/O."
7022 msgstr ""
7023 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
7024 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
7025 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
7026 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
7027 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
7028 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
7029 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
7030 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
7031 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
7032 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
7033 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
7034 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
7035
7036 #. type: Plain text
7037 #: build/C/man2/open.2:865
7038 msgid ""
7039 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
7040 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
7041 "as a performance option which is disabled by default."
7042 msgstr ""
7043 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
7044 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
7045 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
7046
7047 #. type: Plain text
7048 #: build/C/man2/open.2:870
7049 msgid ""
7050 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
7051 "interface is just stupid, and was probably designed by a deranged monkey on "
7052 "some serious mind-controlling substances.\"\\(emLinus"
7053 msgstr ""
7054 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
7055 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
7056 "な」 \\(em Linus"
7057
7058 #.  FIXME . Check bugzilla report on open(O_ASYNC)
7059 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
7060 #. type: Plain text
7061 #: build/C/man2/open.2:882
7062 msgid ""
7063 "Currently, it is not possible to enable signal-driven I/O by specifying "
7064 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7065 msgstr ""
7066 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7067 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7068 "すること。"
7069
7070 #. type: Plain text
7071 #: build/C/man2/open.2:904
7072 msgid ""
7073 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7074 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7075 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7076 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7077 msgstr ""
7078 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7079 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7080 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7081 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7082
7083 #. type: TH
7084 #: build/C/man3/perror.3:30
7085 #, no-wrap
7086 msgid "PERROR"
7087 msgstr "PERROR"
7088
7089 #. type: TH
7090 #: build/C/man3/perror.3:30
7091 #, no-wrap
7092 msgid "2012-04-17"
7093 msgstr "2012-04-17"
7094
7095 #. type: Plain text
7096 #: build/C/man3/perror.3:33
7097 msgid "perror - print a system error message"
7098 msgstr "perror - システムエラーメッセージを出力する"
7099
7100 #. type: Plain text
7101 #: build/C/man3/perror.3:37
7102 msgid "B<void perror(const char *>I<s>B<);>"
7103 msgstr "B<void perror(const char *>I<s>B<);>"
7104
7105 #. type: Plain text
7106 #: build/C/man3/perror.3:39
7107 msgid "B<#include E<lt>errno.hE<gt>>"
7108 msgstr "B<#include E<lt>errno.hE<gt>>"
7109
7110 #. type: Plain text
7111 #: build/C/man3/perror.3:41
7112 msgid "B<const char *>I<sys_errlist>B<[];>"
7113 msgstr "B<const char *>I<sys_errlist>B<[];>"
7114
7115 #. type: Plain text
7116 #: build/C/man3/perror.3:43
7117 msgid "B<int >I<sys_nerr>B<;>"
7118 msgstr "B<int >I<sys_nerr>B<;>"
7119
7120 #. type: Plain text
7121 #: build/C/man3/perror.3:45
7122 msgid "B<int >I<errno>B<;>"
7123 msgstr "B<int >I<errno>B<;>"
7124
7125 #. type: Plain text
7126 #: build/C/man3/perror.3:54
7127 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7128 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7129
7130 #. type: Plain text
7131 #: build/C/man3/perror.3:67
7132 msgid ""
7133 "The routine B<perror>()  produces a message on the standard error output, "
7134 "describing the last error encountered during a call to a system or library "
7135 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7136 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7137 "blank.  Then the message and a new-line."
7138 msgstr ""
7139 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7140 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7141 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7142 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7143 "メッセージと改行が出力される。"
7144
7145 #. type: Plain text
7146 #: build/C/man3/perror.3:75
7147 msgid ""
7148 "To be of most use, the argument string should include the name of the "
7149 "function that incurred the error.  The error number is taken from the "
7150 "external variable I<errno>, which is set when errors occur but not cleared "
7151 "when successful calls are made."
7152 msgstr ""
7153 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7154 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7155 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7156
7157 #. type: Plain text
7158 #: build/C/man3/perror.3:89
7159 msgid ""
7160 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7161 "obtain the error message without the newline.  The largest message number "
7162 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
7163 "this list because new error values may not have been added to I<sys_errlist>"
7164 "[].  The use of I<sys_errlist>[] is nowadays deprecated."
7165 msgstr ""
7166 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
7167 "の\n"
7168 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセー"
7169 "ジ\n"
7170 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意するこ"
7171 "と。\n"
7172 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7173 "る。\n"
7174 "現在では、I<sys_errlist>[] の使用は非推奨となっている。"
7175
7176 #. type: Plain text
7177 #: build/C/man3/perror.3:111
7178 msgid ""
7179 "When a system call fails, it usually returns -1 and sets the variable "
7180 "I<errno> to a value describing what went wrong.  (These values can be found "
7181 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7182 "B<perror>()  serves to translate this error code into human-readable form.  "
7183 "Note that I<errno> is undefined after a successful library call: this call "
7184 "may well change this variable, even though it succeeds, for example because "
7185 "it internally used some other library function that failed.  Thus, if a "
7186 "failing call is not immediately followed by a call to B<perror>(), the value "
7187 "of I<errno> should be saved."
7188 msgstr ""
7189 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7190 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7191 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7192 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7193 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7194 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7195 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7196 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7197 "い。"
7198
7199 #. type: Plain text
7200 #: build/C/man3/perror.3:124
7201 msgid ""
7202 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7203 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7204 "I<sys_errlist> conform to BSD."
7205 msgstr ""
7206 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7207 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7208 "に準拠している。"
7209
7210 #.  and only when _BSD_SOURCE is defined.
7211 #.  When
7212 #.  .B _GNU_SOURCE
7213 #.  is defined, the symbols
7214 #.  .I _sys_nerr
7215 #.  and
7216 #.  .I _sys_errlist
7217 #.  are provided.
7218 #. type: Plain text
7219 #: build/C/man3/perror.3:139
7220 msgid ""
7221 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7222 "I<E<lt>stdio.hE<gt>>."
7223 msgstr ""
7224 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7225 "I<E<lt>stdio.hE<gt>> に含まれている。"
7226
7227 #. type: Plain text
7228 #: build/C/man3/perror.3:144
7229 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7230 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7231
7232 #. type: TH
7233 #: build/C/man2/pipe.2:36
7234 #, no-wrap
7235 msgid "PIPE"
7236 msgstr "PIPE"
7237
7238 #. type: TH
7239 #: build/C/man2/pipe.2:36
7240 #, no-wrap
7241 msgid "2012-02-14"
7242 msgstr "2012-02-14"
7243
7244 #. type: Plain text
7245 #: build/C/man2/pipe.2:39
7246 msgid "pipe, pipe2 - create pipe"
7247 msgstr "pipe, pipe2 - パイプを生成する"
7248
7249 #. type: Plain text
7250 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7251 #, no-wrap
7252 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7253 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7254
7255 #. type: Plain text
7256 #: build/C/man2/pipe.2:44
7257 #, no-wrap
7258 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7259 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7260
7261 #. type: Plain text
7262 #: build/C/man2/pipe.2:48
7263 #, no-wrap
7264 msgid ""
7265 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7266 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7267 "B<#include E<lt>unistd.hE<gt>>\n"
7268 msgstr ""
7269 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7270 "B<#include E<lt>fcntl.hE<gt>>              /* O_* 定数の定義の取得 */\n"
7271 "B<#include E<lt>unistd.hE<gt>>\n"
7272
7273 #. type: Plain text
7274 #: build/C/man2/pipe.2:50
7275 #, no-wrap
7276 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7277 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7278
7279 #. type: Plain text
7280 #: build/C/man2/pipe.2:66
7281 msgid ""
7282 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7283 "for interprocess communication.  The array I<pipefd> is used to return two "
7284 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7285 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7286 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7287 "until it is read from the read end of the pipe.  For further details, see "
7288 "B<pipe>(7)."
7289 msgstr ""
7290 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7291 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7292 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7293 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7294 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7295 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7296
7297 #. type: Plain text
7298 #: build/C/man2/pipe.2:76
7299 msgid ""
7300 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7301 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7302 msgstr ""
7303 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7304 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7305 "きる。"
7306
7307 #. type: TP
7308 #: build/C/man2/pipe.2:76
7309 #, no-wrap
7310 msgid "B<O_NONBLOCK>"
7311 msgstr "B<O_NONBLOCK>"
7312
7313 #. type: Plain text
7314 #: build/C/man2/pipe.2:84
7315 msgid ""
7316 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7317 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7318 "the same result."
7319 msgstr ""
7320 "新しく生成される二つのオープンファイル記述 (open file description) の "
7321 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7322 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7323 "なる。"
7324
7325 #. type: TP
7326 #: build/C/man2/pipe.2:84
7327 #, no-wrap
7328 msgid "B<O_CLOEXEC>"
7329 msgstr "B<O_CLOEXEC>"
7330
7331 #. type: Plain text
7332 #: build/C/man2/pipe.2:92
7333 msgid ""
7334 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7335 "descriptors.  See the description of the same flag in B<open>(2)  for "
7336 "reasons why this may be useful."
7337 msgstr ""
7338 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7339 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7340 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7341
7342 #. type: Plain text
7343 #: build/C/man2/pipe.2:102
7344 msgid "I<pipefd> is not valid."
7345 msgstr "I<pipefd> が無効な値である。"
7346
7347 #. type: Plain text
7348 #: build/C/man2/pipe.2:107
7349 msgid "(B<pipe2>())  Invalid value in I<flags>."
7350 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7351
7352 #. type: Plain text
7353 #: build/C/man2/pipe.2:110
7354 msgid "Too many file descriptors are in use by the process."
7355 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7356
7357 #. type: Plain text
7358 #: build/C/man2/pipe.2:118
7359 msgid ""
7360 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7361 "starting with version 2.9."
7362 msgstr ""
7363 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7364 "はバージョン 2.9 以降で利用できる。"
7365
7366 #. type: Plain text
7367 #: build/C/man2/pipe.2:121
7368 msgid "B<pipe>(): POSIX.1-2001."
7369 msgstr "B<pipe>(): POSIX.1-2001."
7370
7371 #. type: Plain text
7372 #: build/C/man2/pipe.2:124
7373 msgid "B<pipe2>()  is Linux-specific."
7374 msgstr "B<pipe2>()  は Linux 固有である。"
7375
7376 #.  fork.2 refers to this example program.
7377 #. type: Plain text
7378 #: build/C/man2/pipe.2:140
7379 msgid ""
7380 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7381 "process; the child inherits a duplicate set of file descriptors that refer "
7382 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7383 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7384 "the string contained in the program's command-line argument to the pipe, and "
7385 "the child reads this string a byte at a time from the pipe and echoes it on "
7386 "standard output."
7387 msgstr ""
7388 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7389 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7390 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7391 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7392 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7393 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7394
7395 #. type: Plain text
7396 #: build/C/man2/pipe.2:147
7397 #, no-wrap
7398 msgid ""
7399 "#include E<lt>sys/wait.hE<gt>\n"
7400 "#include E<lt>stdio.hE<gt>\n"
7401 "#include E<lt>stdlib.hE<gt>\n"
7402 "#include E<lt>unistd.hE<gt>\n"
7403 "#include E<lt>string.hE<gt>\n"
7404 msgstr ""
7405 "#include E<lt>sys/wait.hE<gt>\n"
7406 "#include E<lt>stdio.hE<gt>\n"
7407 "#include E<lt>stdlib.hE<gt>\n"
7408 "#include E<lt>unistd.hE<gt>\n"
7409 "#include E<lt>string.hE<gt>\n"
7410
7411 #. type: Plain text
7412 #: build/C/man2/pipe.2:154
7413 #, no-wrap
7414 msgid ""
7415 "int\n"
7416 "main(int argc, char *argv[])\n"
7417 "{\n"
7418 "    int pipefd[2];\n"
7419 "    pid_t cpid;\n"
7420 "    char buf;\n"
7421 msgstr ""
7422 "int\n"
7423 "main(int argc, char *argv[])\n"
7424 "{\n"
7425 "    int pipefd[2];\n"
7426 "    pid_t cpid;\n"
7427 "    char buf;\n"
7428
7429 #. type: Plain text
7430 #: build/C/man2/pipe.2:159
7431 #, no-wrap
7432 msgid ""
7433 "    if (argc != 2) {\n"
7434 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7435 "\texit(EXIT_FAILURE);\n"
7436 "    }\n"
7437 msgstr ""
7438 "    if (argc != 2) {\n"
7439 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7440 "\texit(EXIT_FAILURE);\n"
7441 "    }\n"
7442
7443 #. type: Plain text
7444 #: build/C/man2/pipe.2:164
7445 #, no-wrap
7446 msgid ""
7447 "    if (pipe(pipefd) == -1) {\n"
7448 "        perror(\"pipe\");\n"
7449 "        exit(EXIT_FAILURE);\n"
7450 "    }\n"
7451 msgstr ""
7452 "    if (pipe(pipefd) == -1) {\n"
7453 "        perror(\"pipe\");\n"
7454 "        exit(EXIT_FAILURE);\n"
7455 "    }\n"
7456
7457 #. type: Plain text
7458 #: build/C/man2/pipe.2:170
7459 #, no-wrap
7460 msgid ""
7461 "    cpid = fork();\n"
7462 "    if (cpid == -1) {\n"
7463 "        perror(\"fork\");\n"
7464 "        exit(EXIT_FAILURE);\n"
7465 "    }\n"
7466 msgstr ""
7467 "    cpid = fork();\n"
7468 "    if (cpid == -1) {\n"
7469 "        perror(\"fork\");\n"
7470 "        exit(EXIT_FAILURE);\n"
7471 "    }\n"
7472
7473 #. type: Plain text
7474 #: build/C/man2/pipe.2:173
7475 #, no-wrap
7476 msgid ""
7477 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7478 "        close(pipefd[1]);          /* Close unused write end */\n"
7479 msgstr ""
7480 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7481 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7482
7483 #. type: Plain text
7484 #: build/C/man2/pipe.2:176
7485 #, no-wrap
7486 msgid ""
7487 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7488 "            write(STDOUT_FILENO, &buf, 1);\n"
7489 msgstr ""
7490 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7491 "            write(STDOUT_FILENO, &buf, 1);\n"
7492
7493 #. type: Plain text
7494 #: build/C/man2/pipe.2:180
7495 #, no-wrap
7496 msgid ""
7497 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7498 "        close(pipefd[0]);\n"
7499 "        _exit(EXIT_SUCCESS);\n"
7500 msgstr ""
7501 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7502 "        close(pipefd[0]);\n"
7503 "        _exit(EXIT_SUCCESS);\n"
7504
7505 #. type: Plain text
7506 #: build/C/man2/pipe.2:189
7507 #, no-wrap
7508 msgid ""
7509 "    } else {            /* Parent writes argv[1] to pipe */\n"
7510 "        close(pipefd[0]);          /* Close unused read end */\n"
7511 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7512 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7513 "        wait(NULL);                /* Wait for child */\n"
7514 "        exit(EXIT_SUCCESS);\n"
7515 "    }\n"
7516 "}\n"
7517 msgstr ""
7518 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7519 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7520 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7521 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7522 "        wait(NULL);                /* 子プロセスを待つ */\n"
7523 "        exit(EXIT_SUCCESS);\n"
7524 "    }\n"
7525 "}\n"
7526
7527 #. type: Plain text
7528 #: build/C/man2/pipe.2:197
7529 msgid ""
7530 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7531 "(7)"
7532 msgstr ""
7533 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7534 "(7)"
7535
7536 #. type: TH
7537 #: build/C/man3/popen.3:38
7538 #, no-wrap
7539 msgid "POPEN"
7540 msgstr "POPEN"
7541
7542 #. type: TH
7543 #: build/C/man3/popen.3:38
7544 #, no-wrap
7545 msgid "2010-02-03"
7546 msgstr "2010-02-03"
7547
7548 #. type: Plain text
7549 #: build/C/man3/popen.3:41
7550 msgid "popen, pclose - pipe stream to or from a process"
7551 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
7552
7553 #. type: Plain text
7554 #: build/C/man3/popen.3:46
7555 #, no-wrap
7556 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7557 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7558
7559 #. type: Plain text
7560 #: build/C/man3/popen.3:48
7561 #, no-wrap
7562 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7563 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7564
7565 #. type: Plain text
7566 #: build/C/man3/popen.3:58
7567 msgid "B<popen>(), B<pclose>():"
7568 msgstr "B<popen>(), B<pclose>():"
7569
7570 #. type: Plain text
7571 #: build/C/man3/popen.3:60
7572 msgid ""
7573 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7574 msgstr ""
7575 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7576
7577 #. type: Plain text
7578 #: build/C/man3/popen.3:71
7579 msgid ""
7580 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7581 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7582 "I<type> argument may specify only reading or writing, not both; the "
7583 "resulting stream is correspondingly read-only or write-only."
7584 msgstr ""
7585 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7586 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7587 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7588 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7589 "たは 書き込み専用のいずれかとなる。"
7590
7591 #. type: Plain text
7592 #: build/C/man3/popen.3:95
7593 msgid ""
7594 "The I<command> argument is a pointer to a null-terminated string containing "
7595 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
7596 "flag; interpretation, if any, is performed by the shell.  The I<type> "
7597 "argument is a pointer to a null-terminated string which must contain either "
7598 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
7599 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
7600 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
7601 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
7602 "B<open>(2)  for reasons why this may be useful."
7603 msgstr ""
7604 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
7605 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
7606 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
7607 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
7608 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
7609 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
7610 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
7611 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
7612 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7613
7614 #. type: Plain text
7615 #: build/C/man3/popen.3:111
7616 msgid ""
7617 "The return value from B<popen>()  is a normal standard I/O stream in all "
7618 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
7619 "(3).  Writing to such a stream writes to the standard input of the command; "
7620 "the command's standard output is the same as that of the process that called "
7621 "B<popen>(), unless this is altered by the command itself.  Conversely, "
7622 "reading from a \"popened\" stream reads the command's standard output, and "
7623 "the command's standard input is the same as that of the process that called "
7624 "B<popen>()."
7625 msgstr ""
7626 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
7627 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
7628 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
7629 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
7630 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
7631 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
7632 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
7633 "セスの標準入力と同一である。"
7634
7635 #. type: Plain text
7636 #: build/C/man3/popen.3:115
7637 msgid "Note that output B<popen>()  streams are fully buffered by default."
7638 msgstr ""
7639 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
7640 "に注意しよう。"
7641
7642 #. type: Plain text
7643 #: build/C/man3/popen.3:121
7644 msgid ""
7645 "The B<pclose>()  function waits for the associated process to terminate and "
7646 "returns the exit status of the command as returned by B<wait4>(2)."
7647 msgstr ""
7648 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
7649 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
7650
7651 #. type: Plain text
7652 #: build/C/man3/popen.3:129
7653 msgid ""
7654 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
7655 "calls fail, or if it cannot allocate memory."
7656 msgstr ""
7657 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
7658 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
7659
7660 #.  These conditions actually give undefined results, so I commented
7661 #.  them out.
7662 #.  .I stream
7663 #.  is not associated with a "popen()ed" command, if
7664 #. .I stream
7665 #.  already "pclose()d", or if
7666 #. type: Plain text
7667 #: build/C/man3/popen.3:141
7668 msgid ""
7669 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
7670 "some other error is detected."
7671 msgstr ""
7672 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
7673 "かった場合、 -1 を返す。"
7674
7675 #. type: Plain text
7676 #: build/C/man3/popen.3:160
7677 msgid ""
7678 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
7679 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
7680 "appropriately.  If the I<type> argument is invalid, and this condition is "
7681 "detected, I<errno> is set to B<EINVAL>."
7682 msgstr ""
7683 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
7684 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
7685 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
7686 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
7687
7688 #. type: Plain text
7689 #: build/C/man3/popen.3:167
7690 msgid ""
7691 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
7692 msgstr ""
7693 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
7694 "B<ECHILD> にセットされる。"
7695
7696 #. type: Plain text
7697 #: build/C/man3/popen.3:173
7698 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
7699 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
7700
7701 #. type: Plain text
7702 #: build/C/man3/popen.3:186
7703 msgid ""
7704 "Since the standard input of a command opened for reading shares its seek "
7705 "offset with the process that called B<popen>(), if the original process has "
7706 "done a buffered read, the command's input position may not be as expected.  "
7707 "Similarly, the output from a command opened for writing may become "
7708 "intermingled with that of the original process.  The latter can be avoided "
7709 "by calling B<fflush>(3)  before B<popen>()."
7710 msgstr ""
7711 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
7712 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
7713 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
7714 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
7715 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
7716 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
7717
7718 #.  .SH HISTORY
7719 #.  A
7720 #.  .BR popen ()
7721 #.  and a
7722 #.  .BR pclose ()
7723 #.  function appeared in Version 7 AT&T UNIX.
7724 #. type: Plain text
7725 #: build/C/man3/popen.3:196
7726 msgid ""
7727 "Failure to execute the shell is indistinguishable from the shell's failure "
7728 "to execute command, or an immediate exit of the command.  The only hint is "
7729 "an exit status of 127."
7730 msgstr ""
7731 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
7732 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
7733 "なることである。"
7734
7735 #. type: Plain text
7736 #: build/C/man3/popen.3:206
7737 msgid ""
7738 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7739 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7740 msgstr ""
7741 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7742 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7743
7744 #. type: TH
7745 #: build/C/man3/printf.3:34
7746 #, no-wrap
7747 msgid "PRINTF"
7748 msgstr "PRINTF"
7749
7750 #. type: TH
7751 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man3/scanf.3:50
7752 #, no-wrap
7753 msgid "2011-09-28"
7754 msgstr "2011-09-28"
7755
7756 #. type: Plain text
7757 #: build/C/man3/printf.3:38
7758 msgid ""
7759 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7760 "formatted output conversion"
7761 msgstr ""
7762 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7763 "指定された書式に変換して出力を行う"
7764
7765 #. type: Plain text
7766 #: build/C/man3/printf.3:42
7767 msgid "B<int printf(const char *>I<format>B<, ...);>"
7768 msgstr "B<int printf(const char *>I<format>B<, ...);>"
7769
7770 #. type: Plain text
7771 #: build/C/man3/printf.3:44
7772 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7773 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7774
7775 #. type: Plain text
7776 #: build/C/man3/printf.3:46
7777 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7778 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7779
7780 #. type: Plain text
7781 #: build/C/man3/printf.3:48
7782 msgid ""
7783 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7784 "*>I<format>B<, ...);>"
7785 msgstr ""
7786 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7787 "*>I<format>B<, ...);>"
7788
7789 #. type: Plain text
7790 #: build/C/man3/printf.3:50
7791 msgid "B<#include E<lt>stdarg.hE<gt>>"
7792 msgstr "B<#include E<lt>stdarg.hE<gt>>"
7793
7794 #. type: Plain text
7795 #: build/C/man3/printf.3:52
7796 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7797 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7798
7799 #. type: Plain text
7800 #: build/C/man3/printf.3:54
7801 msgid ""
7802 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7803 ">I<ap>B<);>"
7804 msgstr ""
7805 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7806 ">I<ap>B<);>"
7807
7808 #. type: Plain text
7809 #: build/C/man3/printf.3:56
7810 msgid ""
7811 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7812 msgstr ""
7813 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7814
7815 #. type: Plain text
7816 #: build/C/man3/printf.3:59
7817 msgid ""
7818 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7819 "*>I<format>B<, va_list >I<ap>B<);>"
7820 msgstr ""
7821 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7822 "*>I<format>B<, va_list >I<ap>B<);>"
7823
7824 #. type: Plain text
7825 #: build/C/man3/printf.3:68
7826 msgid "B<snprintf>(), B<vsnprintf>():"
7827 msgstr "B<snprintf>(), B<vsnprintf>():"
7828
7829 #. type: Plain text
7830 #: build/C/man3/printf.3:71
7831 msgid ""
7832 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7833 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7834 msgstr ""
7835 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7836 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7837
7838 #. type: Plain text
7839 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:83
7840 msgid "or I<cc -std=c99>"
7841 msgstr "or I<cc -std=c99>"
7842
7843 #. type: Plain text
7844 #: build/C/man3/printf.3:101
7845 msgid ""
7846 "The functions in the B<printf>()  family produce output according to a "
7847 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
7848 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
7849 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
7850 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
7851 "string I<str>."
7852 msgstr ""
7853 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
7854 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
7855 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
7856 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7857 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
7858
7859 #. type: Plain text
7860 #: build/C/man3/printf.3:110
7861 msgid ""
7862 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
7863 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
7864 msgstr ""
7865 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
7866 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
7867
7868 #. type: Plain text
7869 #: build/C/man3/printf.3:134
7870 msgid ""
7871 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
7872 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
7873 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
7874 "instead of a variable number of arguments.  These functions do not call the "
7875 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
7876 "I<ap> is undefined after the call.  See B<stdarg>(3)."
7877 msgstr ""
7878 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
7879 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
7880 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
7881 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
7882 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
7883 "(3)  を参照のこと。"
7884
7885 #. type: Plain text
7886 #: build/C/man3/printf.3:141
7887 msgid ""
7888 "These eight functions write the output under the control of a I<format> "
7889 "string that specifies how subsequent arguments (or arguments accessed via "
7890 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
7891 "output."
7892 msgstr ""
7893 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
7894 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
7895 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
7896
7897 #. type: Plain text
7898 #: build/C/man3/printf.3:152
7899 msgid ""
7900 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
7901 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
7902 "copying to take place between objects that overlap (e.g., if the target "
7903 "string array and one of the supplied input arguments refer to the same "
7904 "buffer).  See NOTES."
7905 msgstr ""
7906 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7907 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
7908 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
7909 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
7910 "照。"
7911
7912 #. type: SS
7913 #: build/C/man3/printf.3:152
7914 #, no-wrap
7915 msgid "Return value"
7916 msgstr "Return Values"
7917
7918 #. type: Plain text
7919 #: build/C/man3/printf.3:155
7920 msgid ""
7921 "Upon successful return, these functions return the number of characters "
7922 "printed (excluding the null byte used to end output to strings)."
7923 msgstr ""
7924 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
7925 "用する NULL バイトは数に含まれない)。"
7926
7927 #. type: Plain text
7928 #: build/C/man3/printf.3:171
7929 msgid ""
7930 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
7931 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
7932 "the output was truncated due to this limit then the return value is the "
7933 "number of characters (excluding the terminating null byte)  which would have "
7934 "been written to the final string if enough space had been available.  Thus, "
7935 "a return value of I<size> or more means that the output was truncated.  (See "
7936 "also below under NOTES.)"
7937 msgstr ""
7938 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
7939 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
7940 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
7941 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
7942 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
7943 "する (後述の注意も参照のこと)。"
7944
7945 #. type: Plain text
7946 #: build/C/man3/printf.3:173
7947 msgid "If an output error is encountered, a negative value is returned."
7948 msgstr "エラーが発生した場合は、負の数を返す。"
7949
7950 #. type: SS
7951 #: build/C/man3/printf.3:173
7952 #, no-wrap
7953 msgid "Format of the format string"
7954 msgstr "フォーマット文字列のフォーマット"
7955
7956 #. type: Plain text
7957 #: build/C/man3/printf.3:195
7958 msgid ""
7959 "The format string is a character string, beginning and ending in its initial "
7960 "shift state, if any.  The format string is composed of zero or more "
7961 "directives: ordinary characters (not B<%>), which are copied unchanged to "
7962 "the output stream; and conversion specifications, each of which results in "
7963 "fetching zero or more subsequent arguments.  Each conversion specification "
7964 "is introduced by the character B<%>, and ends with a I<conversion "
7965 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
7966 "an optional minimum I<field width>, an optional I<precision> and an optional "
7967 "I<length modifier>."
7968 msgstr ""
7969 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
7970 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
7971 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
7972 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
7973 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
7974 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
7975 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
7976 "子> を (この順序で) 置くことができる。"
7977
7978 #. type: Plain text
7979 #: build/C/man3/printf.3:208
7980 msgid ""
7981 "The arguments must correspond properly (after type promotion) with the "
7982 "conversion specifier.  By default, the arguments are used in the order "
7983 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
7984 "next argument (and it is an error if insufficiently many arguments are "
7985 "given).  One can also specify explicitly which argument is taken, at each "
7986 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
7987 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
7988 "denotes the position in the argument list of the desired argument, indexed "
7989 "starting from 1.  Thus,"
7990 msgstr ""
7991 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
7992 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
7993 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
7994 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
7995 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
7996 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
7997 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
7998
7999 #. type: Plain text
8000 #: build/C/man3/printf.3:212
8001 #, no-wrap
8002 msgid "printf(\"%*d\", width, num);\n"
8003 msgstr "printf(\"%*d\", width, num);\n"
8004
8005 #. type: Plain text
8006 #: build/C/man3/printf.3:216
8007 msgid "and"
8008 msgstr "と"
8009
8010 #. type: Plain text
8011 #: build/C/man3/printf.3:220
8012 #, no-wrap
8013 msgid "printf(\"%2$*1$d\", width, num);\n"
8014 msgstr "printf(\"%2$*1$d\", width, num);\n"
8015
8016 #. type: Plain text
8017 #: build/C/man3/printf.3:236
8018 msgid ""
8019 "are equivalent.  The second style allows repeated references to the same "
8020 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
8021 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
8022 "\\(aq is used, it must be used throughout for all conversions taking an "
8023 "argument and all width and precision arguments, but it may be mixed with \"%%"
8024 "\" formats which do not consume an argument.  There may be no gaps in the "
8025 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
8026 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
8027 "format string."
8028 msgstr ""
8029 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
8030 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
8031 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
8032 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
8033 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
8034 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
8035 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
8036
8037 #. type: Plain text
8038 #: build/C/man3/printf.3:246
8039 msgid ""
8040 "For some numeric conversions a radix character (\"decimal point\") or "
8041 "thousands' grouping character is used.  The actual character used depends on "
8042 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
8043 "radix character, and does not have a grouping character.  Thus,"
8044 msgstr ""
8045 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
8046 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
8047 "\\(aq を用い、 区切り文字は使わない。 従って、"
8048
8049 #. type: Plain text
8050 #: build/C/man3/printf.3:250
8051 #, no-wrap
8052 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
8053 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
8054
8055 #. type: Plain text
8056 #: build/C/man3/printf.3:255
8057 msgid ""
8058 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
8059 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
8060 msgstr ""
8061 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
8062 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
8063
8064 #. type: SS
8065 #: build/C/man3/printf.3:255
8066 #, no-wrap
8067 msgid "The flag characters"
8068 msgstr "フラグ文字"
8069
8070 #. type: Plain text
8071 #: build/C/man3/printf.3:257
8072 msgid "The character % is followed by zero or more of the following flags:"
8073 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8074
8075 #. type: TP
8076 #: build/C/man3/printf.3:257
8077 #, no-wrap
8078 msgid "B<#>"
8079 msgstr "B<#>"
8080
8081 #. type: Plain text
8082 #: build/C/man3/printf.3:291
8083 msgid ""
8084 "The value should be converted to an \"alternate form\".  For B<o> "
8085 "conversions, the first character of the output string is made zero (by "
8086 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8087 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8088 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8089 "conversions, the result will always contain a decimal point, even if no "
8090 "digits follow it (normally, a decimal point appears in the results of those "
8091 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8092 "trailing zeros are not removed from the result as they would otherwise be.  "
8093 "For other conversions, the result is undefined."
8094 msgstr ""
8095 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8096 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8097 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8098 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8099 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8100 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8101 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8102 "変換では、結果は未定義である。"
8103
8104 #. type: TP
8105 #: build/C/man3/printf.3:291
8106 #, no-wrap
8107 msgid "B<\\&0>"
8108 msgstr "B<\\&0>"
8109
8110 #. type: Plain text
8111 #: build/C/man3/printf.3:331
8112 msgid ""
8113 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8114 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8115 "converted value is padded on the left with zeros rather than blanks.  If the "
8116 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8117 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8118 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8119 "is undefined."
8120 msgstr ""
8121 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8122 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8123 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8124 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8125 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8126 "である。"
8127
8128 #. type: TP
8129 #: build/C/man3/printf.3:331
8130 #, no-wrap
8131 msgid "B<->"
8132 msgstr "B<->"
8133
8134 #. type: Plain text
8135 #: build/C/man3/printf.3:344
8136 msgid ""
8137 "The converted value is to be left adjusted on the field boundary.  (The "
8138 "default is right justification.)  Except for B<n> conversions, the converted "
8139 "value is padded on the right with blanks, rather than on the left with "
8140 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8141 msgstr ""
8142 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8143 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8144 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8145
8146 #. type: TP
8147 #: build/C/man3/printf.3:344
8148 #, no-wrap
8149 msgid "B<\\(aq \\(aq>"
8150 msgstr "B<' '>"
8151
8152 #. type: Plain text
8153 #: build/C/man3/printf.3:348
8154 msgid ""
8155 "(a space) A blank should be left before a positive number (or empty string) "
8156 "produced by a signed conversion."
8157 msgstr ""
8158 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8159 "列) が置かれる。"
8160
8161 #. type: TP
8162 #: build/C/man3/printf.3:348
8163 #, no-wrap
8164 msgid "B<+>"
8165 msgstr "B<+>"
8166
8167 #. type: Plain text
8168 #: build/C/man3/printf.3:356
8169 msgid ""
8170 "A sign (+ or -) should always be placed before a number produced by a signed "
8171 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8172 "overrides a space if both are used."
8173 msgstr ""
8174 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8175 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8176 "が使われている場合には、 B<+> が優先される。"
8177
8178 #. type: Plain text
8179 #: build/C/man3/printf.3:359
8180 msgid ""
8181 "The five flag characters above are defined in the C standard.  The SUSv2 "
8182 "specifies one further flag character."
8183 msgstr ""
8184 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8185 "グ文字が規定されている。"
8186
8187 #. type: TP
8188 #: build/C/man3/printf.3:359
8189 #, no-wrap
8190 msgid "B<\\(aq>"
8191 msgstr "B<\\(aq>"
8192
8193 #. type: Plain text
8194 #: build/C/man3/printf.3:376
8195 msgid ""
8196 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8197 "output is to be grouped with thousands' grouping characters if the locale "
8198 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8199 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8200 "\\(aqF>."
8201 msgstr ""
8202 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8203 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8204 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8205 "\\(aqF は SUSv2 には含まれていない。"
8206
8207 #. type: Plain text
8208 #: build/C/man3/printf.3:378
8209 msgid "glibc 2.2 adds one further flag character."
8210 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8211
8212 #. type: TP
8213 #: build/C/man3/printf.3:378
8214 #, no-wrap
8215 msgid "B<I>"
8216 msgstr "B<I>"
8217
8218 #.  outdigits keyword in locale file
8219 #. type: Plain text
8220 #: build/C/man3/printf.3:388
8221 msgid ""
8222 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8223 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8224 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8225 msgstr ""
8226 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8227 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8228 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8229
8230 #. type: SS
8231 #: build/C/man3/printf.3:388
8232 #, no-wrap
8233 msgid "The field width"
8234 msgstr "フィールド幅"
8235
8236 #. type: Plain text
8237 #: build/C/man3/printf.3:404
8238 msgid ""
8239 "An optional decimal digit string (with nonzero first digit) specifying a "
8240 "minimum field width.  If the converted value has fewer characters than the "
8241 "field width, it will be padded with spaces on the left (or right, if the "
8242 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8243 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8244 "the field width is given in the next argument, or in the I<m>-th argument, "
8245 "respectively, which must be of type I<int>.  A negative field width is taken "
8246 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8247 "nonexistent or small field width cause truncation of a field; if the result "
8248 "of a conversion is wider than the field width, the field is expanded to "
8249 "contain the conversion result."
8250 msgstr ""
8251 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8252 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8253 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8254 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8255 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8256 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8257 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8258 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8259 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8260 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8261
8262 #. type: SS
8263 #: build/C/man3/printf.3:404
8264 #, no-wrap
8265 msgid "The precision"
8266 msgstr "精度"
8267
8268 #. type: Plain text
8269 #: build/C/man3/printf.3:440
8270 msgid ""
8271 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8272 "optional decimal digit string.  Instead of a decimal digit string one may "
8273 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8274 "precision is given in the next argument, or in the m-th argument, "
8275 "respectively, which must be of type I<int>.  If the precision is given as "
8276 "just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
8277 "zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
8278 "B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
8279 "the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
8280 "the maximum number of significant digits for B<g> and B<G> conversions, or "
8281 "the maximum number of characters to be printed from a string for B<s> and "
8282 "B<S> conversions."
8283 msgstr ""
8284 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8285 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8286 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8287 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8288 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8289 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8290 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8291 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8292 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8293 "る最大文字数を指定する。"
8294
8295 #. type: SS
8296 #: build/C/man3/printf.3:440
8297 #, no-wrap
8298 msgid "The length modifier"
8299 msgstr "長さ修飾子"
8300
8301 #. type: Plain text
8302 #: build/C/man3/printf.3:450
8303 msgid ""
8304 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8305 "B<X> conversion."
8306 msgstr ""
8307 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8308
8309 #. type: TP
8310 #: build/C/man3/printf.3:450 build/C/man3/scanf.3:291
8311 #, no-wrap
8312 msgid "B<hh>"
8313 msgstr "B<hh>"
8314
8315 #. type: Plain text
8316 #: build/C/man3/printf.3:461
8317 msgid ""
8318 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8319 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8320 "I<signed char> argument."
8321 msgstr ""
8322 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8323 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8324
8325 #. type: TP
8326 #: build/C/man3/printf.3:461 build/C/man3/scanf.3:281
8327 #, no-wrap
8328 msgid "B<h>"
8329 msgstr "B<h>"
8330
8331 #. type: Plain text
8332 #: build/C/man3/printf.3:472
8333 msgid ""
8334 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8335 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8336 "to a I<short int> argument."
8337 msgstr ""
8338 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8339 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8340
8341 #. type: TP
8342 #: build/C/man3/printf.3:472 build/C/man3/scanf.3:308
8343 #, no-wrap
8344 msgid "B<l>"
8345 msgstr "B<l>"
8346
8347 #. type: Plain text
8348 #: build/C/man3/printf.3:491
8349 msgid ""
8350 "(ell) A following integer conversion corresponds to a I<long int> or "
8351 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8352 "a pointer to a I<long int> argument, or a following B<c> conversion "
8353 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8354 "corresponds to a pointer to I<wchar_t> argument."
8355 msgstr ""
8356 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8357 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8358 "変換では I<wchar_t> へのポインタであることを示す。"
8359
8360 #. type: TP
8361 #: build/C/man3/printf.3:491
8362 #, no-wrap
8363 msgid "B<ll>"
8364 msgstr "B<ll> (エルエル)"
8365
8366 #. type: Plain text
8367 #: build/C/man3/printf.3:503
8368 msgid ""
8369 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8370 "or I<unsigned long long int> argument, or a following B<n> conversion "
8371 "corresponds to a pointer to a I<long long int> argument."
8372 msgstr ""
8373 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8374 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8375
8376 #. type: TP
8377 #: build/C/man3/printf.3:503 build/C/man3/scanf.3:335
8378 #, no-wrap
8379 msgid "B<L>"
8380 msgstr "B<L>"
8381
8382 #. type: Plain text
8383 #: build/C/man3/printf.3:519
8384 msgid ""
8385 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8386 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8387 "not.)"
8388 msgstr ""
8389 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8390 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8391 "認められていない。)"
8392
8393 #. type: TP
8394 #: build/C/man3/printf.3:519 build/C/man3/scanf.3:351
8395 #, no-wrap
8396 msgid "B<q>"
8397 msgstr "B<q>"
8398
8399 #. type: Plain text
8400 #: build/C/man3/printf.3:525
8401 msgid ""
8402 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8403 "B<ll>."
8404 msgstr ""
8405 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8406 "意味である。"
8407
8408 #. type: TP
8409 #: build/C/man3/printf.3:525 build/C/man3/scanf.3:299
8410 #, no-wrap
8411 msgid "B<j>"
8412 msgstr "B<j>"
8413
8414 #. type: Plain text
8415 #: build/C/man3/printf.3:532
8416 msgid ""
8417 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8418 "argument."
8419 msgstr ""
8420 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8421
8422 #. type: TP
8423 #: build/C/man3/printf.3:532 build/C/man3/scanf.3:363
8424 #, no-wrap
8425 msgid "B<z>"
8426 msgstr "B<z>"
8427
8428 #. type: Plain text
8429 #: build/C/man3/printf.3:543
8430 msgid ""
8431 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8432 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8433 msgstr ""
8434 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8435 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8436
8437 #. type: TP
8438 #: build/C/man3/printf.3:543 build/C/man3/scanf.3:356
8439 #, no-wrap
8440 msgid "B<t>"
8441 msgstr "B<t>"
8442
8443 #. type: Plain text
8444 #: build/C/man3/printf.3:548
8445 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8446 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8447
8448 #. type: Plain text
8449 #: build/C/man3/printf.3:577
8450 msgid ""
8451 "The SUSv2 only knows about the length modifiers B<h> (in B<hd>, B<hi>, "
8452 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8453 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8454 msgstr ""
8455 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8456 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8457 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8458
8459 #. type: SS
8460 #: build/C/man3/printf.3:577
8461 #, no-wrap
8462 msgid "The conversion specifier"
8463 msgstr "変換指定子"
8464
8465 #. type: Plain text
8466 #: build/C/man3/printf.3:580
8467 msgid ""
8468 "A character that specifies the type of conversion to be applied.  The "
8469 "conversion specifiers and their meanings are:"
8470 msgstr ""
8471 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8472
8473 #. type: TP
8474 #: build/C/man3/printf.3:580
8475 #, no-wrap
8476 msgid "B<d>, B<i>"
8477 msgstr "B<d>, B<i>"
8478
8479 #. type: Plain text
8480 #: build/C/man3/printf.3:590
8481 msgid ""
8482 "The I<int> argument is converted to signed decimal notation.  The precision, "
8483 "if any, gives the minimum number of digits that must appear; if the "
8484 "converted value requires fewer digits, it is padded on the left with zeros.  "
8485 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8486 "the output is empty."
8487 msgstr ""
8488 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8489 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8490 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8491 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8492
8493 #. type: TP
8494 #: build/C/man3/printf.3:590
8495 #, no-wrap
8496 msgid "B<o>, B<u>, B<x>, B<X>"
8497 msgstr "B<o>, B<u>, B<x>, B<X>"
8498
8499 #. type: Plain text
8500 #: build/C/man3/printf.3:617
8501 msgid ""
8502 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8503 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8504 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8505 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8506 "of digits that must appear; if the converted value requires fewer digits, it "
8507 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8508 "printed with an explicit precision 0, the output is empty."
8509 msgstr ""
8510 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8511 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8512 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8513 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8514 "られる。"
8515
8516 #. type: TP
8517 #: build/C/man3/printf.3:617
8518 #, no-wrap
8519 msgid "B<e>, B<E>"
8520 msgstr "B<e>, B<E>"
8521
8522 #. type: Plain text
8523 #: build/C/man3/printf.3:636
8524 #, fuzzy
8525 #| msgid ""
8526 #| "[-]dB<\\&.>dddB<e>\\*(Pmdd where there is one digit before the decimal-"
8527 #| "point character and the number of digits after it is equal to the "
8528 #| "precision; if the precision is missing, it is taken as 6; if the "
8529 #| "precision is zero, no decimal-point character appears.  An B<E> "
8530 #| "conversion uses the letter B<E> (rather than B<e>)  to introduce the "
8531 #| "exponent.  The exponent always contains at least two digits; if the value "
8532 #| "is zero, the exponent is 00."
8533 msgid ""
8534 "The I<double> argument is rounded and converted in the style [-]dB<\\&."
8535 ">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
8536 "and the number of digits after it is equal to the precision; if the "
8537 "precision is missing, it is taken as 6; if the precision is zero, no decimal-"
8538 "point character appears.  An B<E> conversion uses the letter B<E> (rather "
8539 "than B<e>)  to introduce the exponent.  The exponent always contains at "
8540 "least two digits; if the value is zero, the exponent is 00."
8541 msgstr ""
8542 "[-]dB<\\&.>dddB<e>\\*(Pmdd の形に変換する。 小数点の前には一桁の数字があり、"
8543 "小数点以下の桁数は精度で指定された 桁数になる。精度は指定されなかった場合 6 "
8544 "とみなされる。 精度が 0 の場合には、小数点以下は表示されない。 B<E> 変換で"
8545 "は、指数を表現するときに (B<e> ではなく)  B<E> が使われる。 指数部分は少なく"
8546 "とも 2桁表示される。 つまり、指数の値が 0 の場合には、00 と表示される。"
8547
8548 #. type: TP
8549 #: build/C/man3/printf.3:636
8550 #, no-wrap
8551 msgid "B<f>, B<F>"
8552 msgstr "B<f>, B<F>"
8553
8554 #. type: Plain text
8555 #: build/C/man3/printf.3:647
8556 msgid ""
8557 "The I<double> argument is rounded and converted to decimal notation in the "
8558 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8559 "character is equal to the precision specification.  If the precision is "
8560 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8561 "point character appears.  If a decimal point appears, at least one digit "
8562 "appears before it."
8563 msgstr ""
8564 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8565 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8566 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8567 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8568
8569 #. type: Plain text
8570 #: build/C/man3/printf.3:658
8571 msgid ""
8572 "(The SUSv2 does not know about B<F> and says that character string "
8573 "representations for infinity and NaN may be made available.  The C99 "
8574 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8575 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8576 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8577 msgstr ""
8578 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
8579 "行ってもよいことになっている。\n"
8580 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示"
8581 "し、\n"
8582 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
8583 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
8584
8585 #. type: TP
8586 #: build/C/man3/printf.3:658
8587 #, no-wrap
8588 msgid "B<g>, B<G>"
8589 msgstr "B<g>, B<G>"
8590
8591 #. type: Plain text
8592 #: build/C/man3/printf.3:683
8593 msgid ""
8594 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
8595 "for B<G> conversions).  The precision specifies the number of significant "
8596 "digits.  If the precision is missing, 6 digits are given; if the precision "
8597 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
8598 "conversion is less than -4 or greater than or equal to the precision.  "
8599 "Trailing zeros are removed from the fractional part of the result; a decimal "
8600 "point appears only if it is followed by at least one digit."
8601 msgstr ""
8602 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
8603 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
8604 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
8605 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
8606 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
8607 "一つある場合にだけである。"
8608
8609 #. type: TP
8610 #: build/C/man3/printf.3:683
8611 #, no-wrap
8612 msgid "B<a>, B<A>"
8613 msgstr "B<a>, B<A>"
8614
8615 #. type: Plain text
8616 #: build/C/man3/printf.3:707
8617 #, fuzzy
8618 #| msgid ""
8619 #| "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is "
8620 #| "converted to hexadecimal notation (using the letters abcdef)  in the "
8621 #| "style [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; for B<A> conversion the prefix "
8622 #| "B<0X>, the letters ABCDEF, and the exponent separator B<P> is used.  "
8623 #| "There is one hexadecimal digit before the decimal point, and the number "
8624 #| "of digits after it is equal to the precision.  The default precision "
8625 #| "suffices for an exact representation of the value if an exact "
8626 #| "representation in base 2 exists and otherwise is sufficiently large to "
8627 #| "distinguish values of type I<double>.  The digit before the decimal point "
8628 #| "is unspecified for nonnormalized numbers, and nonzero but otherwise "
8629 #| "unspecified for normalized numbers."
8630 msgid ""
8631 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
8632 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
8633 "\\&.>hhhhB<p>\\(+-; for B<A> conversion the prefix B<0X>, the letters "
8634 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
8635 "digit before the decimal point, and the number of digits after it is equal "
8636 "to the precision.  The default precision suffices for an exact "
8637 "representation of the value if an exact representation in base 2 exists and "
8638 "otherwise is sufficiently large to distinguish values of type I<double>.  "
8639 "The digit before the decimal point is unspecified for nonnormalized numbers, "
8640 "and nonzero but otherwise unspecified for normalized numbers."
8641 msgstr ""
8642 "(C99 にはあるが SUSv2 にはない)  B<a> 変換では、 I<double> 引き数を (abcdef "
8643 "の文字を使って)  [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; 形式の 16 進表記に変換す"
8644 "る。 B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。 "
8645 "小数点の前には 1桁の16進数が置かれ、小数点の後ろの桁数は 精度で指定された値と"
8646 "なる。 デフォルトの精度は、その値が 2進数で正確に表現できる場合には、 その値"
8647 "を正確に表現できる桁数となる。それ以外の場合は、 I<double> 型の値を区別するの"
8648 "に十分な大きさとなる。 小数点の前の数字は、正規化されていない数の場合はいくつ"
8649 "になるか分からない。 正規化された数の場合は、 0 以外の値になるが、いくつにな"
8650 "るかは分からない。"
8651
8652 #. type: TP
8653 #: build/C/man3/printf.3:707 build/C/man3/scanf.3:456
8654 #: build/C/man3/wprintf.3:132
8655 #, no-wrap
8656 msgid "B<c>"
8657 msgstr "B<c>"
8658
8659 #. type: Plain text
8660 #: build/C/man3/printf.3:725
8661 msgid ""
8662 "If no B<l> modifier is present, the I<int> argument is converted to an "
8663 "I<unsigned char>, and the resulting character is written.  If an B<l> "
8664 "modifier is present, the I<wint_t> (wide character) argument is converted to "
8665 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
8666 "conversion state starting in the initial state, and the resulting multibyte "
8667 "string is written."
8668 msgstr ""
8669 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
8670 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
8671 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
8672 "換し、 変換されたマルチバイト文字列を出力する。"
8673
8674 #. type: TP
8675 #: build/C/man3/printf.3:725 build/C/man3/scanf.3:448
8676 #: build/C/man3/wprintf.3:146
8677 #, no-wrap
8678 msgid "B<s>"
8679 msgstr "B<s>"
8680
8681 #. type: Plain text
8682 #: build/C/man3/printf.3:740
8683 msgid ""
8684 "If no B<l> modifier is present: The I<const char *> argument is expected to "
8685 "be a pointer to an array of character type (pointer to a string).  "
8686 "Characters from the array are written up to (but not including) a "
8687 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
8688 "than the number specified are written.  If a precision is given, no null "
8689 "byte need be present; if the precision is not specified, or is greater than "
8690 "the size of the array, the array must contain a terminating null byte."
8691 msgstr ""
8692 "B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
8693 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
8694 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
8695 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
8696 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
8697 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
8698 "なければならない。"
8699
8700 #. type: Plain text
8701 #: build/C/man3/printf.3:767
8702 msgid ""
8703 "If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
8704 "to be a pointer to an array of wide characters.  Wide characters from the "
8705 "array are converted to multibyte characters (each by a call to the B<wcrtomb>"
8706 "(3)  function, with a conversion state starting in the initial state before "
8707 "the first wide character), up to and including a terminating null wide "
8708 "character.  The resulting multibyte characters are written up to (but not "
8709 "including) the terminating null byte.  If a precision is specified, no more "
8710 "bytes than the number specified are written, but no partial multibyte "
8711 "characters are written.  Note that the precision determines the number of "
8712 "I<bytes> written, not the number of I<wide characters> or I<screen "
8713 "positions>.  The array must contain a terminating null wide character, "
8714 "unless a precision is given and it is so small that the number of bytes "
8715 "written exceeds it before the end of the array is reached."
8716 msgstr ""
8717 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
8718 "の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
8719 "に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
8720 "字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
8721 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
8722 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
8723 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
8724 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
8725 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
8726 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
8727 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
8728 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
8729 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
8730 "い。"
8731
8732 #. type: TP
8733 #: build/C/man3/printf.3:767
8734 #, no-wrap
8735 msgid "B<C>"
8736 msgstr "B<C>"
8737
8738 #. type: Plain text
8739 #: build/C/man3/printf.3:773
8740 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
8741 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
8742
8743 #. type: TP
8744 #: build/C/man3/printf.3:773
8745 #, no-wrap
8746 msgid "B<S>"
8747 msgstr "B<S>"
8748
8749 #. type: Plain text
8750 #: build/C/man3/printf.3:779
8751 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
8752 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
8753
8754 #. type: TP
8755 #: build/C/man3/printf.3:779 build/C/man3/scanf.3:500
8756 #, no-wrap
8757 msgid "B<p>"
8758 msgstr "B<p>"
8759
8760 #. type: Plain text
8761 #: build/C/man3/printf.3:787
8762 msgid ""
8763 "The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
8764 "B<%#lx>)."
8765 msgstr ""
8766 "I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
8767
8768 #. type: TP
8769 #: build/C/man3/printf.3:787 build/C/man3/scanf.3:508
8770 #, no-wrap
8771 msgid "B<n>"
8772 msgstr "B<n>"
8773
8774 #. type: Plain text
8775 #: build/C/man3/printf.3:794
8776 msgid ""
8777 "The number of characters written so far is stored into the integer indicated "
8778 "by the I<int *> (or variant) pointer argument.  No argument is converted."
8779 msgstr ""
8780 "これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
8781 "整数に保存する。 引き数の変換は行われない。"
8782
8783 #. type: TP
8784 #: build/C/man3/printf.3:794
8785 #, no-wrap
8786 msgid "B<m>"
8787 msgstr "B<m>"
8788
8789 #. type: Plain text
8790 #: build/C/man3/printf.3:800
8791 msgid ""
8792 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
8793 "required."
8794 msgstr ""
8795 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
8796
8797 #. type: TP
8798 #: build/C/man3/printf.3:800 build/C/man3/scanf.3:374
8799 #, no-wrap
8800 msgid "B<%>"
8801 msgstr "B<%>"
8802
8803 #. type: Plain text
8804 #: build/C/man3/printf.3:806
8805 msgid ""
8806 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
8807 "conversion specification is \\(aq%%\\(aq."
8808 msgstr ""
8809 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
8810 "%\" となる。"
8811
8812 #. type: Plain text
8813 #: build/C/man3/printf.3:821
8814 msgid ""
8815 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8816 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
8817 "B<vsnprintf>()  functions conform to C99."
8818 msgstr ""
8819 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8820 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
8821 "B<vsnprintf>()  は C99 に準拠している。"
8822
8823 #. type: Plain text
8824 #: build/C/man3/printf.3:834
8825 msgid ""
8826 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
8827 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
8828 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
8829 "this case, and gives the return value (as always)  as the number of "
8830 "characters that would have been written in case the output string has been "
8831 "large enough."
8832 msgstr ""
8833 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
8834 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
8835 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
8836 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
8837 "出力されるであろう文字数を返す。"
8838
8839 #. type: Plain text
8840 #: build/C/man3/printf.3:848
8841 msgid ""
8842 "Linux libc4 knows about the five C standard flags.  It knows about the "
8843 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
8844 "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 "
8845 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
8846 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
8847 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
8848 "dependent radix character, no thousands' separator, no NaN or infinity, no "
8849 "\"%m$\" and \"*m$\"."
8850 msgstr ""
8851 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
8852 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
8853 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
8854 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
8855 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
8856 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
8857 "えない。"
8858
8859 #. type: Plain text
8860 #: build/C/man3/printf.3:859
8861 msgid ""
8862 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
8863 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
8864 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
8865 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
8866 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
8867 "outputs I<strerror(errno)>."
8868 msgstr ""
8869 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
8870 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
8871 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
8872 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
8873 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
8874 "ある。"
8875
8876 #. type: Plain text
8877 #: build/C/man3/printf.3:861
8878 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
8879 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
8880
8881 #. type: Plain text
8882 #: build/C/man3/printf.3:864
8883 msgid ""
8884 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
8885 "characters B<a> and B<A>."
8886 msgstr ""
8887 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
8888 "加された。"
8889
8890 #. type: Plain text
8891 #: build/C/man3/printf.3:867
8892 msgid ""
8893 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
8894 "flag character B<I>."
8895 msgstr ""
8896 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
8897 "追加された。"
8898
8899 #. type: Plain text
8900 #: build/C/man3/printf.3:869
8901 msgid "Some programs imprudently rely on code such as the following"
8902 msgstr ""
8903 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
8904 "ラムがある。"
8905
8906 #. type: Plain text
8907 #: build/C/man3/printf.3:871
8908 #, no-wrap
8909 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
8910 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
8911
8912 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
8913 #. type: Plain text
8914 #: build/C/man3/printf.3:887
8915 msgid ""
8916 "to append text to I<buf>.  However, the standards explicitly note that the "
8917 "results are undefined if source and destination buffers overlap when calling "
8918 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
8919 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
8920 "such as the above will B<not> produce the expected results."
8921 msgstr ""
8922 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8923 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
8924 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
8925 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
8926 "結果が得られ「ない」ことがある。"
8927
8928 #.  .SH HISTORY
8929 #.  UNIX V7 defines the three routines
8930 #.  .BR printf (),
8931 #.  .BR fprintf (),
8932 #.  .BR sprintf (),
8933 #.  and has the flag \-, the width or precision *, the length modifier l,
8934 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
8935 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
8936 #.  #, + and <space> and no longer mentions D,O,U,X.
8937 #.  2.11BSD has
8938 #.  .BR vprintf (),
8939 #.  .BR vfprintf (),
8940 #.  .BR vsprintf (),
8941 #.  and warns not to use D,O,U,X.
8942 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
8943 #.  and the conversions n, p, E, G, X (with current meaning)
8944 #.  and deprecates D,O,U.
8945 #.  4.4BSD introduces the functions
8946 #.  .BR snprintf ()
8947 #.  and
8948 #.  .BR vsnprintf (),
8949 #.  and the length modifier q.
8950 #.  FreeBSD also has functions
8951 #.  .BR asprintf ()
8952 #.  and
8953 #.  .BR vasprintf (),
8954 #.  that allocate a buffer large enough for
8955 #.  .BR sprintf ().
8956 #.  In glibc there are functions
8957 #.  .BR dprintf ()
8958 #.  and
8959 #.  .BR vdprintf ()
8960 #.  that print to a file descriptor instead of a stream.
8961 #. type: Plain text
8962 #: build/C/man3/printf.3:929
8963 msgid ""
8964 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
8965 "conforms to the C99 standard, that is, behaves as described above, since "
8966 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
8967 "was truncated."
8968 msgstr ""
8969 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
8970 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
8971 "切り詰められた場合は -1 を返す。"
8972
8973 #. type: Plain text
8974 #: build/C/man3/printf.3:946
8975 msgid ""
8976 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
8977 "callers must be careful not to overflow the actual space; this is often "
8978 "impossible to assure.  Note that the length of the strings produced is "
8979 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
8980 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
8981 msgstr ""
8982 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
8983 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
8984 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
8985 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
8986 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
8987
8988 #. type: Plain text
8989 #: build/C/man3/printf.3:959
8990 msgid ""
8991 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
8992 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
8993 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
8994 "libc4 leads to serious security problems."
8995 msgstr ""
8996 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
8997 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
8998 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
8999 "深刻なセキュリティ問題を引き起こすことがある。"
9000
9001 #.  .PP
9002 #.  Some floating-point conversions under early libc4
9003 #.  caused memory leaks.
9004 #. type: Plain text
9005 #: build/C/man3/printf.3:973
9006 msgid ""
9007 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
9008 "contain a % character.  If I<foo> comes from untrusted user input, it may "
9009 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
9010 "a security hole."
9011 msgstr ""
9012 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
9013 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
9014 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
9015 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
9016 "ルを作ることになるかもしれない。"
9017
9018 #. type: Plain text
9019 #: build/C/man3/printf.3:977
9020 #, fuzzy
9021 #| msgid "To print \\*(Pi to five decimal places:"
9022 msgid "To print I<Pi> to five decimal places:"
9023 msgstr "\\*(Pi を 5 桁で出力する。"
9024
9025 #. type: Plain text
9026 #: build/C/man3/printf.3:983
9027 #, no-wrap
9028 msgid ""
9029 "#include E<lt>math.hE<gt>\n"
9030 "#include E<lt>stdio.hE<gt>\n"
9031 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9032 msgstr ""
9033 "#include E<lt>math.hE<gt>\n"
9034 "#include E<lt>stdio.hE<gt>\n"
9035 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
9036
9037 #. type: Plain text
9038 #: build/C/man3/printf.3:992
9039 msgid ""
9040 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
9041 "I<weekday> and I<month> are pointers to strings:"
9042 msgstr ""
9043 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
9044 "I<month> は文字列へのポインタである)"
9045
9046 #. type: Plain text
9047 #: build/C/man3/printf.3:998
9048 #, no-wrap
9049 msgid ""
9050 "#include E<lt>stdio.hE<gt>\n"
9051 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9052 "        weekday, month, day, hour, min);\n"
9053 msgstr ""
9054 "#include E<lt>stdio.hE<gt>\n"
9055 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
9056 "\tweekday, month, day, hour, min);\n"
9057
9058 #. type: Plain text
9059 #: build/C/man3/printf.3:1004
9060 msgid ""
9061 "Many countries use the day-month-year order.  Hence, an internationalized "
9062 "version must be able to print the arguments in an order specified by the "
9063 "format:"
9064 msgstr ""
9065 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
9066 "順番で 引き数を表示できなければならない。"
9067
9068 #. type: Plain text
9069 #: build/C/man3/printf.3:1010
9070 #, no-wrap
9071 msgid ""
9072 "#include E<lt>stdio.hE<gt>\n"
9073 "fprintf(stdout, format,\n"
9074 "        weekday, month, day, hour, min);\n"
9075 msgstr ""
9076 "#include E<lt>stdio.hE<gt>\n"
9077 "fprintf(stdout, format,\n"
9078 "\tweekday, month, day, hour, min);\n"
9079
9080 #. type: Plain text
9081 #: build/C/man3/printf.3:1017
9082 msgid ""
9083 "where I<format> depends on locale, and may permute the arguments.  With the "
9084 "value:"
9085 msgstr ""
9086 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
9087 "I<format> が"
9088
9089 #. type: Plain text
9090 #: build/C/man3/printf.3:1021
9091 #, no-wrap
9092 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9093 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9094
9095 #. type: Plain text
9096 #: build/C/man3/printf.3:1025
9097 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9098 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9099
9100 #. type: Plain text
9101 #: build/C/man3/printf.3:1028
9102 msgid ""
9103 "To allocate a sufficiently large string and print into it (code correct for "
9104 "both glibc 2.0 and glibc 2.1):"
9105 msgstr ""
9106 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9107 "と glibc 2.1 の両方で正しく動作するコード):"
9108
9109 #. type: Plain text
9110 #: build/C/man3/printf.3:1033
9111 #, no-wrap
9112 msgid ""
9113 "#include E<lt>stdio.hE<gt>\n"
9114 "#include E<lt>stdlib.hE<gt>\n"
9115 "#include E<lt>stdarg.hE<gt>\n"
9116 msgstr ""
9117 "#include E<lt>stdio.hE<gt>\n"
9118 "#include E<lt>stdlib.hE<gt>\n"
9119 "#include E<lt>stdarg.hE<gt>\n"
9120
9121 #. type: Plain text
9122 #: build/C/man3/printf.3:1041
9123 #, no-wrap
9124 msgid ""
9125 "char *\n"
9126 "make_message(const char *fmt, ...)\n"
9127 "{\n"
9128 "    int n;\n"
9129 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9130 "    char *p, *np;\n"
9131 "    va_list ap;\n"
9132 msgstr ""
9133 "char *\n"
9134 "make_message(const char *fmt, ...)\n"
9135 "{\n"
9136 "    int n;\n"
9137 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9138 "    char *p, *np;\n"
9139 "    va_list ap;\n"
9140
9141 #. type: Plain text
9142 #: build/C/man3/printf.3:1044
9143 #, no-wrap
9144 msgid ""
9145 "    if ((p = malloc(size)) == NULL)\n"
9146 "        return NULL;\n"
9147 msgstr ""
9148 "    if ((p = malloc(size)) == NULL)\n"
9149 "        return NULL;\n"
9150
9151 #. type: Plain text
9152 #: build/C/man3/printf.3:1046
9153 #, no-wrap
9154 msgid "    while (1) {\n"
9155 msgstr "    while (1) {\n"
9156
9157 #. type: Plain text
9158 #: build/C/man3/printf.3:1048
9159 #, no-wrap
9160 msgid "        /* Try to print in the allocated space. */\n"
9161 msgstr "        /* Try to print in the allocated space. */\n"
9162
9163 #. type: Plain text
9164 #: build/C/man3/printf.3:1052
9165 #, no-wrap
9166 msgid ""
9167 "        va_start(ap, fmt);\n"
9168 "        n = vsnprintf(p, size, fmt, ap);\n"
9169 "        va_end(ap);\n"
9170 msgstr ""
9171 "        va_start(ap, fmt);\n"
9172 "        n = vsnprintf(p, size, fmt, ap);\n"
9173 "        va_end(ap);\n"
9174
9175 #. type: Plain text
9176 #: build/C/man3/printf.3:1054
9177 #, no-wrap
9178 msgid "        /* If that worked, return the string. */\n"
9179 msgstr "        /* If that worked, return the string. */\n"
9180
9181 #. type: Plain text
9182 #: build/C/man3/printf.3:1057
9183 #, no-wrap
9184 msgid ""
9185 "        if (n E<gt> -1 && n E<lt> size)\n"
9186 "            return p;\n"
9187 msgstr ""
9188 "        if (n E<gt> -1 && n E<lt> size)\n"
9189 "            return p;\n"
9190
9191 #. type: Plain text
9192 #: build/C/man3/printf.3:1059
9193 #, no-wrap
9194 msgid "        /* Else try again with more space. */\n"
9195 msgstr "        /* Else try again with more space. */\n"
9196
9197 #. type: Plain text
9198 #: build/C/man3/printf.3:1064
9199 #, no-wrap
9200 msgid ""
9201 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9202 "            size = n+1; /* precisely what is needed */\n"
9203 "        else           /* glibc 2.0 */\n"
9204 "            size *= 2;  /* twice the old size */\n"
9205 msgstr ""
9206 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9207 "            size = n+1; /* precisely what is needed */\n"
9208 "        else           /* glibc 2.0 */\n"
9209 "            size *= 2;  /* twice the old size */\n"
9210
9211 #. type: Plain text
9212 #: build/C/man3/printf.3:1073
9213 #, no-wrap
9214 msgid ""
9215 "        if ((np = realloc (p, size)) == NULL) {\n"
9216 "            free(p);\n"
9217 "            return NULL;\n"
9218 "        } else {\n"
9219 "            p = np;\n"
9220 "        }\n"
9221 "    }\n"
9222 "}\n"
9223 msgstr ""
9224 "        if ((np = realloc (p, size)) == NULL) {\n"
9225 "            free(p);\n"
9226 "            return NULL;\n"
9227 "        } else {\n"
9228 "            p = np;\n"
9229 "        }\n"
9230 "    }\n"
9231 "}\n"
9232
9233 #. type: Plain text
9234 #: build/C/man3/printf.3:1083
9235 msgid ""
9236 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9237 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9238 msgstr ""
9239 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9240 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9241
9242 #. type: TH
9243 #: build/C/man3/puts.3:24
9244 #, no-wrap
9245 msgid "PUTS"
9246 msgstr "PUTS"
9247
9248 #. type: Plain text
9249 #: build/C/man3/puts.3:27
9250 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9251 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9252
9253 #. type: Plain text
9254 #: build/C/man3/puts.3:32
9255 #, no-wrap
9256 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9257 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9258
9259 #. type: Plain text
9260 #: build/C/man3/puts.3:34
9261 #, no-wrap
9262 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9263 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9264
9265 #. type: Plain text
9266 #: build/C/man3/puts.3:36
9267 #, no-wrap
9268 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9269 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9270
9271 #. type: Plain text
9272 #: build/C/man3/puts.3:38
9273 #, no-wrap
9274 msgid "B<int putchar(int >I<c>B<);>\n"
9275 msgstr "B<int putchar(int >I<c>B<);>\n"
9276
9277 #. type: Plain text
9278 #: build/C/man3/puts.3:40
9279 #, no-wrap
9280 msgid "B<int puts(const char *>I<s>B<);>\n"
9281 msgstr "B<int puts(const char *>I<s>B<);>\n"
9282
9283 #. type: Plain text
9284 #: build/C/man3/puts.3:49
9285 msgid ""
9286 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9287 "I<stream>."
9288 msgstr ""
9289 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9290 "に書き込む。"
9291
9292 #. type: Plain text
9293 #: build/C/man3/puts.3:56
9294 msgid ""
9295 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9296 "null byte (\\(aq\\e0\\(aq)."
9297 msgstr ""
9298 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9299 "ト (\\(aq\\e0\\(aq) は出力しない。"
9300
9301 #. type: Plain text
9302 #: build/C/man3/puts.3:63
9303 msgid ""
9304 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9305 "a macro which evaluates I<stream> more than once."
9306 msgstr ""
9307 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9308 "れないという点を除き、 B<fputc>()  と同じである。"
9309
9310 #. type: Plain text
9311 #: build/C/man3/puts.3:67
9312 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9313 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9314
9315 #. type: Plain text
9316 #: build/C/man3/puts.3:74
9317 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9318 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9319
9320 #. type: Plain text
9321 #: build/C/man3/puts.3:79
9322 msgid ""
9323 "Calls to the functions described here can be mixed with each other and with "
9324 "calls to other output functions from the I<stdio> library for the same "
9325 "output stream."
9326 msgstr ""
9327 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9328 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9329 "る。"
9330
9331 #. type: Plain text
9332 #: build/C/man3/puts.3:94
9333 msgid ""
9334 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9335 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9336 msgstr ""
9337 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9338 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9339
9340 #. type: Plain text
9341 #: build/C/man3/puts.3:101
9342 msgid ""
9343 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9344 "on error."
9345 msgstr ""
9346 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9347 "は B<EOF> を返す。"
9348
9349 #. type: Plain text
9350 #: build/C/man3/puts.3:110
9351 msgid ""
9352 "It is not advisable to mix calls to output functions from the I<stdio> "
9353 "library with low-level calls to B<write>(2)  for the file descriptor "
9354 "associated with the same output stream; the results will be undefined and "
9355 "very probably not what you want."
9356 msgstr ""
9357 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9358 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9359 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9360 "性が高い。"
9361
9362 #. type: Plain text
9363 #: build/C/man3/puts.3:122
9364 msgid ""
9365 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9366 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9367 "(3)"
9368 msgstr ""
9369 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9370 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9371 "(3)"
9372
9373 #. type: TH
9374 #: build/C/man2/read.2:35
9375 #, no-wrap
9376 msgid "READ"
9377 msgstr "READ"
9378
9379 #. type: Plain text
9380 #: build/C/man2/read.2:38
9381 msgid "read - read from a file descriptor"
9382 msgstr "read - ファイルディスクリプタから読み込む"
9383
9384 #. type: Plain text
9385 #: build/C/man2/read.2:43
9386 #, no-wrap
9387 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9388 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9389
9390 #. type: Plain text
9391 #: build/C/man2/read.2:52
9392 msgid ""
9393 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9394 "into the buffer starting at I<buf>."
9395 msgstr ""
9396 "B<read>()  はファイルディスクリプタ (file descriptor)  I<fd> から最大 "
9397 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9398
9399 #. type: Plain text
9400 #: build/C/man2/read.2:63
9401 msgid ""
9402 "If I<count> is zero, B<read>()  returns zero and has no other results.  If "
9403 "I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9404 msgstr ""
9405 "I<count> が 0 ならば、 B<read>()  は 0 を返し、他に何も起きない。 I<count> "
9406 "が B<SSIZE_MAX> より大きければ、結果は特定できない。"
9407
9408 #. type: Plain text
9409 #: build/C/man2/read.2:77
9410 msgid ""
9411 "On success, the number of bytes read is returned (zero indicates end of "
9412 "file), and the file position is advanced by this number.  It is not an error "
9413 "if this number is smaller than the number of bytes requested; this may "
9414 "happen for example because fewer bytes are actually available right now "
9415 "(maybe because we were close to end-of-file, or because we are reading from "
9416 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9417 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9418 "this case it is left unspecified whether the file position (if any) changes."
9419 msgstr ""
9420 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9421 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9422 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9423 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9424 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9425 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9426 "の場合はファイル位置が変更されるかどうかは 不定である。"
9427
9428 #. type: TP
9429 #: build/C/man2/read.2:78 build/C/man3/scanf.3:546 build/C/man2/write.2:108
9430 #, no-wrap
9431 msgid "B<EAGAIN>"
9432 msgstr "B<EAGAIN>"
9433
9434 #. type: Plain text
9435 #: build/C/man2/read.2:85
9436 msgid ""
9437 "The file descriptor I<fd> refers to a file other than a socket and has been "
9438 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9439 msgstr ""
9440 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
9441 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9442 "する状況にある。"
9443
9444 #. type: TP
9445 #: build/C/man2/read.2:85 build/C/man2/write.2:115
9446 #, no-wrap
9447 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9448 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9449
9450 #.  Actually EAGAIN on Linux
9451 #. type: Plain text
9452 #: build/C/man2/read.2:96
9453 msgid ""
9454 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9455 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9456 "to be returned for this case, and does not require these constants to have "
9457 "the same value, so a portable application should check for both "
9458 "possibilities."
9459 msgstr ""
9460 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
9461 "モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にあ"
9462 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
9463 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
9464 "プリケーションでは、両方の可能性を 確認すべきである。"
9465
9466 #. type: Plain text
9467 #: build/C/man2/read.2:100
9468 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9469 msgstr ""
9470 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
9471 "(open) されていない。"
9472
9473 #. type: Plain text
9474 #: build/C/man2/read.2:104 build/C/man2/write.2:139
9475 msgid "I<buf> is outside your accessible address space."
9476 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9477
9478 #. type: Plain text
9479 #: build/C/man2/read.2:108
9480 msgid ""
9481 "The call was interrupted by a signal before any data was read; see B<signal>"
9482 "(7)."
9483 msgstr ""
9484 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9485
9486 #. type: Plain text
9487 #: build/C/man2/read.2:119
9488 msgid ""
9489 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9490 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9491 "I<buf>, the value specified in I<count>, or the current file offset is not "
9492 "suitably aligned."
9493 msgstr ""
9494 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9495 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9496 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9497 "ンメントが不適切である。"
9498
9499 #. type: Plain text
9500 #: build/C/man2/read.2:129
9501 msgid ""
9502 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9503 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9504 "information."
9505 msgstr ""
9506 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9507 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9508 "こと。"
9509
9510 #. type: Plain text
9511 #: build/C/man2/read.2:140
9512 msgid ""
9513 "I/O error.  This will happen for example when the process is in a background "
9514 "process group, tries to read from its controlling tty, and either it is "
9515 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9516 "also occur when there is a low-level I/O error while reading from a disk or "
9517 "tape."
9518 msgstr ""
9519 "I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、 それを"
9520 "制御している tty から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
9521 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
9522 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
9523 "た場合にも起こる。"
9524
9525 #. type: Plain text
9526 #: build/C/man2/read.2:144
9527 msgid "I<fd> refers to a directory."
9528 msgstr "I<fd> がディレクトリを参照している。"
9529
9530 #. type: Plain text
9531 #: build/C/man2/read.2:155
9532 msgid ""
9533 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9534 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9535 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9536 "read."
9537 msgstr ""
9538 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9539 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9540 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9541 "数を返してもよい。"
9542
9543 #. type: Plain text
9544 #: build/C/man2/read.2:169
9545 msgid ""
9546 "On NFS file systems, reading small amounts of data will only update the "
9547 "timestamp the first time, subsequent calls may not do so.  This is caused by "
9548 "client side attribute caching, because most if not all NFS clients leave "
9549 "st_atime (last file access time)  updates to the server and client side "
9550 "reads satisfied from the client's cache will not cause st_atime updates on "
9551 "the server as there are no server side reads.  UNIX semantics can be "
9552 "obtained by disabling client side attribute caching, but in most situations "
9553 "this will substantially increase server load and decrease performance."
9554 msgstr ""
9555 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
9556 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
9557 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
9558 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
9559 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
9560 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
9561 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
9562 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
9563
9564 #. type: Plain text
9565 #: build/C/man2/read.2:178
9566 msgid ""
9567 "Many file systems and disks were considered to be fast enough that the "
9568 "implementation of B<O_NONBLOCK> was deemed unnecessary.  So, B<O_NONBLOCK> "
9569 "may not be available on files and/or disks."
9570 msgstr ""
9571 "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むくらい"
9572 "に十分に高速であると考えられている。 それでそのようなファイルやディスクには "
9573 "B<O_NONBLOCK> は利用できないかもしれない。"
9574
9575 #. type: Plain text
9576 #: build/C/man2/read.2:191
9577 msgid ""
9578 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9579 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9580 "B<fread>(3)"
9581 msgstr ""
9582 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9583 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9584 "B<fread>(3)"
9585
9586 #. type: TH
9587 #: build/C/man2/readlink.2:41
9588 #, no-wrap
9589 msgid "READLINK"
9590 msgstr "READLINK"
9591
9592 #. type: TH
9593 #: build/C/man2/readlink.2:41
9594 #, no-wrap
9595 msgid "2011-09-20"
9596 msgstr "2011-09-20"
9597
9598 #. type: Plain text
9599 #: build/C/man2/readlink.2:44
9600 msgid "readlink - read value of a symbolic link"
9601 msgstr "readlink - シンボリックリンクの値を読む"
9602
9603 #. type: Plain text
9604 #: build/C/man2/readlink.2:48
9605 msgid ""
9606 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9607 ">I<bufsiz>B<);>"
9608 msgstr ""
9609 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9610 ">I<bufsiz>B<);>"
9611
9612 #. type: Plain text
9613 #: build/C/man2/readlink.2:56
9614 msgid "B<readlink>():"
9615 msgstr "B<readlink>():"
9616
9617 #. type: Plain text
9618 #: build/C/man2/readlink.2:59 build/C/man2/symlink.2:50
9619 msgid ""
9620 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9621 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9622 msgstr ""
9623 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9624 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9625
9626 #. type: Plain text
9627 #: build/C/man2/readlink.2:75
9628 msgid ""
9629 "B<readlink>()  places the contents of the symbolic link I<path> in the "
9630 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
9631 "null byte to I<buf>.  It will truncate the contents (to a length of "
9632 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
9633 "contents."
9634 msgstr ""
9635 "B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
9636 "ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
9637 "NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
9638 "さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
9639
9640 #. type: Plain text
9641 #: build/C/man2/readlink.2:83
9642 msgid ""
9643 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
9644 "error, -1 is returned and I<errno> is set to indicate the error."
9645 msgstr ""
9646 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
9647 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
9648
9649 #. type: Plain text
9650 #: build/C/man2/readlink.2:89
9651 msgid ""
9652 "Search permission is denied for a component of the path prefix.  (See also "
9653 "B<path_resolution>(7).)"
9654 msgstr ""
9655 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
9656 "参照すること)。"
9657
9658 #. type: Plain text
9659 #: build/C/man2/readlink.2:93
9660 msgid "I<buf> extends outside the process's allocated address space."
9661 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
9662
9663 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
9664 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
9665 #.  and this error can also occur if bufsiz < 0.
9666 #.  See: http://thread.gmane.org/gmane.linux.man/380
9667 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
9668 #. type: Plain text
9669 #: build/C/man2/readlink.2:102
9670 msgid "I<bufsiz> is not positive."
9671 msgstr "I<bufsiz> が正でない。"
9672
9673 #. type: Plain text
9674 #: build/C/man2/readlink.2:105
9675 msgid "The named file is not a symbolic link."
9676 msgstr "指定したファイルがシンボリックリンクでない。"
9677
9678 #. type: Plain text
9679 #: build/C/man2/readlink.2:108
9680 msgid "An I/O error occurred while reading from the file system."
9681 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
9682
9683 #. type: Plain text
9684 #: build/C/man2/readlink.2:111
9685 msgid "Too many symbolic links were encountered in translating the pathname."
9686 msgstr "パス名にシンボリックリンクが多すぎる。"
9687
9688 #. type: Plain text
9689 #: build/C/man2/readlink.2:114
9690 msgid "A pathname, or a component of a pathname, was too long."
9691 msgstr "パス名かパス名の一部分が長過ぎる。"
9692
9693 #. type: Plain text
9694 #: build/C/man2/readlink.2:117
9695 msgid "The named file does not exist."
9696 msgstr "その名前のファイルが存在しない。"
9697
9698 #. type: Plain text
9699 #: build/C/man2/readlink.2:123
9700 msgid "A component of the path prefix is not a directory."
9701 msgstr "パスのディレクトリ部分がディレクトリでない。"
9702
9703 #. type: Plain text
9704 #: build/C/man2/readlink.2:128
9705 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
9706 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
9707
9708 #. type: Plain text
9709 #: build/C/man2/readlink.2:136
9710 msgid ""
9711 "In versions of glibc up to and including glibc 2.4, the return type of "
9712 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
9713 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
9714 msgstr ""
9715 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
9716 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
9717 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
9718
9719 #. type: Plain text
9720 #: build/C/man2/readlink.2:155
9721 msgid ""
9722 "Using a statically sized buffer might not provide enough room for the "
9723 "symbolic link contents.  The required size for the buffer can be obtained "
9724 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
9725 "link.  However, the number of bytes written by B<readlink>()  should be "
9726 "checked to make sure that the size of the symbolic link did not increase "
9727 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
9728 "also addresses a common portability problem when using I<PATH_MAX> for the "
9729 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
9730 "the system does not have such limit."
9731 msgstr ""
9732 "静的な大きさのバッファを使うと、シンボリックリンクの内容を\n"
9733 "格納するのに十分な領域がない場合がある。\n"
9734 "バッファに必要なサイズは、そのシンボリックリンクに対して B<lstat>(2)\n"
9735 "の呼び出しで返される I<stat.st_size> の値から取得できる。\n"
9736 "ただし、 B<readlink>() が書き込んだバイト数をチェックして、\n"
9737 "シンボリックリンクのサイズが B<lstat>(2) と B<readlink>() の呼び出し\n"
9738 "の間で増えていないことを確認すべきである。\n"
9739 "B<readlink>() 用のバッファを動的に割り当てる方法でも、\n"
9740 "バッファサイズとして I<PATH_MAX> を使用する場合に共通する移植性の\n"
9741 "問題を解決することができる。なぜなら、POSIX では、\n"
9742 "システムがそのような上限値を定義していない場合には、\n"
9743 "I<PATH_MAX> が定義されることが保証されていないからである。"
9744
9745 #. type: Plain text
9746 #: build/C/man2/readlink.2:161
9747 msgid ""
9748 "The following program allocates the buffer needed by B<readlink>()  "
9749 "dynamically from the information provided by B<lstat>(), making sure there's "
9750 "no race condition between the calls."
9751 msgstr ""
9752 "以下のプログラムは、 B<readlink>() が必要とするバッファを、\n"
9753 "B<lstat>() が提供する情報に基づいて動的に割り当てる。\n"
9754 "また、両方の呼び出し間で競合条件がないことを保証している。"
9755
9756 #. type: Plain text
9757 #: build/C/man2/readlink.2:168
9758 #, no-wrap
9759 msgid ""
9760 "#include E<lt>sys/types.hE<gt>\n"
9761 "#include E<lt>sys/stat.hE<gt>\n"
9762 "#include E<lt>stdio.hE<gt>\n"
9763 "#include E<lt>stdlib.hE<gt>\n"
9764 "#include E<lt>unistd.hE<gt>\n"
9765 msgstr ""
9766 "#include E<lt>sys/types.hE<gt>\n"
9767 "#include E<lt>sys/stat.hE<gt>\n"
9768 "#include E<lt>stdio.hE<gt>\n"
9769 "#include E<lt>stdlib.hE<gt>\n"
9770 "#include E<lt>unistd.hE<gt>\n"
9771
9772 #. type: Plain text
9773 #: build/C/man2/readlink.2:175
9774 #, no-wrap
9775 msgid ""
9776 "int\n"
9777 "main(int argc, char *argv[])\n"
9778 "{\n"
9779 "    struct stat sb;\n"
9780 "    char *linkname;\n"
9781 "    ssize_t r;\n"
9782 msgstr ""
9783 "int\n"
9784 "main(int argc, char *argv[])\n"
9785 "{\n"
9786 "    struct stat sb;\n"
9787 "    char *linkname;\n"
9788 "    ssize_t r;\n"
9789
9790 #. type: Plain text
9791 #: build/C/man2/readlink.2:180
9792 #, no-wrap
9793 msgid ""
9794 "    if (argc != 2) {\n"
9795 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9796 "        exit(EXIT_FAILURE);\n"
9797 "    }\n"
9798 msgstr ""
9799 "    if (argc != 2) {\n"
9800 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9801 "        exit(EXIT_FAILURE);\n"
9802 "    }\n"
9803
9804 #. type: Plain text
9805 #: build/C/man2/readlink.2:185
9806 #, no-wrap
9807 msgid ""
9808 "    if (lstat(argv[1], &sb) == -1) {\n"
9809 "        perror(\"lstat\");\n"
9810 "        exit(EXIT_FAILURE);\n"
9811 "    }\n"
9812 msgstr ""
9813 "    if (lstat(argv[1], &sb) == -1) {\n"
9814 "        perror(\"lstat\");\n"
9815 "        exit(EXIT_FAILURE);\n"
9816 "    }\n"
9817
9818 #. type: Plain text
9819 #: build/C/man2/readlink.2:191
9820 #, no-wrap
9821 msgid ""
9822 "    linkname = malloc(sb.st_size + 1);\n"
9823 "    if (linkname == NULL) {\n"
9824 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9825 "        exit(EXIT_FAILURE);\n"
9826 "    }\n"
9827 msgstr ""
9828 "    linkname = malloc(sb.st_size + 1);\n"
9829 "    if (linkname == NULL) {\n"
9830 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9831 "        exit(EXIT_FAILURE);\n"
9832 "    }\n"
9833
9834 #. type: Plain text
9835 #: build/C/man2/readlink.2:193
9836 #, no-wrap
9837 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9838 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9839
9840 #. type: Plain text
9841 #: build/C/man2/readlink.2:198
9842 #, no-wrap
9843 msgid ""
9844 "    if (r E<lt> 0) {\n"
9845 "        perror(\"lstat\");\n"
9846 "        exit(EXIT_FAILURE);\n"
9847 "    }\n"
9848 msgstr ""
9849 "    if (r E<lt> 0) {\n"
9850 "        perror(\"lstat\");\n"
9851 "        exit(EXIT_FAILURE);\n"
9852 "    }\n"
9853
9854 #. type: Plain text
9855 #: build/C/man2/readlink.2:204
9856 #, no-wrap
9857 msgid ""
9858 "    if (r E<gt> sb.st_size) {\n"
9859 "        fprintf(stderr, \"symlink increased in size \"\n"
9860 "                        \"between lstat() and readlink()\\en\");\n"
9861 "        exit(EXIT_FAILURE);\n"
9862 "    }\n"
9863 msgstr ""
9864 "    if (r E<gt> sb.st_size) {\n"
9865 "        fprintf(stderr, \"symlink increased in size \"\n"
9866 "                        \"between lstat() and readlink()\\en\");\n"
9867 "        exit(EXIT_FAILURE);\n"
9868 "    }\n"
9869
9870 #. type: Plain text
9871 #: build/C/man2/readlink.2:206
9872 #, no-wrap
9873 msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9874 msgstr "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9875
9876 #. type: Plain text
9877 #: build/C/man2/readlink.2:208
9878 #, no-wrap
9879 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9880 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9881
9882 #. type: Plain text
9883 #: build/C/man2/readlink.2:220
9884 msgid ""
9885 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9886 "B<path_resolution>(7), B<symlink>(7)"
9887 msgstr ""
9888 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
9889 "B<path_resolution>(7), B<symlink>(7)"
9890
9891 #. type: TH
9892 #: build/C/man2/readv.2:30
9893 #, no-wrap
9894 msgid "READV"
9895 msgstr "READV"
9896
9897 #. type: TH
9898 #: build/C/man2/readv.2:30
9899 #, no-wrap
9900 msgid "2010-11-17"
9901 msgstr "2010-11-17"
9902
9903 #. type: Plain text
9904 #: build/C/man2/readv.2:33
9905 msgid ""
9906 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
9907 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
9908
9909 #. type: Plain text
9910 #: build/C/man2/readv.2:36
9911 #, no-wrap
9912 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
9913 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
9914
9915 #. type: Plain text
9916 #: build/C/man2/readv.2:38
9917 #, no-wrap
9918 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9919 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9920
9921 #. type: Plain text
9922 #: build/C/man2/readv.2:40
9923 #, no-wrap
9924 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9925 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9926
9927 #. type: Plain text
9928 #: build/C/man2/readv.2:43
9929 #, no-wrap
9930 msgid ""
9931 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9932 "B<               off_t >I<offset>B<);>\n"
9933 msgstr ""
9934 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9935 "B<               off_t >I<offset>B<);>\n"
9936
9937 #. type: Plain text
9938 #: build/C/man2/readv.2:46
9939 #, no-wrap
9940 msgid ""
9941 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9942 "B<                off_t >I<offset>B<);>\n"
9943 msgstr ""
9944 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9945 "B<                off_t >I<offset>B<);>\n"
9946
9947 #. type: Plain text
9948 #: build/C/man2/readv.2:56
9949 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9950 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9951
9952 #. type: Plain text
9953 #: build/C/man2/readv.2:66
9954 msgid ""
9955 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
9956 "with the file descriptor I<fd> into the buffers described by I<iov> "
9957 "(\"scatter input\")."
9958 msgstr ""
9959 "B<readv>() システムコールは、ファイルディスクリプタ I<fd> に関連付けられた\n"
9960 "ファイルから、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定\n"
9961 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
9962
9963 #. type: Plain text
9964 #: build/C/man2/readv.2:76
9965 msgid ""
9966 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
9967 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
9968 "\")."
9969 msgstr ""
9970 "B<writev>() システムコールは、 I<iov> で指定されたバッファから最大 "
9971 "I<iovcnt>\n"
9972 "個のバッファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付け"
9973 "ら\n"
9974 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
9975
9976 #. type: Plain text
9977 #: build/C/man2/readv.2:85
9978 msgid ""
9979 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
9980 "I<E<lt>sys/uio.hE<gt>> as:"
9981 msgstr ""
9982 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
9983 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
9984
9985 #. type: Plain text
9986 #: build/C/man2/readv.2:93
9987 #, no-wrap
9988 msgid ""
9989 "struct iovec {\n"
9990 "    void  *iov_base;    /* Starting address */\n"
9991 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9992 "};\n"
9993 msgstr ""
9994 "struct iovec {\n"
9995 "    void  *iov_base;    /* Starting address */\n"
9996 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9997 "};\n"
9998
9999 #. type: Plain text
10000 #: build/C/man2/readv.2:101
10001 msgid ""
10002 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
10003 "buffers are filled."
10004 msgstr ""
10005 "B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
10006 "B<read>(2) と全く同様の動作を行う。"
10007
10008 #. type: Plain text
10009 #: build/C/man2/readv.2:107
10010 msgid ""
10011 "The B<writev>()  system call works just like B<write>(2)  except that "
10012 "multiple buffers are written out."
10013 msgstr ""
10014 "B<writev>() システムコールは、複数のバッファのデータを書き出す点以外は\n"
10015 "B<write>(2) と全く同様の動作を行う。"
10016
10017 #. type: Plain text
10018 #: build/C/man2/readv.2:126
10019 msgid ""
10020 "Buffers are processed in array order.  This means that B<readv>()  "
10021 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
10022 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
10023 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
10024 "[0] before proceeding to I<iov>[1], and so on."
10025 msgstr ""
10026 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
10027 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
10028 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
10029 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
10030
10031 #. type: Plain text
10032 #: build/C/man2/readv.2:144
10033 msgid ""
10034 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
10035 "data written by B<writev>()  is written as a single block that is not "
10036 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
10037 "for an exception); analogously, B<readv>()  is guaranteed to read a "
10038 "contiguous block of data from the file, regardless of read operations "
10039 "performed in other threads or processes that have file descriptors referring "
10040 "to the same open file description (see B<open>(2))."
10041 msgstr ""
10042 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
10043 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
10044 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
10045 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
10046 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
10047 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
10048 "作の影響を受けることはない。"
10049
10050 #. type: SS
10051 #: build/C/man2/readv.2:144
10052 #, no-wrap
10053 msgid "preadv() and pwritev()"
10054 msgstr "preadv() と pwritev()"
10055
10056 #. type: Plain text
10057 #: build/C/man2/readv.2:157
10058 msgid ""
10059 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
10060 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
10061 "argument, I<offset>, which specifies the file offset at which the input "
10062 "operation is to be performed."
10063 msgstr ""
10064 "B<preadv>() システムコールは B<readv>() と B<preadv>(2) の機能を\n"
10065 "組み合わせたものである。\n"
10066 "B<readv>() と同じ処理を実行するが、\n"
10067 "4 番目の引き数 I<offset> が追加されており、\n"
10068 "この引き数は入力操作を行うファイルオフセットを指定する。"
10069
10070 #. type: Plain text
10071 #: build/C/man2/readv.2:170
10072 msgid ""
10073 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10074 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10075 "argument, I<offset>, which specifies the file offset at which the output "
10076 "operation is to be performed."
10077 msgstr ""
10078 "B<pwritev>() システムコールは B<writev>() と B<pwrite>(2) の機能を\n"
10079 "組み合わせたものである。\n"
10080 "B<writev>() と同じ処理を実行するが、\n"
10081 "4 番目の引き数 I<offset> が追加されており、\n"
10082 "この引き数は出力操作を行うファイルオフセットを指定する。"
10083
10084 #. type: Plain text
10085 #: build/C/man2/readv.2:175
10086 msgid ""
10087 "The file offset is not changed by these system calls.  The file referred to "
10088 "by I<fd> must be capable of seeking."
10089 msgstr ""
10090 "これらのシステムコールで、ファイルオフセットは変更されない。\n"
10091 "I<fd> が参照するファイルは seek 可能でなければならない。"
10092
10093 #. type: Plain text
10094 #: build/C/man2/readv.2:186
10095 msgid ""
10096 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10097 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10098 "error, -1 is returned, and I<errno> is set appropriately."
10099 msgstr ""
10100 "成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
10101 "B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
10102 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
10103
10104 #. type: Plain text
10105 #: build/C/man2/readv.2:198
10106 msgid ""
10107 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10108 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10109 "(2).  Additionally, the following error is defined:"
10110 msgstr ""
10111 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
10112 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
10113 "る。\n"
10114 "また、追加で以下のエラーが定義されている:"
10115
10116 #. type: Plain text
10117 #: build/C/man2/readv.2:207
10118 msgid ""
10119 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10120 "vector count I<iovcnt> is less than zero or greater than the permitted "
10121 "maximum."
10122 msgstr ""
10123 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10124 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10125
10126 #. type: Plain text
10127 #: build/C/man2/readv.2:212
10128 msgid ""
10129 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10130 "support was added in glibc 2.10."
10131 msgstr ""
10132 "B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
10133 "ライブラリによるサポートは glibc 2.10 で追加された。"
10134
10135 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10136 #.  (Says release.libc.)
10137 #. type: Plain text
10138 #: build/C/man2/readv.2:220
10139 msgid ""
10140 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10141 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10142 "I<iovcnt> argument, and I<int> as the return type."
10143 msgstr ""
10144 "B<readv>(), B<writev>(): \n"
10145 "4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1-2001。 \n"
10146 "Linux libc5 では、 I<iovcnt> 引き数の型として I<size_t> を、\n"
10147 "返り値の型として I<int> を使用していた。"
10148
10149 #. type: Plain text
10150 #: build/C/man2/readv.2:224
10151 msgid ""
10152 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10153 msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
10154
10155 #. type: SS
10156 #: build/C/man2/readv.2:225
10157 #, no-wrap
10158 msgid "Linux Notes"
10159 msgstr "Linux での注意"
10160
10161 #. type: Plain text
10162 #: build/C/man2/readv.2:256
10163 msgid ""
10164 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10165 "items that can be passed in I<iov>.  An implementation can advertise its "
10166 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10167 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10168 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10169 "glibc wrapper functions do some extra work if they detect that the "
10170 "underlying kernel system call failed because this limit was exceeded.  In "
10171 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10172 "large enough for all of the items specified by I<iov>, passes that buffer in "
10173 "a call to B<read>(2), copies data from the buffer to the locations specified "
10174 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10175 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10176 "using a temporary buffer and a call to B<write>(2)."
10177 msgstr ""
10178 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10179 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10180 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10181 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10182 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10183 "呼ばれるカーネル システムコールがこの上限を超過して失敗したことを検出する"
10184 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10185 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10186 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10187 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10188 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10189 "(2)  を呼び出す。"
10190
10191 #. type: Plain text
10192 #: build/C/man2/readv.2:263
10193 msgid ""
10194 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10195 "operate on file descriptors, with the functions from the stdio library; the "
10196 "results will be undefined and probably not what you want."
10197 msgstr ""
10198 "ファイルディスクリプタに対する操作を行う B<readv>() や B<writev>() と、\n"
10199 "標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。\n"
10200 "どんな結果になるかは定義されておらず、おそらく期待する結果は\n"
10201 "得られないだろう。"
10202
10203 #. type: Plain text
10204 #: build/C/man2/readv.2:266
10205 msgid "The following code sample demonstrates the use of B<writev>():"
10206 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10207
10208 #. type: Plain text
10209 #: build/C/man2/readv.2:273
10210 #, no-wrap
10211 msgid ""
10212 "char *str0 = \"hello \";\n"
10213 "char *str1 = \"world\\en\";\n"
10214 "struct iovec iov[2];\n"
10215 "ssize_t nwritten;\n"
10216 msgstr ""
10217 "char *str0 = \"hello \";\n"
10218 "char *str1 = \"world\\en\";\n"
10219 "struct iovec iov[2];\n"
10220 "ssize_t nwritten;\n"
10221
10222 #. type: Plain text
10223 #: build/C/man2/readv.2:278
10224 #, no-wrap
10225 msgid ""
10226 "iov[0].iov_base = str0;\n"
10227 "iov[0].iov_len = strlen(str0);\n"
10228 "iov[1].iov_base = str1;\n"
10229 "iov[1].iov_len = strlen(str1);\n"
10230 msgstr ""
10231 "iov[0].iov_base = str0;\n"
10232 "iov[0].iov_len = strlen(str0);\n"
10233 "iov[1].iov_base = str1;\n"
10234 "iov[1].iov_len = strlen(str1);\n"
10235
10236 #. type: Plain text
10237 #: build/C/man2/readv.2:280
10238 #, no-wrap
10239 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10240 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10241
10242 #. type: Plain text
10243 #: build/C/man2/readv.2:286
10244 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10245 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
10246
10247 #. type: TH
10248 #: build/C/man3/remove.3:31
10249 #, no-wrap
10250 msgid "REMOVE"
10251 msgstr "REMOVE"
10252
10253 #. type: TH
10254 #: build/C/man3/remove.3:31
10255 #, no-wrap
10256 msgid "2008-12-03"
10257 msgstr "2008-12-03"
10258
10259 #. type: Plain text
10260 #: build/C/man3/remove.3:34
10261 msgid "remove - remove a file or directory"
10262 msgstr "remove - ファイルやディレクトリを削除する"
10263
10264 #. type: Plain text
10265 #: build/C/man3/remove.3:38
10266 msgid "B<int remove(const char *>I<pathname>B<);>"
10267 msgstr "B<int remove(const char *>I<pathname>B<);>"
10268
10269 #. type: Plain text
10270 #: build/C/man3/remove.3:46
10271 msgid ""
10272 "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10273 "for files, and B<rmdir>(2)  for directories."
10274 msgstr ""
10275 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10276 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10277
10278 #. type: Plain text
10279 #: build/C/man3/remove.3:50
10280 msgid ""
10281 "If the removed name was the last link to a file and no processes have the "
10282 "file open, the file is deleted and the space it was using is made available "
10283 "for reuse."
10284 msgstr ""
10285 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10286 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10287 "ことができるようになる。"
10288
10289 #. type: Plain text
10290 #: build/C/man3/remove.3:55
10291 msgid ""
10292 "If the name was the last link to a file, but any processes still have the "
10293 "file open, the file will remain in existence until the last file descriptor "
10294 "referring to it is closed."
10295 msgstr ""
10296 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10297 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10298 "でファイルは存在し続ける。"
10299
10300 #. type: Plain text
10301 #: build/C/man3/remove.3:57
10302 msgid "If the name referred to a symbolic link, the link is removed."
10303 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10304
10305 #. type: Plain text
10306 #: build/C/man3/remove.3:60
10307 msgid ""
10308 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10309 "processes which have the object open may continue to use it."
10310 msgstr ""
10311 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10312 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10313
10314 #. type: Plain text
10315 #: build/C/man3/remove.3:70
10316 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10317 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10318
10319 #. type: Plain text
10320 #: build/C/man3/remove.3:72
10321 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10322 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10323
10324 #. type: Plain text
10325 #: build/C/man3/remove.3:78
10326 msgid ""
10327 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10328 "hence would not remove directories)."
10329 msgstr ""
10330 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10331 "(従ってディレクトリを削除できなかった)。"
10332
10333 #. type: Plain text
10334 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10335 msgid ""
10336 "Infelicities in the protocol underlying NFS can cause the unexpected "
10337 "disappearance of files which are still being used."
10338 msgstr ""
10339 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10340 "うことがありえる。"
10341
10342 #. type: Plain text
10343 #: build/C/man3/remove.3:92
10344 msgid ""
10345 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10346 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10347 msgstr ""
10348 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10349 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10350
10351 #. type: TH
10352 #: build/C/man2/rename.2:32
10353 #, no-wrap
10354 msgid "RENAME"
10355 msgstr "RENAME"
10356
10357 #. type: TH
10358 #: build/C/man2/rename.2:32
10359 #, no-wrap
10360 msgid "2009-03-30"
10361 msgstr "2009-03-30"
10362
10363 #. type: Plain text
10364 #: build/C/man2/rename.2:35
10365 msgid "rename - change the name or location of a file"
10366 msgstr "rename - ファイルの名前や位置を変更する"
10367
10368 #. type: Plain text
10369 #: build/C/man2/rename.2:39
10370 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10371 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10372
10373 #. type: Plain text
10374 #: build/C/man2/rename.2:48
10375 msgid ""
10376 "B<rename>()  renames a file, moving it between directories if required.  Any "
10377 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10378 "Open file descriptors for I<oldpath> are also unaffected."
10379 msgstr ""
10380 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10381 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10382 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10383 "リプタにも影響はない。"
10384
10385 #. type: Plain text
10386 #: build/C/man2/rename.2:56
10387 msgid ""
10388 "If I<newpath> already exists it will be atomically replaced (subject to a "
10389 "few conditions; see ERRORS below), so that there is no point at which "
10390 "another process attempting to access I<newpath> will find it missing."
10391 msgstr ""
10392 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10393 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10394 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10395 "とはない (訳註: 常にアクセス可能である)。"
10396
10397 #. type: Plain text
10398 #: build/C/man2/rename.2:64
10399 msgid ""
10400 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10401 "file, then B<rename>()  does nothing, and returns a success status."
10402 msgstr ""
10403 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10404 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10405
10406 #. type: Plain text
10407 #: build/C/man2/rename.2:72
10408 msgid ""
10409 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10410 "guarantees to leave an instance of I<newpath> in place."
10411 msgstr ""
10412 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10413 "I<newpath> の実体を元のまま残すことを保証する。"
10414
10415 #. type: Plain text
10416 #: build/C/man2/rename.2:78
10417 msgid ""
10418 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10419 "not exist, or it must specify an empty directory."
10420 msgstr ""
10421 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10422 "存在しないか、空のディレクトリでなければならない。"
10423
10424 #. type: Plain text
10425 #: build/C/man2/rename.2:85
10426 msgid ""
10427 "However, when overwriting there will probably be a window in which both "
10428 "I<oldpath> and I<newpath> refer to the file being renamed."
10429 msgstr ""
10430 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10431 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10432
10433 #. type: Plain text
10434 #: build/C/man2/rename.2:91
10435 msgid ""
10436 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10437 "refers to a symbolic link the link will be overwritten."
10438 msgstr ""
10439 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
10440 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
10441 "は、リンクが上書きされる。"
10442
10443 #. type: Plain text
10444 #: build/C/man2/rename.2:116
10445 msgid ""
10446 "Write permission is denied for the directory containing I<oldpath> or "
10447 "I<newpath>, or, search permission is denied for one of the directories in "
10448 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10449 "and does not allow write permission (needed to update the I<..> entry).  "
10450 "(See also B<path_resolution>(7).)"
10451 msgstr ""
10452 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10453 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10454 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10455 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10456
10457 #. type: TP
10458 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10459 #, no-wrap
10460 msgid "B<EBUSY>"
10461 msgstr "B<EBUSY>"
10462
10463 #. type: Plain text
10464 #: build/C/man2/rename.2:133
10465 msgid ""
10466 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10467 "use by some process (perhaps as current working directory, or as root "
10468 "directory, or because it was open for reading) or is in use by the system "
10469 "(for example as mount point), while the system considers this an error.  "
10470 "(Note that there is no requirement to return B<EBUSY> in such cases"
10471 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10472 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10473 "situations.)"
10474 msgstr ""
10475 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10476 "分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのために"
10477 "オープンされているかでろう)  もしくは、システムが使用中 (例えばマウントポイン"
10478 "トである)  であり、システムがこれをエラーであると判断したために rename が失敗"
10479 "した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない点に注"
10480 "意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もな"
10481 "い。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10482 "B<EBUSY> を返すことが許されている。)"
10483
10484 #. type: Plain text
10485 #: build/C/man2/rename.2:140
10486 msgid ""
10487 "The new pathname contained a path prefix of the old, or, more generally, an "
10488 "attempt was made to make a directory a subdirectory of itself."
10489 msgstr ""
10490 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10491 "ディレクトリに 変更しようとした場合がほとんどである。"
10492
10493 #. type: Plain text
10494 #: build/C/man2/rename.2:146
10495 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10496 msgstr ""
10497 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10498 "い。"
10499
10500 #. type: Plain text
10501 #: build/C/man2/rename.2:157
10502 msgid ""
10503 "I<oldpath> already has the maximum number of links to it, or it was a "
10504 "directory and the directory containing I<newpath> has the maximum number of "
10505 "links."
10506 msgstr ""
10507 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10508 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10509
10510 #. type: Plain text
10511 #: build/C/man2/rename.2:173
10512 msgid ""
10513 "The link named by I<oldpath> does not exist; or, a directory component in "
10514 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10515 msgstr ""
10516 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10517 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10518
10519 #. type: Plain text
10520 #: build/C/man2/rename.2:190
10521 msgid ""
10522 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10523 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10524 "not a directory."
10525 msgstr ""
10526 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10527 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10528 "トリでない。"
10529
10530 #. type: TP
10531 #: build/C/man2/rename.2:190
10532 #, no-wrap
10533 msgid "B<ENOTEMPTY> or B<EEXIST>"
10534 msgstr "B<ENOTEMPTY  または  EEXIST>"
10535
10536 #. type: Plain text
10537 #: build/C/man2/rename.2:194
10538 msgid ""
10539 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10540 "\" and \"..\"."
10541 msgstr ""
10542 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10543 "でいる。"
10544
10545 #. type: TP
10546 #: build/C/man2/rename.2:194 build/C/man2/unlink.2:126
10547 #, no-wrap
10548 msgid "B<EPERM> or B<EACCES>"
10549 msgstr "B<EPERM> または B<EACCES>"
10550
10551 #. type: Plain text
10552 #: build/C/man2/rename.2:218
10553 msgid ""
10554 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
10555 "the process's effective user ID is neither the user ID of the file to be "
10556 "deleted nor that of the directory containing it, and the process is not "
10557 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
10558 "I<newpath> is an existing file and the directory containing it has the "
10559 "sticky bit set and the process's effective user ID is neither the user ID of "
10560 "the file to be replaced nor that of the directory containing it, and the "
10561 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
10562 "capability); or the file system containing I<pathname> does not support "
10563 "renaming of the type requested."
10564 msgstr ""
10565 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
10566 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
10567 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
10568 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
10569 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
10570 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
10571 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
10572 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
10573 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
10574 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
10575
10576 #. type: Plain text
10577 #: build/C/man2/rename.2:229
10578 msgid ""
10579 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
10580 "permits a file system to be mounted at multiple points, but B<rename>()  "
10581 "does not work across different mount points, even if the same file system is "
10582 "mounted on both.)"
10583 msgstr ""
10584 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
10585 "(Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可"
10586 "している。 しかし B<rename>()  は、たとえ同じファイルシステムであっても、 "
10587 "別々のマウント位置を跨いでは動作しない。)"
10588
10589 #. type: Plain text
10590 #: build/C/man2/rename.2:231
10591 msgid "4.3BSD, C89, C99, POSIX.1-2001."
10592 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
10593
10594 #. type: Plain text
10595 #: build/C/man2/rename.2:242
10596 msgid ""
10597 "On NFS file systems, you can not assume that if the operation failed the "
10598 "file was not renamed.  If the server does the rename operation and then "
10599 "crashes, the retransmitted RPC which will be processed when the server is up "
10600 "again causes a failure.  The application is expected to deal with this.  See "
10601 "B<link>(2)  for a similar problem."
10602 msgstr ""
10603 "NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更で"
10604 "きなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
10605 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
10606 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
10607 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
10608
10609 #. type: Plain text
10610 #: build/C/man2/rename.2:251
10611 msgid ""
10612 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10613 "(2), B<path_resolution>(7), B<symlink>(7)"
10614 msgstr ""
10615 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10616 "(2), B<path_resolution>(7), B<symlink>(7)"
10617
10618 #. type: TH
10619 #: build/C/man2/rmdir.2:30
10620 #, no-wrap
10621 msgid "RMDIR"
10622 msgstr "RMDIR"
10623
10624 #. type: TH
10625 #: build/C/man2/rmdir.2:30
10626 #, no-wrap
10627 msgid "2008-05-08"
10628 msgstr "2008-05-08"
10629
10630 #. type: Plain text
10631 #: build/C/man2/rmdir.2:33
10632 msgid "rmdir - delete a directory"
10633 msgstr "rmdir - ディレクトリを削除する"
10634
10635 #. type: Plain text
10636 #: build/C/man2/rmdir.2:37
10637 msgid "B<int rmdir(const char *>I<pathname>B<);>"
10638 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
10639
10640 #. type: Plain text
10641 #: build/C/man2/rmdir.2:40
10642 msgid "B<rmdir>()  deletes a directory, which must be empty."
10643 msgstr ""
10644 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
10645 "ない。"
10646
10647 #. type: Plain text
10648 #: build/C/man2/rmdir.2:55
10649 msgid ""
10650 "Write access to the directory containing I<pathname> was not allowed, or one "
10651 "of the directories in the path prefix of I<pathname> did not allow search "
10652 "permission.  (See also B<path_resolution>(7)."
10653 msgstr ""
10654 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
10655 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
10656 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
10657 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
10658 "と)"
10659
10660 #. type: Plain text
10661 #: build/C/man2/rmdir.2:64
10662 msgid ""
10663 "I<pathname> is currently in use by the system or some process that prevents "
10664 "its removal.  On Linux this means I<pathname> is currently used as a mount "
10665 "point or is the root directory of the calling process."
10666 msgstr ""
10667 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
10668 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
10669 "たプロセスのルートディレクトリであることを意味する。"
10670
10671 #. type: Plain text
10672 #: build/C/man2/rmdir.2:73
10673 msgid "I<pathname> has I<.> as last component."
10674 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
10675
10676 #. type: Plain text
10677 #: build/C/man2/rmdir.2:77
10678 msgid "Too many symbolic links were encountered in resolving I<pathname>."
10679 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
10680
10681 #. type: Plain text
10682 #: build/C/man2/rmdir.2:85
10683 msgid ""
10684 "A directory component in I<pathname> does not exist or is a dangling "
10685 "symbolic link."
10686 msgstr ""
10687 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
10688 "リックリンク (symbolic link) である。"
10689
10690 #. type: Plain text
10691 #: build/C/man2/rmdir.2:94
10692 msgid ""
10693 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
10694 "fact, a directory."
10695 msgstr ""
10696 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
10697 "クトリでない。"
10698
10699 #. type: TP
10700 #: build/C/man2/rmdir.2:94
10701 #, no-wrap
10702 msgid "B<ENOTEMPTY>"
10703 msgstr "B<ENOTEMPTY>"
10704
10705 #. type: Plain text
10706 #: build/C/man2/rmdir.2:107
10707 msgid ""
10708 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
10709 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
10710 "condition."
10711 msgstr ""
10712 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
10713 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
10714 "で B<EEXIST> を返すことを認めている。"
10715
10716 #. type: Plain text
10717 #: build/C/man2/rmdir.2:118
10718 msgid ""
10719 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
10720 "and the process's effective user ID is neither the user ID of the file to be "
10721 "deleted nor that of the directory containing it, and the process is not "
10722 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
10723 msgstr ""
10724 "I<pathname> を含んでいるディレクトリにスティッキービット(sticky-bit)  "
10725 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
10726 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
10727 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
10728
10729 #. type: Plain text
10730 #: build/C/man2/rmdir.2:123
10731 msgid ""
10732 "The file system containing I<pathname> does not support the removal of "
10733 "directories."
10734 msgstr ""
10735 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
10736 "ない。"
10737
10738 #. type: Plain text
10739 #: build/C/man2/rmdir.2:127
10740 msgid "I<pathname> refers to a directory on a read-only file system."
10741 msgstr ""
10742 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
10743
10744 #. type: Plain text
10745 #: build/C/man2/rmdir.2:132
10746 msgid ""
10747 "Infelicities in the protocol underlying NFS can cause the unexpected "
10748 "disappearance of directories which are still being used."
10749 msgstr ""
10750 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
10751 "する現象が引き起こされることがある。"
10752
10753 #. type: Plain text
10754 #: build/C/man2/rmdir.2:141
10755 msgid ""
10756 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10757 "B<unlink>(2), B<unlinkat>(2)"
10758 msgstr ""
10759 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10760 "B<unlink>(2), B<unlinkat>(2)"
10761
10762 #. type: TH
10763 #: build/C/man3/scanf.3:50
10764 #, no-wrap
10765 msgid "SCANF"
10766 msgstr "SCANF"
10767
10768 #. type: Plain text
10769 #: build/C/man3/scanf.3:53
10770 msgid ""
10771 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
10772 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
10773
10774 #. type: Plain text
10775 #: build/C/man3/scanf.3:60
10776 #, no-wrap
10777 msgid ""
10778 "B<int scanf(const char *>I<format>B<, ...);>\n"
10779 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10780 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10781 msgstr ""
10782 "B<int scanf(const char *>I<format>B<, ...);>\n"
10783 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10784 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10785
10786 #. type: Plain text
10787 #: build/C/man3/scanf.3:62
10788 #, no-wrap
10789 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
10790 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
10791
10792 #. type: Plain text
10793 #: build/C/man3/scanf.3:66
10794 #, no-wrap
10795 msgid ""
10796 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10797 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10798 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10799 msgstr ""
10800 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10801 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10802 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10803
10804 #. type: Plain text
10805 #: build/C/man3/scanf.3:77
10806 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10807 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10808
10809 #. type: Plain text
10810 #: build/C/man3/scanf.3:80
10811 msgid ""
10812 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10813 "200112L;"
10814 msgstr ""
10815 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10816 "200112L;"
10817
10818 #. type: Plain text
10819 #: build/C/man3/scanf.3:102
10820 msgid ""
10821 "The B<scanf>()  family of functions scans input according to I<format> as "
10822 "described below.  This format may contain I<conversion specifications>; the "
10823 "results from such conversions, if any, are stored in the locations pointed "
10824 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
10825 "argument must be of a type that is appropriate for the value returned by the "
10826 "corresponding conversion specification."
10827 msgstr ""
10828 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
10829 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
10830 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
10831 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
10832 "は、対応する変換指定が返す値に 適合していなければならない。"
10833
10834 #. type: Plain text
10835 #: build/C/man3/scanf.3:113
10836 msgid ""
10837 "If the number of conversion specifications in I<format> exceeds the number "
10838 "of I<pointer> arguments, the results are undefined.  If the number of "
10839 "I<pointer> arguments exceeds the number of conversion specifications, then "
10840 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
10841 msgstr ""
10842 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
10843 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
10844 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
10845
10846 #. type: Plain text
10847 #: build/C/man3/scanf.3:125
10848 msgid ""
10849 "The B<scanf>()  function reads input from the standard input stream "
10850 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
10851 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
10852 msgstr ""
10853 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
10854 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
10855 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
10856
10857 #. type: Plain text
10858 #: build/C/man3/scanf.3:143
10859 msgid ""
10860 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
10861 "from the stream pointer I<stream> using a variable argument list of pointers "
10862 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
10863 "from the standard input and the B<vsscanf>()  function scans it from a "
10864 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
10865 "functions respectively."
10866 msgstr ""
10867 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
10868 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
10869 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
10870 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
10871 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
10872
10873 #. type: Plain text
10874 #: build/C/man3/scanf.3:157
10875 msgid ""
10876 "The I<format> string consists of a sequence of I<directives> which describe "
10877 "how to process the sequence of input characters.  If processing of a "
10878 "directive fails, no further input is read, and B<scanf>()  returns.  A "
10879 "\"failure\" can be either of the following: I<input failure>, meaning that "
10880 "input characters were unavailable, or I<matching failure>, meaning that the "
10881 "input was inappropriate (see below)."
10882 msgstr ""
10883 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
10884 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
10885 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
10886 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
10887 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
10888 "であったこと (下記参照) を意味する。"
10889
10890 #. type: Plain text
10891 #: build/C/man3/scanf.3:159
10892 msgid "A directive is one of the following:"
10893 msgstr "命令は以下のいずれかである:"
10894
10895 #. type: TP
10896 #: build/C/man3/scanf.3:159 build/C/man3/scanf.3:165 build/C/man3/scanf.3:169
10897 #: build/C/man3/scanf.3:188 build/C/man3/scanf.3:199 build/C/man3/scanf.3:217
10898 #: build/C/man3/scanf.3:229 build/C/man3/scanf.3:243
10899 #, no-wrap
10900 msgid "\\(bu"
10901 msgstr "\\(bu"
10902
10903 #. type: Plain text
10904 #: build/C/man3/scanf.3:165
10905 msgid ""
10906 "A sequence of white-space characters (space, tab, newline, etc.; see "
10907 "B<isspace>(3)).  This directive matches any amount of white space, including "
10908 "none, in the input."
10909 msgstr ""
10910 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
10911 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
10912 "致する)。"
10913
10914 #. type: Plain text
10915 #: build/C/man3/scanf.3:169
10916 msgid ""
10917 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
10918 "This character must exactly match the next character of input."
10919 msgstr ""
10920 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
10921 "の次の文字に正確に一致しなければならない。"
10922
10923 #. type: Plain text
10924 #: build/C/man3/scanf.3:180
10925 msgid ""
10926 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
10927 "character.  A sequence of characters from the input is converted according "
10928 "to this specification, and the result is placed in the corresponding "
10929 "I<pointer> argument.  If the next item of input does not match the "
10930 "conversion specification, the conversion fails\\(emthis is a I<matching "
10931 "failure>."
10932 msgstr ""
10933 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
10934 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
10935 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
10936 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
10937
10938 #. type: Plain text
10939 #: build/C/man3/scanf.3:188
10940 msgid ""
10941 "Each I<conversion specification> in I<format> begins with either the "
10942 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
10943 "for the distinction) followed by:"
10944 msgstr ""
10945 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
10946 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
10947
10948 #. type: Plain text
10949 #: build/C/man3/scanf.3:199
10950 msgid ""
10951 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
10952 "input as directed by the conversion specification, but discards the input.  "
10953 "No corresponding I<pointer> argument is required, and this specification is "
10954 "not included in the count of successful assignments returned by B<scanf>()."
10955 msgstr ""
10956 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
10957 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
10958 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
10959
10960 #. type: Plain text
10961 #: build/C/man3/scanf.3:217
10962 msgid ""
10963 "An optional \\(aqa\\(aq character.  This is used with string conversions, "
10964 "and relieves the caller of the need to allocate a corresponding buffer to "
10965 "hold the input: instead, B<scanf>()  allocates a buffer of sufficient size, "
10966 "and assigns the address of this buffer to the corresponding I<pointer> "
10967 "argument, which should be a pointer to a I<char *> variable (this variable "
10968 "does not need to be initialized before the call).  The caller should "
10969 "subsequently B<free>(3)  this buffer when it is no longer required.  This is "
10970 "a GNU extension; C99 employs the \\(aqa\\(aq character as a conversion "
10971 "specifier (and it can also be used as such in the GNU implementation)."
10972 msgstr ""
10973 "文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
10974 "呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
10975 "に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
10976 "応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
10977 "のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
10978 "い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
10979 "る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
10980 "使用している (こちらも GNU の実装と同じように使用することができる)。"
10981
10982 #. type: Plain text
10983 #: build/C/man3/scanf.3:229
10984 msgid ""
10985 "An optional decimal integer which specifies the I<maximum field width>.  "
10986 "Reading of characters stops either when this maximum is reached or when a "
10987 "nonmatching character is found, whichever happens first.  Most conversions "
10988 "discard initial white space characters (the exceptions are noted below), and "
10989 "these discarded characters don't count toward the maximum field width.  "
10990 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
10991 "mark the end of the input; the maximum field width does not include this "
10992 "terminator."
10993 msgstr ""
10994 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
10995 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
10996 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
10997 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
10998 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
10999 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
11000
11001 #. type: Plain text
11002 #: build/C/man3/scanf.3:243
11003 msgid ""
11004 "An optional I<type modifier character>.  For example, the B<l> type modifier "
11005 "is used with integer conversions such as B<%d> to specify that the "
11006 "corresponding I<pointer> argument refers to a I<long int> rather than a "
11007 "pointer to an I<int>."
11008 msgstr ""
11009 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
11010 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
11011 "I<int> ではなく I<long int> を参照していることを指定できる。"
11012
11013 #. type: Plain text
11014 #: build/C/man3/scanf.3:248
11015 msgid ""
11016 "A I<conversion specifier> that specifies the type of input conversion to be "
11017 "performed."
11018 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
11019
11020 #. type: Plain text
11021 #: build/C/man3/scanf.3:277
11022 msgid ""
11023 "The conversion specifications in I<format> are of two forms, either "
11024 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
11025 "forms should not be mixed in the same I<format> string, except that a string "
11026 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
11027 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
11028 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
11029 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
11030 "specifies that the converted input should be placed in the location referred "
11031 "to by the I<n>-th I<pointer> argument following I<format>."
11032 msgstr ""
11033 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
11034 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
11035 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
11036 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
11037 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
11038 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
11039 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
11040 "I<pointer> 引き数が参照する場所に格納することを指定する。"
11041
11042 #. type: SS
11043 #: build/C/man3/scanf.3:277
11044 #, no-wrap
11045 msgid "Conversions"
11046 msgstr "変換"
11047
11048 #. type: Plain text
11049 #: build/C/man3/scanf.3:281
11050 msgid ""
11051 "The following I<type modifier characters> can appear in a conversion "
11052 "specification:"
11053 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
11054
11055 #. type: Plain text
11056 #: build/C/man3/scanf.3:291
11057 msgid ""
11058 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
11059 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
11060 "I<unsigned short int> (rather than I<int>)."
11061 msgstr ""
11062 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
11063 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
11064 "あることを示す。"
11065
11066 #. type: Plain text
11067 #: build/C/man3/scanf.3:299
11068 msgid ""
11069 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
11070 "I<unsigned char>."
11071 msgstr ""
11072 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
11073 "タであることを示す。"
11074
11075 #. type: Plain text
11076 #: build/C/man3/scanf.3:308
11077 msgid ""
11078 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
11079 "I<uintmax_t>.  This modifier was introduced in C99."
11080 msgstr ""
11081 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11082 "ることを示す。 この修飾子は C99 で導入された。"
11083
11084 #.  This use of l was introduced in Amendment 1 to ISO C90.
11085 #. type: Plain text
11086 #: build/C/man3/scanf.3:335
11087 msgid ""
11088 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11089 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11090 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11091 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11092 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11093 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11094 "as a pointer to a wide character or wide-character string respectively."
11095 msgstr ""
11096 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11097 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11098 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11099 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11100 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11101 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11102 "ンタであると みなされる。"
11103
11104 #.  MTK, Jul 05: The following is no longer true for modern
11105 #.  ANSI C (i.e., C99):
11106 #.  (Note that long long is not an
11107 #.  ANSI C
11108 #.  type. Any program using this will not be portable to all
11109 #.  architectures).
11110 #. type: Plain text
11111 #: build/C/man3/scanf.3:351
11112 msgid ""
11113 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11114 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11115 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11116 msgstr ""
11117 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11118 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11119 "I<long long> へのポインタであることのいずれかであることを示す。"
11120
11121 #. type: Plain text
11122 #: build/C/man3/scanf.3:356
11123 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11124 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11125
11126 #. type: Plain text
11127 #: build/C/man3/scanf.3:363
11128 msgid ""
11129 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11130 "modifier was introduced in C99."
11131 msgstr ""
11132 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11133 "この修飾子は C99 で導入された。"
11134
11135 #. type: Plain text
11136 #: build/C/man3/scanf.3:370
11137 msgid ""
11138 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11139 "modifier was introduced in C99."
11140 msgstr ""
11141 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11142 "修飾子は C99 で導入された。"
11143
11144 #. type: Plain text
11145 #: build/C/man3/scanf.3:374
11146 msgid "The following I<conversion specifiers> are available:"
11147 msgstr "以下の I<「変換指定子」> が利用可能である。"
11148
11149 #. type: Plain text
11150 #: build/C/man3/scanf.3:383
11151 msgid ""
11152 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11153 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11154 "initial white space characters are discarded), and assignment does not occur."
11155 msgstr ""
11156 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11157 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11158 "る)、 変数への代入は生じない。"
11159
11160 #. type: TP
11161 #: build/C/man3/scanf.3:383
11162 #, no-wrap
11163 msgid "B<d>"
11164 msgstr "B<d>"
11165
11166 #. type: Plain text
11167 #: build/C/man3/scanf.3:388
11168 msgid ""
11169 "Matches an optionally signed decimal integer; the next pointer must be a "
11170 "pointer to I<int>."
11171 msgstr ""
11172 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11173 "ばならない。"
11174
11175 #. type: TP
11176 #: build/C/man3/scanf.3:388
11177 #, no-wrap
11178 msgid "B<D>"
11179 msgstr "B<D>"
11180
11181 #. type: Plain text
11182 #: build/C/man3/scanf.3:397
11183 msgid ""
11184 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11185 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11186 "causing old programs to fail mysteriously.)"
11187 msgstr ""
11188 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11189 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11190 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11191
11192 #. type: TP
11193 #: build/C/man3/scanf.3:397
11194 #, no-wrap
11195 msgid "B<i>"
11196 msgstr "B<i>"
11197
11198 #. type: Plain text
11199 #: build/C/man3/scanf.3:409
11200 msgid ""
11201 "Matches an optionally signed integer; the next pointer must be a pointer to "
11202 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11203 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11204 "that correspond to the base are used."
11205 msgstr ""
11206 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11207 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11208 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11209 "される文字は、これらの基数に対応しているものだけである。"
11210
11211 #. type: TP
11212 #: build/C/man3/scanf.3:409
11213 #, no-wrap
11214 msgid "B<o>"
11215 msgstr "B<o>"
11216
11217 #. type: Plain text
11218 #: build/C/man3/scanf.3:413
11219 msgid ""
11220 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11221 "I<unsigned int>."
11222 msgstr ""
11223 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11224 "らない。"
11225
11226 #. type: TP
11227 #: build/C/man3/scanf.3:413
11228 #, no-wrap
11229 msgid "B<u>"
11230 msgstr "B<u>"
11231
11232 #. type: Plain text
11233 #: build/C/man3/scanf.3:418
11234 msgid ""
11235 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11236 "I<unsigned int>."
11237 msgstr ""
11238 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11239 "でなければならない。"
11240
11241 #. type: Plain text
11242 #: build/C/man3/scanf.3:423
11243 msgid ""
11244 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11245 "to I<unsigned int>."
11246 msgstr ""
11247 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11248 "タでなければならない。"
11249
11250 #. type: TP
11251 #: build/C/man3/scanf.3:423
11252 #, no-wrap
11253 msgid "B<X>"
11254 msgstr "B<X>"
11255
11256 #. type: Plain text
11257 #: build/C/man3/scanf.3:427
11258 msgid "Equivalent to B<x>."
11259 msgstr "B<x> と同一である。"
11260
11261 #. type: TP
11262 #: build/C/man3/scanf.3:427
11263 #, no-wrap
11264 msgid "B<f>"
11265 msgstr "B<f>"
11266
11267 #. type: Plain text
11268 #: build/C/man3/scanf.3:432
11269 msgid ""
11270 "Matches an optionally signed floating-point number; the next pointer must be "
11271 "a pointer to I<float>."
11272 msgstr ""
11273 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11274 "ればならない。"
11275
11276 #. type: TP
11277 #: build/C/man3/scanf.3:432
11278 #, no-wrap
11279 msgid "B<e>"
11280 msgstr "B<e>"
11281
11282 #. type: Plain text
11283 #: build/C/man3/scanf.3:436 build/C/man3/scanf.3:440 build/C/man3/scanf.3:444
11284 msgid "Equivalent to B<f>."
11285 msgstr "B<f> と同一である。"
11286
11287 #. type: TP
11288 #: build/C/man3/scanf.3:436
11289 #, no-wrap
11290 msgid "B<g>"
11291 msgstr "B<g>"
11292
11293 #. type: TP
11294 #: build/C/man3/scanf.3:440
11295 #, no-wrap
11296 msgid "B<E>"
11297 msgstr "B<E>"
11298
11299 #. type: Plain text
11300 #: build/C/man3/scanf.3:448
11301 msgid "(C99) Equivalent to B<f>."
11302 msgstr "(C99)  B<f> と同一である。"
11303
11304 #. type: Plain text
11305 #: build/C/man3/scanf.3:456
11306 msgid ""
11307 "Matches a sequence of non-white-space characters; the next pointer must be a "
11308 "pointer to character array that is long enough to hold the input sequence "
11309 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11310 "automatically.  The input string stops at white space or at the maximum "
11311 "field width, whichever occurs first."
11312 msgstr ""
11313 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11314 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11315 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11316 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11317 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11318
11319 #. type: Plain text
11320 #: build/C/man3/scanf.3:467
11321 msgid ""
11322 "Matches a sequence of characters whose length is specified by the I<maximum "
11323 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11324 "there must be enough room for all the characters (no terminating null byte "
11325 "is added).  The usual skip of leading white space is suppressed.  To skip "
11326 "white space first, use an explicit space in the format."
11327 msgstr ""
11328 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11329 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11330 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11331 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11332 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11333
11334 #. type: TP
11335 #: build/C/man3/scanf.3:467
11336 #, no-wrap
11337 msgid "B<\\&[>"
11338 msgstr "B<\\&[>"
11339
11340 #. type: Plain text
11341 #: build/C/man3/scanf.3:500
11342 msgid ""
11343 "Matches a nonempty sequence of characters from the specified set of accepted "
11344 "characters; the next pointer must be a pointer to I<char>, and there must be "
11345 "enough room for all the characters in the string, plus a terminating null "
11346 "byte.  The usual skip of leading white space is suppressed.  The string is "
11347 "to be made up of characters in (or not in) a particular set; the set is "
11348 "defined by the characters between the open bracket B<[> character and a "
11349 "close bracket B<]> character.  The set I<excludes> those characters if the "
11350 "first character after the open bracket is a circumflex (B<^>).  To include a "
11351 "close bracket in the set, make it the first character after the open bracket "
11352 "or the circumflex; any other position will end the set.  The hyphen "
11353 "character B<-> is also special; when placed between two other characters, it "
11354 "adds all intervening characters to the set.  To include a hyphen, make it "
11355 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11356 "> means the set \"everything except close bracket, zero through nine, and "
11357 "hyphen\".  The string ends with the appearance of a character not in the "
11358 "(or, with a circumflex, in) set or when the field width runs out."
11359 msgstr ""
11360 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11361 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11362 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11363 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11364 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11365 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11366 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11367 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11368 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11369 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11370 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11371 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11372 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11373 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11374 "文字の 出現または確保された領域が使い切られた時に終了する。"
11375
11376 #. type: Plain text
11377 #: build/C/man3/scanf.3:508
11378 msgid ""
11379 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11380 "pointer must be a pointer to a pointer to I<void>."
11381 msgstr ""
11382 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11383 "タは I<void> へのポインタへのポインタでなければならない。"
11384
11385 #. type: Plain text
11386 #: build/C/man3/scanf.3:528
11387 msgid ""
11388 "Nothing is expected; instead, the number of characters consumed thus far "
11389 "from the input is stored through the next pointer, which must be a pointer "
11390 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11391 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11392 "of a B<%n> directive does not increment the assignment count returned at the "
11393 "completion of execution\" but the Corrigendum seems to contradict this.  "
11394 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11395 "conversions on the return value."
11396 msgstr ""
11397 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11398 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11399 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11400 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11401 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11402 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11403 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11404
11405 #. type: Plain text
11406 #: build/C/man3/scanf.3:533
11407 msgid ""
11408 "These functions return the number of input items successfully matched and "
11409 "assigned, which can be fewer than provided for, or even zero in the event of "
11410 "an early matching failure."
11411 msgstr ""
11412 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11413 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11414 "ることもある。"
11415
11416 #. type: Plain text
11417 #: build/C/man3/scanf.3:545
11418 msgid ""
11419 "The value B<EOF> is returned if the end of input is reached before either "
11420 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11421 "also returned if a read error occurs, in which case the error indicator for "
11422 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11423 "error."
11424 msgstr ""
11425 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11426 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11427 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11428 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11429
11430 #. type: Plain text
11431 #: build/C/man3/scanf.3:551
11432 msgid ""
11433 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11434 "operation would block."
11435 msgstr ""
11436 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11437 "込み操作は停止 (block) することになる。"
11438
11439 #. type: Plain text
11440 #: build/C/man3/scanf.3:556
11441 msgid ""
11442 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11443 msgstr ""
11444 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11445 "ンされていない。"
11446
11447 #. type: Plain text
11448 #: build/C/man3/scanf.3:559
11449 msgid "Input byte sequence does not form a valid character."
11450 msgstr "入力されたバイト列が有効な文字を構成していない。"
11451
11452 #. type: Plain text
11453 #: build/C/man3/scanf.3:563
11454 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11455 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11456
11457 #. type: Plain text
11458 #: build/C/man3/scanf.3:568
11459 msgid "Not enough arguments; or I<format> is NULL."
11460 msgstr "引き数が十分でない。または I<format> が NULL である。"
11461
11462 #. type: Plain text
11463 #: build/C/man3/scanf.3:571
11464 msgid "Out of memory."
11465 msgstr "メモリ不足。"
11466
11467 #. type: TP
11468 #: build/C/man3/scanf.3:571
11469 #, no-wrap
11470 msgid "B<ERANGE>"
11471 msgstr "B<ERANGE>"
11472
11473 #. type: Plain text
11474 #: build/C/man3/scanf.3:575
11475 msgid ""
11476 "The result of an integer conversion would exceed the size that can be stored "
11477 "in the corresponding integer type."
11478 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11479
11480 #. type: Plain text
11481 #: build/C/man3/scanf.3:585
11482 msgid ""
11483 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11484 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11485 msgstr ""
11486 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11487 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11488
11489 #. type: Plain text
11490 #: build/C/man3/scanf.3:595
11491 msgid ""
11492 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11493 "the usage of B<L> in integer conversions is the GNU notation."
11494 msgstr ""
11495 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11496 "B<ll> または B<L> の使用は GNU での拡張である。"
11497
11498 #. type: Plain text
11499 #: build/C/man3/scanf.3:606
11500 msgid ""
11501 "The Linux version of these functions is based on the I<GNU> I<libio> "
11502 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11503 "(glibc-1.08)> for a more concise description."
11504 msgstr ""
11505 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11506 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11507
11508 #.  This feature seems to be present at least as far back as glibc 2.0.
11509 #. type: Plain text
11510 #: build/C/man3/scanf.3:624
11511 msgid ""
11512 "The GNU C library supports a nonstandard extension that causes the library "
11513 "to dynamically allocate a string of sufficient size for input strings for "
11514 "the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To make use of this "
11515 "feature, specify B<a> as a length modifier (thus B<%as> or B<%a[>I<range>B<]"
11516 ">).  The caller must B<free>(3)  the returned string, as in the following "
11517 "example:"
11518 msgstr ""
11519 "GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
11520 "ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
11521 "分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
11522 "るには、長さ修飾子として B<a> を指定する (したがって、全体としては B<%as> や "
11523 "B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
11524 "を B<free>(3)  しなければならない。"
11525
11526 #. type: Plain text
11527 #: build/C/man3/scanf.3:629
11528 #, no-wrap
11529 msgid ""
11530 "char *p;\n"
11531 "int n;\n"
11532 msgstr ""
11533 "char *p;\n"
11534 "int n;\n"
11535
11536 #. type: Plain text
11537 #: build/C/man3/scanf.3:640
11538 #, no-wrap
11539 msgid ""
11540 "errno = 0;\n"
11541 "n = scanf(\"%a[a-z]\", &p);\n"
11542 "if (n == 1) {\n"
11543 "    printf(\"read: %s\\en\", p);\n"
11544 "    free(p);\n"
11545 "} else if (errno != 0) {\n"
11546 "    perror(\"scanf\");\n"
11547 "} else {\n"
11548 "    fprintf(stderr, \"No matching characters\\en\");\n"
11549 "}\n"
11550 msgstr ""
11551 "errno = 0;\n"
11552 "n = scanf(\"%a[a-z]\", &p);\n"
11553 "if (n == 1) {\n"
11554 "    printf(\"read: %s\\en\", p);\n"
11555 "    free(p);\n"
11556 "} else if (errno != 0) {\n"
11557 "    perror(\"scanf\");\n"
11558 "} else {\n"
11559 "    fprintf(stderr, \"No matching characters\\en\");\n"
11560 "}\n"
11561
11562 #. type: Plain text
11563 #: build/C/man3/scanf.3:648
11564 msgid ""
11565 "As shown in the above example, it is only necessary to call B<free>(3)  if "
11566 "the B<scanf>()  call successfully read a string."
11567 msgstr ""
11568 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
11569 "B<free>(3)  を呼び出す必要がある。"
11570
11571 #. type: Plain text
11572 #: build/C/man3/scanf.3:660
11573 msgid ""
11574 "The B<a> modifier is not available if the program is compiled with I<gcc -"
11575 "std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
11576 "specified), in which case the B<a> is interpreted as a specifier for "
11577 "floating-point numbers (see above)."
11578 msgstr ""
11579 "I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプログラムでは "
11580 "(B<_GNU_SOURCE> も同時に指定していない場合)、 B<a> 修飾子は利用できない。 上"
11581 "記の場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
11582
11583 #. type: Plain text
11584 #: build/C/man3/scanf.3:669
11585 msgid ""
11586 "Since version 2.7, glibc also provides the B<m> modifier for the same "
11587 "purpose as the B<a> modifier.  The B<m> modifier has the following "
11588 "advantages:"
11589 msgstr ""
11590 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
11591 "ている。 B<m> 修飾子は以下の利点がある。"
11592
11593 #. type: Plain text
11594 #: build/C/man3/scanf.3:674
11595 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
11596 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
11597
11598 #. type: Plain text
11599 #: build/C/man3/scanf.3:680
11600 msgid ""
11601 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
11602 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
11603 msgstr ""
11604 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
11605 "std=c99> などの影響も避けられる)。"
11606
11607 #. type: Plain text
11608 #: build/C/man3/scanf.3:682
11609 msgid "It is specified in the upcoming revision of the POSIX.1 standard."
11610 msgstr "POSIX.1 標準の次の改訂版で規定される。"
11611
11612 #. type: Plain text
11613 #: build/C/man3/scanf.3:695
11614 msgid ""
11615 "All functions are fully C89 conformant, but provide the additional "
11616 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
11617 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
11618 "the behavior of specifiers defined in C89."
11619 msgstr ""
11620 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
11621 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
11622 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
11623 "れない。"
11624
11625 #. type: Plain text
11626 #: build/C/man3/scanf.3:711
11627 #, fuzzy
11628 #| msgid ""
11629 #| "Some combinations of the type modifiers and conversion specifiers defined "
11630 #| "by ANSI C do not make sense (e.g.  B<%Ld>).  While they may have a well-"
11631 #| "defined behavior on Linux, this need not to be so on other "
11632 #| "architectures.  Therefore it usually is better to use modifiers that are "
11633 #| "not defined by ANSI C at all, that is, use B<q> instead of B<L> in "
11634 #| "combination with B<d>, B<i>, B<o>, B<u>, B<x>, and B<X> conversions or "
11635 #| "B<ll>."
11636 msgid ""
11637 "Some combinations of the type modifiers and conversion specifiers defined by "
11638 "ANSI C do not make sense (e.g., B<%Ld>).  While they may have a well-defined "
11639 "behavior on Linux, this need not to be so on other architectures.  Therefore "
11640 "it usually is better to use modifiers that are not defined by ANSI C at all, "
11641 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
11642 "B<u>, B<x>, and B<X> conversions or B<ll>."
11643 msgstr ""
11644 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味をなさないも"
11645 "のがある (例えば、 B<%Ld>)。 これらが指定された場合、 Linux 上でははっきりと"
11646 "定義された振る舞いをするかもしれないが、 他のアーキテクチャでも同様になってい"
11647 "るとは限らない。 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子"
11648 "を使用した方が良い。 すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や "
11649 "B<ll> と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
11650
11651 #. type: Plain text
11652 #: build/C/man3/scanf.3:717
11653 msgid ""
11654 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
11655 "conversions equivalently to B<L>."
11656 msgstr ""
11657 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
11658 "動小数の変換に使用される。"
11659
11660 #. type: Plain text
11661 #: build/C/man3/scanf.3:724
11662 msgid ""
11663 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11664 "B<strtoul>(3)"
11665 msgstr ""
11666 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11667 "B<strtoul>(3),"
11668
11669 #. type: TH
11670 #: build/C/man3/setbuf.3:46
11671 #, no-wrap
11672 msgid "SETBUF"
11673 msgstr "SETBUF"
11674
11675 #. type: TH
11676 #: build/C/man3/setbuf.3:46
11677 #, no-wrap
11678 msgid "2008-06-26"
11679 msgstr "2008-06-26"
11680
11681 #. type: Plain text
11682 #: build/C/man3/setbuf.3:49
11683 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
11684 msgstr ""
11685 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
11686
11687 #. type: Plain text
11688 #: build/C/man3/setbuf.3:54
11689 #, no-wrap
11690 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11691 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11692
11693 #. type: Plain text
11694 #: build/C/man3/setbuf.3:56
11695 #, no-wrap
11696 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11697 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11698
11699 #. type: Plain text
11700 #: build/C/man3/setbuf.3:58
11701 #, no-wrap
11702 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11703 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11704
11705 #. type: Plain text
11706 #: build/C/man3/setbuf.3:61
11707 #, no-wrap
11708 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11709 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11710
11711 #. type: Plain text
11712 #: build/C/man3/setbuf.3:71
11713 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11714 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11715
11716 #. type: Plain text
11717 #: build/C/man3/setbuf.3:94
11718 msgid ""
11719 "The three types of buffering available are unbuffered, block buffered, and "
11720 "line buffered.  When an output stream is unbuffered, information appears on "
11721 "the destination file or terminal as soon as written; when it is block "
11722 "buffered many characters are saved up and written as a block; when it is "
11723 "line buffered characters are saved up until a newline is output or input is "
11724 "read from any stream attached to a terminal device (typically I<stdin>).  "
11725 "The function B<fflush>(3)  may be used to force the block out early.  (See "
11726 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
11727 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
11728 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
11729 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
11730 "by default."
11731 msgstr ""
11732 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
11733 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
11734 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
11735 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
11736 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
11737 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
11738 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
11739 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
11740 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
11741 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
11742 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
11743 "unbuffered である。"
11744
11745 #. type: Plain text
11746 #: build/C/man3/setbuf.3:101
11747 msgid ""
11748 "The B<setvbuf>()  function may be used on any open stream to change its "
11749 "buffer.  The I<mode> argument must be one of the following three macros:"
11750 msgstr ""
11751 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
11752 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
11753
11754 #. type: TP
11755 #: build/C/man3/setbuf.3:102
11756 #, no-wrap
11757 msgid "B<_IONBF>"
11758 msgstr "B<_IONBF>"
11759
11760 #. type: Plain text
11761 #: build/C/man3/setbuf.3:105
11762 msgid "unbuffered"
11763 msgstr "unbuffered"
11764
11765 #. type: TP
11766 #: build/C/man3/setbuf.3:105
11767 #, no-wrap
11768 msgid "B<_IOLBF>"
11769 msgstr "B<_IOLBF>"
11770
11771 #. type: Plain text
11772 #: build/C/man3/setbuf.3:108
11773 msgid "line buffered"
11774 msgstr "line buffered"
11775
11776 #. type: TP
11777 #: build/C/man3/setbuf.3:108
11778 #, no-wrap
11779 msgid "B<_IOFBF>"
11780 msgstr "B<_IOFBF>"
11781
11782 #. type: Plain text
11783 #: build/C/man3/setbuf.3:111
11784 msgid "fully buffered"
11785 msgstr "fully buffered"
11786
11787 #. type: Plain text
11788 #: build/C/man3/setbuf.3:127
11789 msgid ""
11790 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
11791 "least I<size> bytes long; this buffer will be used instead of the current "
11792 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
11793 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
11794 "()  function may only be used after opening a stream and before any other "
11795 "operations have been performed on it."
11796 msgstr ""
11797 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
11798 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
11799 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
11800 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
11801 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
11802
11803 #. type: Plain text
11804 #: build/C/man3/setbuf.3:133
11805 msgid ""
11806 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
11807 "().  The B<setbuf>()  function is exactly equivalent to the call"
11808 msgstr ""
11809 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
11810 "B<setbuf>()  関数は、"
11811
11812 #. type: Plain text
11813 #: build/C/man3/setbuf.3:136
11814 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11815 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11816
11817 #. type: Plain text
11818 #: build/C/man3/setbuf.3:146
11819 msgid ""
11820 "The B<setbuffer>()  function is the same, except that the size of the buffer "
11821 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
11822 "The B<setlinebuf>()  function is exactly equivalent to the call:"
11823 msgstr ""
11824 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
11825 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
11826 "は以下と同じである。"
11827
11828 #. type: Plain text
11829 #: build/C/man3/setbuf.3:149
11830 msgid "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11831 msgstr "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11832
11833 #. type: Plain text
11834 #: build/C/man3/setbuf.3:160
11835 msgid ""
11836 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
11837 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
11838 "I<errno> on failure."
11839 msgstr ""
11840 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
11841 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
11842 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
11843
11844 #. type: Plain text
11845 #: build/C/man3/setbuf.3:162
11846 msgid "The other functions do not return a value."
11847 msgstr "その他の関数は値を返さない。"
11848
11849 #. type: Plain text
11850 #: build/C/man3/setbuf.3:168
11851 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
11852 msgstr ""
11853 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
11854
11855 #. type: Plain text
11856 #: build/C/man3/setbuf.3:178
11857 msgid ""
11858 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
11859 "versions of BSD before 4.2BSD, and are available under Linux since libc "
11860 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
11861 "buffer size and should be avoided."
11862 msgstr ""
11863 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
11864 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
11865 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
11866 "ズを使用するので、これも使うべきでない。"
11867
11868 #. type: Plain text
11869 #: build/C/man3/setbuf.3:185
11870 msgid ""
11871 "You must make sure that the space that I<buf> points to still exists by the "
11872 "time I<stream> is closed, which also happens at program termination.  For "
11873 "example, the following is invalid:"
11874 msgstr ""
11875 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
11876 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
11877 "な使い方は許されない:"
11878
11879 #. type: Plain text
11880 #: build/C/man3/setbuf.3:188
11881 #, no-wrap
11882 msgid "#include E<lt>stdio.hE<gt>\n"
11883 msgstr "#include E<lt>stdio.hE<gt>\n"
11884
11885 #. type: Plain text
11886 #: build/C/man3/setbuf.3:197
11887 #, no-wrap
11888 msgid ""
11889 "int\n"
11890 "main(void)\n"
11891 "{\n"
11892 "    char buf[BUFSIZ];\n"
11893 "    setbuf(stdin, buf);\n"
11894 "    printf(\"Hello, world!\\en\");\n"
11895 "    return 0;\n"
11896 "}\n"
11897 msgstr ""
11898 "int\n"
11899 "main(void)\n"
11900 "{\n"
11901 "    char buf[BUFSIZ];\n"
11902 "    setbuf(stdin, buf);\n"
11903 "    printf(\"Hello, world!\\en\");\n"
11904 "    return 0;\n"
11905 "}\n"
11906
11907 #. type: Plain text
11908 #: build/C/man3/setbuf.3:206
11909 msgid ""
11910 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11911 "(3), B<puts>(3)"
11912 msgstr ""
11913 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11914 "(3), B<puts>(3)"
11915
11916 #. type: TH
11917 #: build/C/man3/stdin.3:9
11918 #, no-wrap
11919 msgid "STDIN"
11920 msgstr "STDIN"
11921
11922 #. type: TH
11923 #: build/C/man3/stdin.3:9 build/C/man3/tmpfile.3:29
11924 #, no-wrap
11925 msgid "2008-07-14"
11926 msgstr "2008-07-14"
11927
11928 #. type: Plain text
11929 #: build/C/man3/stdin.3:12
11930 msgid "stdin, stdout, stderr - standard I/O streams"
11931 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
11932
11933 #. type: Plain text
11934 #: build/C/man3/stdin.3:19
11935 #, no-wrap
11936 msgid ""
11937 "B<extern FILE *>I<stdin>B<;>\n"
11938 "B<extern FILE *>I<stdout>B<;>\n"
11939 "B<extern FILE *>I<stderr>B<;>\n"
11940 msgstr ""
11941 "B<extern FILE *>I<stdin>B<;>\n"
11942 "B<extern FILE *>I<stdout>B<;>\n"
11943 "B<extern FILE *>I<stderr>B<;>\n"
11944
11945 #. type: Plain text
11946 #: build/C/man3/stdin.3:31
11947 msgid ""
11948 "Under normal circumstances every UNIX program has three streams opened for "
11949 "it when it starts up, one for input, one for output, and one for printing "
11950 "diagnostic or error messages.  These are typically attached to the user's "
11951 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
11952 "depending on what the parent process chose to set up.  (See also the "
11953 "\"Redirection\" section of B<sh>(1).)"
11954 msgstr ""
11955 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
11956 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
11957 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
11958 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
11959 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
11960
11961 #. type: Plain text
11962 #: build/C/man3/stdin.3:41
11963 msgid ""
11964 "The input stream is referred to as \"standard input\"; the output stream is "
11965 "referred to as \"standard output\"; and the error stream is referred to as "
11966 "\"standard error\".  These terms are abbreviated to form the symbols used to "
11967 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
11968 msgstr ""
11969 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
11970 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
11971 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
11972 "I<stdout>, I<stderr> である。"
11973
11974 #. type: Plain text
11975 #: build/C/man3/stdin.3:50
11976 msgid ""
11977 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
11978 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
11979 msgstr ""
11980 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
11981 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
11982
11983 #. type: Plain text
11984 #: build/C/man3/stdin.3:59
11985 msgid ""
11986 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
11987 "same underlying files may also be accessed using the raw UNIX file "
11988 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
11989 msgstr ""
11990 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
11991 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
11992 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
11993 "る。"
11994
11995 #. type: Plain text
11996 #: build/C/man3/stdin.3:78
11997 msgid ""
11998 "On program startup, the integer file descriptors associated with the streams "
11999 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
12000 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
12001 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
12002 "(3)  to one of these streams can change the file descriptor number "
12003 "associated with the stream.)"
12004 msgstr ""
12005 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
12006 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
12007 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
12008 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
12009 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
12010 "たファイルディスクリプタ の番号を変更することができる。)"
12011
12012 #. type: Plain text
12013 #: build/C/man3/stdin.3:91
12014 msgid ""
12015 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
12016 "unexpected results and should generally be avoided.  (For the masochistic "
12017 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
12018 "is supposed to work.)  A general rule is that file descriptors are handled "
12019 "in the kernel, while stdio is just a library.  This means for example, that "
12020 "after an B<exec>(3), the child inherits all open file descriptors, but all "
12021 "old streams have become inaccessible."
12022 msgstr ""
12023 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
12024 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
12025 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
12026 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
12027 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
12028 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
12029 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
12030
12031 #. type: Plain text
12032 #: build/C/man3/stdin.3:109
12033 msgid ""
12034 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
12035 "macros, assigning to them is nonportable.  The standard streams can be made "
12036 "to refer to different files with help of the library function B<freopen>(3), "
12037 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
12038 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
12039 "by normal program termination."
12040 msgstr ""
12041 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
12042 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
12043 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
12044 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
12045 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
12046 "グラムの正常終了によってクローズされる。"
12047
12048 #. type: Plain text
12049 #: build/C/man3/stdin.3:118
12050 msgid ""
12051 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
12052 "standard also stipulates that these three streams shall be open at program "
12053 "startup."
12054 msgstr ""
12055 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
12056 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
12057 "とが規定されている。"
12058
12059 #. type: Plain text
12060 #: build/C/man3/stdin.3:150
12061 msgid ""
12062 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
12063 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
12064 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
12065 "unexpected results, especially with debugging output.  The buffering mode of "
12066 "the standard streams (or any other stream)  can be changed using the "
12067 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
12068 "associated with a terminal, there may also be input buffering in the "
12069 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
12070 "terminal input is line buffered in the kernel.)  This kernel input handling "
12071 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
12072 "B<termios>(3)."
12073 msgstr ""
12074 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
12075 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
12076 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
12077 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
12078 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
12079 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
12080 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
12081 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
12082 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
12083 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
12084 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
12085 "B<termios>(3)  も参照すること。"
12086
12087 #. type: Plain text
12088 #: build/C/man3/stdin.3:156
12089 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12090 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12091
12092 #. type: TH
12093 #: build/C/man3/stdio.3:37
12094 #, no-wrap
12095 msgid "STDIO"
12096 msgstr "STDIO"
12097
12098 #. type: TH
12099 #: build/C/man3/stdio.3:37
12100 #, no-wrap
12101 msgid "2001-12-26"
12102 msgstr "2001-12-26"
12103
12104 #. type: Plain text
12105 #: build/C/man3/stdio.3:40
12106 msgid "stdio - standard input/output library functions"
12107 msgstr "stdio - 標準入出力ライブラリ関数"
12108
12109 #. type: Plain text
12110 #: build/C/man3/stdio.3:44
12111 msgid "B<FILE *>I<stdin>B<;>"
12112 msgstr "B<FILE *>I<stdin>B<;>"
12113
12114 #. type: Plain text
12115 #: build/C/man3/stdio.3:46
12116 msgid "B<FILE *>I<stdout>B<;>"
12117 msgstr "B<FILE *>I<stdout>B<;>"
12118
12119 #. type: Plain text
12120 #: build/C/man3/stdio.3:48
12121 msgid "B<FILE *>I<stderr>B<;>"
12122 msgstr "B<FILE *>I<stderr>B<;>"
12123
12124 #. type: Plain text
12125 #: build/C/man3/stdio.3:55
12126 msgid ""
12127 "The standard I/O library provides a simple and efficient buffered stream I/O "
12128 "interface.  Input and output is mapped into logical data streams and the "
12129 "physical I/O characteristics are concealed.  The functions and macros are "
12130 "listed below; more information is available from the individual man pages."
12131 msgstr ""
12132 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12133 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12134 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12135 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12136
12137 #. type: Plain text
12138 #: build/C/man3/stdio.3:78
12139 msgid ""
12140 "A stream is associated with an external file (which may be a physical "
12141 "device) by I<opening> a file, which may involve creating a new file.  "
12142 "Creating an existing file causes its former contents to be discarded.  If a "
12143 "file can support positioning requests (such as a disk file, as opposed to a "
12144 "terminal) then a I<file position indicator> associated with the stream is "
12145 "positioned at the start of the file (byte zero), unless the file is opened "
12146 "with append mode.  If append mode is used, it is unspecified whether the "
12147 "position indicator will be placed at the start or the end of the file.  The "
12148 "position indicator is maintained by subsequent reads, writes and positioning "
12149 "requests.  All input occurs as if the characters were read by successive "
12150 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12151 "characters were written by successive calls to the B<fputc>(3)  function."
12152 msgstr ""
12153 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12154 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12155 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12156 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12157 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12158 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12159 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12160 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12161 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12162 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12163 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12164 "字を書き込んだかのように行われる。"
12165
12166 #. type: Plain text
12167 #: build/C/man3/stdio.3:88
12168 msgid ""
12169 "A file is disassociated from a stream by I<closing> the file.  Output "
12170 "streams are flushed (any unwritten buffer contents are transferred to the "
12171 "host environment) before the stream is disassociated from the file.  The "
12172 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12173 "closed (garbage)."
12174 msgstr ""
12175 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12176 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12177 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12178 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12179 "確定になる (ゴミになってしまう)。"
12180
12181 #. type: Plain text
12182 #: build/C/man3/stdio.3:101
12183 msgid ""
12184 "A file may be subsequently reopened, by the same or another program "
12185 "execution, and its contents reclaimed or modified (if it can be repositioned "
12186 "at the start).  If the main function returns to its original caller, or the "
12187 "B<exit>(3)  function is called, all open files are closed (hence all output "
12188 "streams are flushed) before program termination.  Other methods of program "
12189 "termination, such as B<abort>(3)  do not bother about closing files properly."
12190 msgstr ""
12191 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12192 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12193 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12194 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12195 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12196 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12197 "保証はない。"
12198
12199 #. type: Plain text
12200 #: build/C/man3/stdio.3:117
12201 msgid ""
12202 "At program startup, three text streams are predefined and need not be opened "
12203 "explicitly: I<standard input> (for reading conventional input), I<standard "
12204 "output> (for writing conventional input), and I<standard error> (for writing "
12205 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12206 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12207 "the standard input and output streams are fully buffered if and only if the "
12208 "streams do not to refer to an interactive device."
12209 msgstr ""
12210 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12211 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12212 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12213 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12214 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12215 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12216 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12217 "スを参照していなければ、 完全にバッファリングされている。"
12218
12219 #. type: Plain text
12220 #: build/C/man3/stdio.3:127
12221 msgid ""
12222 "Output streams that refer to terminal devices are always line buffered by "
12223 "default; pending output to such streams is written automatically whenever an "
12224 "input stream that refers to a terminal device is read.  In cases where a "
12225 "large amount of computation is done after printing part of a line on an "
12226 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12227 "going off and computing so that the output will appear."
12228 msgstr ""
12229 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12230 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12231 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12232 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12233 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12234 "必要がある。"
12235
12236 #. type: Plain text
12237 #: build/C/man3/stdio.3:141
12238 msgid ""
12239 "The I<stdio> library is a part of the library B<libc> and routines are "
12240 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12241 "SYNOPSIS sections of the following manual pages indicate which include files "
12242 "are to be used, what the compiler declaration for the function looks like "
12243 "and which external variables are of interest."
12244 msgstr ""
12245 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12246 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12247 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12248 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12249 "数が関係するのかが示されている。"
12250
12251 #.  Not on Linux: .BR fropen ,
12252 #.  Not on Linux: .BR fwopen ,
12253 #. type: Plain text
12254 #: build/C/man3/stdio.3:181
12255 msgid ""
12256 "The following are defined as macros; these names may not be reused without "
12257 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12258 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12259 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12260 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12261 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12262 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12263 "and B<putchar> exist and will be used if the macros definitions are "
12264 "explicitly removed."
12265 msgstr ""
12266 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12267 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12268 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12269 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12270 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12271 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12272 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12273 "示的に消去されている場合には、 これらを使用することになるだろう。"
12274
12275 #. type: SS
12276 #: build/C/man3/stdio.3:181
12277 #, no-wrap
12278 msgid "List of Functions"
12279 msgstr "関数のリスト"
12280
12281 #. type: tbl table
12282 #: build/C/man3/stdio.3:186
12283 #, no-wrap
12284 msgid "Function\tDescription\n"
12285 msgstr "関数\t説明\n"
12286
12287 #. type: tbl table
12288 #: build/C/man3/stdio.3:187
12289 #, no-wrap
12290 msgid "_\n"
12291 msgstr "_\n"
12292
12293 #. type: tbl table
12294 #: build/C/man3/stdio.3:188
12295 #, no-wrap
12296 msgid "clearerr\tcheck and reset stream status\n"
12297 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12298
12299 #. type: tbl table
12300 #: build/C/man3/stdio.3:189
12301 #, no-wrap
12302 msgid "fclose\tclose a stream\n"
12303 msgstr "fclose\tストリームをクローズする\n"
12304
12305 #. type: tbl table
12306 #: build/C/man3/stdio.3:190
12307 #, no-wrap
12308 msgid "fdopen\tstream open functions\n"
12309 msgstr "fdopen\tストリームをオープンする\n"
12310
12311 #. type: tbl table
12312 #: build/C/man3/stdio.3:191
12313 #, no-wrap
12314 msgid "feof\tcheck and reset stream status\n"
12315 msgstr "feof\tストリームの状態の確認とリセット\n"
12316
12317 #. type: tbl table
12318 #: build/C/man3/stdio.3:192
12319 #, no-wrap
12320 msgid "ferror\tcheck and reset stream status\n"
12321 msgstr "ferror\tストリームの状態の確認とリセット\n"
12322
12323 #. type: tbl table
12324 #: build/C/man3/stdio.3:193
12325 #, no-wrap
12326 msgid "fflush\tflush a stream\n"
12327 msgstr "fflush\tストリームをフラッシュする\n"
12328
12329 #. type: tbl table
12330 #: build/C/man3/stdio.3:194
12331 #, no-wrap
12332 msgid "fgetc\tget next character or word from input stream\n"
12333 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12334
12335 #. type: tbl table
12336 #: build/C/man3/stdio.3:195
12337 #, no-wrap
12338 msgid "fgetpos\treposition a stream\n"
12339 msgstr "fgetpos\tストリームの位置を取得する\n"
12340
12341 #. type: tbl table
12342 #: build/C/man3/stdio.3:196
12343 #, no-wrap
12344 msgid "fgets\tget a line from a stream\n"
12345 msgstr "fgets\tストリームから行を取得する\n"
12346
12347 #. type: tbl table
12348 #: build/C/man3/stdio.3:197
12349 #, no-wrap
12350 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12351 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12352
12353 #. type: tbl table
12354 #: build/C/man3/stdio.3:198
12355 #, no-wrap
12356 msgid "fopen\tstream open functions\n"
12357 msgstr "fopen\tストリームをオープンする\n"
12358
12359 #. type: tbl table
12360 #: build/C/man3/stdio.3:199
12361 #, no-wrap
12362 msgid "fprintf\tformatted output conversion\n"
12363 msgstr "fprintf\t書式付き出力変換\n"
12364
12365 #. type: tbl table
12366 #: build/C/man3/stdio.3:200
12367 #, no-wrap
12368 msgid "fpurge\tflush a stream\n"
12369 msgstr "fpurge\tストリームをフラッシュする\n"
12370
12371 #. type: tbl table
12372 #: build/C/man3/stdio.3:201
12373 #, no-wrap
12374 msgid "fputc\toutput a character or word to a stream\n"
12375 msgstr "fputc\t文字または語をストリームに出力する\n"
12376
12377 #. type: tbl table
12378 #: build/C/man3/stdio.3:202
12379 #, no-wrap
12380 msgid "fputs\toutput a line to a stream\n"
12381 msgstr "fputs\t行をストリームに出力する\n"
12382
12383 #. type: tbl table
12384 #: build/C/man3/stdio.3:203
12385 #, no-wrap
12386 msgid "fread\tbinary stream input/output\n"
12387 msgstr "fread\tバイナリーストリーム入出力\n"
12388
12389 #. type: tbl table
12390 #: build/C/man3/stdio.3:204
12391 #, no-wrap
12392 msgid "freopen\tstream open functions\n"
12393 msgstr "freopen\tストリームをオープンする\n"
12394
12395 #. type: tbl table
12396 #: build/C/man3/stdio.3:205
12397 #, no-wrap
12398 msgid "fscanf\tinput format conversion\n"
12399 msgstr "fscanf\t書式付き入力変換\n"
12400
12401 #. type: tbl table
12402 #: build/C/man3/stdio.3:206
12403 #, no-wrap
12404 msgid "fseek\treposition a stream\n"
12405 msgstr "fseek\tストリームの位置指示子を移動する\n"
12406
12407 #. type: tbl table
12408 #: build/C/man3/stdio.3:207
12409 #, no-wrap
12410 msgid "fsetpos\treposition a stream\n"
12411 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12412
12413 #. type: tbl table
12414 #: build/C/man3/stdio.3:208
12415 #, no-wrap
12416 msgid "ftell\treposition a stream\n"
12417 msgstr "ftell\tストリームの位置を取得する\n"
12418
12419 #. type: tbl table
12420 #: build/C/man3/stdio.3:209
12421 #, no-wrap
12422 msgid "fwrite\tbinary stream input/output\n"
12423 msgstr "fwrite\tバイナリーストリーム入出力\n"
12424
12425 #. type: tbl table
12426 #: build/C/man3/stdio.3:210
12427 #, no-wrap
12428 msgid "getc\tget next character or word from input stream\n"
12429 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12430
12431 #. type: tbl table
12432 #: build/C/man3/stdio.3:211
12433 #, no-wrap
12434 msgid "getchar\tget next character or word from input stream\n"
12435 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12436
12437 #. type: tbl table
12438 #: build/C/man3/stdio.3:212
12439 #, no-wrap
12440 msgid "gets\tget a line from a stream\n"
12441 msgstr "gets\t行を入力ストリームから取得する\n"
12442
12443 #. type: tbl table
12444 #: build/C/man3/stdio.3:213
12445 #, no-wrap
12446 msgid "getw\tget next character or word from input stream\n"
12447 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12448
12449 #. type: tbl table
12450 #: build/C/man3/stdio.3:214
12451 #, no-wrap
12452 msgid "mktemp\tmake temporary filename (unique)\n"
12453 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12454
12455 #. type: tbl table
12456 #: build/C/man3/stdio.3:215
12457 #, no-wrap
12458 msgid "perror\tsystem error messages\n"
12459 msgstr "perror\tシステムエラーメッセージ\n"
12460
12461 #. type: tbl table
12462 #: build/C/man3/stdio.3:216
12463 #, no-wrap
12464 msgid "printf\tformatted output conversion\n"
12465 msgstr "printf\t書式付き出力変換\n"
12466
12467 #. type: tbl table
12468 #: build/C/man3/stdio.3:217
12469 #, no-wrap
12470 msgid "putc\toutput a character or word to a stream\n"
12471 msgstr "putc\t文字または語をストリームに出力する\n"
12472
12473 #. type: tbl table
12474 #: build/C/man3/stdio.3:218
12475 #, no-wrap
12476 msgid "putchar\toutput a character or word to a stream\n"
12477 msgstr "putchar\t文字または語をストリームに出力する\n"
12478
12479 #. type: tbl table
12480 #: build/C/man3/stdio.3:219
12481 #, no-wrap
12482 msgid "puts\toutput a line to a stream\n"
12483 msgstr "puts\t行をストリームに出力する\n"
12484
12485 #. type: tbl table
12486 #: build/C/man3/stdio.3:220
12487 #, no-wrap
12488 msgid "putw\toutput a character or word to a stream\n"
12489 msgstr "putw\t文字または語をストリームに出力する\n"
12490
12491 #. type: tbl table
12492 #: build/C/man3/stdio.3:221
12493 #, no-wrap
12494 msgid "remove\tremove directory entry\n"
12495 msgstr "remove\tディレクトリエントリを削除する\n"
12496
12497 #. type: tbl table
12498 #: build/C/man3/stdio.3:222
12499 #, no-wrap
12500 msgid "rewind\treposition a stream\n"
12501 msgstr "rewind\tストリームの位置指示子を移動する\n"
12502
12503 #. type: tbl table
12504 #: build/C/man3/stdio.3:223
12505 #, no-wrap
12506 msgid "scanf\tinput format conversion\n"
12507 msgstr "scanf\t書式付き入力変換\n"
12508
12509 #. type: tbl table
12510 #: build/C/man3/stdio.3:224
12511 #, no-wrap
12512 msgid "setbuf\tstream buffering operations\n"
12513 msgstr "setbuf\tストリームのバッファリングの操作\n"
12514
12515 #. type: tbl table
12516 #: build/C/man3/stdio.3:225
12517 #, no-wrap
12518 msgid "setbuffer\tstream buffering operations\n"
12519 msgstr "setbuffer\tストリームのバッファリングの操作\n"
12520
12521 #. type: tbl table
12522 #: build/C/man3/stdio.3:226
12523 #, no-wrap
12524 msgid "setlinebuf\tstream buffering operations\n"
12525 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
12526
12527 #. type: tbl table
12528 #: build/C/man3/stdio.3:227
12529 #, no-wrap
12530 msgid "setvbuf\tstream buffering operations\n"
12531 msgstr "setvbuf\tストリームのバッファリングの操作\n"
12532
12533 #. type: tbl table
12534 #: build/C/man3/stdio.3:228
12535 #, no-wrap
12536 msgid "sprintf\tformatted output conversion\n"
12537 msgstr "sprintf\t書式付き出力変換\n"
12538
12539 #. type: tbl table
12540 #: build/C/man3/stdio.3:229
12541 #, no-wrap
12542 msgid "sscanf\tinput format conversion\n"
12543 msgstr "sscanf\t書式付き入力変換\n"
12544
12545 #. type: tbl table
12546 #: build/C/man3/stdio.3:230
12547 #, no-wrap
12548 msgid "strerror\tsystem error messages\n"
12549 msgstr "strerror\tシステムエラーメッセージ\n"
12550
12551 #. type: tbl table
12552 #: build/C/man3/stdio.3:231
12553 #, no-wrap
12554 msgid "sys_errlist\tsystem error messages\n"
12555 msgstr "sys_errlist\tシステムエラーメッセージ\n"
12556
12557 #. type: tbl table
12558 #: build/C/man3/stdio.3:232
12559 #, no-wrap
12560 msgid "sys_nerr\tsystem error messages\n"
12561 msgstr "sys_nerr\tシステムエラーメッセージ\n"
12562
12563 #. type: tbl table
12564 #: build/C/man3/stdio.3:233
12565 #, no-wrap
12566 msgid "tempnam\ttemporary file routines\n"
12567 msgstr "tempnam\tテンポラリファイルの操作\n"
12568
12569 #. type: tbl table
12570 #: build/C/man3/stdio.3:234
12571 #, no-wrap
12572 msgid "tmpfile\ttemporary file routines\n"
12573 msgstr "tmpfile\tテンポラリファイルの操作\n"
12574
12575 #. type: tbl table
12576 #: build/C/man3/stdio.3:235
12577 #, no-wrap
12578 msgid "tmpnam\ttemporary file routines\n"
12579 msgstr "tmpnam\tテンポラリファイルの操作\n"
12580
12581 #. type: tbl table
12582 #: build/C/man3/stdio.3:236
12583 #, no-wrap
12584 msgid "ungetc\tun-get character from input stream\n"
12585 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
12586
12587 #. type: tbl table
12588 #: build/C/man3/stdio.3:237
12589 #, no-wrap
12590 msgid "vfprintf\tformatted output conversion\n"
12591 msgstr "vfprintf\t書式付き出力変換\n"
12592
12593 #. type: tbl table
12594 #: build/C/man3/stdio.3:238
12595 #, no-wrap
12596 msgid "vfscanf\tinput format conversion\n"
12597 msgstr "vfscanf\t書式付き入力変換\n"
12598
12599 #. type: tbl table
12600 #: build/C/man3/stdio.3:239
12601 #, no-wrap
12602 msgid "vprintf\tformatted output conversion\n"
12603 msgstr "vprintf\t書式付き出力変換\n"
12604
12605 #. type: tbl table
12606 #: build/C/man3/stdio.3:240
12607 #, no-wrap
12608 msgid "vscanf\tinput format conversion\n"
12609 msgstr "vscanf\t書式付き入力変換\n"
12610
12611 #. type: tbl table
12612 #: build/C/man3/stdio.3:241
12613 #, no-wrap
12614 msgid "vsprintf\tformatted output conversion\n"
12615 msgstr "vsprintf\t書式付き出力変換\n"
12616
12617 #. type: tbl table
12618 #: build/C/man3/stdio.3:242
12619 #, no-wrap
12620 msgid "vsscanf\tinput format conversion\n"
12621 msgstr "vsscanf\t書式付き入力変換\n"
12622
12623 #. type: Plain text
12624 #: build/C/man3/stdio.3:248
12625 msgid "The I<stdio> library conforms to C89."
12626 msgstr "I<stdio> ライブラリは C89 に準拠している。"
12627
12628 #. type: Plain text
12629 #: build/C/man3/stdio.3:255
12630 msgid ""
12631 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12632 "B<unlocked_stdio>(3)"
12633 msgstr ""
12634 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12635 "B<unlocked_stdio>(3)"
12636
12637 #. type: TH
12638 #: build/C/man3/stdio_ext.3:23
12639 #, no-wrap
12640 msgid "STDIO_EXT"
12641 msgstr "STDIO_EXT"
12642
12643 #. type: TH
12644 #: build/C/man3/stdio_ext.3:23
12645 #, no-wrap
12646 msgid "2001-12-16"
12647 msgstr "2001-12-16"
12648
12649 #. type: Plain text
12650 #: build/C/man3/stdio_ext.3:28
12651 msgid ""
12652 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12653 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
12654 "structure"
12655 msgstr ""
12656 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12657 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
12658 "へのインタフェース"
12659
12660 #. type: Plain text
12661 #: build/C/man3/stdio_ext.3:32
12662 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
12663 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
12664
12665 #. type: Plain text
12666 #: build/C/man3/stdio_ext.3:34
12667 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12668 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12669
12670 #. type: Plain text
12671 #: build/C/man3/stdio_ext.3:36
12672 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
12673 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
12674
12675 #. type: Plain text
12676 #: build/C/man3/stdio_ext.3:38
12677 msgid "B<int __flbf(FILE *>I<stream>B<);>"
12678 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
12679
12680 #. type: Plain text
12681 #: build/C/man3/stdio_ext.3:40
12682 msgid "B<int __freadable(FILE *>I<stream>B<);>"
12683 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
12684
12685 #. type: Plain text
12686 #: build/C/man3/stdio_ext.3:42
12687 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
12688 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
12689
12690 #. type: Plain text
12691 #: build/C/man3/stdio_ext.3:44
12692 msgid "B<int __freading(FILE *>I<stream>B<);>"
12693 msgstr "B<int __freading(FILE *>I<stream>B<);>"
12694
12695 #. type: Plain text
12696 #: build/C/man3/stdio_ext.3:46
12697 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
12698 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
12699
12700 #. type: Plain text
12701 #: build/C/man3/stdio_ext.3:48
12702 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12703 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12704
12705 #. type: Plain text
12706 #: build/C/man3/stdio_ext.3:50
12707 msgid "B<void _flushlbf(void);>"
12708 msgstr "B<void _flushlbf(void);>"
12709
12710 #. type: Plain text
12711 #: build/C/man3/stdio_ext.3:52
12712 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
12713 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
12714
12715 #. type: Plain text
12716 #: build/C/man3/stdio_ext.3:57
12717 msgid ""
12718 "Solaris introduced routines to allow portable access to the internals of the "
12719 "I<FILE> structure, and glibc also implemented these."
12720 msgstr ""
12721 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
12722 "が導入されており、これらは glibc でも実装されている。"
12723
12724 #. type: Plain text
12725 #: build/C/man3/stdio_ext.3:62
12726 msgid ""
12727 "The B<__fbufsize>()  function returns the size of the buffer currently used "
12728 "by the given stream."
12729 msgstr ""
12730 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファサイズを返"
12731 "す。"
12732
12733 #. type: Plain text
12734 #: build/C/man3/stdio_ext.3:69
12735 msgid ""
12736 "The B<__fpending>()  function returns the number of bytes in the output "
12737 "buffer.  For wide-oriented streams the unit is wide characters.  This "
12738 "function is undefined on buffers in reading mode, or opened read-only."
12739 msgstr ""
12740 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
12741 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
12742 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
12743 "は未定義である。"
12744
12745 #. type: Plain text
12746 #: build/C/man3/stdio_ext.3:74
12747 msgid ""
12748 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
12749 "buffered, and zero otherwise."
12750 msgstr ""
12751 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
12752 "場合は 0 を返す。"
12753
12754 #. type: Plain text
12755 #: build/C/man3/stdio_ext.3:79
12756 msgid ""
12757 "The B<__freadable>()  function returns a nonzero value if the stream allows "
12758 "reading, and zero otherwise."
12759 msgstr ""
12760 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
12761 "外の場合は 0 を返す。"
12762
12763 #. type: Plain text
12764 #: build/C/man3/stdio_ext.3:84
12765 msgid ""
12766 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
12767 "writing, and zero otherwise."
12768 msgstr ""
12769 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
12770 "外の場合は 0 を返す。"
12771
12772 #. type: Plain text
12773 #: build/C/man3/stdio_ext.3:90
12774 msgid ""
12775 "The B<__freading>()  function returns a nonzero value if the stream is read-"
12776 "only, or if the last operation on the stream was a read operation, and zero "
12777 "otherwise."
12778 msgstr ""
12779 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
12780 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
12781 "を返す。"
12782
12783 #. type: Plain text
12784 #: build/C/man3/stdio_ext.3:96
12785 msgid ""
12786 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
12787 "only (or append-only), or if the last operation on the stream was a write "
12788 "operation, and zero otherwise."
12789 msgstr ""
12790 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
12791 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
12792 "し、 それ以外の場合は 0 を返す。"
12793
12794 #. type: Plain text
12795 #: build/C/man3/stdio_ext.3:104
12796 msgid ""
12797 "The B<__fsetlocking>()  function can be used to select the desired type of "
12798 "locking on the stream.  It returns the current type.  The I<type> argument "
12799 "can take the following three values:"
12800 msgstr ""
12801 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
12802 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
12803 "ることができる :"
12804
12805 #. type: TP
12806 #: build/C/man3/stdio_ext.3:104
12807 #, no-wrap
12808 msgid "B<FSETLOCKING_INTERNAL>"
12809 msgstr "B<FSETLOCKING_INTERNAL>"
12810
12811 #. type: Plain text
12812 #: build/C/man3/stdio_ext.3:109
12813 msgid ""
12814 "Perform implicit locking around every operation on the given stream (except "
12815 "for the *_unlocked ones).  This is the default."
12816 msgstr ""
12817 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
12818 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
12819 "である)。 これがデフォルトのロック形式である。"
12820
12821 #. type: TP
12822 #: build/C/man3/stdio_ext.3:109
12823 #, no-wrap
12824 msgid "B<FSETLOCKING_BYCALLER>"
12825 msgstr "B<FSETLOCKING_BYCALLER>"
12826
12827 #. type: Plain text
12828 #: build/C/man3/stdio_ext.3:116
12829 msgid ""
12830 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
12831 "case there is more than one thread), and the stdio routines will not do "
12832 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
12833 msgstr ""
12834 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
12835 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
12836 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
12837 "理を行わない。"
12838
12839 #. type: TP
12840 #: build/C/man3/stdio_ext.3:116
12841 #, no-wrap
12842 msgid "B<FSETLOCKING_QUERY>"
12843 msgstr "B<FSETLOCKING_QUERY>"
12844
12845 #. type: Plain text
12846 #: build/C/man3/stdio_ext.3:120
12847 msgid "Don't change the type of locking.  (Only return it.)"
12848 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
12849
12850 #. type: Plain text
12851 #: build/C/man3/stdio_ext.3:126
12852 msgid ""
12853 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
12854 "so that output to a terminal is forced out, say before reading keyboard "
12855 "input.)"
12856 msgstr ""
12857 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
12858 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
12859 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
12860 "いだろう)"
12861
12862 #. type: Plain text
12863 #: build/C/man3/stdio_ext.3:130
12864 msgid ""
12865 "The B<__fpurge>()  function discards the contents of the stream's buffer."
12866 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
12867
12868 #. type: Plain text
12869 #: build/C/man3/stdio_ext.3:133
12870 msgid "B<flockfile>(3), B<fpurge>(3)"
12871 msgstr "B<flockfile>(3), B<fpurge>(3)"
12872
12873 #. type: TH
12874 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
12875 #, no-wrap
12876 msgid "SYMLINK"
12877 msgstr "SYMLINK"
12878
12879 #. type: TH
12880 #: build/C/man2/symlink.2:32
12881 #, no-wrap
12882 msgid "2010-09-20"
12883 msgstr "2010-09-20"
12884
12885 #. type: Plain text
12886 #: build/C/man2/symlink.2:35
12887 msgid "symlink - make a new name for a file"
12888 msgstr "symlink - ファイルに新しい名前を付ける"
12889
12890 #. type: Plain text
12891 #: build/C/man2/symlink.2:39
12892 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12893 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12894
12895 #. type: Plain text
12896 #: build/C/man2/symlink.2:47
12897 msgid "B<symlink>():"
12898 msgstr "B<symlink>():"
12899
12900 #. type: Plain text
12901 #: build/C/man2/symlink.2:58
12902 msgid ""
12903 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
12904 "string I<oldpath>."
12905 msgstr ""
12906 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
12907 "I<newpath> というシンボリックリンク (symbolic link) を作成する。"
12908
12909 #. type: Plain text
12910 #: build/C/man2/symlink.2:62
12911 msgid ""
12912 "Symbolic links are interpreted at run time as if the contents of the link "
12913 "had been substituted into the path being followed to find a file or "
12914 "directory."
12915 msgstr ""
12916 "シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
12917 "スを辿ることで、 ファイルやディレクトリに到達する。"
12918
12919 #. type: Plain text
12920 #: build/C/man2/symlink.2:67
12921 msgid ""
12922 "Symbolic links may contain I<..> path components, which (if used at the "
12923 "start of the link) refer to the parent directories of that in which the link "
12924 "resides."
12925 msgstr ""
12926 "シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
12927 "の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
12928 "される。"
12929
12930 #. type: Plain text
12931 #: build/C/man2/symlink.2:71
12932 msgid ""
12933 "A symbolic link (also known as a soft link) may point to an existing file or "
12934 "to a nonexistent one; the latter case is known as a dangling link."
12935 msgstr ""
12936 "シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
12937 "を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
12938 "の場合は壊れたリンク (dangling link) とも呼ばれる。"
12939
12940 #. type: Plain text
12941 #: build/C/man2/symlink.2:78
12942 msgid ""
12943 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
12944 "when following the link, but is checked when removal or renaming of the link "
12945 "is requested and the link is in a directory with the sticky bit "
12946 "(B<S_ISVTX>)  set."
12947 msgstr ""
12948 "シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
12949 "は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
12950 "れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
12951 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
12952
12953 #. type: Plain text
12954 #: build/C/man2/symlink.2:99
12955 msgid ""
12956 "Write access to the directory containing I<newpath> is denied, or one of the "
12957 "directories in the path prefix of I<newpath> did not allow search "
12958 "permission.  (See also B<path_resolution>(7).)"
12959 msgstr ""
12960 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
12961 "含まれているディレクトリのどれかに検索許可が与えられていない "
12962 "(B<path_resolution>(7)  も参照すること)。"
12963
12964 #. type: Plain text
12965 #: build/C/man2/symlink.2:113
12966 msgid "Too many symbolic links were encountered in resolving I<newpath>."
12967 msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
12968
12969 #. type: Plain text
12970 #: build/C/man2/symlink.2:123
12971 msgid ""
12972 "A directory component in I<newpath> does not exist or is a dangling symbolic "
12973 "link, or I<oldpath> is the empty string."
12974 msgstr ""
12975 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
12976 "I<oldpath> が空文字列である。"
12977
12978 #. type: Plain text
12979 #: build/C/man2/symlink.2:135
12980 msgid ""
12981 "A component used as a directory in I<newpath> is not, in fact, a directory."
12982 msgstr ""
12983 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
12984
12985 #. type: Plain text
12986 #: build/C/man2/symlink.2:140
12987 msgid ""
12988 "The file system containing I<newpath> does not support the creation of "
12989 "symbolic links."
12990 msgstr ""
12991 "I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
12992 "作成をサポートしていない。"
12993
12994 #. type: Plain text
12995 #: build/C/man2/symlink.2:144
12996 msgid "I<newpath> is on a read-only file system."
12997 msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
12998
12999 #. type: Plain text
13000 #: build/C/man2/symlink.2:154
13001 msgid "No checking of I<oldpath> is done."
13002 msgstr "I<oldpath> についてのチェックは行なわれない。"
13003
13004 #. type: Plain text
13005 #: build/C/man2/symlink.2:159
13006 msgid ""
13007 "Deleting the name referred to by a symlink will actually delete the file "
13008 "(unless it also has other hard links).  If this behavior is not desired, use "
13009 "B<link>(2)."
13010 msgstr ""
13011 "symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
13012 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
13013 "場合は、 B<link>(2)  を使用すること。"
13014
13015 #. type: Plain text
13016 #: build/C/man2/symlink.2:171
13017 msgid ""
13018 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13019 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13020 "B<symlink>(7)"
13021 msgstr ""
13022 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
13023 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
13024 "B<symlink>(7)"
13025
13026 #. type: TH
13027 #: build/C/man7/symlink.7:35
13028 #, no-wrap
13029 msgid "2008-06-18"
13030 msgstr "2008-06-18"
13031
13032 #. type: Plain text
13033 #: build/C/man7/symlink.7:38
13034 msgid "symlink - symbolic link handling"
13035 msgstr ""
13036
13037 #. type: SH
13038 #: build/C/man7/symlink.7:38
13039 #, no-wrap
13040 msgid "SYMBOLIC LINK HANDLING"
13041 msgstr ""
13042
13043 #. type: Plain text
13044 #: build/C/man7/symlink.7:42
13045 msgid ""
13046 "Symbolic links are files that act as pointers to other files.  To understand "
13047 "their behavior, you must first understand how hard links work."
13048 msgstr ""
13049
13050 #. type: Plain text
13051 #: build/C/man7/symlink.7:58
13052 msgid ""
13053 "A hard link to a file is indistinguishable from the original file because it "
13054 "is a reference to the object underlying the original filename.  (To be "
13055 "precise: each of the hard links to a file is a reference to the same I<i-"
13056 "node number>, where an i-node number is an index into the i-node table, "
13057 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13058 "Changes to a file are independent of the name used to reference the file.  "
13059 "Hard links may not refer to directories (to prevent the possibility of loops "
13060 "within the file system tree, which would confuse many programs)  and may not "
13061 "refer to files on different file systems (because i-node numbers are not "
13062 "unique across file systems)."
13063 msgstr ""
13064
13065 #. type: Plain text
13066 #: build/C/man7/symlink.7:65
13067 msgid ""
13068 "A symbolic link is a special type of file whose contents are a string that "
13069 "is the pathname another file, the file to which the link refers.  In other "
13070 "words, a symbolic link is a pointer to another name, and not to an "
13071 "underlying object.  For this reason, symbolic links may refer to directories "
13072 "and may cross file system boundaries."
13073 msgstr ""
13074
13075 #. type: Plain text
13076 #: build/C/man7/symlink.7:71
13077 msgid ""
13078 "There is no requirement that the pathname referred to by a symbolic link "
13079 "should exist.  A symbolic link that refers to a pathname that does not exist "
13080 "is said to be a I<dangling link>."
13081 msgstr ""
13082
13083 #. type: Plain text
13084 #: build/C/man7/symlink.7:83
13085 msgid ""
13086 "Because a symbolic link and its referenced object coexist in the file system "
13087 "name space, confusion can arise in distinguishing between the link itself "
13088 "and the referenced object.  On historical systems, commands and system calls "
13089 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13090 "Rules for a more uniform approach, as they are implemented on Linux and "
13091 "other systems, are outlined here.  It is important that site-local "
13092 "applications also conform to these rules, so that the user interface can be "
13093 "as consistent as possible."
13094 msgstr ""
13095
13096 #. type: SS
13097 #: build/C/man7/symlink.7:83
13098 #, no-wrap
13099 msgid "Symbolic link ownership, permissions, and timestamps"
13100 msgstr ""
13101
13102 #. type: Plain text
13103 #: build/C/man7/symlink.7:91
13104 msgid ""
13105 "The owner and group of an existing symbolic link can be changed using "
13106 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13107 "is when the link is being removed or renamed in a directory that has the "
13108 "sticky bit set (see B<stat>(2))."
13109 msgstr ""
13110
13111 #. type: Plain text
13112 #: build/C/man7/symlink.7:97
13113 msgid ""
13114 "The last access and last modification timestamps of a symbolic link can be "
13115 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13116 msgstr ""
13117
13118 #.  Linux does not currently implement an lchmod(2).
13119 #.  The
13120 #.  4.4BSD
13121 #.  system differs from historical
13122 #.  4BSD
13123 #.  systems in that the system call
13124 #.  .BR chown (2)
13125 #.  has been changed to follow symbolic links.
13126 #.  The
13127 #.  .BR lchown (2)
13128 #.  system call was added later when the limitations of the new
13129 #.  .BR chown (2)
13130 #.  became apparent.
13131 #. type: Plain text
13132 #: build/C/man7/symlink.7:116
13133 msgid ""
13134 "On Linux, the permissions of a symbolic link are not used in any operations; "
13135 "the permissions are always 0777 (read, write, and execute for all user "
13136 "categories), and can't be changed."
13137 msgstr ""
13138
13139 #. type: SS
13140 #: build/C/man7/symlink.7:116
13141 #, no-wrap
13142 msgid "Handling of symbolic links by system calls and commands"
13143 msgstr ""
13144
13145 #. type: Plain text
13146 #: build/C/man7/symlink.7:131
13147 msgid ""
13148 "Symbolic links are handled either by operating on the link itself, or by "
13149 "operating on the object referred to by the link.  In the latter case, an "
13150 "application or system call is said to I<follow> the link.  Symbolic links "
13151 "may refer to other symbolic links, in which case the links are dereferenced "
13152 "until an object that is not a symbolic link is found, a symbolic link that "
13153 "refers to a file which does not exist is found, or a loop is detected.  "
13154 "(Loop detection is done by placing an upper limit on the number of links "
13155 "that may be followed, and an error results if this limit is exceeded.)"
13156 msgstr ""
13157
13158 #. type: Plain text
13159 #: build/C/man7/symlink.7:134
13160 msgid ""
13161 "There are three separate areas that need to be discussed.  They are as "
13162 "follows:"
13163 msgstr ""
13164
13165 #. type: IP
13166 #: build/C/man7/symlink.7:134
13167 #, no-wrap
13168 msgid "1."
13169 msgstr "1."
13170
13171 #. type: Plain text
13172 #: build/C/man7/symlink.7:136
13173 msgid "Symbolic links used as filename arguments for system calls."
13174 msgstr ""
13175
13176 #. type: IP
13177 #: build/C/man7/symlink.7:136
13178 #, no-wrap
13179 msgid "2."
13180 msgstr "2."
13181
13182 #. type: Plain text
13183 #: build/C/man7/symlink.7:139
13184 msgid ""
13185 "Symbolic links specified as command-line arguments to utilities that are not "
13186 "traversing a file tree."
13187 msgstr ""
13188
13189 #. type: IP
13190 #: build/C/man7/symlink.7:139
13191 #, no-wrap
13192 msgid "3."
13193 msgstr "3."
13194
13195 #. type: Plain text
13196 #: build/C/man7/symlink.7:143
13197 msgid ""
13198 "Symbolic links encountered by utilities that are traversing a file tree "
13199 "(either specified on the command line or encountered as part of the file "
13200 "hierarchy walk)."
13201 msgstr ""
13202
13203 #. type: SS
13204 #: build/C/man7/symlink.7:143
13205 #, no-wrap
13206 msgid "System calls"
13207 msgstr ""
13208
13209 #. type: Plain text
13210 #: build/C/man7/symlink.7:146
13211 msgid ""
13212 "The first area is symbolic links used as filename arguments for system calls."
13213 msgstr ""
13214
13215 #. type: Plain text
13216 #: build/C/man7/symlink.7:156
13217 msgid ""
13218 "Except as noted below, all system calls follow symbolic links.  For example, "
13219 "if there were a symbolic link I<slink> which pointed to a file named "
13220 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13221 "descriptor referring to the file I<afile>."
13222 msgstr ""
13223
13224 #.  Maybe one day: .BR fchownat (2)
13225 #. type: Plain text
13226 #: build/C/man7/symlink.7:206
13227 msgid ""
13228 "Various system calls do not follow links, and operate on the symbolic link "
13229 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13230 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13231 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13232 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13233 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13234 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13235 "(2), that library function also does not follow symbolic links.  When "
13236 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13237 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13238 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13239 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13240 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13241 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13242 "to allow either behavior in an implementation."
13243 msgstr ""
13244
13245 #. type: SS
13246 #: build/C/man7/symlink.7:206
13247 #, no-wrap
13248 msgid "Commands not traversing a file tree"
13249 msgstr ""
13250
13251 #. type: Plain text
13252 #: build/C/man7/symlink.7:209
13253 msgid ""
13254 "The second area is symbolic links, specified as command-line filename "
13255 "arguments, to commands which are not traversing a file tree."
13256 msgstr ""
13257
13258 #. type: Plain text
13259 #: build/C/man7/symlink.7:220
13260 msgid ""
13261 "Except as noted below, commands follow symbolic links named as command-line "
13262 "arguments.  For example, if there were a symbolic link I<slink> which "
13263 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13264 "contents of the file I<afile>."
13265 msgstr ""
13266
13267 #. type: Plain text
13268 #: build/C/man7/symlink.7:228
13269 msgid ""
13270 "It is important to realize that this rule includes commands which may "
13271 "optionally traverse file trees, e.g., the command I<chown file> is included "
13272 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13273 "traversal, is not.  (The latter is described in the third area, below.)"
13274 msgstr ""
13275
13276 #. type: Plain text
13277 #: build/C/man7/symlink.7:246
13278 msgid ""
13279 "If it is explicitly intended that the command operate on the symbolic link "
13280 "instead of following the symbolic link, e.g., it is desired that I<chown "
13281 "slink> change the ownership of the file that I<slink> is, whether it is a "
13282 "symbolic link or not, the I<-h> option should be used.  In the above "
13283 "example, I<chown root slink> would change the ownership of the file referred "
13284 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13285 "I<slink> itself."
13286 msgstr ""
13287
13288 #. type: Plain text
13289 #: build/C/man7/symlink.7:248
13290 msgid "There are some exceptions to this rule:"
13291 msgstr ""
13292
13293 #. type: Plain text
13294 #: build/C/man7/symlink.7:258
13295 msgid ""
13296 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13297 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13298 "the symbolic link references a file via a relative path, moving it to "
13299 "another directory may very well cause it to stop working, since the path may "
13300 "no longer be correct.)"
13301 msgstr ""
13302
13303 #. type: Plain text
13304 #: build/C/man7/symlink.7:288
13305 msgid ""
13306 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13307 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13308 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13309 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13310 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13311 "the only command where the I<-H> and I<-L> options affect its behavior even "
13312 "though it is not doing a walk of a file tree.)"
13313 msgstr ""
13314
13315 #. The 4.4BSD system differs from historical 4BSD systems in that the
13316 #. .BR chown (1)
13317 #. and
13318 #. .BR chgrp (1)
13319 #. commands follow symbolic links specified on the command line.
13320 #. type: Plain text
13321 #: build/C/man7/symlink.7:306
13322 msgid ""
13323 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13324 "command does not follow symbolic links named as argument by default.  The "
13325 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13326 "L> option is specified."
13327 msgstr ""
13328
13329 #. type: SS
13330 #: build/C/man7/symlink.7:306
13331 #, no-wrap
13332 msgid "Commands traversing a file tree"
13333 msgstr ""
13334
13335 #. type: Plain text
13336 #: build/C/man7/symlink.7:319
13337 msgid ""
13338 "The following commands either optionally or always traverse file trees: "
13339 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13340 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13341 msgstr ""
13342
13343 #. type: Plain text
13344 #: build/C/man7/symlink.7:323
13345 msgid ""
13346 "It is important to realize that the following rules apply equally to "
13347 "symbolic links encountered during the file tree traversal and symbolic links "
13348 "listed as command-line arguments."
13349 msgstr ""
13350
13351 #. type: Plain text
13352 #: build/C/man7/symlink.7:328
13353 msgid ""
13354 "The I<first rule> applies to symbolic links that reference files other than "
13355 "directories.  Operations that apply to symbolic links are performed on the "
13356 "links themselves, but otherwise the links are ignored."
13357 msgstr ""
13358
13359 #. type: Plain text
13360 #: build/C/man7/symlink.7:340
13361 msgid ""
13362 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13363 "symbolic links encountered in the tree traversal of I<directory>, because "
13364 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13365 "referred to by I<slink>."
13366 msgstr ""
13367
13368 #. type: Plain text
13369 #: build/C/man7/symlink.7:345
13370 msgid ""
13371 "The I<second rule> applies to symbolic links that refer to directories.  "
13372 "Symbolic links that refer to directories are never followed by default.  "
13373 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13374 "\" walk (where symbolic links the refer to directories are followed)."
13375 msgstr ""
13376
13377 #. type: Plain text
13378 #: build/C/man7/symlink.7:348
13379 msgid ""
13380 "Certain conventions are (should be) followed as consistently as possible by "
13381 "commands that perform file tree walks:"
13382 msgstr ""
13383
13384 #. type: Plain text
13385 #: build/C/man7/symlink.7:361
13386 msgid ""
13387 "A command can be made to follow any symbolic links named on the command "
13388 "line, regardless of the type of file they reference, by specifying the I<-H> "
13389 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13390 "name space look like the logical name space.  (Note, for commands that do "
13391 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13392 "R> flag is not also specified.)"
13393 msgstr ""
13394
13395 #. type: Plain text
13396 #: build/C/man7/symlink.7:377
13397 msgid ""
13398 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13399 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13400 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13401 "symbolic links specified on the command line to be dereferenced for the "
13402 "purposes of both the action to be performed and the tree walk, and it is as "
13403 "if the user had specified the name of the file to which the symbolic link "
13404 "pointed."
13405 msgstr ""
13406
13407 #. type: Plain text
13408 #: build/C/man7/symlink.7:391
13409 msgid ""
13410 "A command can be made to follow any symbolic links named on the command "
13411 "line, as well as any symbolic links encountered during the traversal, "
13412 "regardless of the type of file they reference, by specifying the I<-L> (for "
13413 "\"logical\") flag.  This flag is intended to make the entire name space look "
13414 "like the logical name space.  (Note, for commands that do not always do file "
13415 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13416 "also specified.)"
13417 msgstr ""
13418
13419 #. type: Plain text
13420 #: build/C/man7/symlink.7:406
13421 msgid ""
13422 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13423 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13424 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13425 "references.  In addition, if any symbolic links are encountered in any file "
13426 "tree that B<chown> traverses, they will be treated in the same fashion as "
13427 "I<slink>."
13428 msgstr ""
13429
13430 #. type: Plain text
13431 #: build/C/man7/symlink.7:413
13432 msgid ""
13433 "A command can be made to provide the default behavior by specifying the I<-"
13434 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13435 "space look like the physical name space."
13436 msgstr ""
13437
13438 #. type: Plain text
13439 #: build/C/man7/symlink.7:431
13440 msgid ""
13441 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13442 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13443 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13444 "once; the last one specified determines the command's behavior.  This is "
13445 "intended to permit you to alias commands to behave one way or the other, and "
13446 "then override that behavior on the command line."
13447 msgstr ""
13448
13449 #. type: Plain text
13450 #: build/C/man7/symlink.7:437
13451 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13452 msgstr ""
13453
13454 #. type: Plain text
13455 #: build/C/man7/symlink.7:450
13456 msgid ""
13457 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13458 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13459 "command does not support the I<-H>, I<-L>, or I<-P> options."
13460 msgstr ""
13461
13462 #. type: Plain text
13463 #: build/C/man7/symlink.7:470
13464 msgid ""
13465 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13466 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13467 "options, B<ls>(1)  will follow symbolic links specified on the command "
13468 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13469 "regardless of their type, whether specified on the command line or "
13470 "encountered in the tree walk."
13471 msgstr ""
13472
13473 #. type: Plain text
13474 #: build/C/man7/symlink.7:488
13475 msgid ""
13476 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13477 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13478 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13479 "B<path_resolution>(7)"
13480 msgstr ""
13481 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1),\n"
13482 "B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2),\n"
13483 "B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2),\n"
13484 "B<lutimes>(3), B<path_resolution>(7)"
13485
13486 #. type: TH
13487 #: build/C/man3/tempnam.3:23
13488 #, no-wrap
13489 msgid "TEMPNAM"
13490 msgstr "TEMPNAM"
13491
13492 #. type: TH
13493 #: build/C/man3/tempnam.3:23
13494 #, no-wrap
13495 msgid "2008-08-06"
13496 msgstr "2008-08-06"
13497
13498 #. type: Plain text
13499 #: build/C/man3/tempnam.3:26
13500 msgid "tempnam - create a name for a temporary file"
13501 msgstr "tempnam - テンポラリファイルの名前を作成する"
13502
13503 #. type: Plain text
13504 #: build/C/man3/tempnam.3:31
13505 #, no-wrap
13506 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13507 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13508
13509 #. type: Plain text
13510 #: build/C/man3/tempnam.3:40
13511 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13512 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13513
13514 #. type: Plain text
13515 #: build/C/man3/tempnam.3:54
13516 msgid ""
13517 "The B<tempnam>()  function returns a pointer to a string that is a valid "
13518 "filename, and such that a file with this name did not exist when B<tempnam>"
13519 "()  checked.  The filename suffix of the pathname generated will start with "
13520 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
13521 "directory prefix part of the pathname generated is required to be "
13522 "\"appropriate\" (often that at least implies writable)."
13523 msgstr ""
13524 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
13525 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
13526 "い (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成さ"
13527 "れるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成される"
13528 "ディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」である"
13529 "ためにはまず少なくとも 書き込み可能でなければならない)。"
13530
13531 #. type: Plain text
13532 #: build/C/man3/tempnam.3:57
13533 msgid ""
13534 "Attempts to find an appropriate directory go through the following steps:"
13535 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
13536
13537 #. type: TP
13538 #: build/C/man3/tempnam.3:57
13539 #, no-wrap
13540 msgid "a)"
13541 msgstr "a)"
13542
13543 #. type: Plain text
13544 #: build/C/man3/tempnam.3:63
13545 msgid ""
13546 "In case the environment variable B<TMPDIR> exists and contains the name of "
13547 "an appropriate directory, that is used."
13548 msgstr ""
13549 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
13550 "ら、それを用いる。"
13551
13552 #. type: TP
13553 #: build/C/man3/tempnam.3:63
13554 #, no-wrap
13555 msgid "b)"
13556 msgstr "b)"
13557
13558 #. type: Plain text
13559 #: build/C/man3/tempnam.3:68
13560 msgid ""
13561 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
13562 msgstr ""
13563 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
13564 "る。"
13565
13566 #. type: TP
13567 #: build/C/man3/tempnam.3:68
13568 #, no-wrap
13569 msgid "c)"
13570 msgstr "c)"
13571
13572 #. type: Plain text
13573 #: build/C/man3/tempnam.3:75
13574 msgid ""
13575 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
13576 "appropriate."
13577 msgstr ""
13578 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
13579 "なら、それを用いる。"
13580
13581 #. type: TP
13582 #: build/C/man3/tempnam.3:75
13583 #, no-wrap
13584 msgid "d)"
13585 msgstr "d)"
13586
13587 #. type: Plain text
13588 #: build/C/man3/tempnam.3:78
13589 msgid "Finally an implementation-defined directory may be used."
13590 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
13591
13592 #. type: Plain text
13593 #: build/C/man3/tempnam.3:85
13594 msgid ""
13595 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
13596 "hence should be freed by B<free>(3)."
13597 msgstr ""
13598 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
13599 "B<free>(3)  で解放すべきである。"
13600
13601 #. type: Plain text
13602 #: build/C/man3/tempnam.3:90
13603 msgid ""
13604 "The B<tempnam>()  function returns a pointer to a unique temporary filename, "
13605 "or NULL if a unique name cannot be generated."
13606 msgstr ""
13607 "B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
13608 "と重ならない名前が生成できなければ NULL を返す。"
13609
13610 #. type: Plain text
13611 #: build/C/man3/tempnam.3:94
13612 msgid "Allocation of storage failed."
13613 msgstr "保存領域の割り当てに失敗した。"
13614
13615 #. type: Plain text
13616 #: build/C/man3/tempnam.3:99
13617 msgid ""
13618 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
13619 msgstr ""
13620 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
13621 "る。"
13622
13623 #. type: Plain text
13624 #: build/C/man3/tempnam.3:118
13625 msgid ""
13626 "Although B<tempnam>()  generates names that are difficult to guess, it is "
13627 "nevertheless possible that between the time that B<tempnam>()  returns a "
13628 "pathname, and the time that the program opens it, another program might "
13629 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13630 "This can lead to security holes.  To avoid such possibilities, use the "
13631 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13632 "B<mkstemp>(3)  or B<tmpfile>(3)."
13633 msgstr ""
13634 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
13635 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13636 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13637 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13638 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13639 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13640 "B<tmpfile>(3)  を使うことである。"
13641
13642 #. type: Plain text
13643 #: build/C/man3/tempnam.3:126
13644 msgid ""
13645 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
13646 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
13647 "tmp> (and this is what glibc does)."
13648 msgstr ""
13649 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
13650 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
13651 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
13652
13653 #. type: Plain text
13654 #: build/C/man3/tempnam.3:131
13655 msgid ""
13656 "Because it dynamically allocates memory used to return the pathname, "
13657 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
13658 msgstr ""
13659 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
13660 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
13661
13662 #. type: Plain text
13663 #: build/C/man3/tempnam.3:144
13664 msgid ""
13665 "The B<tempnam>()  function generates a different string each time it is "
13666 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
13667 "called more than B<TMP_MAX> times, the behavior is implementation defined."
13668 msgstr ""
13669 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
13670 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
13671 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
13672
13673 #. type: Plain text
13674 #: build/C/man3/tempnam.3:148
13675 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
13676 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
13677
13678 #. type: Plain text
13679 #: build/C/man3/tempnam.3:154
13680 msgid ""
13681 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
13682 "upon failure to find a unique name."
13683 msgstr ""
13684 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
13685 "ラー B<EEXIST> で失敗する。"
13686
13687 #. type: Plain text
13688 #: build/C/man3/tempnam.3:157
13689 msgid ""
13690 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
13691 "accessibility of a directory is determined."
13692 msgstr ""
13693 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
13694 "度のアクセス権限が必要なのかは指定されていない。"
13695
13696 #. type: Plain text
13697 #: build/C/man3/tempnam.3:164 build/C/man3/tmpnam.3:151
13698 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
13699 msgstr ""
13700 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
13701 "を使うこと。"
13702
13703 #. type: Plain text
13704 #: build/C/man3/tempnam.3:169
13705 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13706 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13707
13708 #. type: TH
13709 #: build/C/man3/tmpfile.3:29
13710 #, no-wrap
13711 msgid "TMPFILE"
13712 msgstr "TMPFILE"
13713
13714 #. type: Plain text
13715 #: build/C/man3/tmpfile.3:32
13716 msgid "tmpfile - create a temporary file"
13717 msgstr "tmpfile - テンポラリファイルを作成する"
13718
13719 #. type: Plain text
13720 #: build/C/man3/tmpfile.3:37
13721 #, no-wrap
13722 msgid "B<FILE *tmpfile(void);>\n"
13723 msgstr "B<FILE *tmpfile(void);>\n"
13724
13725 #. type: Plain text
13726 #: build/C/man3/tmpfile.3:45
13727 msgid ""
13728 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
13729 "write (w+b) mode.  The file will be automatically deleted when it is closed "
13730 "or the program terminates."
13731 msgstr ""
13732 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
13733 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
13734 "自動的に削除される。"
13735
13736 #. type: Plain text
13737 #: build/C/man3/tmpfile.3:52
13738 msgid ""
13739 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
13740 "filename cannot be generated or the unique file cannot be opened.  In the "
13741 "latter case, I<errno> is set to indicate the error."
13742 msgstr ""
13743 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
13744 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
13745 "I<errno> を設定する。"
13746
13747 #. type: Plain text
13748 #: build/C/man3/tmpfile.3:56
13749 msgid "Search permission denied for directory in file's path prefix."
13750 msgstr ""
13751 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
13752
13753 #. type: Plain text
13754 #: build/C/man3/tmpfile.3:59
13755 msgid "Unable to generate a unique filename."
13756 msgstr "ユニークなファイル名が作成できなかった。"
13757
13758 #. type: Plain text
13759 #: build/C/man3/tmpfile.3:62
13760 msgid "The call was interrupted by a signal."
13761 msgstr "呼び出しがシグナルによって中断された。"
13762
13763 #. type: Plain text
13764 #: build/C/man3/tmpfile.3:65
13765 msgid "Too many file descriptors in use by the process."
13766 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
13767
13768 #. type: Plain text
13769 #: build/C/man3/tmpfile.3:68
13770 msgid "Too many files open in the system."
13771 msgstr "システム全体でオープン可能なファイル数を超過した。"
13772
13773 #. type: Plain text
13774 #: build/C/man3/tmpfile.3:71
13775 msgid "There was no room in the directory to add the new filename."
13776 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
13777
13778 #. type: Plain text
13779 #: build/C/man3/tmpfile.3:74
13780 msgid "Read-only file system."
13781 msgstr "読みだし専用ファイルシステムである。"
13782
13783 #. type: Plain text
13784 #: build/C/man3/tmpfile.3:76
13785 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13786 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13787
13788 #. type: Plain text
13789 #: build/C/man3/tmpfile.3:80
13790 msgid ""
13791 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
13792 "stream cannot be opened."
13793 msgstr ""
13794 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
13795 "メッセージが書き出される、と規定されている。"
13796
13797 #. type: Plain text
13798 #: build/C/man3/tmpfile.3:86
13799 msgid ""
13800 "The standard does not specify the directory that B<tmpfile>()  will use.  "
13801 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
13802 "and if that fails the directory I</tmp>."
13803 msgstr ""
13804 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
13805 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
13806 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
13807
13808 #. type: Plain text
13809 #: build/C/man3/tmpfile.3:92
13810 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13811 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13812
13813 #. type: TH
13814 #: build/C/man3/tmpnam.3:25
13815 #, no-wrap
13816 msgid "TMPNAM"
13817 msgstr "TMPNAM"
13818
13819 #. type: TH
13820 #: build/C/man3/tmpnam.3:25
13821 #, no-wrap
13822 msgid "2010-09-10"
13823 msgstr "2010-09-10"
13824
13825 #. type: Plain text
13826 #: build/C/man3/tmpnam.3:28
13827 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
13828 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
13829
13830 #. type: Plain text
13831 #: build/C/man3/tmpnam.3:33
13832 #, no-wrap
13833 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
13834 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
13835
13836 #. type: Plain text
13837 #: build/C/man3/tmpnam.3:56
13838 msgid ""
13839 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
13840 "filename, and such that a file with this name did not exist at some point in "
13841 "time, so that naive programmers may think it a suitable name for a temporary "
13842 "file.  If the argument I<s> is NULL this name is generated in an internal "
13843 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
13844 "I<s> is not NULL, the name is copied to the character array (of length at "
13845 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
13846 "case of success."
13847 msgstr ""
13848 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
13849 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
13850 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
13851 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
13852 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
13853 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
13854 "ピーされ、 成功した場合は I<s> が返される。"
13855
13856 #. type: Plain text
13857 #: build/C/man3/tmpnam.3:68
13858 msgid ""
13859 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
13860 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
13861 "the B<TMP_MAX> mentioned below.)"
13862 msgstr ""
13863 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
13864 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
13865 "hE<gt>> で定義されている。)"
13866
13867 #. type: Plain text
13868 #: build/C/man3/tmpnam.3:73
13869 msgid ""
13870 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
13871 "or NULL if a unique name cannot be generated."
13872 msgstr ""
13873 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
13874 "が作成できなかった場合は NULL を返す。"
13875
13876 #. type: Plain text
13877 #: build/C/man3/tmpnam.3:75
13878 msgid "No errors are defined."
13879 msgstr "エラーは定義されていない。"
13880
13881 #. type: Plain text
13882 #: build/C/man3/tmpnam.3:80
13883 msgid ""
13884 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
13885 "obsolete."
13886 msgstr ""
13887 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
13888 "定としている。"
13889
13890 #. type: Plain text
13891 #: build/C/man3/tmpnam.3:91
13892 msgid ""
13893 "The B<tmpnam>()  function generates a different string each time it is "
13894 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
13895 "the behavior is implementation defined."
13896 msgstr ""
13897 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
13898 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
13899
13900 #. type: Plain text
13901 #: build/C/man3/tmpnam.3:110
13902 msgid ""
13903 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
13904 "nevertheless possible that between the time that B<tmpnam>()  returns a "
13905 "pathname, and the time that the program opens it, another program might "
13906 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13907 "This can lead to security holes.  To avoid such possibilities, use the "
13908 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13909 "B<mkstemp>(3)  or B<tmpfile>(3)."
13910 msgstr ""
13911 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
13912 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13913 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13914 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13915 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13916 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13917 "B<tmpfile>(3)  を使うことである。"
13918
13919 #. type: Plain text
13920 #: build/C/man3/tmpnam.3:118
13921 msgid ""
13922 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
13923 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
13924 "defined."
13925 msgstr ""
13926 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
13927 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
13928 "NULL 引き数で呼び出してはならない。"
13929
13930 #. type: Plain text
13931 #: build/C/man3/tmpnam.3:122
13932 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
13933 msgstr ""
13934 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
13935 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
13936 "扱いしている。"
13937
13938 #. type: Plain text
13939 #: build/C/man3/tmpnam.3:130
13940 #, no-wrap
13941 msgid ""
13942 "char *\n"
13943 "tmpnam_r(char *s)\n"
13944 "{\n"
13945 "    return s ? tmpnam(s) : NULL;\n"
13946 "}\n"
13947 msgstr ""
13948 "char *\n"
13949 "tmpnam_r(char *s)\n"
13950 "{\n"
13951 "    return s ? tmpnam(s) : NULL;\n"
13952 "}\n"
13953
13954 #. type: Plain text
13955 #: build/C/man3/tmpnam.3:144
13956 msgid ""
13957 "apparently as a warning not to use NULL.  A few systems implement it.  To "
13958 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
13959 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
13960 msgstr ""
13961 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
13962 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
13963 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
13964 "がある。"
13965
13966 #. type: Plain text
13967 #: build/C/man3/tmpnam.3:156
13968 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
13969 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
13970
13971 #. type: TH
13972 #: build/C/man2/unlink.2:32
13973 #, no-wrap
13974 msgid "UNLINK"
13975 msgstr "UNLINK"
13976
13977 #. type: TH
13978 #: build/C/man2/unlink.2:32
13979 #, no-wrap
13980 msgid "2011-09-15"
13981 msgstr "2011-09-15"
13982
13983 #. type: Plain text
13984 #: build/C/man2/unlink.2:35
13985 msgid "unlink - delete a name and possibly the file it refers to"
13986 msgstr ""
13987 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
13988
13989 #. type: Plain text
13990 #: build/C/man2/unlink.2:39
13991 msgid "B<int unlink(const char *>I<pathname>B<);>"
13992 msgstr "B<int unlink(const char *>I<pathname>B<);>"
13993
13994 #. type: Plain text
13995 #: build/C/man2/unlink.2:45
13996 msgid ""
13997 "B<unlink>()  deletes a name from the file system.  If that name was the last "
13998 "link to a file and no processes have the file open the file is deleted and "
13999 "the space it was using is made available for reuse."
14000 msgstr ""
14001 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14002 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14003 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14004 "は再利用が可能になる。"
14005
14006 #. type: Plain text
14007 #: build/C/man2/unlink.2:49
14008 msgid ""
14009 "If the name was the last link to a file but any processes still have the "
14010 "file open the file will remain in existence until the last file descriptor "
14011 "referring to it is closed."
14012 msgstr ""
14013 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14014 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14015 "スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
14016 "ける。"
14017
14018 #. type: Plain text
14019 #: build/C/man2/unlink.2:51
14020 msgid "If the name referred to a symbolic link the link is removed."
14021 msgstr ""
14022 "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
14023 "削除される。"
14024
14025 #. type: Plain text
14026 #: build/C/man2/unlink.2:55
14027 msgid ""
14028 "If the name referred to a socket, fifo or device the name for it is removed "
14029 "but processes which have the object open may continue to use it."
14030 msgstr ""
14031 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14032 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14033 "とができる。"
14034
14035 #. type: Plain text
14036 #: build/C/man2/unlink.2:71
14037 msgid ""
14038 "Write access to the directory containing I<pathname> is not allowed for the "
14039 "process's effective UID, or one of the directories in I<pathname> did not "
14040 "allow search permission.  (See also B<path_resolution>(7).)"
14041 msgstr ""
14042 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14043 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14044 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14045 "と)。"
14046
14047 #. type: Plain text
14048 #: build/C/man2/unlink.2:80
14049 msgid ""
14050 "The file I<pathname> cannot be unlinked because it is being used by the "
14051 "system or another process; for example, it is a mount point or the NFS "
14052 "client software created it to represent an active but otherwise nameless "
14053 "inode (\"NFS silly renamed\")."
14054 msgstr ""
14055 "システムか別のプロセスがそのファイルを使用中のため、\n"
14056 "ファイル I<pathname> を unlink できない。\n"
14057 "例えば、そのファイルがマウントポイントの場合や、\n"
14058 "NFS クライアントソフトウェアがそのファイルがアクティブであるが\n"
14059 "名前なし inode (nameless inode) であることを示すために作成した\n"
14060 "場合 (\"NFS silly renamed\") などがある。"
14061
14062 #. type: Plain text
14063 #: build/C/man2/unlink.2:92
14064 msgid ""
14065 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14066 "Linux since 2.1.132.)"
14067 msgstr ""
14068 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14069 "で、Linux 2.1.132 以降で返される。)"
14070
14071 #. type: Plain text
14072 #: build/C/man2/unlink.2:96
14073 msgid "Too many symbolic links were encountered in translating I<pathname>."
14074 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
14075
14076 #. type: Plain text
14077 #: build/C/man2/unlink.2:106
14078 msgid ""
14079 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14080 "I<pathname> is empty."
14081 msgstr ""
14082 "I<pathname> に対応するものが存在しないか、壊れたシンボリックリンクであるか、 "
14083 "I<pathname> が空である。"
14084
14085 #. type: Plain text
14086 #: build/C/man2/unlink.2:114
14087 msgid ""
14088 "A component used as a directory in I<pathname> is not, in fact, a directory."
14089 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14090
14091 #. type: Plain text
14092 #: build/C/man2/unlink.2:123
14093 msgid ""
14094 "The system does not allow unlinking of directories, or unlinking of "
14095 "directories requires privileges that the calling process doesn't have.  "
14096 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14097 "B<EISDIR> for this case.)"
14098 msgstr ""
14099 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14100 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14101 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14102 "合には Linux は B<EISDIR> を返す。)"
14103
14104 #. type: TP
14105 #: build/C/man2/unlink.2:123
14106 #, no-wrap
14107 msgid "B<EPERM> (Linux only)"
14108 msgstr "B<EPERM> (Linux のみ)"
14109
14110 #. type: Plain text
14111 #: build/C/man2/unlink.2:126
14112 msgid "The file system does not allow unlinking of files."
14113 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14114
14115 #. type: Plain text
14116 #: build/C/man2/unlink.2:137
14117 msgid ""
14118 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14119 "and the process's effective UID is neither the UID of the file to be deleted "
14120 "nor that of the directory containing it, and the process is not privileged "
14121 "(Linux: does not have the B<CAP_FOWNER> capability)."
14122 msgstr ""
14123 "I<pathname> を含んでいるディレクトリにスティッキービット (sticky-bit)  "
14124 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14125 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14126 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14127
14128 #. type: Plain text
14129 #: build/C/man2/unlink.2:141
14130 msgid "I<pathname> refers to a file on a read-only file system."
14131 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14132
14133 #. type: Plain text
14134 #: build/C/man2/unlink.2:161
14135 msgid ""
14136 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14137 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14138 "(7), B<symlink>(7)"
14139 msgstr ""
14140 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14141 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14142 "(7), B<symlink>(7)"
14143
14144 #. type: TH
14145 #: build/C/man3/unlocked_stdio.3:23
14146 #, no-wrap
14147 msgid "UNLOCKED_STDIO"
14148 msgstr "UNLOCKED_STDIO"
14149
14150 #. type: Plain text
14151 #: build/C/man3/unlocked_stdio.3:27
14152 msgid ""
14153 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14154 "nonlocking stdio functions"
14155 msgstr ""
14156 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14157 "わずに標準入出力を行う関数群"
14158
14159 #. type: Plain text
14160 #: build/C/man3/unlocked_stdio.3:35
14161 #, no-wrap
14162 msgid ""
14163 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14164 "B<int getchar_unlocked(void);>\n"
14165 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14166 "B<int putchar_unlocked(int >I<c>B<);>\n"
14167 msgstr ""
14168 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14169 "B<int getchar_unlocked(void);>\n"
14170 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14171 "B<int putchar_unlocked(int >I<c>B<);>\n"
14172
14173 #. type: Plain text
14174 #: build/C/man3/unlocked_stdio.3:47
14175 #, no-wrap
14176 msgid ""
14177 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14178 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14179 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14180 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14181 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14182 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14183 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14184 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14185 "B<                      FILE *>I<stream>B<);>\n"
14186 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14187 "B<                      FILE *>I<stream>B<);>\n"
14188 msgstr ""
14189 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14190 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14191 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14192 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14193 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14194 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14195 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14196 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14197 "B<                      FILE *>I<stream>B<);>\n"
14198 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14199 "B<                      FILE *>I<stream>B<);>\n"
14200
14201 #. type: Plain text
14202 #: build/C/man3/unlocked_stdio.3:50
14203 #, no-wrap
14204 msgid ""
14205 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14206 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14207 msgstr ""
14208 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14209 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14210
14211 #. type: Plain text
14212 #: build/C/man3/unlocked_stdio.3:61
14213 #, no-wrap
14214 msgid ""
14215 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14216 "B<wint_t getwchar_unlocked(void);>\n"
14217 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14218 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14219 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14220 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14221 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14222 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14223 msgstr ""
14224 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14225 "B<wint_t getwchar_unlocked(void);>\n"
14226 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14227 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14228 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14229 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14230 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14231 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14232
14233 #. type: Plain text
14234 #: build/C/man3/unlocked_stdio.3:73
14235 msgid ""
14236 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14237 "B<putchar_unlocked>():"
14238 msgstr ""
14239 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14240 "B<putchar_unlocked>():"
14241
14242 #. type: Plain text
14243 #: build/C/man3/unlocked_stdio.3:76
14244 msgid ""
14245 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14246 "_BSD_SOURCE || _SVID_SOURCE"
14247 msgstr ""
14248 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14249 "_BSD_SOURCE || _SVID_SOURCE"
14250
14251 #. type: Plain text
14252 #: build/C/man3/unlocked_stdio.3:87
14253 msgid ""
14254 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14255 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14256 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14257 msgstr ""
14258 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14259 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14260 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14261
14262 #. type: Plain text
14263 #: build/C/man3/unlocked_stdio.3:89
14264 msgid "_BSD_SOURCE || _SVID_SOURCE"
14265 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14266
14267 #. type: Plain text
14268 #: build/C/man3/unlocked_stdio.3:100
14269 msgid ""
14270 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14271 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14272 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14273 msgstr ""
14274 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14275 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14276 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14277
14278 #. type: Plain text
14279 #: build/C/man3/unlocked_stdio.3:111
14280 msgid ""
14281 "Each of these functions has the same behavior as its counterpart without the "
14282 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14283 "locks themselves, and do not test for the presence of locks set by others) "
14284 "and hence are thread-unsafe.  See B<flockfile>(3)."
14285 msgstr ""
14286 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14287 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14288 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14289 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14290 "B<flockfile>(3)  を参照のこと。"
14291
14292 #. type: Plain text
14293 #: build/C/man3/unlocked_stdio.3:118
14294 msgid ""
14295 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14296 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14297 msgstr ""
14298 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14299 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14300
14301 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14302 #.  moved to a compatibility library.
14303 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14304 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14305 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14306 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14307 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14308 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14309 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14310 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14311 #.  ungetc_unlocked, ungetwc_unlocked.
14312 #. type: Plain text
14313 #: build/C/man3/unlocked_stdio.3:134
14314 msgid ""
14315 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14316 "are available in recent glibc.  They should probably not be used."
14317 msgstr ""
14318 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14319 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14320
14321 #. type: Plain text
14322 #: build/C/man3/unlocked_stdio.3:137
14323 msgid "B<flockfile>(3), B<stdio>(3)"
14324 msgstr "B<flockfile>(3), B<stdio>(3)"
14325
14326 #. type: TH
14327 #: build/C/man3/wprintf.3:14
14328 #, no-wrap
14329 msgid "WPRINTF"
14330 msgstr "WPRINTF"
14331
14332 #. type: TH
14333 #: build/C/man3/wprintf.3:14
14334 #, no-wrap
14335 msgid "2011-09-17"
14336 msgstr "2011-09-17"
14337
14338 #. type: Plain text
14339 #: build/C/man3/wprintf.3:18
14340 msgid ""
14341 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14342 "character output conversion"
14343 msgstr ""
14344 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14345 "フォーマットして出力する"
14346
14347 #. type: Plain text
14348 #: build/C/man3/wprintf.3:22
14349 #, no-wrap
14350 msgid ""
14351 "B<#include E<lt>stdio.hE<gt>>\n"
14352 "B<#include E<lt>wchar.hE<gt>>\n"
14353 msgstr ""
14354 "B<#include E<lt>stdio.hE<gt>>\n"
14355 "B<#include E<lt>wchar.hE<gt>>\n"
14356
14357 #. type: Plain text
14358 #: build/C/man3/wprintf.3:27
14359 #, no-wrap
14360 msgid ""
14361 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14362 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14363 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14364 "B<             const wchar_t *>I<format>B<, ...);>\n"
14365 msgstr ""
14366 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14367 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14368 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14369 "B<             const wchar_t *>I<format>B<, ...);>\n"
14370
14371 #. type: Plain text
14372 #: build/C/man3/wprintf.3:32
14373 #, no-wrap
14374 msgid ""
14375 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14376 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14377 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14378 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14379 msgstr ""
14380 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14381 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14382 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14383 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14384
14385 #.  .BR wprintf (),
14386 #.  .BR fwprintf (),
14387 #.  .BR swprintf (),
14388 #.  .BR vwprintf (),
14389 #.  .BR vfwprintf (),
14390 #.  .BR vswprintf ():
14391 #. type: Plain text
14392 #: build/C/man3/wprintf.3:49
14393 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14394 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14395
14396 #. type: Plain text
14397 #: build/C/man3/wprintf.3:51
14398 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14399 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14400
14401 #. type: Plain text
14402 #: build/C/man3/wprintf.3:53
14403 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14404 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14405
14406 #. type: Plain text
14407 #: build/C/man3/wprintf.3:56
14408 msgid "or I<cc\\ -std=c99>"
14409 msgstr "or I<cc\\ -std=c99>"
14410
14411 #. type: Plain text
14412 #: build/C/man3/wprintf.3:67
14413 msgid ""
14414 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14415 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14416 "characters."
14417 msgstr ""
14418 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14419 "版である。これらはワイド文字をフォーマットして出力する。"
14420
14421 #. type: Plain text
14422 #: build/C/man3/wprintf.3:77
14423 msgid ""
14424 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14425 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14426 "more information."
14427 msgstr ""
14428 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14429 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14430 "ること。"
14431
14432 #. type: Plain text
14433 #: build/C/man3/wprintf.3:87
14434 msgid ""
14435 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14436 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14437 "for more information."
14438 msgstr ""
14439 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14440 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14441 "B<fwide>(3)  を参照すること。"
14442
14443 #. type: Plain text
14444 #: build/C/man3/wprintf.3:98
14445 msgid ""
14446 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14447 "output to an array of wide characters.  The programmer must ensure that "
14448 "there is room for at least I<maxlen> wide characters at I<wcs>."
14449 msgstr ""
14450 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14451 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14452 "空きがあることを保証しなければ ならない。"
14453
14454 #. type: Plain text
14455 #: build/C/man3/wprintf.3:109
14456 msgid ""
14457 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14458 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
14459 "following differences:"
14460 msgstr ""
14461 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
14462 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
14463
14464 #. type: TP
14465 #: build/C/man3/wprintf.3:109 build/C/man3/wprintf.3:112
14466 #: build/C/man3/wprintf.3:115
14467 #, no-wrap
14468 msgid "B<\\(bu>"
14469 msgstr "B<\\(bu>"
14470
14471 #. type: Plain text
14472 #: build/C/man3/wprintf.3:112
14473 msgid "The I<format> string is a wide-character string."
14474 msgstr "I<format> がワイド文字列で与えられる。"
14475
14476 #. type: Plain text
14477 #: build/C/man3/wprintf.3:115
14478 msgid "The output consists of wide characters, not bytes."
14479 msgstr "出力がバイトではなくワイド文字で構成される。"
14480
14481 #. type: Plain text
14482 #: build/C/man3/wprintf.3:130
14483 msgid ""
14484 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
14485 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
14486 "I<maxlen> argument, but these functions do not return -1 upon buffer "
14487 "overflow on Linux.)"
14488 msgstr ""
14489 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
14490 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
14491 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
14492 "も -1 を返さない)。"
14493
14494 #. type: Plain text
14495 #: build/C/man3/wprintf.3:132
14496 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
14497 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
14498
14499 #. type: Plain text
14500 #: build/C/man3/wprintf.3:146
14501 msgid ""
14502 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
14503 "character by a call to the B<btowc>(3)  function, and the resulting wide "
14504 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
14505 "character) argument is written."
14506 msgstr ""
14507 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
14508 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
14509 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
14510
14511 #. type: Plain text
14512 #: build/C/man3/wprintf.3:185
14513 msgid ""
14514 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
14515 "to be a pointer to an array of character type (pointer to a string) "
14516 "containing a multibyte character sequence beginning in the initial shift "
14517 "state.  Characters from the array are converted to wide characters (each by "
14518 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
14519 "the initial state before the first byte).  The resulting wide characters are "
14520 "written up to (but not including) the terminating null wide character.  If a "
14521 "precision is specified, no more wide characters than the number specified "
14522 "are written.  Note that the precision determines the number of I<wide "
14523 "characters> written, not the number of I<bytes> or I<screen positions>.  The "
14524 "array must contain a terminating null byte, unless a precision is given and "
14525 "it is so small that the number of converted wide characters reaches it "
14526 "before the end of the array is reached.  If an B<l> modifier is present: The "
14527 "I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
14528 "wide characters.  Wide characters from the array are written up to (but not "
14529 "including) a terminating null wide character.  If a precision is specified, "
14530 "no more than the number specified are written.  The array must contain a "
14531 "terminating null wide character, unless a precision is given and it is "
14532 "smaller than or equal to the number of wide characters in the array."
14533 msgstr ""
14534 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
14535 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
14536 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
14537 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
14538 "字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定され"
14539 "た 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込まれ"
14540 "る I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定することに"
14541 "注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 精度"
14542 "を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそれに"
14543 "到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が存在"
14544 "する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインタとみな"
14545 "される。 配列のワイド文字列は終端のナルワイド文字の手間まで出力される。 もし"
14546 "精度が指定された場合には指定された精度以上の文字は出力されない。 精度を指定し"
14547 "ない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場合にはそれ"
14548 "はワイド文字の配列の大きさよりも小さくな ければならない。"
14549
14550 #. type: Plain text
14551 #: build/C/man3/wprintf.3:193
14552 msgid ""
14553 "The functions return the number of wide characters written, excluding the "
14554 "terminating null wide character in case of the functions B<swprintf>()  and "
14555 "B<vswprintf>().  They return -1 when an error occurs."
14556 msgstr ""
14557 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
14558 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
14559 "場合は -1 を返す。"
14560
14561 #. type: Plain text
14562 #: build/C/man3/wprintf.3:195
14563 msgid "C99."
14564 msgstr "C99."
14565
14566 #. type: Plain text
14567 #: build/C/man3/wprintf.3:203
14568 msgid ""
14569 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
14570 "the current locale."
14571 msgstr ""
14572 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
14573
14574 #. type: Plain text
14575 #: build/C/man3/wprintf.3:229
14576 msgid ""
14577 "If the I<format> string contains non-ASCII wide characters, the program will "
14578 "only work correctly if the B<LC_CTYPE> category of the current locale at run "
14579 "time is the same as the B<LC_CTYPE> category of the current locale at "
14580 "compile time.  This is because the I<wchar_t> representation is platform- "
14581 "and locale-dependent.  (The glibc represents wide characters using their "
14582 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
14583 "the use of C99 universal character names of the form \\eunnnn does not solve "
14584 "this problem.)  Therefore, in internationalized programs, the I<format> "
14585 "string should consist of ASCII wide characters only, or should be "
14586 "constructed at run time in an internationalized way (e.g., using B<gettext>"
14587 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
14588 msgstr ""
14589 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
14590 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
14591 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
14592 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
14593 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
14594 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
14595 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
14596 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
14597 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
14598
14599 #.  .BR wscanf (3)
14600 #. type: Plain text
14601 #: build/C/man3/wprintf.3:236
14602 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14603 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14604
14605 #. type: TH
14606 #: build/C/man2/write.2:39
14607 #, no-wrap
14608 msgid "WRITE"
14609 msgstr "WRITE"
14610
14611 #. type: TH
14612 #: build/C/man2/write.2:39
14613 #, no-wrap
14614 msgid "2010-08-29"
14615 msgstr "2010-08-29"
14616
14617 #. type: Plain text
14618 #: build/C/man2/write.2:42
14619 msgid "write - write to a file descriptor"
14620 msgstr "write - ファイルディスクリプタ (file descriptor) に書き込む"
14621
14622 #. type: Plain text
14623 #: build/C/man2/write.2:46
14624 msgid ""
14625 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14626 msgstr ""
14627 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14628
14629 #. type: Plain text
14630 #: build/C/man2/write.2:54
14631 msgid ""
14632 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
14633 "the file referred to by the file descriptor I<fd>."
14634 msgstr ""
14635 "B<write>()  は、 I<buf> が指すバッファから、ファイルディスクリプタ I<fd> が参"
14636 "照するファイルへ、最大 I<count> バイトを書き込む。"
14637
14638 #. type: Plain text
14639 #: build/C/man2/write.2:68
14640 msgid ""
14641 "The number of bytes written may be less than I<count> if, for example, there "
14642 "is insufficient space on the underlying physical medium, or the "
14643 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
14644 "call was interrupted by a signal handler after having written less than "
14645 "I<count> bytes.  (See also B<pipe>(7).)"
14646 msgstr ""
14647 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
14648 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
14649 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
14650 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
14651 "(7)  も参照のこと。)"
14652
14653 #. type: Plain text
14654 #: build/C/man2/write.2:82
14655 msgid ""
14656 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
14657 "example, a regular file)  writing takes place at the current file offset, "
14658 "and the file offset is incremented by the number of bytes actually written.  "
14659 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
14660 "to the end of the file before writing.  The adjustment of the file offset "
14661 "and the write operation are performed as an atomic step."
14662 msgstr ""
14663 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
14664 "ファイル) では、 書き込みは現在のファイルオフセットから行われ、 ファイルオフ"
14665 "セットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
14666 "B<O_APPEND> で B<open>(2)  された場合、ファイルオフセットは書き込み前に ファ"
14667 "イルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな"
14668 "処理として 実行される。"
14669
14670 #. type: Plain text
14671 #: build/C/man2/write.2:89
14672 msgid ""
14673 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
14674 "B<write>()  has returned returns the new data.  Note that not all file "
14675 "systems are POSIX conforming."
14676 msgstr ""
14677 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
14678 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
14679 "ること。"
14680
14681 #. type: Plain text
14682 #: build/C/man2/write.2:94
14683 msgid ""
14684 "On success, the number of bytes written is returned (zero indicates nothing "
14685 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
14686 msgstr ""
14687 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
14688 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
14689
14690 #. type: Plain text
14691 #: build/C/man2/write.2:107
14692 msgid ""
14693 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
14694 "return a failure status if one of the errors below is detected.  If no "
14695 "errors are detected, 0 will be returned without causing any other effect.  "
14696 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
14697 "the results are not specified."
14698 msgstr ""
14699 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
14700 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
14701 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
14702 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
14703 "その結果は規定されていない。"
14704
14705 #. type: Plain text
14706 #: build/C/man2/write.2:115
14707 msgid ""
14708 "The file descriptor I<fd> refers to a file other than a socket and has been "
14709 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
14710 msgstr ""
14711 "ファイルディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停止 "
14712 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
14713 "する状況にある。"
14714
14715 #.  Actually EAGAIN on Linux
14716 #. type: Plain text
14717 #: build/C/man2/write.2:126
14718 msgid ""
14719 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
14720 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
14721 "error to be returned for this case, and does not require these constants to "
14722 "have the same value, so a portable application should check for both "
14723 "possibilities."
14724 msgstr ""
14725 "ファイルディスクリプタ I<fd> がソケットを参照していて、非停止 (nonblocking) "
14726 "モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にあ"
14727 "る。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これ"
14728 "ら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なア"
14729 "プリケーションでは、両方の可能性を 確認すべきである。"
14730
14731 #. type: Plain text
14732 #: build/C/man2/write.2:130
14733 msgid "I<fd> is not a valid file descriptor or is not open for writing."
14734 msgstr ""
14735 "I<fd> が有効なファイルディスクリプタでないか書き込みのためにオープン (open) "
14736 "されていない。"
14737
14738 #. type: TP
14739 #: build/C/man2/write.2:130
14740 #, no-wrap
14741 msgid "B<EDESTADDRREQ>"
14742 msgstr "B<EDESTADDRREQ>"
14743
14744 #. type: Plain text
14745 #: build/C/man2/write.2:135
14746 msgid ""
14747 "I<fd> refers to a datagram socket for which a peer address has not been set "
14748 "using B<connect>(2)."
14749 msgstr ""
14750 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
14751 "グラムソケットを 参照している。"
14752
14753 #. type: Plain text
14754 #: build/C/man2/write.2:144
14755 msgid ""
14756 "An attempt was made to write a file that exceeds the implementation-defined "
14757 "maximum file size or the process's file size limit, or to write at a "
14758 "position past the maximum allowed offset."
14759 msgstr ""
14760 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
14761 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
14762 "書き込もうとした。"
14763
14764 #. type: Plain text
14765 #: build/C/man2/write.2:148
14766 msgid ""
14767 "The call was interrupted by a signal before any data was written; see "
14768 "B<signal>(7)."
14769 msgstr ""
14770 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
14771 "(7)  参照。"
14772
14773 #. type: Plain text
14774 #: build/C/man2/write.2:159
14775 msgid ""
14776 "I<fd> is attached to an object which is unsuitable for writing; or the file "
14777 "was opened with the B<O_DIRECT> flag, and either the address specified in "
14778 "I<buf>, the value specified in I<count>, or the current file offset is not "
14779 "suitably aligned."
14780 msgstr ""
14781 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
14782 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
14783 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
14784 "メントが不適切である。"
14785
14786 #. type: Plain text
14787 #: build/C/man2/write.2:162
14788 msgid "A low-level I/O error occurred while modifying the inode."
14789 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
14790
14791 #. type: Plain text
14792 #: build/C/man2/write.2:167
14793 msgid ""
14794 "The device containing the file referred to by I<fd> has no room for the data."
14795 msgstr ""
14796 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14797
14798 #. type: TP
14799 #: build/C/man2/write.2:167
14800 #, no-wrap
14801 msgid "B<EPIPE>"
14802 msgstr "B<EPIPE>"
14803
14804 #. type: Plain text
14805 #: build/C/man2/write.2:176
14806 msgid ""
14807 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
14808 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
14809 "(Thus, the write return value is seen only if the program catches, blocks or "
14810 "ignores this signal.)"
14811 msgstr ""
14812 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
14813 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
14814 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
14815 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
14816 "write の返り値を参照できる。)"
14817
14818 #. type: Plain text
14819 #: build/C/man2/write.2:179
14820 msgid "Other errors may occur, depending on the object connected to I<fd>."
14821 msgstr ""
14822 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
14823
14824 #. type: Plain text
14825 #: build/C/man2/write.2:188
14826 msgid ""
14827 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
14828 "just before any data is written."
14829 msgstr ""
14830 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
14831 "で B<EINTR> が返る。"
14832
14833 #. type: Plain text
14834 #: build/C/man2/write.2:197
14835 msgid ""
14836 "A successful return from B<write>()  does not make any guarantee that data "
14837 "has been committed to disk.  In fact, on some buggy implementations, it does "
14838 "not even guarantee that space has successfully been reserved for the data.  "
14839 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
14840 "all your data."
14841 msgstr ""
14842 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
14843 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
14844 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
14845 "write した後に B<fsync>(2)  を呼び出すことである。"
14846
14847 #. type: Plain text
14848 #: build/C/man2/write.2:205
14849 msgid ""
14850 "If a B<write>()  is interrupted by a signal handler before any bytes are "
14851 "written, then the call fails with the error B<EINTR>; if it is interrupted "
14852 "after at least one byte has been written, the call succeeds, and returns the "
14853 "number of bytes written."
14854 msgstr ""
14855 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
14856 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
14857 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
14858
14859 #. type: Plain text
14860 #: build/C/man2/write.2:217
14861 msgid ""
14862 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14863 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14864 msgstr ""
14865 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14866 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14867
14868 #~ msgid "2008-12-05"
14869 #~ msgstr "2008-12-05"
14870
14871 #~ msgid "2012-02-27"
14872 #~ msgstr "2012-02-27"
14873
14874 #~ msgid "The I<double> argument is rounded and converted in the style"
14875 #~ msgstr "I<double> 引き数を丸めて"
14876
14877 #~ msgid "2012-04-25"
14878 #~ msgstr "2012-04-25"
14879
14880 #~ msgid ""
14881 #~ "The I<local_iov> and I<remote_iov> arguments point to an array of "
14882 #~ "I<iovec> structures, defined in I<E<lt>sys/uio.hE<gt>> as:"
14883 #~ msgstr ""
14884 #~ "引き数 I<local_iov> と I<remote_iov> は I<iovec> 構造体の配列へのポイン\n"
14885 #~ "タである。 I<iovec> 構造体は I<E<lt>sys/uio.hE<gt>> で以下のように定義\n"
14886 #~ "されている:"
14887
14888 #~ msgid ""
14889 #~ "Buffers are processed in array order.  This means that B<process_vm_readv>"
14890 #~ "()  completely fills I<local_iov[0]> before proceeding to I<local_iov[1]"
14891 #~ ">, and so on.  Likewise, I<remote_iov[0]> is completely read before "
14892 #~ "proceeding to I<remote_iov[1]>, and so on."
14893 #~ msgstr ""
14894 #~ "バッファは配列の順序で処理される。これは、 B<process_vm_readv>() が\n"
14895 #~ "I<local_iov>[0] が完全に一杯になるまでデータを詰めてから、\n"
14896 #~ "I<local_iov>[1] に進むといったことを意味する。同様に、\n"
14897 #~ "I<remote_iov>[0] を完全に読み出してから I<remote_iov>[1] に進み、\n"
14898 #~ "以降も同様である。"
14899
14900 #~ msgid "The I<flags> argument is currently unused and must be set to 0."
14901 #~ msgstr ""
14902 #~ "I<flags> 引き数は現在使用されておらず、 0 を設定しなければならない。"
14903
14904 #~ msgid "On error, -1 is returned and I<errno> is set appropriately."
14905 #~ msgstr "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
14906
14907 #~ msgid "I<flags> is not 0."
14908 #~ msgstr "I<flags> が 0 でない。"
14909
14910 #~ msgid "I<liovcnt> or I<riovcnt> is too large."
14911 #~ msgstr "I<liovcnt> か I<riovcnt> が大きすぎる。"
14912
14913 #~ msgid ""
14914 #~ "The memory described by I<local_iov> is outside the caller's accessible "
14915 #~ "address space."
14916 #~ msgstr ""
14917 #~ "I<local_iov> が示すメモリが呼び出し側がアクセス可能な\n"
14918 #~ "アドレス空間の外にある。"
14919
14920 #~ msgid ""
14921 #~ "The caller does not have permission to access the address space of the "
14922 #~ "process I<pid>."
14923 #~ msgstr ""
14924 #~ "呼び出し側がプロセス I<pid> のアドレス空間に対するアクセス許可を\n"
14925 #~ "持っていない。"
14926
14927 #~ msgid "B<ESRCH>"
14928 #~ msgstr "B<ESRCH>"
14929
14930 #~ msgid "No process with ID I<pid> exists."
14931 #~ msgstr "ID が I<pid> のプロセスが存在しない。"
14932
14933 #~ msgid ""
14934 #~ "These system calls were added in Linux 3.2.  Support is provided in glibc "
14935 #~ "since version 2.15."
14936 #~ msgstr ""
14937 #~ "これらのシステムコールは Linux 3.2 で追加された。ライブラリによる\n"
14938 #~ "サポートは glibc バージョン 2.15 以降で提供されている。"
14939
14940 #~ msgid "These system calls are nonstandard Linux extensions."
14941 #~ msgstr "これらのシステムコールは非標準で Linux による拡張である。"
14942
14943 #~ msgid "#include E<lt>sys/uio.hE<gt>\n"
14944 #~ msgstr "#include E<lt>sys/uio.hE<gt>\n"
14945
14946 #~ msgid ""
14947 #~ "int\n"
14948 #~ "main(void)\n"
14949 #~ "{\n"
14950 #~ "    struct iovec local[2];\n"
14951 #~ "    struct iovec remote[1];\n"
14952 #~ "    char buf1[10];\n"
14953 #~ "    char buf2[10];\n"
14954 #~ "    ssize_t nread;\n"
14955 #~ "    pid_t pid = 10;             /* PID of remote process */\n"
14956 #~ msgstr ""
14957 #~ "int\n"
14958 #~ "main(void)\n"
14959 #~ "{\n"
14960 #~ "    struct iovec local[2];\n"
14961 #~ "    struct iovec remote[1];\n"
14962 #~ "    char buf1[10];\n"
14963 #~ "    char buf2[10];\n"
14964 #~ "    ssize_t nread;\n"
14965 #~ "    pid_t pid = 10;             /* PID of remote process */\n"
14966
14967 #~ msgid ""
14968 #~ "    local[0].iov_base = buf1;\n"
14969 #~ "    local[0].iov_len = 10;\n"
14970 #~ "    local[1].iov_base = buf2;\n"
14971 #~ "    local[1].iov_len = 10;\n"
14972 #~ "    remote[0].iov_base = (void *) 0x10000;\n"
14973 #~ "    remote[1].iov_len = 20;\n"
14974 #~ msgstr ""
14975 #~ "    local[0].iov_base = buf1;\n"
14976 #~ "    local[0].iov_len = 10;\n"
14977 #~ "    local[1].iov_base = buf2;\n"
14978 #~ "    local[1].iov_len = 10;\n"
14979 #~ "    remote[0].iov_base = (void *) 0x10000;\n"
14980 #~ "    remote[1].iov_len = 20;\n"
14981
14982 #~ msgid ""
14983 #~ "    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
14984 #~ "    if (nread != 20)\n"
14985 #~ "        return 1;\n"
14986 #~ "    else\n"
14987 #~ "        return 0;\n"
14988 #~ "}\n"
14989 #~ msgstr ""
14990 #~ "    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
14991 #~ "    if (nread != 20)\n"
14992 #~ "        return 1;\n"
14993 #~ "    else\n"
14994 #~ "        return 0;\n"
14995 #~ "}\n"
14996
14997 #~ msgid "B<readv>(2), B<writev>(2)"
14998 #~ msgstr "B<readv>(2), B<writev>(2)"
14999
15000 #~ msgid "call."
15001 #~ msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
15002
15003 #~ msgid ""
15004 #~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
15005 #~ "B<gets>()  obsolescent."
15006 #~ msgstr ""
15007 #~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
15008 #~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
15009
15010 #~ msgid ""
15011 #~ "This document's use of I<whence> is incorrect English, but maintained for "
15012 #~ "historical reasons."
15013 #~ msgstr ""
15014 #~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
15015 #~ "のまま使われている。"
15016
15017 #~ msgid "B<EBUSY> (not on Linux)"
15018 #~ msgstr "B<EBUSY> (Linux 以外)"