OSDN Git Service

(split) LDP: Translate COLOPHON and the project description.
[linuxjm/LDP_man-pages.git] / po4a / stdio / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-23 04:58+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/asprintf.3:25
20 #, no-wrap
21 msgid "ASPRINTF"
22 msgstr "ASPRINTF"
23
24 #. type: TH
25 #: build/C/man3/asprintf.3:25
26 #, no-wrap
27 msgid "2001-12-18"
28 msgstr "2001-12-18"
29
30 #. type: TH
31 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
32 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
33 #: build/C/man3/fcloseall.3:24 build/C/man3/fflush.3:43
34 #: build/C/man3/fgetwc.3:16 build/C/man3/fmemopen.3:6 build/C/man3/fopen.3:42
35 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
36 #: build/C/man3/getline.3:24 build/C/man3/gets.3:25 build/C/man3/getw.3:23
37 #: build/C/man3/popen.3:38 build/C/man3/printf.3:34 build/C/man3/puts.3:24
38 #: build/C/man3/remove.3:31 build/C/man3/scanf.3:50 build/C/man3/wprintf.3:14
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
44 #: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
45 #: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
46 #: build/C/man3/fcloseall.3:24 build/C/man3/ferror.3:42
47 #: build/C/man3/fflush.3:43 build/C/man3/fgetwc.3:16
48 #: build/C/man3/flockfile.3:23 build/C/man3/fmemopen.3:6
49 #: build/C/man3/fmtmsg.3:9 build/C/man3/fopen.3:42
50 #: build/C/man3/fopencookie.3:24 build/C/man3/fpurge.3:23
51 #: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
52 #: build/C/man3/fseeko.3:23 build/C/man3/getline.3:24 build/C/man3/gets.3:25
53 #: build/C/man3/getw.3:23 build/C/man2/link.2:31 build/C/man2/llseek.2:26
54 #: build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23 build/C/man2/open.2:52
55 #: build/C/man3/perror.3:30 build/C/man2/pipe.2:36 build/C/man3/popen.3:38
56 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man2/read.2:35
57 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man3/remove.3:31
58 #: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:50
59 #: build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9 build/C/man3/stdio.3:37
60 #: build/C/man3/stdio_ext.3:23 build/C/man2/symlink.2:32
61 #: build/C/man7/symlink.7:35 build/C/man3/tempnam.3:23
62 #: build/C/man3/tmpfile.3:29 build/C/man3/tmpnam.3:25 build/C/man2/unlink.2:32
63 #: build/C/man3/unlocked_stdio.3:23 build/C/man3/wprintf.3:14
64 #: build/C/man2/write.2:39
65 #, no-wrap
66 msgid "Linux Programmer's Manual"
67 msgstr "Linux Programmer's Manual"
68
69 #. type: SH
70 #: build/C/man3/asprintf.3:26 build/C/man3/ctermid.3:25
71 #: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:43
72 #: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:43
73 #: build/C/man3/fflush.3:44 build/C/man3/fgetwc.3:17
74 #: build/C/man3/flockfile.3:24 build/C/man3/fmemopen.3:7
75 #: build/C/man3/fmtmsg.3:10 build/C/man3/fopen.3:43
76 #: build/C/man3/fopencookie.3:25 build/C/man3/fpurge.3:24
77 #: build/C/man3/fputwc.3:15 build/C/man3/fread.3:44 build/C/man3/fseek.3:41
78 #: build/C/man3/fseeko.3:24 build/C/man3/getline.3:25 build/C/man3/gets.3:26
79 #: build/C/man3/getw.3:24 build/C/man2/link.2:32 build/C/man2/llseek.2:27
80 #: build/C/man2/lseek.2:46 build/C/man3/lseek64.3:24 build/C/man2/open.2:53
81 #: build/C/man3/perror.3:31 build/C/man2/pipe.2:37 build/C/man3/popen.3:39
82 #: build/C/man3/printf.3:35 build/C/man3/puts.3:25 build/C/man2/read.2:36
83 #: build/C/man2/readlink.2:42 build/C/man2/readv.2:31 build/C/man3/remove.3:32
84 #: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:51
85 #: build/C/man3/setbuf.3:47 build/C/man3/stdin.3:10 build/C/man3/stdio.3:38
86 #: build/C/man3/stdio_ext.3:24 build/C/man2/symlink.2:33
87 #: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:24
88 #: build/C/man3/tmpfile.3:30 build/C/man3/tmpnam.3:26 build/C/man2/unlink.2:33
89 #: build/C/man3/unlocked_stdio.3:24 build/C/man3/wprintf.3:15
90 #: build/C/man2/write.2:40
91 #, no-wrap
92 msgid "NAME"
93 msgstr "名前"
94
95 #. type: Plain text
96 #: build/C/man3/asprintf.3:28
97 msgid "asprintf, vasprintf - print to allocated string"
98 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
99
100 #. type: SH
101 #: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
102 #: build/C/man3/dprintf.3:28 build/C/man3/fclose.3:45
103 #: build/C/man3/fcloseall.3:27 build/C/man3/ferror.3:45
104 #: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
105 #: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:9
106 #: build/C/man3/fmtmsg.3:12 build/C/man3/fopen.3:45
107 #: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
108 #: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
109 #: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
110 #: build/C/man3/getw.3:26 build/C/man2/link.2:34 build/C/man2/llseek.2:29
111 #: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:55
112 #: build/C/man3/perror.3:33 build/C/man2/pipe.2:39 build/C/man3/popen.3:41
113 #: build/C/man3/printf.3:38 build/C/man3/puts.3:27 build/C/man2/read.2:38
114 #: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:34
115 #: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:53
116 #: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:12 build/C/man3/stdio.3:40
117 #: build/C/man3/stdio_ext.3:28 build/C/man2/symlink.2:35
118 #: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
119 #: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:35
120 #: build/C/man3/unlocked_stdio.3:27 build/C/man3/wprintf.3:18
121 #: build/C/man2/write.2:42
122 #, no-wrap
123 msgid "SYNOPSIS"
124 msgstr "書式"
125
126 #. type: Plain text
127 #: build/C/man3/asprintf.3:30
128 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
129 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
130
131 #. type: Plain text
132 #: build/C/man3/asprintf.3:32 build/C/man3/dprintf.3:30
133 #: build/C/man3/fclose.3:47 build/C/man3/ferror.3:47 build/C/man3/fflush.3:48
134 #: build/C/man3/fseek.3:45 build/C/man3/perror.3:35 build/C/man3/printf.3:40
135 #: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:42
136 #: build/C/man3/stdio_ext.3:30
137 msgid "B<#include E<lt>stdio.hE<gt>>"
138 msgstr "B<#include E<lt>stdio.hE<gt>>"
139
140 #. type: Plain text
141 #: build/C/man3/asprintf.3:34
142 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
143 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
144
145 #. type: Plain text
146 #: build/C/man3/asprintf.3:36
147 msgid ""
148 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
149 msgstr ""
150 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
151
152 #. type: SH
153 #: build/C/man3/asprintf.3:36 build/C/man3/ctermid.3:44
154 #: build/C/man3/dprintf.3:54 build/C/man3/fclose.3:49
155 #: build/C/man3/fcloseall.3:34 build/C/man3/ferror.3:63
156 #: build/C/man3/fflush.3:50 build/C/man3/fgetwc.3:28
157 #: build/C/man3/flockfile.3:49 build/C/man3/fmemopen.3:42
158 #: build/C/man3/fmtmsg.3:22 build/C/man3/fopen.3:63
159 #: build/C/man3/fopencookie.3:35 build/C/man3/fpurge.3:40
160 #: build/C/man3/fputwc.3:26 build/C/man3/fread.3:56 build/C/man3/fseek.3:55
161 #: build/C/man3/fseeko.3:35 build/C/man3/getline.3:56 build/C/man3/gets.3:44
162 #: build/C/man3/getw.3:57 build/C/man2/link.2:38 build/C/man2/llseek.2:38
163 #: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/open.2:66
164 #: build/C/man3/perror.3:54 build/C/man2/pipe.2:51 build/C/man3/popen.3:62
165 #: build/C/man3/printf.3:76 build/C/man3/puts.3:41 build/C/man2/read.2:44
166 #: build/C/man2/readlink.2:61 build/C/man2/readv.2:56 build/C/man3/remove.3:38
167 #: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:85
168 #: build/C/man3/setbuf.3:71 build/C/man3/stdin.3:20 build/C/man3/stdio.3:48
169 #: build/C/man3/stdio_ext.3:52 build/C/man2/symlink.2:52
170 #: build/C/man3/tempnam.3:40 build/C/man3/tmpfile.3:38
171 #: build/C/man3/tmpnam.3:34 build/C/man2/unlink.2:39
172 #: build/C/man3/unlocked_stdio.3:104 build/C/man3/wprintf.3:58
173 #: build/C/man2/write.2:46
174 #, no-wrap
175 msgid "DESCRIPTION"
176 msgstr "説明"
177
178 #. type: Plain text
179 #: build/C/man3/asprintf.3:51
180 msgid ""
181 "The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
182 "(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
183 "hold the output including the terminating null byte, and return a pointer to "
184 "it via the first argument.  This pointer should be passed to B<free>(3)  to "
185 "release the allocated storage when it is no longer needed."
186 msgstr ""
187 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
188 "と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイトも含"
189 "めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数にその文字列への"
190 "ポインタを返す。 このポインタは、不要になったら B<free>(3)  に渡し、割り当て"
191 "られた記憶領域を解放すべきである。"
192
193 #. type: SH
194 #: build/C/man3/asprintf.3:51 build/C/man3/ctermid.3:57
195 #: build/C/man3/fclose.3:57 build/C/man3/fcloseall.3:49
196 #: build/C/man3/fflush.3:72 build/C/man3/fgetwc.3:53
197 #: build/C/man3/flockfile.3:112 build/C/man3/fmemopen.3:172
198 #: build/C/man3/fmtmsg.3:148 build/C/man3/fopen.3:189
199 #: build/C/man3/fopencookie.3:235 build/C/man3/fpurge.3:56
200 #: build/C/man3/fputwc.3:52 build/C/man3/fread.3:81 build/C/man3/fseek.3:117
201 #: build/C/man3/fseeko.3:63 build/C/man3/getline.3:108 build/C/man3/gets.3:109
202 #: build/C/man3/getw.3:71 build/C/man2/link.2:52 build/C/man2/llseek.2:57
203 #: build/C/man2/lseek.2:151 build/C/man2/open.2:466 build/C/man2/pipe.2:92
204 #: build/C/man3/popen.3:121 build/C/man3/puts.3:82 build/C/man2/read.2:63
205 #: build/C/man2/readlink.2:75 build/C/man2/readv.2:175
206 #: build/C/man3/remove.3:60 build/C/man2/rename.2:91 build/C/man2/rmdir.2:40
207 #: build/C/man3/scanf.3:528 build/C/man3/setbuf.3:150
208 #: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:85
209 #: build/C/man3/tmpfile.3:45 build/C/man3/tmpnam.3:68 build/C/man2/unlink.2:55
210 #: build/C/man3/wprintf.3:185 build/C/man2/write.2:89
211 #, no-wrap
212 msgid "RETURN VALUE"
213 msgstr "返り値"
214
215 #. type: Plain text
216 #: build/C/man3/asprintf.3:59
217 msgid ""
218 "When successful, these functions return the number of bytes printed, just "
219 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
220 "error occurs, these functions will return -1, and the contents of I<strp> is "
221 "undefined."
222 msgstr ""
223 "成功すると、これらの関数は出力されたバイト数を (B<sprintf>(3)  のように) 返"
224 "す。 メモリの割り当てができなかったり、 その他エラーが生じると、 これらの関数"
225 "は -1 を返し、 I<strp> の内容は未定義となる。"
226
227 #. type: SH
228 #: build/C/man3/asprintf.3:59 build/C/man3/ctermid.3:59
229 #: build/C/man3/dprintf.3:68 build/C/man3/fclose.3:88
230 #: build/C/man3/fcloseall.3:54 build/C/man3/ferror.3:105
231 #: build/C/man3/fflush.3:91 build/C/man3/fgetwc.3:65
232 #: build/C/man3/flockfile.3:119 build/C/man3/fmemopen.3:191
233 #: build/C/man3/fmtmsg.3:221 build/C/man3/fopen.3:246
234 #: build/C/man3/fopencookie.3:242 build/C/man3/fpurge.3:68
235 #: build/C/man3/fputwc.3:63 build/C/man3/fread.3:96 build/C/man3/fseek.3:164
236 #: build/C/man3/fseeko.3:75 build/C/man3/getline.3:132 build/C/man3/gets.3:136
237 #: build/C/man3/getw.3:78 build/C/man2/link.2:128 build/C/man2/llseek.2:76
238 #: build/C/man2/lseek.2:189 build/C/man2/open.2:612 build/C/man3/perror.3:107
239 #: build/C/man2/pipe.2:118 build/C/man3/popen.3:167 build/C/man3/printf.3:807
240 #: build/C/man3/puts.3:101 build/C/man2/read.2:155 build/C/man2/readlink.2:123
241 #: build/C/man2/readv.2:212 build/C/man3/remove.3:70 build/C/man2/rename.2:229
242 #: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:575 build/C/man3/setbuf.3:162
243 #: build/C/man3/stdin.3:109 build/C/man3/stdio.3:244
244 #: build/C/man2/symlink.2:144 build/C/man3/tempnam.3:94
245 #: build/C/man3/tmpfile.3:74 build/C/man3/tmpnam.3:75
246 #: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:111
247 #: build/C/man3/wprintf.3:193 build/C/man2/write.2:179
248 #, no-wrap
249 msgid "CONFORMING TO"
250 msgstr "準拠"
251
252 #. type: Plain text
253 #: build/C/man3/asprintf.3:65
254 msgid ""
255 "These functions are GNU extensions, not in C or POSIX.  They are also "
256 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
257 "error."
258 msgstr ""
259 "これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD で"
260 "も利用できる。 FreeBSD の実装では、エラーの際には I<strp> を NULL にセットす"
261 "る。"
262
263 #. type: SH
264 #: build/C/man3/asprintf.3:65 build/C/man3/ctermid.3:69
265 #: build/C/man3/dprintf.3:94 build/C/man3/fclose.3:100
266 #: build/C/man3/fcloseall.3:56 build/C/man3/ferror.3:112
267 #: build/C/man3/fflush.3:106 build/C/man3/fgetwc.3:82
268 #: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:273
269 #: build/C/man3/fmtmsg.3:293 build/C/man3/fopen.3:301
270 #: build/C/man3/fopencookie.3:434 build/C/man3/fpurge.3:78
271 #: build/C/man3/fputwc.3:80 build/C/man3/fread.3:98 build/C/man3/fseek.3:166
272 #: build/C/man3/fseeko.3:81 build/C/man3/getline.3:166 build/C/man3/gets.3:171
273 #: build/C/man3/getw.3:84 build/C/man2/link.2:177 build/C/man2/llseek.2:82
274 #: build/C/man2/lseek.2:234 build/C/man3/lseek64.3:157 build/C/man2/open.2:851
275 #: build/C/man3/perror.3:135 build/C/man2/pipe.2:190 build/C/man3/popen.3:196
276 #: build/C/man3/printf.3:1074 build/C/man3/puts.3:110 build/C/man2/read.2:178
277 #: build/C/man2/readlink.2:212 build/C/man2/readv.2:282
278 #: build/C/man3/remove.3:81 build/C/man2/rename.2:242 build/C/man2/rmdir.2:132
279 #: build/C/man3/scanf.3:717 build/C/man3/setbuf.3:198 build/C/man3/stdin.3:150
280 #: build/C/man3/stdio.3:248 build/C/man3/stdio_ext.3:130
281 #: build/C/man2/symlink.2:159 build/C/man7/symlink.7:470
282 #: build/C/man3/tempnam.3:164 build/C/man3/tmpfile.3:86
283 #: build/C/man3/tmpnam.3:151 build/C/man2/unlink.2:148
284 #: build/C/man3/unlocked_stdio.3:134 build/C/man3/wprintf.3:229
285 #: build/C/man2/write.2:205
286 #, no-wrap
287 msgid "SEE ALSO"
288 msgstr "関連項目"
289
290 #. type: Plain text
291 #: build/C/man3/asprintf.3:69
292 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
293 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
294
295 #. type: SH
296 #: build/C/man3/asprintf.3:69 build/C/man3/ctermid.3:71
297 #: build/C/man3/dprintf.3:96 build/C/man3/fclose.3:106
298 #: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:117
299 #: build/C/man3/fflush.3:114 build/C/man3/fgetwc.3:87
300 #: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:276
301 #: build/C/man3/fmtmsg.3:296 build/C/man3/fopen.3:307
302 #: build/C/man3/fopencookie.3:439 build/C/man3/fpurge.3:83
303 #: build/C/man3/fputwc.3:84 build/C/man3/fread.3:104 build/C/man3/fseek.3:169
304 #: build/C/man3/fseeko.3:83 build/C/man3/getline.3:173 build/C/man3/gets.3:187
305 #: build/C/man3/getw.3:90 build/C/man2/link.2:187 build/C/man2/llseek.2:85
306 #: build/C/man2/lseek.2:241 build/C/man3/lseek64.3:160 build/C/man2/open.2:873
307 #: build/C/man3/perror.3:140 build/C/man2/pipe.2:197 build/C/man3/popen.3:206
308 #: build/C/man3/printf.3:1083 build/C/man3/puts.3:122 build/C/man2/read.2:191
309 #: build/C/man2/readlink.2:220 build/C/man2/readv.2:286
310 #: build/C/man3/remove.3:92 build/C/man2/rename.2:251 build/C/man2/rmdir.2:141
311 #: build/C/man3/scanf.3:724 build/C/man3/setbuf.3:206 build/C/man3/stdin.3:156
312 #: build/C/man3/stdio.3:255 build/C/man3/stdio_ext.3:133
313 #: build/C/man2/symlink.2:171 build/C/man7/symlink.7:488
314 #: build/C/man3/tempnam.3:169 build/C/man3/tmpfile.3:92
315 #: build/C/man3/tmpnam.3:156 build/C/man2/unlink.2:161
316 #: build/C/man3/unlocked_stdio.3:137 build/C/man3/wprintf.3:236
317 #: build/C/man2/write.2:217
318 #, no-wrap
319 msgid "COLOPHON"
320 msgstr "この文書について"
321
322 #. type: Plain text
323 #: build/C/man3/asprintf.3:76 build/C/man3/ctermid.3:78
324 #: build/C/man3/dprintf.3:103 build/C/man3/fclose.3:113
325 #: build/C/man3/fcloseall.3:69 build/C/man3/ferror.3:124
326 #: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:94
327 #: build/C/man3/flockfile.3:136 build/C/man3/fmemopen.3:283
328 #: build/C/man3/fmtmsg.3:303 build/C/man3/fopen.3:314
329 #: build/C/man3/fopencookie.3:446 build/C/man3/fpurge.3:90
330 #: build/C/man3/fputwc.3:91 build/C/man3/fread.3:111 build/C/man3/fseek.3:176
331 #: build/C/man3/fseeko.3:90 build/C/man3/getline.3:180 build/C/man3/gets.3:194
332 #: build/C/man3/getw.3:97 build/C/man2/link.2:194 build/C/man2/llseek.2:92
333 #: build/C/man2/lseek.2:248 build/C/man3/lseek64.3:167 build/C/man2/open.2:880
334 #: build/C/man3/perror.3:147 build/C/man2/pipe.2:204 build/C/man3/popen.3:213
335 #: build/C/man3/printf.3:1090 build/C/man3/puts.3:129 build/C/man2/read.2:198
336 #: build/C/man2/readlink.2:227 build/C/man2/readv.2:293
337 #: build/C/man3/remove.3:99 build/C/man2/rename.2:258 build/C/man2/rmdir.2:148
338 #: build/C/man3/scanf.3:731 build/C/man3/setbuf.3:213 build/C/man3/stdin.3:163
339 #: build/C/man3/stdio.3:262 build/C/man3/stdio_ext.3:140
340 #: build/C/man2/symlink.2:178 build/C/man7/symlink.7:495
341 #: build/C/man3/tempnam.3:176 build/C/man3/tmpfile.3:99
342 #: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:168
343 #: build/C/man3/unlocked_stdio.3:144 build/C/man3/wprintf.3:243
344 #: build/C/man2/write.2:224
345 msgid ""
346 "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
347 "description of the project, and information about reporting bugs, can be "
348 "found at http://www.kernel.org/doc/man-pages/."
349 msgstr ""
350 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部である。\n"
351 "プロジェクトの説明とバグ報告に関する情報は\n"
352 "http://www.kernel.org/doc/man-pages/ に書かれている。"
353
354 #. type: TH
355 #: build/C/man3/ctermid.3:24
356 #, no-wrap
357 msgid "CTERMID"
358 msgstr "CTERMID"
359
360 #. type: TH
361 #: build/C/man3/ctermid.3:24 build/C/man3/perror.3:30
362 #, no-wrap
363 msgid "2007-07-26"
364 msgstr "2007-07-26"
365
366 #. type: Plain text
367 #: build/C/man3/ctermid.3:27
368 msgid "ctermid - get controlling terminal name"
369 msgstr "ctermid - 制御端末名の取得"
370
371 #. type: Plain text
372 #: build/C/man3/ctermid.3:32 build/C/man3/fgetwc.3:22
373 #: build/C/man3/flockfile.3:29 build/C/man3/fmemopen.3:12
374 #: build/C/man3/fopen.3:48 build/C/man3/fputwc.3:20 build/C/man3/fread.3:49
375 #: build/C/man3/fseeko.3:29 build/C/man3/getline.3:30 build/C/man3/gets.3:31
376 #: build/C/man3/getw.3:29 build/C/man3/popen.3:44 build/C/man3/puts.3:30
377 #: build/C/man3/scanf.3:56 build/C/man3/setbuf.3:52 build/C/man3/stdin.3:15
378 #: build/C/man3/tempnam.3:29 build/C/man3/tmpfile.3:35
379 #: build/C/man3/tmpnam.3:31 build/C/man3/unlocked_stdio.3:30
380 #, no-wrap
381 msgid "B<#include E<lt>stdio.hE<gt>>\n"
382 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
383
384 #. type: Plain text
385 #: build/C/man3/ctermid.3:34
386 #, no-wrap
387 msgid "B<char *ctermid(char *>I<s>B<);>\n"
388 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
389
390 #. type: Plain text
391 #: build/C/man3/ctermid.3:39 build/C/man3/dprintf.3:38
392 #: build/C/man3/ferror.3:59 build/C/man3/flockfile.3:40
393 #: build/C/man3/fmemopen.3:25 build/C/man3/fopen.3:59
394 #: build/C/man3/getline.3:40 build/C/man3/getw.3:38 build/C/man3/perror.3:49
395 #: build/C/man3/popen.3:53 build/C/man3/printf.3:63 build/C/man2/readlink.2:52
396 #: build/C/man2/readv.2:51 build/C/man3/scanf.3:71 build/C/man3/setbuf.3:66
397 #: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:36
398 #: build/C/man3/unlocked_stdio.3:66 build/C/man3/wprintf.3:37
399 msgid ""
400 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
401 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
402
403 #.  From <unistd.h>: _XOPEN_SOURCE
404 #. type: Plain text
405 #: build/C/man3/ctermid.3:44
406 msgid ""
407 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
408 msgstr ""
409 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
410
411 #. type: Plain text
412 #: build/C/man3/ctermid.3:57
413 msgid ""
414 "B<ctermid>()  returns a string which is the pathname for the current "
415 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
416 "used, otherwise I<s> points to a buffer used to hold the terminal pathname.  "
417 "The symbolic constant B<L_ctermid> is the maximum number of characters in "
418 "the returned pathname."
419 msgstr ""
420 "B<ctermid>()  はプロセスの現在の制御端末のパス名を返す。 I<s> が NULL の場"
421 "合、静的なバッファを用いる。それ以外の場合、 I<s> は端末パス名を保持するのに"
422 "使用されるバッファへのポインタとなる。 シンボル定数 B<L_ctermid> は返されるパ"
423 "ス名の最大文字数である。"
424
425 #. type: Plain text
426 #: build/C/man3/ctermid.3:59
427 msgid "The pointer to the pathname."
428 msgstr "パス名へのポインタ。"
429
430 #. type: Plain text
431 #: build/C/man3/ctermid.3:61
432 msgid "Svr4, POSIX.1-2001."
433 msgstr "SVr4, POSIX.1-2001."
434
435 #. type: SH
436 #: build/C/man3/ctermid.3:61 build/C/man3/fmemopen.3:201
437 #: build/C/man3/gets.3:150 build/C/man3/getw.3:80 build/C/man2/link.2:171
438 #: build/C/man2/open.2:840 build/C/man3/popen.3:173 build/C/man3/printf.3:930
439 #: build/C/man3/puts.3:103 build/C/man2/readv.2:256 build/C/man3/remove.3:78
440 #: build/C/man2/rename.2:231 build/C/man2/rmdir.2:129 build/C/man3/scanf.3:682
441 #: build/C/man3/setbuf.3:168 build/C/man3/tempnam.3:154
442 #: build/C/man3/tmpnam.3:144 build/C/man2/unlink.2:145
443 #, no-wrap
444 msgid "BUGS"
445 msgstr "バグ"
446
447 #. type: Plain text
448 #: build/C/man3/ctermid.3:65
449 msgid ""
450 "The path returned may not uniquely identify the controlling terminal; it "
451 "may, for example, be I</dev/tty>."
452 msgstr ""
453 "返されたパスはたぶん制御端末を一意には特定できない。 たとえば I</dev/tty> の"
454 "ように。"
455
456 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
457 #.  if ctermid() was given an argument; fixed in 2.4.
458 #. type: Plain text
459 #: build/C/man3/ctermid.3:69
460 msgid "It is not assured that the program can open the terminal."
461 msgstr "プログラムが端末をオープンできることは保証されていない。"
462
463 #. type: Plain text
464 #: build/C/man3/ctermid.3:71
465 msgid "B<ttyname>(3)"
466 msgstr "B<ttyname>(3)"
467
468 #. type: TH
469 #: build/C/man3/dprintf.3:25
470 #, no-wrap
471 msgid "DPRINTF"
472 msgstr "DPRINTF"
473
474 #. type: TH
475 #: build/C/man3/dprintf.3:25 build/C/man3/fmemopen.3:6
476 #, no-wrap
477 msgid "2010-09-15"
478 msgstr "2010-09-15"
479
480 #. type: Plain text
481 #: build/C/man3/dprintf.3:28
482 msgid "dprintf, vdprintf - print to a file descriptor"
483 msgstr "dprintf, vdprintf - ファイルディスクリプターに文字出力する"
484
485 #. type: Plain text
486 #: build/C/man3/dprintf.3:32
487 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
488 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
489
490 #. type: Plain text
491 #: build/C/man3/dprintf.3:34
492 msgid ""
493 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
494 msgstr ""
495 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
496
497 #. type: Plain text
498 #: build/C/man3/dprintf.3:42
499 msgid "B<dprintf>(), B<vdprintf>():"
500 msgstr "B<dprintf>(), B<vdprintf>():"
501
502 #. type: TP
503 #: build/C/man3/dprintf.3:45 build/C/man3/fmemopen.3:33
504 #: build/C/man3/getline.3:47
505 #, no-wrap
506 msgid "Since glibc 2.10:"
507 msgstr "glibc 2.10 以降:"
508
509 #. type: Plain text
510 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
511 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
512 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
513
514 #. type: TP
515 #: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
516 #: build/C/man3/getline.3:50
517 #, no-wrap
518 msgid "Before glibc 2.10:"
519 msgstr "glibc 2.10 より前:"
520
521 #. type: Plain text
522 #: build/C/man3/dprintf.3:51 build/C/man3/fmemopen.3:39
523 #: build/C/man3/getline.3:53 build/C/man3/unlocked_stdio.3:102
524 msgid "_GNU_SOURCE"
525 msgstr "_GNU_SOURCE"
526
527 #. type: Plain text
528 #: build/C/man3/dprintf.3:68
529 msgid ""
530 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
531 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
532 "they output to a file descriptor I<fd> instead of to a I<stdio> stream."
533 msgstr ""
534 "(glibc2 ライブラリにおける)  B<dprintf>()  関数と B<vdprintf>()  関数とは、そ"
535 "れぞれ B<fprintf>(3)  関数と B<vfprintf>(3)  関数とにちょうど対応するが、 こ"
536 "れらは I<stdio> ストリームではなくファイルディスクリプター I<fd> に対して出力"
537 "を行う。"
538
539 #.  .SH NOTES
540 #.  These functions are GNU extensions, not in C or POSIX.
541 #.  Clearly, the names were badly chosen.
542 #.  Many systems (like MacOS) have incompatible functions called
543 #.  .BR dprintf (),
544 #.  usually some debugging version of
545 #.  .BR printf (3),
546 #.  perhaps with a prototype like
547 #.  .BI "void dprintf(int level, const char *" format ", ...);"
548 #.  where the first argument is a debugging level (and output is to
549 #.  .IR stderr ).
550 #.  Moreover,
551 #.  .BR dprintf ()
552 #.  (or
553 #.  .BR DPRINTF )
554 #.  is also a popular macro name for a debugging printf.
555 #.  So, probably, it is better to avoid this function in programs
556 #.  intended to be portable.
557 #.  A better name would have been
558 #.  .BR fdprintf ().
559 #. type: Plain text
560 #: build/C/man3/dprintf.3:94
561 msgid ""
562 "These functions are GNU extensions that are nowadays specified in "
563 "POSIX.1-2008."
564 msgstr ""
565 "これらの関数は GNU による拡張であり、 現在では POSIX.1-2008 で規定されてい"
566 "る。"
567
568 #. type: Plain text
569 #: build/C/man3/dprintf.3:96
570 msgid "B<printf>(3)"
571 msgstr "B<printf>(3)"
572
573 #. type: TH
574 #: build/C/man3/fclose.3:42
575 #, no-wrap
576 msgid "FCLOSE"
577 msgstr "FCLOSE"
578
579 #. type: TH
580 #: build/C/man3/fclose.3:42 build/C/man3/fopen.3:42 build/C/man2/read.2:35
581 #, no-wrap
582 msgid "2009-02-23"
583 msgstr "2009-02-23"
584
585 #. type: Plain text
586 #: build/C/man3/fclose.3:45
587 msgid "fclose - close a stream"
588 msgstr "fclose - ストリームを閉じる"
589
590 #. type: Plain text
591 #: build/C/man3/fclose.3:49
592 msgid "B<int fclose(FILE *>I<fp>B<);>"
593 msgstr "B<int fclose(FILE *>I<fp>B<);>"
594
595 #. type: Plain text
596 #: build/C/man3/fclose.3:57
597 msgid ""
598 "The B<fclose>()  function will flushes the stream pointed to by I<fp> "
599 "(writing any buffered output data using B<fflush>(3))  and closes the "
600 "underlying file descriptor."
601 msgstr ""
602 "B<fclose>()  関数は I<fp> で指されるストリームを (バッファリングされていた全"
603 "ての出力データを B<fflush>(3)  を用いて書き込んで) フラッシュし、 その基とな"
604 "るファイルディスクリプタをクローズする。"
605
606 #. type: Plain text
607 #: build/C/man3/fclose.3:68
608 msgid ""
609 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
610 "I<errno> is set to indicate the error.  In either case any further access "
611 "(including another call to B<fclose>())  to the stream results in undefined "
612 "behavior."
613 msgstr ""
614 "関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には B<EOF> が"
615 "返され、 I<errno> がエラーを示すために設定される。 どちらの場合も、そのスト"
616 "リームに対する (B<fclose>()  へのさらなる呼び出しを含む) それ以上のアクセス"
617 "は 未定義の動作を生じさせる。"
618
619 #. type: SH
620 #: build/C/man3/fclose.3:68 build/C/man3/ferror.3:95 build/C/man3/fflush.3:79
621 #: build/C/man3/fgetwc.3:59 build/C/man3/flockfile.3:117
622 #: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:63 build/C/man3/fputwc.3:58
623 #: build/C/man3/fseek.3:132 build/C/man3/fseeko.3:72
624 #: build/C/man3/getline.3:120 build/C/man2/link.2:57 build/C/man2/llseek.2:64
625 #: build/C/man2/lseek.2:159 build/C/man2/open.2:474 build/C/man2/pipe.2:97
626 #: build/C/man3/popen.3:141 build/C/man2/read.2:77 build/C/man2/readlink.2:83
627 #: build/C/man2/readv.2:186 build/C/man3/remove.3:65 build/C/man2/rename.2:96
628 #: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:545 build/C/man2/symlink.2:89
629 #: build/C/man3/tempnam.3:90 build/C/man3/tmpfile.3:52
630 #: build/C/man3/tmpnam.3:73 build/C/man2/unlink.2:60 build/C/man2/write.2:107
631 #, no-wrap
632 msgid "ERRORS"
633 msgstr "エラー"
634
635 #. type: TP
636 #: build/C/man3/fclose.3:69 build/C/man3/fflush.3:80 build/C/man3/fpurge.3:64
637 #: build/C/man3/fseek.3:133 build/C/man2/llseek.2:65 build/C/man2/lseek.2:160
638 #: build/C/man2/read.2:96 build/C/man3/scanf.3:551 build/C/man2/write.2:126
639 #, no-wrap
640 msgid "B<EBADF>"
641 msgstr "B<EBADF>"
642
643 #.   This error cannot occur unless you are mixing ANSI C stdio operations and
644 #.   low-level file operations on the same stream. If you do get this error,
645 #.   you must have closed the stream's low-level file descriptor using
646 #.   something like close(fileno(fp)).
647 #. type: Plain text
648 #: build/C/man3/fclose.3:78
649 msgid "The file descriptor underlying I<fp> is not valid."
650 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
651
652 #. type: Plain text
653 #: build/C/man3/fclose.3:88
654 msgid ""
655 "The B<fclose>()  function may also fail and set I<errno> for any of the "
656 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
657 msgstr ""
658 "B<fclose>()  関数はこれ以外にも B<close>(2), B<write>(2), B<fflush>(3)  の"
659 "ルーチンで失敗することがある。その場合は I<errno> が、失敗したルーチンで設定"
660 "された値に設定される。"
661
662 #. type: Plain text
663 #: build/C/man3/fclose.3:90 build/C/man3/fseek.3:166 build/C/man3/puts.3:103
664 msgid "C89, C99."
665 msgstr "C89, C99."
666
667 #. type: SH
668 #: build/C/man3/fclose.3:90 build/C/man3/fflush.3:97 build/C/man3/fgetwc.3:67
669 #: build/C/man3/fmemopen.3:195 build/C/man3/fmtmsg.3:236
670 #: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:76 build/C/man3/fputwc.3:65
671 #: build/C/man3/fseeko.3:77 build/C/man2/link.2:133 build/C/man2/llseek.2:79
672 #: build/C/man2/lseek.2:199 build/C/man2/open.2:638 build/C/man3/perror.3:120
673 #: build/C/man3/printf.3:868 build/C/man2/read.2:157
674 #: build/C/man2/readlink.2:128 build/C/man2/readv.2:224
675 #: build/C/man3/remove.3:72 build/C/man3/scanf.3:606 build/C/man3/stdin.3:118
676 #: build/C/man2/symlink.2:150 build/C/man3/tempnam.3:99
677 #: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:80
678 #: build/C/man3/wprintf.3:195 build/C/man2/write.2:188
679 #, no-wrap
680 msgid "NOTES"
681 msgstr "注意"
682
683 #. type: Plain text
684 #: build/C/man3/fclose.3:100
685 msgid ""
686 "Note that B<fclose>()  only flushes the user space buffers provided by the C "
687 "library.  To ensure that the data is physically stored on disk the kernel "
688 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
689 msgstr ""
690 "B<fclose>()  は C ライブラリで提供されたユーザー空間バッファをフラッシュする"
691 "だけで ある点に注意すること。 データを確実に物理的にディスクに記録するために"
692 "は カーネルバッファも (B<sync>(2)  や B<fsync>(2)  を用いて) フラッシュしなけ"
693 "ればならない。"
694
695 #. type: Plain text
696 #: build/C/man3/fclose.3:106
697 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
698 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
699
700 #. type: TH
701 #: build/C/man3/fcloseall.3:24
702 #, no-wrap
703 msgid "FCLOSEALL"
704 msgstr "FCLOSEALL"
705
706 #. type: TH
707 #: build/C/man3/fcloseall.3:24
708 #, no-wrap
709 msgid "2006-12-27"
710 msgstr "2006-12-27"
711
712 #. type: Plain text
713 #: build/C/man3/fcloseall.3:27
714 msgid "fcloseall - close all open streams"
715 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
716
717 #. type: Plain text
718 #: build/C/man3/fcloseall.3:31 build/C/man3/fopencookie.3:31
719 #, no-wrap
720 msgid ""
721 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
722 "B<#include E<lt>stdio.hE<gt>>\n"
723 msgstr ""
724 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
725 "B<#include E<lt>stdio.hE<gt>>\n"
726
727 #. type: Plain text
728 #: build/C/man3/fcloseall.3:33
729 #, no-wrap
730 msgid "B<int fcloseall(void);>\n"
731 msgstr "B<int fcloseall(void);>\n"
732
733 #. type: Plain text
734 #: build/C/man3/fcloseall.3:42
735 msgid ""
736 "The B<fcloseall>()  function closes all of the calling process's open "
737 "streams.  Buffered output for each stream is written before it is closed (as "
738 "for B<fflush>(3)); buffered input is discarded."
739 msgstr ""
740 "B<fcloseall>()  関数は、呼び出し元プロセスが開いているすべてのストリームを閉"
741 "じる。 ストリームを閉じる前に、 (B<fflush>(3)  と同じように) 各ストリームの"
742 "バッファに溜っている出力データは書き出される。 入力バッファ内のデータは破棄さ"
743 "れる。"
744
745 #. type: Plain text
746 #: build/C/man3/fcloseall.3:49
747 msgid ""
748 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
749 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
750
751 #. type: Plain text
752 #: build/C/man3/fcloseall.3:54
753 msgid ""
754 "This function returns 0 if all files were successfully closed; on error, "
755 "B<EOF> is returned."
756 msgstr ""
757 "この関数は、すべてのファイルが正常に閉じられた場合 0 を返す。 エラーの場合、 "
758 "B<EOF> を返す。"
759
760 #. type: Plain text
761 #: build/C/man3/fcloseall.3:56
762 msgid "This function is a GNU extension."
763 msgstr "この関数は GNU 拡張である。"
764
765 #. type: Plain text
766 #: build/C/man3/fcloseall.3:62
767 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
768 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
769
770 #. type: TH
771 #: build/C/man3/ferror.3:42
772 #, no-wrap
773 msgid "FERROR"
774 msgstr "FERROR"
775
776 #. type: TH
777 #: build/C/man3/ferror.3:42 build/C/man3/flockfile.3:23
778 #: build/C/man3/unlocked_stdio.3:23
779 #, no-wrap
780 msgid "2008-08-29"
781 msgstr "2008-08-29"
782
783 #. type: Plain text
784 #: build/C/man3/ferror.3:45
785 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
786 msgstr ""
787 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
788
789 #. type: Plain text
790 #: build/C/man3/ferror.3:49
791 msgid "B<void clearerr(FILE *>I<stream>B<);>"
792 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
793
794 #. type: Plain text
795 #: build/C/man3/ferror.3:51
796 msgid "B<int feof(FILE *>I<stream>B<);>"
797 msgstr "B<int feof(FILE *>I<stream>B<);>"
798
799 #. type: Plain text
800 #: build/C/man3/ferror.3:53
801 msgid "B<int ferror(FILE *>I<stream>B<);>"
802 msgstr "B<int ferror(FILE *>I<stream>B<);>"
803
804 #. type: Plain text
805 #: build/C/man3/ferror.3:55
806 msgid "B<int fileno(FILE *>I<stream>B<);>"
807 msgstr "B<int fileno(FILE *>I<stream>B<);>"
808
809 #. type: Plain text
810 #: build/C/man3/ferror.3:63
811 msgid ""
812 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
813 msgstr ""
814 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
815
816 #. type: Plain text
817 #: build/C/man3/ferror.3:68
818 msgid ""
819 "The function B<clearerr>()  clears the end-of-file and error indicators for "
820 "the stream pointed to by I<stream>."
821 msgstr ""
822 "関数 B<clearerr>()  は I<stream> で示されるストリームの EOF(end-of-file) 指示"
823 "子とエラー指示子をクリアする。"
824
825 #. type: Plain text
826 #: build/C/man3/ferror.3:77
827 msgid ""
828 "The function B<feof>()  tests the end-of-file indicator for the stream "
829 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
830 "indicator can only be cleared by the function B<clearerr>()."
831 msgstr ""
832 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
833 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
834 "よってのみクリアすることができる。"
835
836 #. type: Plain text
837 #: build/C/man3/ferror.3:86
838 msgid ""
839 "The function B<ferror>()  tests the error indicator for the stream pointed "
840 "to by I<stream>, returning nonzero if it is set.  The error indicator can "
841 "only be reset by the B<clearerr>()  function."
842 msgstr ""
843 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
844 "し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
845 "()  によってのみリセットすることができる。"
846
847 #. type: Plain text
848 #: build/C/man3/ferror.3:92
849 msgid ""
850 "The function B<fileno>()  examines the argument I<stream> and returns its "
851 "integer descriptor."
852 msgstr ""
853 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプターを返"
854 "す。"
855
856 #. type: Plain text
857 #: build/C/man3/ferror.3:95 build/C/man3/fgetwc.3:53 build/C/man3/fputwc.3:52
858 #: build/C/man3/fread.3:81 build/C/man3/gets.3:109 build/C/man3/puts.3:82
859 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
860 msgstr ""
861 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
862
863 #. type: Plain text
864 #: build/C/man3/ferror.3:105
865 msgid ""
866 "These functions should not fail and do not set the external variable "
867 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
868 "valid stream, it must return -1 and set I<errno> to B<EBADF>.)"
869 msgstr ""
870 "これらの関数は失敗すべきではなく、また、外部変数 I<errno> に値をセットしな"
871 "い。 (しかし、 B<fileno>()  関数の場合で、引数が有効なストリームでなかった場"
872 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
873
874 #. type: Plain text
875 #: build/C/man3/ferror.3:112
876 msgid ""
877 "The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
878 "C99."
879 msgstr ""
880 "関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
881
882 #. type: Plain text
883 #: build/C/man3/ferror.3:117
884 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
885 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
886
887 #. type: TH
888 #: build/C/man3/fflush.3:43
889 #, no-wrap
890 msgid "FFLUSH"
891 msgstr "FFLUSH"
892
893 #. type: TH
894 #: build/C/man3/fflush.3:43
895 #, no-wrap
896 msgid "2009-09-06"
897 msgstr "2009-09-06"
898
899 #. type: Plain text
900 #: build/C/man3/fflush.3:46
901 msgid "fflush - flush a stream"
902 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
903
904 #. type: Plain text
905 #: build/C/man3/fflush.3:50
906 msgid "B<int fflush(FILE *>I<stream>B<);>"
907 msgstr "B<int fflush(FILE *>I<stream>B<);>"
908
909 #. type: Plain text
910 #: build/C/man3/fflush.3:61
911 msgid ""
912 "For output streams, B<fflush>()  forces a write of all user-space buffered "
913 "data for the given output or update I<stream> via the stream's underlying "
914 "write function.  For input streams, B<fflush>()  discards any buffered data "
915 "that has been fetched from the underlying file, but has not been consumed by "
916 "the application.  The open status of the stream is unaffected."
917 msgstr ""
918 "出力ストリームに関しては、 B<fflush>()  は、ユーザー空間でバッファリングされ"
919 "ているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはス"
920 "トリーム I<stream> の下位にある書き込み関数を用いてこのストリームを更新す"
921 "る。 入力ストリームに関しては、 B<fflush>()  は、対応するファイルから取得され"
922 "たが、アプリケーションからは 読み出されていないバッファデータを全て破棄す"
923 "る。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けな"
924 "い。"
925
926 #. type: Plain text
927 #: build/C/man3/fflush.3:69
928 msgid ""
929 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
930 "streams."
931 msgstr ""
932 "I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
933 "トリームをフラッシュする。"
934
935 #. type: Plain text
936 #: build/C/man3/fflush.3:72
937 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
938 msgstr ""
939 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
940 "と。"
941
942 #. type: Plain text
943 #: build/C/man3/fflush.3:79
944 msgid ""
945 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
946 "I<errno> is set to indicate the error."
947 msgstr ""
948 "成功すると 0 が返される。 その他の場合には B<EOF> が返され、 I<errno> が、エ"
949 "ラーに対応した値に設定される。"
950
951 #. type: Plain text
952 #: build/C/man3/fflush.3:84
953 msgid "I<Stream> is not an open stream, or is not open for writing."
954 msgstr ""
955 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
956 "ない。"
957
958 #. type: Plain text
959 #: build/C/man3/fflush.3:91
960 msgid ""
961 "The function B<fflush>()  may also fail and set I<errno> for any of the "
962 "errors specified for B<write>(2)."
963 msgstr ""
964 "B<fflush>()  関数は B<write>(2)  に関して規定されているエラーで失敗することも"
965 "ある。 この場合 I<errno> もその値に設定される。"
966
967 #. type: Plain text
968 #: build/C/man3/fflush.3:93
969 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
970 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
971
972 #.  Verified on: Solaris 8.
973 #. type: Plain text
974 #: build/C/man3/fflush.3:97
975 msgid ""
976 "The standards do not specify the behavior for input streams.  Most other "
977 "implementations behave the same as Linux."
978 msgstr ""
979 "標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装"
980 "は Linux と同じ動作をする。"
981
982 #. type: Plain text
983 #: build/C/man3/fflush.3:106
984 msgid ""
985 "Note that B<fflush>()  only flushes the user space buffers provided by the C "
986 "library.  To ensure that the data is physically stored on disk the kernel "
987 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
988 msgstr ""
989 "B<fflush>()  は、 C ライブラリが与えているユーザー空間のバッファしかフラッ"
990 "シュしない。 データが物理的にディスクに保存されることを保証したければ、 カー"
991 "ネルバッファもフラッシュしなければならない。 これには例えば B<sync>(2)  や "
992 "B<fsync>(2)  を用いる。"
993
994 #. type: Plain text
995 #: build/C/man3/fflush.3:114
996 msgid ""
997 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
998 "(3), B<unlocked_stdio>(3)"
999 msgstr ""
1000 "B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
1001 "(3), B<unlocked_stdio>(3)"
1002
1003 #. type: TH
1004 #: build/C/man3/fgetwc.3:16
1005 #, no-wrap
1006 msgid "FGETWC"
1007 msgstr "FGETWC"
1008
1009 #. type: TH
1010 #: build/C/man3/fgetwc.3:16 build/C/man3/fputwc.3:14
1011 #, no-wrap
1012 msgid "1999-07-25"
1013 msgstr "1999-07-25"
1014
1015 #. type: Plain text
1016 #: build/C/man3/fgetwc.3:19
1017 msgid "fgetwc, getwc - read a wide character from a FILE stream"
1018 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
1019
1020 #. type: Plain text
1021 #: build/C/man3/fgetwc.3:24 build/C/man3/fmemopen.3:18
1022 #: build/C/man3/fputwc.3:22 build/C/man3/unlocked_stdio.3:52
1023 #, no-wrap
1024 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1025 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1026
1027 #. type: Plain text
1028 #: build/C/man3/fgetwc.3:27
1029 #, no-wrap
1030 msgid ""
1031 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1032 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1033 msgstr ""
1034 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
1035 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
1036
1037 #. type: Plain text
1038 #: build/C/man3/fgetwc.3:42
1039 msgid ""
1040 "The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
1041 "(3)  function.  It reads a wide character from I<stream> and returns it.  If "
1042 "the end of stream is reached, or if I<ferror(stream)> becomes true, it "
1043 "returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
1044 "I<errno> to B<EILSEQ> and returns B<WEOF>."
1045 msgstr ""
1046 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
1047 "は I<stream> からワイド文字を 1 文字読み込み、これを返す。 ストリームの終端に"
1048 "達するか、I<ferror(stream)> が真になった場合には、 この関数は B<WEOF> を返"
1049 "す。 ワイド文字変換でエラーが発生した場合は、 I<errno> に B<EILSEQ> をセット"
1050 "し、 B<WEOF> を返す。"
1051
1052 #. type: Plain text
1053 #: build/C/man3/fgetwc.3:50
1054 msgid ""
1055 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
1056 "may be implemented as a macro, and may evaluate its argument more than "
1057 "once.  There is no reason ever to use it."
1058 msgstr ""
1059 "B<getwc>()  関数あるいはマクロは、 B<fgetwc>()  と全く同じ動作をする。 この関"
1060 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
1061 "ない。この関数を使う理由はもはや存在しない。"
1062
1063 #. type: Plain text
1064 #: build/C/man3/fgetwc.3:59
1065 msgid ""
1066 "The B<fgetwc>()  function returns the next wide-character from the stream, "
1067 "or B<WEOF>."
1068 msgstr ""
1069 "B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
1070
1071 #. type: Plain text
1072 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60
1073 msgid "Apart from the usual ones, there is"
1074 msgstr "通常のエラーに加えて、以下のエラーがある:"
1075
1076 #. type: TP
1077 #: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60 build/C/man3/scanf.3:556
1078 #, no-wrap
1079 msgid "B<EILSEQ>"
1080 msgstr "B<EILSEQ>"
1081
1082 #. type: Plain text
1083 #: build/C/man3/fgetwc.3:65
1084 msgid ""
1085 "The data obtained from the input stream does not form a valid character."
1086 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
1087
1088 #. type: Plain text
1089 #: build/C/man3/fgetwc.3:67 build/C/man3/fputwc.3:65
1090 msgid "C99, POSIX.1-2001."
1091 msgstr "C99, POSIX.1-2001."
1092
1093 #. type: Plain text
1094 #: build/C/man3/fgetwc.3:74
1095 msgid ""
1096 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
1097 "current locale."
1098 msgstr ""
1099 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
1100
1101 #. type: Plain text
1102 #: build/C/man3/fgetwc.3:82
1103 msgid ""
1104 "In the absence of additional information passed to the B<fopen>(3)  call, it "
1105 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
1106 "sequence from the stream and then convert it to a wide character."
1107 msgstr ""
1108 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fgetwc>()  が実"
1109 "際 にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に 変"
1110 "換すると期待することは適切である。"
1111
1112 #. type: Plain text
1113 #: build/C/man3/fgetwc.3:87
1114 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1115 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
1116
1117 #. type: TH
1118 #: build/C/man3/flockfile.3:23
1119 #, no-wrap
1120 msgid "FLOCKFILE"
1121 msgstr "FLOCKFILE"
1122
1123 #. type: Plain text
1124 #: build/C/man3/flockfile.3:26
1125 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
1126 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
1127
1128 #. type: Plain text
1129 #: build/C/man3/flockfile.3:31
1130 #, no-wrap
1131 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1132 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
1133
1134 #. type: Plain text
1135 #: build/C/man3/flockfile.3:33
1136 #, no-wrap
1137 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1138 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
1139
1140 #. type: Plain text
1141 #: build/C/man3/flockfile.3:35
1142 #, no-wrap
1143 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1144 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
1145
1146 #. type: Plain text
1147 #: build/C/man3/flockfile.3:44 build/C/man3/wprintf.3:41
1148 msgid "All functions shown above:"
1149 msgstr "上記の全ての関数:"
1150
1151 #. type: Plain text
1152 #: build/C/man3/flockfile.3:47
1153 msgid ""
1154 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1155 "|| _POSIX_SOURCE"
1156 msgstr ""
1157 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1158 "|| _POSIX_SOURCE"
1159
1160 #. type: Plain text
1161 #: build/C/man3/flockfile.3:61
1162 msgid ""
1163 "The stdio functions are thread-safe.  This is achieved by assigning to each "
1164 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
1165 "thread.  For each library call, these functions wait until the I<FILE> "
1166 "object is no longer locked by a different thread, then lock it, do the "
1167 "requested I/O, and unlock the object again."
1168 msgstr ""
1169 "標準入出力関数はスレッドセーフである。これは、各 I<FILE> オブジェクトに対し、"
1170 "ロック数 (lockcount) と (ロック数が 0 でない場合は) 所有者スレッド (owner "
1171 "thread)  を管理することで実現される。 ライブラリの呼び出しが行われる毎に、標"
1172 "準入出力関数は I<FILE> オブジェクトが他のスレッドによってロックされていない状"
1173 "態になるまで待ち、 I<FILE> オブジェクトをロックし、要求されて入出力を行い、 "
1174 "オブジェクトのロックを解除する。"
1175
1176 #. type: Plain text
1177 #: build/C/man3/flockfile.3:67
1178 msgid ""
1179 "(Note: this locking has nothing to do with the file locking done by "
1180 "functions like B<flock>(2)  and B<lockf>(3).)"
1181 msgstr ""
1182 "(注: このロックは、 B<flock>(2)  や B<lockf>(3)  といった関数が行うロックとは"
1183 "全く無関係である。)"
1184
1185 #. type: Plain text
1186 #: build/C/man3/flockfile.3:75
1187 msgid ""
1188 "All this is invisible to the C-programmer, but there may be two reasons to "
1189 "wish for more detailed control.  On the one hand, maybe a series of I/O "
1190 "actions by one thread belongs together, and should not be interrupted by the "
1191 "I/O of some other thread.  On the other hand, maybe the locking overhead "
1192 "should be avoided for greater efficiency."
1193 msgstr ""
1194 "これらのことはすべて C プログラマには見えない部分で行われるが、 より細かい制"
1195 "御ができた方がよい理由が2つあるだろう。一つは、一つのスレッドが 行う一連の入"
1196 "出力動作は一緒に行われ、他のスレッドの入出力によって中断されない 方がよいとい"
1197 "うことであろう。もう一つは、効率を大きく上げるためには ロックのオーバヘッドを"
1198 "避ける必要があるということであろう。"
1199
1200 #. type: Plain text
1201 #: build/C/man3/flockfile.3:92
1202 msgid ""
1203 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
1204 "series of I/O actions, then unlock.  This prevents other threads from coming "
1205 "in between.  If the reason for doing this was to achieve greater efficiency, "
1206 "one does the I/O with the nonlocking versions of the stdio functions: with "
1207 "B<getc_unlocked>(3)  and B<putc_unlocked>(3)  instead of B<getc>(3)  and "
1208 "B<putc>(3)."
1209 msgstr ""
1210 "この目的を実現するために、 I<FILE> オブジェクトのロック、一連の入出力動作の実"
1211 "行、 ロックの解除をスレッドが明示的に指示することができる。 これにより、他の"
1212 "スレッドが途中で入出力を行うのを防止する。 このようなことを行う理由が効率の向"
1213 "上であるならば、 ロックを行わないバージョンの標準入出力関数を使うこともでき"
1214 "る。 例えば、 B<getc>(3)  や B<putc>(3)  の代わりに B<getc_unlocked>(3)  や "
1215 "B<putc_unlocked>(3)  を使用する。"
1216
1217 #. type: Plain text
1218 #: build/C/man3/flockfile.3:99
1219 msgid ""
1220 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
1221 "by a different thread, then makes the current thread owner of "
1222 "I<*filehandle>, and increments the lockcount."
1223 msgstr ""
1224 "B<flockfile>()  関数は、I<*filehandle> が他のスレッドにロックされていな い状"
1225 "態になるまで待ったのち、現在のスレッドを I<*filehandle> のオーナに設 定し、"
1226 "ロック数を加算する。"
1227
1228 #. type: Plain text
1229 #: build/C/man3/flockfile.3:103
1230 msgid "The B<funlockfile>()  function decrements the lock count."
1231 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
1232
1233 #. type: Plain text
1234 #: build/C/man3/flockfile.3:112
1235 msgid ""
1236 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
1237 "It does nothing in case some other thread owns I<*filehandle>, and it "
1238 "obtains ownership and increments the lockcount otherwise."
1239 msgstr ""
1240 "B<ftrylockfile>()  関数は B<flockfile>()  のブロッキングを行わない バージョン"
1241 "である。他のスレッドが I<*filehandle> をロックしている時は 何も行わず、そうで"
1242 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
1243
1244 #. type: Plain text
1245 #: build/C/man3/flockfile.3:117
1246 msgid ""
1247 "The B<ftrylockfile>()  function returns zero for success (the lock was "
1248 "obtained), and nonzero for failure."
1249 msgstr ""
1250 "B<ftrylockfile>()  関数はロックに成功すると 0 を返し、 失敗した場合は 0 以外"
1251 "の値を返す。"
1252
1253 #. type: Plain text
1254 #: build/C/man3/flockfile.3:119
1255 msgid "None."
1256 msgstr "なし。"
1257
1258 #. type: Plain text
1259 #: build/C/man3/flockfile.3:121 build/C/man3/popen.3:169
1260 msgid "POSIX.1-2001."
1261 msgstr "POSIX.1-2001."
1262
1263 #. type: SH
1264 #: build/C/man3/flockfile.3:121
1265 #, no-wrap
1266 msgid "AVAILABILITY"
1267 msgstr "可用性"
1268
1269 #. type: Plain text
1270 #: build/C/man3/flockfile.3:127
1271 msgid ""
1272 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
1273 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
1274 msgstr ""
1275 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されているときにこれらの関数を使用する"
1276 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
1277
1278 #. type: Plain text
1279 #: build/C/man3/flockfile.3:129
1280 msgid "B<unlocked_stdio>(3)"
1281 msgstr "B<unlocked_stdio>(3)"
1282
1283 #. type: TH
1284 #: build/C/man3/fmemopen.3:6
1285 #, no-wrap
1286 msgid "FMEMOPEN"
1287 msgstr "FMEMOPEN"
1288
1289 #. type: Plain text
1290 #: build/C/man3/fmemopen.3:9
1291 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
1292 msgstr ""
1293 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
1294 "する"
1295
1296 #. type: Plain text
1297 #: build/C/man3/fmemopen.3:14
1298 #, no-wrap
1299 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1300 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
1301
1302 #. type: Plain text
1303 #: build/C/man3/fmemopen.3:16
1304 #, no-wrap
1305 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1306 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1307
1308 #. type: Plain text
1309 #: build/C/man3/fmemopen.3:20
1310 #, no-wrap
1311 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1312 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
1313
1314 #. type: Plain text
1315 #: build/C/man3/fmemopen.3:30
1316 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1317 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
1318
1319 #. type: Plain text
1320 #: build/C/man3/fmemopen.3:53
1321 msgid ""
1322 "The B<fmemopen>()  function opens a stream that permits the access specified "
1323 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
1324 "buffer pointed to by I<buf>.  This buffer must be at least I<size> bytes "
1325 "long."
1326 msgstr ""
1327 "B<fmemopen>()  関数は、ストリームをオープンし、そのストリームに I<mode> で指"
1328 "定されたアクセス許可を設定する。 そのストリームを通じて、 I<buf> で指定された"
1329 "文字列やメモリバッファへの読み書きができる。 このバッファは少なくとも "
1330 "I<size> バイトの長さでなければならない。"
1331
1332 #. type: Plain text
1333 #: build/C/man3/fmemopen.3:73
1334 msgid ""
1335 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
1336 "an append mode, then the initial file position is set to the location of the "
1337 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
1338 "position is set to the start of the buffer.  Since glibc 2.9, the letter 'b' "
1339 "may be specified as the second character in I<mode>.  This provides \"binary"
1340 "\" mode: writes don't implicitly add a terminating null byte, and B<fseek>"
1341 "(3)  B<SEEK_END> is relative to the end of the buffer (i.e., the value "
1342 "specified by the I<size> argument), rather than the current string length."
1343 msgstr ""
1344 "引き数 I<mode> は B<fopen>(3)  の場合と同じである。 I<mode> で追記モード "
1345 "(append mode) が指定された場合、ファイル位置の初期値は バッファ中の最初の "
1346 "NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。 それ以外の場合は、ファイル"
1347 "位置の初期値はバッファの先頭になる。 glibc 2.9 以降では、文字 'b' を I<mode> "
1348 "の二番目の文字として指定することができる。 この文字は「バイナリ」モードを指定"
1349 "するものである。 このモードでは、書き込み時に文字列終端のヌルバイトが黙って追"
1350 "加 されることはない。また、 B<fseek>(3)  B<SEEK_END> は、文字列の長さからの相"
1351 "対値ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
1352
1353 #. type: Plain text
1354 #: build/C/man3/fmemopen.3:85
1355 msgid ""
1356 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
1357 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
1358 "there is space.  The caller should ensure that an extra byte is available in "
1359 "the buffer (and that I<size> counts that byte)  to allow for this."
1360 msgstr ""
1361 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
1362 "(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
1363 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
1364 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
1365
1366 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1995
1367 #.  and
1368 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
1369 #. type: Plain text
1370 #: build/C/man3/fmemopen.3:103
1371 msgid ""
1372 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
1373 "(By default, such errors will only be visible when the I<stdio> buffer is "
1374 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
1375 "detect errors at the time of an output operation.  Alternatively, the caller "
1376 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
1377 "informing stdio of the buffer's size, using I<setbuffer(fp, buf, size)>.)"
1378 msgstr ""
1379 "バッファに I<size> バイトよりたくさん書き込もうとした場合には、エラーとな"
1380 "る。 (デフォルトでは、このようなエラーが見えるのは I<stdio> バッファがフラッ"
1381 "シュされた時だけである。 I<setbuf(fp,\\ NULL)> を使ってバッファリングを無効に"
1382 "する方法は、 出力操作を行った時点でエラーを検出するのに役立つ。 別の方法とし"
1383 "ては、 I<setbuffer(fp, buf, size)> を使って、呼び出し側が明示的に stdio スト"
1384 "リームバッファとして I<buf> を指定し、バッファの指定時にバッファのサイズを "
1385 "stdio に教える方法がある。)"
1386
1387 #. type: Plain text
1388 #: build/C/man3/fmemopen.3:111
1389 msgid ""
1390 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
1391 "not cause read operations to return an end-of-file indication.  A read from "
1392 "the buffer will only indicate end-of-file when the file pointer advances "
1393 "I<size> bytes past the start of the buffer."
1394 msgstr ""
1395 "読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
1396 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
1397 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
1398 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
1399
1400 #. type: Plain text
1401 #: build/C/man3/fmemopen.3:126
1402 msgid ""
1403 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
1404 "buffer I<size> bytes long.  This is useful for an application that wants to "
1405 "write data to a temporary buffer and then read it back again.  The buffer is "
1406 "automatically freed when the stream is closed.  Note that the caller has no "
1407 "way to obtain a pointer to the temporary buffer allocated by this call (but "
1408 "see B<open_memstream>()  below)."
1409 msgstr ""
1410 "I<buf> に NULL が指定された場合、 B<fmemopen>()  は動的に I<size> バイトの長"
1411 "さのバッファを確保する。 この方法は、一時バッファにデータの書き込みを行ってか"
1412 "ら、 その内容を再度読み出すようなアプリケーションで有用である。 このバッファ"
1413 "はストリームがクローズされるときに自動的に解放される。 呼び出し元からはこの関"
1414 "数が割り当てた一時バッファへのポインタ値を 知る方法は存在しない点に注意 (下記"
1415 "の B<open_memstream>()  も参照)。"
1416
1417 #. type: Plain text
1418 #: build/C/man3/fmemopen.3:137
1419 msgid ""
1420 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
1421 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
1422 "automatically grows as required.  After closing the stream, the caller "
1423 "should B<free>(3)  this buffer."
1424 msgstr ""
1425 "B<open_memstream>()  関数は、バッファへの書き込み用にストリームをオープンす"
1426 "る。 バッファは (B<malloc>(3)  を使って) 動的に割り当てられ、必要に応じて自動"
1427 "的に伸長する。 ストリームをクローズした後で、呼び出し元はこのバッファを "
1428 "B<free>(3)  すべきである。"
1429
1430 #. type: Plain text
1431 #: build/C/man3/fmemopen.3:152
1432 msgid ""
1433 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
1434 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
1435 "respectively, a pointer to the buffer and the current size of the buffer.  "
1436 "These values remain valid only as long as the caller performs no further "
1437 "output on the stream.  If further output is performed, then the stream must "
1438 "again be flushed before trying to access these variables."
1439 msgstr ""
1440 "このストリームが クローズ (B<fclose>(3))  されたりフラッシュ (B<fflush>(3))  "
1441 "された時に、 I<ptr> と I<sizeloc> の値はそれぞれバッファへのポインタとそのサ"
1442 "イズに更新される。 これらの値は、呼び出し元がそのストリームに新たな書き込み"
1443 "を 行わない場合に限り有効である。 ストリームに書き込みを行った際には、これら"
1444 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
1445
1446 #. type: Plain text
1447 #: build/C/man3/fmemopen.3:158
1448 msgid ""
1449 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
1450 "included in the size value stored at I<sizeloc>."
1451 msgstr ""
1452 "バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
1453 "されるサイズには「含まれない」。"
1454
1455 #. type: Plain text
1456 #: build/C/man3/fmemopen.3:166
1457 msgid ""
1458 "The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
1459 "(3).  Moving the file position past the end of the data already written "
1460 "fills the intervening space with zeros."
1461 msgstr ""
1462 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
1463 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
1464 "は 0 で埋められる。"
1465
1466 #. type: Plain text
1467 #: build/C/man3/fmemopen.3:172
1468 msgid ""
1469 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
1470 "wide characters instead of bytes."
1471 msgstr ""
1472 "B<open_wmemstream>()  は B<open_memstream>()  と同様だが、バイトではなくワイ"
1473 "ド文字に対して操作を行う点が異なる。"
1474
1475 #. type: Plain text
1476 #: build/C/man3/fmemopen.3:184
1477 msgid ""
1478 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
1479 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
1480 "and I<errno> is set to indicate the error."
1481 msgstr ""
1482 "成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
1483 "B<open_wmemstream>()  は I<FILE> ポインタを返す。 失敗した場合は、 NULL を返"
1484 "し、 I<errno> にエラーを示す値をセットする。"
1485
1486 #. type: SH
1487 #: build/C/man3/fmemopen.3:184 build/C/man3/fmtmsg.3:218
1488 #: build/C/man3/getline.3:130 build/C/man2/pipe.2:113 build/C/man2/readv.2:207
1489 #, no-wrap
1490 msgid "VERSIONS"
1491 msgstr "バージョン"
1492
1493 #. type: Plain text
1494 #: build/C/man3/fmemopen.3:191
1495 msgid ""
1496 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
1497 "x.  B<open_wmemstream>()  is available since glibc 2.4."
1498 msgstr ""
1499 "B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
1500 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
1501
1502 #. type: Plain text
1503 #: build/C/man3/fmemopen.3:195
1504 msgid ""
1505 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
1506 "not widely available on other systems."
1507 msgstr ""
1508 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
1509 "のシステムで広く利用可能である。"
1510
1511 #. type: Plain text
1512 #: build/C/man3/fmemopen.3:201
1513 msgid ""
1514 "There is no file descriptor associated with the file stream returned by "
1515 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
1516 "returned stream)."
1517 msgstr ""
1518 "これらの関数が返すファイルストリームに対応するファイル ディスクリプタはない "
1519 "(つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返るこ"
1520 "とになる)。"
1521
1522 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
1523 #. type: Plain text
1524 #: build/C/man3/fmemopen.3:208
1525 msgid ""
1526 "In glibc before version 2.7, seeking past the end of a stream created by "
1527 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
1528 "call fails, returning -1."
1529 msgstr ""
1530 "バージョン 2.7 より前の glibc では、 B<open_memstream>()  で作成されたスト"
1531 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
1532 "B<fseek>(3)  が失敗し -1 が返る。"
1533
1534 #. type: SH
1535 #: build/C/man3/fmemopen.3:208 build/C/man3/fmtmsg.3:240
1536 #: build/C/man3/fopencookie.3:244 build/C/man3/getline.3:139
1537 #: build/C/man2/pipe.2:124 build/C/man3/printf.3:974
1538 #: build/C/man2/readlink.2:155 build/C/man2/readv.2:263
1539 #, no-wrap
1540 msgid "EXAMPLE"
1541 msgstr "例"
1542
1543 #. type: Plain text
1544 #: build/C/man3/fmemopen.3:218
1545 msgid ""
1546 "The program below uses B<fmemopen>()  to open an input buffer, and "
1547 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
1548 "scans its input string (taken from the program's first command-line "
1549 "argument) reading integers, and writes the squares of these integers to the "
1550 "output buffer.  An example of the output produced by this program is the "
1551 "following:"
1552 msgstr ""
1553 "このプログラムは B<fmemopen>()  を使って出力バッファをオープンし、 "
1554 "B<open_memstream>()  を使って動的にサイズが変化する出力バッファをオープンして"
1555 "いる。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャン"
1556 "して整数を読み込み、これらの整数の二乗を出力バッファに書き出す。 このプログラ"
1557 "ムの実行例は以下のようになる。"
1558
1559 #. type: Plain text
1560 #: build/C/man3/fmemopen.3:223
1561 #, no-wrap
1562 msgid ""
1563 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1564 "size=11; ptr=1 529 1849\n"
1565 msgstr ""
1566 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
1567 "size=11; ptr=1 529 1849\n"
1568
1569 #. type: SS
1570 #: build/C/man3/fmemopen.3:225 build/C/man3/fopencookie.3:268
1571 #, no-wrap
1572 msgid "Program source"
1573 msgstr "プログラムのソース"
1574
1575 #. type: Plain text
1576 #: build/C/man3/fmemopen.3:232
1577 #, no-wrap
1578 msgid ""
1579 "#define _GNU_SOURCE\n"
1580 "#include E<lt>string.hE<gt>\n"
1581 "#include E<lt>stdio.hE<gt>\n"
1582 "#include E<lt>stdlib.hE<gt>\n"
1583 msgstr ""
1584 "#define _GNU_SOURCE\n"
1585 "#include E<lt>string.hE<gt>\n"
1586 "#include E<lt>stdio.hE<gt>\n"
1587 "#include E<lt>stdlib.hE<gt>\n"
1588
1589 #. type: Plain text
1590 #: build/C/man3/fmemopen.3:235
1591 #, no-wrap
1592 msgid ""
1593 "#define handle_error(msg) \\e\n"
1594 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1595 msgstr ""
1596 "#define handle_error(msg) \\e\n"
1597 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1598
1599 #. type: Plain text
1600 #: build/C/man3/fmemopen.3:243
1601 #, no-wrap
1602 msgid ""
1603 "int\n"
1604 "main(int argc, char *argv[])\n"
1605 "{\n"
1606 "    FILE *out, *in;\n"
1607 "    int v, s;\n"
1608 "    size_t size;\n"
1609 "    char *ptr;\n"
1610 msgstr ""
1611 "int\n"
1612 "main(int argc, char *argv[])\n"
1613 "{\n"
1614 "    FILE *out, *in;\n"
1615 "    int v, s;\n"
1616 "    size_t size;\n"
1617 "    char *ptr;\n"
1618
1619 #. type: Plain text
1620 #: build/C/man3/fmemopen.3:248
1621 #, no-wrap
1622 msgid ""
1623 "    if (argc != 2) {\n"
1624 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1625 "\texit(EXIT_FAILURE);\n"
1626 "    }\n"
1627 msgstr ""
1628 "    if (argc != 2) {\n"
1629 "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
1630 "\texit(EXIT_FAILURE);\n"
1631 "    }\n"
1632
1633 #. type: Plain text
1634 #: build/C/man3/fmemopen.3:252
1635 #, no-wrap
1636 msgid ""
1637 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1638 "    if (in == NULL)\n"
1639 "        handle_error(\"fmemopen\");\n"
1640 msgstr ""
1641 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
1642 "    if (in == NULL)\n"
1643 "        handle_error(\"fmemopen\");\n"
1644
1645 #. type: Plain text
1646 #: build/C/man3/fmemopen.3:256
1647 #, no-wrap
1648 msgid ""
1649 "    out = open_memstream(&ptr, &size);\n"
1650 "    if (out == NULL)\n"
1651 "        handle_error(\"open_memstream\");\n"
1652 msgstr ""
1653 "    out = open_memstream(&ptr, &size);\n"
1654 "    if (out == NULL)\n"
1655 "        handle_error(\"open_memstream\");\n"
1656
1657 #. type: Plain text
1658 #: build/C/man3/fmemopen.3:261
1659 #, no-wrap
1660 msgid ""
1661 "    for (;;) {\n"
1662 "        s = fscanf(in, \"%d\", &v);\n"
1663 "        if (s E<lt>= 0)\n"
1664 "            break;\n"
1665 msgstr ""
1666 "    for (;;) {\n"
1667 "        s = fscanf(in, \"%d\", &v);\n"
1668 "        if (s E<lt>= 0)\n"
1669 "            break;\n"
1670
1671 #. type: Plain text
1672 #: build/C/man3/fmemopen.3:272
1673 #, no-wrap
1674 msgid ""
1675 "        s = fprintf(out, \"%d \", v * v);\n"
1676 "        if (s == -1)\n"
1677 "            handle_error(\"fprintf\");\n"
1678 "    }\n"
1679 "    fclose(in);\n"
1680 "    fclose(out);\n"
1681 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1682 "    free(ptr);\n"
1683 "    exit(EXIT_SUCCESS);\n"
1684 "}\n"
1685 msgstr ""
1686 "        s = fprintf(out, \"%d \", v * v);\n"
1687 "        if (s == -1)\n"
1688 "            handle_error(\"fprintf\");\n"
1689 "    }\n"
1690 "    fclose(in);\n"
1691 "    fclose(out);\n"
1692 "    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
1693 "    free(ptr);\n"
1694 "    exit(EXIT_SUCCESS);\n"
1695 "}\n"
1696
1697 #. type: Plain text
1698 #: build/C/man3/fmemopen.3:276
1699 msgid "B<fopen>(3), B<fopencookie>(3)"
1700 msgstr "B<fopen>(3), B<fopencookie>(3)"
1701
1702 #. type: TH
1703 #: build/C/man3/fmtmsg.3:9
1704 #, no-wrap
1705 msgid "FMTMSG"
1706 msgstr "FMTMSG"
1707
1708 #. type: TH
1709 #: build/C/man3/fmtmsg.3:9
1710 #, no-wrap
1711 msgid "2008-06-14"
1712 msgstr "2008-06-14"
1713
1714 #. type: Plain text
1715 #: build/C/man3/fmtmsg.3:12
1716 msgid "fmtmsg - print formatted error messages"
1717 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
1718
1719 #. type: Plain text
1720 #: build/C/man3/fmtmsg.3:15
1721 #, no-wrap
1722 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
1723 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
1724
1725 #. type: Plain text
1726 #: build/C/man3/fmtmsg.3:17
1727 #, no-wrap
1728 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1729 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
1730
1731 #. type: Plain text
1732 #: build/C/man3/fmtmsg.3:19
1733 #, no-wrap
1734 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1735 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
1736
1737 #. type: Plain text
1738 #: build/C/man3/fmtmsg.3:21
1739 #, no-wrap
1740 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1741 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
1742
1743 #. type: Plain text
1744 #: build/C/man3/fmtmsg.3:32
1745 msgid ""
1746 "This function displays a message described by its arguments on the device"
1747 "(s)  specified in the I<classification> argument.  For messages written to "
1748 "I<stderr>, the format depends on the B<MSGVERB> environment variable."
1749 msgstr ""
1750 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
1751 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
1752 "は、 B<MSGVERB> 環境変数に依存する。"
1753
1754 #. type: Plain text
1755 #: build/C/man3/fmtmsg.3:39
1756 msgid ""
1757 "The I<label> argument identifies the source of the message.  The string must "
1758 "consist of two colon separated parts where the first part has not more than "
1759 "10 and the second part not more than 14 characters."
1760 msgstr ""
1761 "I<label> 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られ"
1762 "た 2 つの部分から構成されていなければならない。 1 つ目の部分は 10 文字以内で"
1763 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
1764
1765 #. type: Plain text
1766 #: build/C/man3/fmtmsg.3:43
1767 msgid "The I<text> argument describes the condition of the error."
1768 msgstr "I<text> 引き数にはエラー条件を記述する。"
1769
1770 #. type: Plain text
1771 #: build/C/man3/fmtmsg.3:48
1772 msgid ""
1773 "The I<action> argument describes possible steps to recover from the error.  "
1774 "If it is printed, it is prefixed by \"TO FIX: \"."
1775 msgstr ""
1776 "I<action> 引き数にはエラーから回復するために利用可能なステップを記述する。 こ"
1777 "れが表示される場合、\"TO FIX: \" が前に付く。"
1778
1779 #. type: Plain text
1780 #: build/C/man3/fmtmsg.3:56
1781 msgid ""
1782 "The I<tag> argument is a reference to the online documentation where more "
1783 "information can be found.  It should contain the I<label> value and a unique "
1784 "identification number."
1785 msgstr ""
1786 "I<tag> 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照で"
1787 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
1788
1789 #. type: SS
1790 #: build/C/man3/fmtmsg.3:56
1791 #, no-wrap
1792 msgid "Dummy arguments"
1793 msgstr "ダミー引き数"
1794
1795 #. type: Plain text
1796 #: build/C/man3/fmtmsg.3:75
1797 msgid ""
1798 "Each of the arguments can have a dummy value.  The dummy classification "
1799 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
1800 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
1801 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
1802 "synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
1803 "synonym for B<NO_SEV>."
1804 msgstr ""
1805 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
1806 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
1807 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
1808 "表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
1809 "((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
1810 "る。"
1811
1812 #. type: SS
1813 #: build/C/man3/fmtmsg.3:75
1814 #, no-wrap
1815 msgid "The classification argument"
1816 msgstr "classification 引き数"
1817
1818 #. type: Plain text
1819 #: build/C/man3/fmtmsg.3:79
1820 msgid ""
1821 "The I<classification> argument is the sum of values describing 4 types of "
1822 "information."
1823 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
1824
1825 #. type: Plain text
1826 #: build/C/man3/fmtmsg.3:82
1827 msgid "The first value defines the output channel."
1828 msgstr "最初の値は出力チャンネルを定義する。"
1829
1830 #. type: TP
1831 #: build/C/man3/fmtmsg.3:82
1832 #, no-wrap
1833 msgid "B<MM_PRINT>"
1834 msgstr "B<MM_PRINT>"
1835
1836 #. type: Plain text
1837 #: build/C/man3/fmtmsg.3:86
1838 msgid "Output to I<stderr>."
1839 msgstr "I<stderr> に出力する。"
1840
1841 #. type: TP
1842 #: build/C/man3/fmtmsg.3:86
1843 #, no-wrap
1844 msgid "B<MM_CONSOLE>"
1845 msgstr "B<MM_CONSOLE>"
1846
1847 #. type: Plain text
1848 #: build/C/man3/fmtmsg.3:89
1849 msgid "Output to the system console."
1850 msgstr "システムコンソールに出力する。"
1851
1852 #. type: TP
1853 #: build/C/man3/fmtmsg.3:89
1854 #, no-wrap
1855 msgid "B<MM_PRINT | MM_CONSOLE>"
1856 msgstr "B<MM_PRINT | MM_CONSOLE>"
1857
1858 #. type: Plain text
1859 #: build/C/man3/fmtmsg.3:92
1860 msgid "Output to both."
1861 msgstr "両方に出力する。"
1862
1863 #. type: Plain text
1864 #: build/C/man3/fmtmsg.3:94
1865 msgid "The second value is the source of the error:"
1866 msgstr "2 番目の値はエラーの発生源である:"
1867
1868 #. type: TP
1869 #: build/C/man3/fmtmsg.3:94
1870 #, no-wrap
1871 msgid "B<MM_HARD>"
1872 msgstr "B<MM_HARD>"
1873
1874 #. type: Plain text
1875 #: build/C/man3/fmtmsg.3:97
1876 msgid "A hardware error occurred."
1877 msgstr "ハードウェアエラーが起こった。"
1878
1879 #. type: TP
1880 #: build/C/man3/fmtmsg.3:97
1881 #, no-wrap
1882 msgid "B<MM_FIRM>"
1883 msgstr "B<MM_FIRM>"
1884
1885 #. type: Plain text
1886 #: build/C/man3/fmtmsg.3:100
1887 msgid "A firmware error occurred."
1888 msgstr "ファームウェアエラーが起こった。"
1889
1890 #. type: TP
1891 #: build/C/man3/fmtmsg.3:100
1892 #, no-wrap
1893 msgid "B<MM_SOFT>"
1894 msgstr "B<MM_SOFT>"
1895
1896 #. type: Plain text
1897 #: build/C/man3/fmtmsg.3:103
1898 msgid "A software error occurred."
1899 msgstr "ソフトウェアエラーが起こった。"
1900
1901 #. type: Plain text
1902 #: build/C/man3/fmtmsg.3:105
1903 msgid "The third value encodes the detector of the problem:"
1904 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
1905
1906 #. type: TP
1907 #: build/C/man3/fmtmsg.3:105
1908 #, no-wrap
1909 msgid "B<MM_APPL>"
1910 msgstr "B<MM_APPL>"
1911
1912 #. type: Plain text
1913 #: build/C/man3/fmtmsg.3:108
1914 msgid "It is detected by an application."
1915 msgstr "アプリケーションによって検知された。"
1916
1917 #. type: TP
1918 #: build/C/man3/fmtmsg.3:108
1919 #, no-wrap
1920 msgid "B<MM_UTIL>"
1921 msgstr "B<MM_UTIL>"
1922
1923 #. type: Plain text
1924 #: build/C/man3/fmtmsg.3:111
1925 msgid "It is detected by a utility."
1926 msgstr "ユーティリティによって検知された。"
1927
1928 #. type: TP
1929 #: build/C/man3/fmtmsg.3:111
1930 #, no-wrap
1931 msgid "B<MM_OPSYS>"
1932 msgstr "B<MM_OPSYS>"
1933
1934 #. type: Plain text
1935 #: build/C/man3/fmtmsg.3:114
1936 msgid "It is detected by the operating system."
1937 msgstr "オペレーティングシステムによって検知された。"
1938
1939 #. type: Plain text
1940 #: build/C/man3/fmtmsg.3:116
1941 msgid "The fourth value shows the severity of the incident:"
1942 msgstr "4 番目の値は問題の重大度を表す:"
1943
1944 #. type: TP
1945 #: build/C/man3/fmtmsg.3:116
1946 #, no-wrap
1947 msgid "B<MM_RECOVER>"
1948 msgstr "B<MM_RECOVER>"
1949
1950 #. type: Plain text
1951 #: build/C/man3/fmtmsg.3:119
1952 msgid "It is a recoverable error."
1953 msgstr "回復可能なエラーである。"
1954
1955 #. type: TP
1956 #: build/C/man3/fmtmsg.3:119
1957 #, no-wrap
1958 msgid "B<MM_NRECOV>"
1959 msgstr "B<MM_NRECOV>"
1960
1961 #. type: Plain text
1962 #: build/C/man3/fmtmsg.3:122
1963 msgid "It is a nonrecoverable error."
1964 msgstr "回復不可能なエラーである。"
1965
1966 #. type: SS
1967 #: build/C/man3/fmtmsg.3:122
1968 #, no-wrap
1969 msgid "The severity argument"
1970 msgstr "severity 引き数"
1971
1972 #. type: Plain text
1973 #: build/C/man3/fmtmsg.3:126
1974 msgid "The I<severity> argument can take one of the following values:"
1975 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
1976
1977 #. type: TP
1978 #: build/C/man3/fmtmsg.3:126
1979 #, no-wrap
1980 msgid "B<MM_NOSEV>"
1981 msgstr "B<MM_NOSEV>"
1982
1983 #. type: Plain text
1984 #: build/C/man3/fmtmsg.3:129
1985 msgid "No severity is printed."
1986 msgstr "重大度は表示されない。"
1987
1988 #. type: TP
1989 #: build/C/man3/fmtmsg.3:129
1990 #, no-wrap
1991 msgid "B<MM_HALT>"
1992 msgstr "B<MM_HALT>"
1993
1994 #. type: Plain text
1995 #: build/C/man3/fmtmsg.3:132
1996 msgid "This value is printed as HALT."
1997 msgstr "この値は HALT として表示される。"
1998
1999 #. type: TP
2000 #: build/C/man3/fmtmsg.3:132
2001 #, no-wrap
2002 msgid "B<MM_ERROR>"
2003 msgstr "B<MM_ERROR>"
2004
2005 #. type: Plain text
2006 #: build/C/man3/fmtmsg.3:135
2007 msgid "This value is printed as ERROR."
2008 msgstr "この値は ERROR として表示される。"
2009
2010 #. type: TP
2011 #: build/C/man3/fmtmsg.3:135
2012 #, no-wrap
2013 msgid "B<MM_WARNING>"
2014 msgstr "B<MM_WARNING>"
2015
2016 #. type: Plain text
2017 #: build/C/man3/fmtmsg.3:138
2018 msgid "This value is printed as WARNING."
2019 msgstr "この値は WARNING として表示される。"
2020
2021 #. type: TP
2022 #: build/C/man3/fmtmsg.3:138
2023 #, no-wrap
2024 msgid "B<MM_INFO>"
2025 msgstr "B<MM_INFO>"
2026
2027 #. type: Plain text
2028 #: build/C/man3/fmtmsg.3:141
2029 msgid "This value is printed as INFO."
2030 msgstr "この値は INFO として表示される。"
2031
2032 #. type: Plain text
2033 #: build/C/man3/fmtmsg.3:148
2034 msgid ""
2035 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
2036 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
2037 "print."
2038 msgstr ""
2039 "数値の場合は 0 から 4 である。 B<addseverity>(3)  または環境変数 "
2040 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
2041
2042 #. type: Plain text
2043 #: build/C/man3/fmtmsg.3:150
2044 msgid "The function can return 4 values:"
2045 msgstr "関数は 4 つの値を返す:"
2046
2047 #. type: TP
2048 #: build/C/man3/fmtmsg.3:150
2049 #, no-wrap
2050 msgid "B<MM_OK>"
2051 msgstr "B<MM_OK>"
2052
2053 #. type: Plain text
2054 #: build/C/man3/fmtmsg.3:153
2055 msgid "Everything went smooth."
2056 msgstr "全てがうまくいった。"
2057
2058 #. type: TP
2059 #: build/C/man3/fmtmsg.3:153
2060 #, no-wrap
2061 msgid "B<MM_NOTOK>"
2062 msgstr "B<MM_NOTOK>"
2063
2064 #. type: Plain text
2065 #: build/C/man3/fmtmsg.3:156
2066 msgid "Complete failure."
2067 msgstr "完全に失敗した。"
2068
2069 #. type: TP
2070 #: build/C/man3/fmtmsg.3:156
2071 #, no-wrap
2072 msgid "B<MM_NOMSG>"
2073 msgstr "B<MM_NOMSG>"
2074
2075 #. type: Plain text
2076 #: build/C/man3/fmtmsg.3:160
2077 msgid "Error writing to I<stderr>."
2078 msgstr "I<stderr> に書き込むときにエラーが起こった。"
2079
2080 #. type: TP
2081 #: build/C/man3/fmtmsg.3:160
2082 #, no-wrap
2083 msgid "B<MM_NOCON>"
2084 msgstr "B<MM_NOCON>"
2085
2086 #. type: Plain text
2087 #: build/C/man3/fmtmsg.3:163
2088 msgid "Error writing to the console."
2089 msgstr "コンソールに書き込むときにエラーが起こった。"
2090
2091 #. type: SH
2092 #: build/C/man3/fmtmsg.3:163
2093 #, no-wrap
2094 msgid "ENVIRONMENT"
2095 msgstr "環境変数"
2096
2097 #. type: Plain text
2098 #: build/C/man3/fmtmsg.3:174
2099 msgid ""
2100 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
2101 "suppress parts of the output to I<stderr>.  (It does not influence output to "
2102 "the console.)  When this variable is defined, is non-NULL, and is a colon-"
2103 "separated list of valid keywords, then only the parts of the message "
2104 "corresponding to these keywords is printed.  Valid keywords are \"label\", "
2105 "\"severity\", \"text\", \"action\" and \"tag\"."
2106 msgstr ""
2107 "環境変数 B<MSGVERB> (\"message verbosity\") は I<stderr> への出力の一部を抑制"
2108 "するのに使うことができる。 (コンソールへの出力には影響しない。)  この変数が定"
2109 "義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場"
2110 "合、 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワード"
2111 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
2112
2113 #. type: Plain text
2114 #: build/C/man3/fmtmsg.3:186
2115 msgid ""
2116 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
2117 "levels.  By default, only the five severity levels described above are "
2118 "available.  Any other numeric value would make B<fmtmsg>()  print nothing.  "
2119 "If the user puts B<SEV_LEVEL> with a format like"
2120 msgstr ""
2121 "環境変数 B<SEV_LEVEL> は新しい重大度レベルを導入するのに使用できる。 デフォル"
2122 "トでは、上記の 5 つの重大度レベルのみが利用可能である。 他の数値の場合、 "
2123 "B<fmtmsg>()  は何も表示しない。 B<fmtmsg>()  を初めて呼び出す前に、ユーザが "
2124 "B<SEV_LEVEL> を"
2125
2126 #. type: Plain text
2127 #: build/C/man3/fmtmsg.3:189
2128 msgid "SEV_LEVEL=[description[:description[:...]]]"
2129 msgstr "SEV_LEVEL=[description[:description[:...]]]"
2130
2131 #. type: Plain text
2132 #: build/C/man3/fmtmsg.3:194
2133 msgid ""
2134 "in the environment of the process before the first call to B<fmtmsg>(), "
2135 "where each description is of the form"
2136 msgstr ""
2137 "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
2138 "に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
2139 "指定された printstring を表示する。 各 description は"
2140
2141 #. type: Plain text
2142 #: build/C/man3/fmtmsg.3:197
2143 msgid "severity-keyword,level,printstring"
2144 msgstr "severity-keyword,level,printstring"
2145
2146 #. type: Plain text
2147 #: build/C/man3/fmtmsg.3:204
2148 msgid ""
2149 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
2150 "addition to the standard levels 0-4), and use the indicated printstring when "
2151 "such a level occurs."
2152 msgstr "という形式である。"
2153
2154 #. type: Plain text
2155 #: build/C/man3/fmtmsg.3:218
2156 msgid ""
2157 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
2158 "present.  The level part is a string representation of a number.  The "
2159 "numeric value must be a number greater than 4.  This value must be used in "
2160 "the severity argument of B<fmtmsg>()  to select this class.  It is not "
2161 "possible to overwrite any of the predefined classes.  The printstring is the "
2162 "string printed when a message of this class is processed by B<fmtmsg>()."
2163 msgstr ""
2164 "severity-keyword 部は B<fmtmsg>()  に使用されないが、存在しなければならな"
2165 "い。 level 部は数値を文字列で表したものである。 数値は 4 より大きい値でなけれ"
2166 "ばならない。 この値は B<fmtmsg>()  の severity 引き数で使用されなければなら"
2167 "ず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできな"
2168 "い。 printstring は、 この重大度のメッセージが B<fmtmsg>()  によって生成され"
2169 "た場合に表示される文字列である。"
2170
2171 #. type: Plain text
2172 #: build/C/man3/fmtmsg.3:221
2173 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
2174 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
2175
2176 #. type: Plain text
2177 #: build/C/man3/fmtmsg.3:236
2178 msgid ""
2179 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
2180 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
2181 "and the environment variable B<MSGVERB> are described in POSIX.1-2001."
2182 msgstr ""
2183 "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
2184 "B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
2185 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
2186
2187 #. type: Plain text
2188 #: build/C/man3/fmtmsg.3:240
2189 msgid ""
2190 "System V and UnixWare man pages tell us that these functions have been "
2191 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
2192 "vlfmt()\", and will be removed later."
2193 msgstr ""
2194 "System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
2195 "()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
2196 "は削除される予定である」と書かれている。"
2197
2198 #. type: Plain text
2199 #: build/C/man3/fmtmsg.3:245
2200 #, no-wrap
2201 msgid ""
2202 "#include E<lt>stdio.hE<gt>\n"
2203 "#include E<lt>stdlib.hE<gt>\n"
2204 "#include E<lt>fmtmsg.hE<gt>\n"
2205 msgstr ""
2206 "#include E<lt>stdio.hE<gt>\n"
2207 "#include E<lt>stdlib.hE<gt>\n"
2208 "#include E<lt>fmtmsg.hE<gt>\n"
2209
2210 #. type: Plain text
2211 #: build/C/man3/fmtmsg.3:251
2212 #, no-wrap
2213 msgid ""
2214 "int\n"
2215 "main(void)\n"
2216 "{\n"
2217 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2218 "    int err;\n"
2219 msgstr ""
2220 "int\n"
2221 "main(void)\n"
2222 "{\n"
2223 "    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;\n"
2224 "    int err;\n"
2225
2226 #. type: Plain text
2227 #: build/C/man3/fmtmsg.3:272
2228 #, no-wrap
2229 msgid ""
2230 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2231 "                \"unknown mount option\", \"See mount(8).\",\n"
2232 "                \"util-linux:mount:017\");\n"
2233 "    switch (err) {\n"
2234 "    case MM_OK:\n"
2235 "        break;\n"
2236 "    case MM_NOTOK:\n"
2237 "        printf(\"Nothing printed\\en\");\n"
2238 "        break;\n"
2239 "    case MM_NOMSG:\n"
2240 "        printf(\"Nothing printed to stderr\\en\");\n"
2241 "        break;\n"
2242 "    case MM_NOCON:\n"
2243 "        printf(\"No console output\\en\");\n"
2244 "        break;\n"
2245 "    default:\n"
2246 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2247 "    }\n"
2248 "    exit(EXIT_SUCCESS);\n"
2249 "}\n"
2250 msgstr ""
2251 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
2252 "                \"unknown mount option\", \"See mount(8).\",\n"
2253 "                \"util-linux:mount:017\");\n"
2254 "    switch (err) {\n"
2255 "    case MM_OK:\n"
2256 "      break;\n"
2257 "    case MM_NOTOK:\n"
2258 "        printf(\"Nothing printed\\en\");\n"
2259 "        break;\n"
2260 "    case MM_NOMSG:\n"
2261 "        printf(\"Nothing printed to stderr\\en\");\n"
2262 "        break;\n"
2263 "    case MM_NOCON:\n"
2264 "        printf(\"No console output\\en\");\n"
2265 "        break;\n"
2266 "    default:\n"
2267 "        printf(\"Unknown error from fmtmsg()\\en\");\n"
2268 "    }\n"
2269 "    exit(EXIT_SUCCESS);\n"
2270 "}\n"
2271
2272 #. type: Plain text
2273 #: build/C/man3/fmtmsg.3:275
2274 msgid "The output should be:"
2275 msgstr "出力は"
2276
2277 #. type: Plain text
2278 #: build/C/man3/fmtmsg.3:279
2279 #, no-wrap
2280 msgid ""
2281 "    util-linux:mount: ERROR: unknown mount option\n"
2282 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2283 msgstr ""
2284 "    util-linux:mount: ERROR: unknown mount option\n"
2285 "    TO FIX: See mount(8).  util-linux:mount:017\n"
2286
2287 #. type: Plain text
2288 #: build/C/man3/fmtmsg.3:282
2289 msgid "and after"
2290 msgstr "のようになり、"
2291
2292 #. type: Plain text
2293 #: build/C/man3/fmtmsg.3:285
2294 #, no-wrap
2295 msgid "    MSGVERB=text:action; export MSGVERB\n"
2296 msgstr "    MSGVERB=text:action; export MSGVERB\n"
2297
2298 #. type: Plain text
2299 #: build/C/man3/fmtmsg.3:288
2300 msgid "the output becomes:"
2301 msgstr "を実行すると、次のようになる。"
2302
2303 #. type: Plain text
2304 #: build/C/man3/fmtmsg.3:292
2305 #, no-wrap
2306 msgid ""
2307 "    unknown mount option\n"
2308 "    TO FIX: See mount(8).\n"
2309 msgstr ""
2310 "    unknown mount option\n"
2311 "    TO FIX: See mount(8).\n"
2312
2313 #. type: Plain text
2314 #: build/C/man3/fmtmsg.3:296
2315 msgid "B<addseverity>(3), B<perror>(3)"
2316 msgstr "B<addseverity>(3), B<perror>(3)"
2317
2318 #. type: TH
2319 #: build/C/man3/fopen.3:42
2320 #, no-wrap
2321 msgid "FOPEN"
2322 msgstr "FOPEN"
2323
2324 #. type: Plain text
2325 #: build/C/man3/fopen.3:45
2326 msgid "fopen, fdopen, freopen - stream open functions"
2327 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
2328
2329 #. type: Plain text
2330 #: build/C/man3/fopen.3:50
2331 #, no-wrap
2332 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2333 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
2334
2335 #. type: Plain text
2336 #: build/C/man3/fopen.3:52
2337 #, no-wrap
2338 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2339 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
2340
2341 #. type: Plain text
2342 #: build/C/man3/fopen.3:54
2343 #, no-wrap
2344 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2345 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
2346
2347 #. type: Plain text
2348 #: build/C/man3/fopen.3:63
2349 msgid ""
2350 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2351 msgstr ""
2352 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2353
2354 #. type: Plain text
2355 #: build/C/man3/fopen.3:69
2356 msgid ""
2357 "The B<fopen>()  function opens the file whose name is the string pointed to "
2358 "by I<path> and associates a stream with it."
2359 msgstr ""
2360 "B<fopen>()  関数は、 I<path> で指定された名前のファイルを開き、ストリームと結"
2361 "びつける。"
2362
2363 #. type: Plain text
2364 #: build/C/man3/fopen.3:74
2365 msgid ""
2366 "The argument I<mode> points to a string beginning with one of the following "
2367 "sequences (Additional characters may follow these sequences.):"
2368 msgstr ""
2369 "引数 I<mode> は、以下に続く文字のひとつから始まる文字列へのポインタである (追"
2370 "加の文字がこの文字の後に続くこともある):"
2371
2372 #. type: TP
2373 #: build/C/man3/fopen.3:74
2374 #, no-wrap
2375 msgid "B<r>"
2376 msgstr "B<r>"
2377
2378 #. type: Plain text
2379 #: build/C/man3/fopen.3:78
2380 msgid ""
2381 "Open text file for reading.  The stream is positioned at the beginning of "
2382 "the file."
2383 msgstr ""
2384 "テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置され"
2385 "る。"
2386
2387 #. type: TP
2388 #: build/C/man3/fopen.3:78
2389 #, no-wrap
2390 msgid "B<r+>"
2391 msgstr "B<r+>"
2392
2393 #. type: Plain text
2394 #: build/C/man3/fopen.3:82
2395 msgid ""
2396 "Open for reading and writing.  The stream is positioned at the beginning of "
2397 "the file."
2398 msgstr ""
2399 "読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置され"
2400 "る。"
2401
2402 #. type: TP
2403 #: build/C/man3/fopen.3:82
2404 #, no-wrap
2405 msgid "B<w>"
2406 msgstr "B<w>"
2407
2408 #. type: Plain text
2409 #: build/C/man3/fopen.3:86
2410 msgid ""
2411 "Truncate file to zero length or create text file for writing.  The stream is "
2412 "positioned at the beginning of the file."
2413 msgstr ""
2414 "ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り"
2415 "詰める。 ファイルがなかった場合には新たに作成する。 ストリームはファイルの先"
2416 "頭に位置される。"
2417
2418 #. type: TP
2419 #: build/C/man3/fopen.3:86
2420 #, no-wrap
2421 msgid "B<w+>"
2422 msgstr "B<w+>"
2423
2424 #. type: Plain text
2425 #: build/C/man3/fopen.3:92
2426 msgid ""
2427 "Open for reading and writing.  The file is created if it does not exist, "
2428 "otherwise it is truncated.  The stream is positioned at the beginning of the "
2429 "file."
2430 msgstr ""
2431 "読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作"
2432 "成する。 存在している場合には長さゼロに切り詰められる。 ストリームはファイル"
2433 "の先頭に位置される。"
2434
2435 #. type: TP
2436 #: build/C/man3/fopen.3:92 build/C/man3/scanf.3:444
2437 #, no-wrap
2438 msgid "B<a>"
2439 msgstr "B<a>"
2440
2441 #. type: Plain text
2442 #: build/C/man3/fopen.3:97
2443 msgid ""
2444 "Open for appending (writing at end of file).  The file is created if it does "
2445 "not exist.  The stream is positioned at the end of the file."
2446 msgstr ""
2447 "追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合に"
2448 "は新たに作成する。 ストリームはファイルの最後に位置される。"
2449
2450 #. type: TP
2451 #: build/C/man3/fopen.3:97
2452 #, no-wrap
2453 msgid "B<a+>"
2454 msgstr "B<a+>"
2455
2456 #. type: Plain text
2457 #: build/C/man3/fopen.3:103
2458 msgid ""
2459 "Open for reading and appending (writing at end of file).  The file is "
2460 "created if it does not exist.  The initial file position for reading is at "
2461 "the beginning of the file, but output is always appended to the end of the "
2462 "file."
2463 msgstr ""
2464 "読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在し"
2465 "ていない場合には新たに作成する。 読み出しの初期ファイル位置はファイルの先頭で"
2466 "あるが、 書き込みは常にファイルの最後に追加される。"
2467
2468 #. type: Plain text
2469 #: build/C/man3/fopen.3:116
2470 msgid ""
2471 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
2472 "character or as a character between the characters in any of the two-"
2473 "character strings described above.  This is strictly for compatibility with "
2474 "C89 and has no effect; the \\(aqb\\(aq is ignored on all POSIX conforming "
2475 "systems, including Linux.  (Other systems may treat text files and binary "
2476 "files differently, and adding the \\(aqb\\(aq may be a good idea if you do I/"
2477 "O to a binary file and expect that your program may be ported to non-UNIX "
2478 "environments.)"
2479 msgstr ""
2480 "I<mode> 文字列には文字 \\(aqb\\(aq を追加指定することができ、 I<mode> 文字列"
2481 "の最後の文字として指定する。 上記のうち 2 文字のモードの場合には 2 つの文字の"
2482 "間に指定することもできる。 これは C89 との互換性のためだけに用意された もので"
2483 "あり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全て"
2484 "の POSIX 準拠システムでは、 この \\(aqb\\(aq は無視される。 (その他のシステム"
2485 "ではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナ"
2486 "リファイルの入出力を行い、 そのプログラムが非 UNIX 環境へ移植されると予測する"
2487 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
2488
2489 #. type: Plain text
2490 #: build/C/man3/fopen.3:119
2491 msgid "See NOTES below for details of glibc extensions for I<mode>."
2492 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
2493
2494 #. type: Plain text
2495 #: build/C/man3/fopen.3:124
2496 msgid ""
2497 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2498 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
2499 "umask value (see B<umask>(2))."
2500 msgstr ""
2501 "すべての生成されたファイルは、 B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
2502 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666) のモードを そのプロセスの umask "
2503 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
2504
2505 #. type: Plain text
2506 #: build/C/man3/fopen.3:139
2507 msgid ""
2508 "Reads and writes may be intermixed on read/write streams in any order.  Note "
2509 "that ANSI C requires that a file positioning function intervene between "
2510 "output and input, unless an input operation encounters end-of-file.  (If "
2511 "this condition is not met, then a read is allowed to return the result of "
2512 "writes other than the most recent.)  Therefore it is good practice (and "
2513 "indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
2514 "(3)  operation between write and read operations on such a stream.  This "
2515 "operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
2516 "for its synchronizing side effect."
2517 msgstr ""
2518 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
2519 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
2520 "出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになってい"
2521 "ることに注意されたい (この条件を満足しない場合には、読み込み操作は、 最後に書"
2522 "き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 した"
2523 "がって、このようなストリームでの読み書き操作の間には B<fseek>(3)  または "
2524 "B<fgetpos>(3)  操作を挟んでおくと良いだろう (Linux では本当に必要となることも"
2525 "ときどきある)。 この操作は見かけ上何もしない操作 (no-op) でも良い (例えば "
2526 "I<fseek(..., 0L, SEEK_CUR)> を その副次的効果である同期のためだけに呼べば良"
2527 "い)。"
2528
2529 #. type: Plain text
2530 #: build/C/man3/fopen.3:144
2531 msgid ""
2532 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
2533 "causes all subsequent write operations to this stream to occur at end-of-"
2534 "file, as if preceded by an"
2535 msgstr ""
2536 "ファイルを追加モード (I<mode> の最初の文字を B<a> にする) で開くと、 このスト"
2537 "リームに対する書き込み操作は (先に"
2538
2539 #. type: Plain text
2540 #: build/C/man3/fopen.3:147
2541 #, no-wrap
2542 msgid "    fseek(stream,0,SEEK_END);\n"
2543 msgstr "    fseek(stream,0,SEEK_END);\n"
2544
2545 #. type: Plain text
2546 #: build/C/man3/fopen.3:150
2547 msgid "call."
2548 msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
2549
2550 #. type: Plain text
2551 #: build/C/man3/fopen.3:171
2552 msgid ""
2553 "The B<fdopen>()  function associates a stream with the existing file "
2554 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
2555 "\", \"w\", \"w+\", \"a\", \"a+\")  must be compatible with the mode of the "
2556 "file descriptor.  The file position indicator of the new stream is set to "
2557 "that belonging to I<fd>, and the error and end-of-file indicators are "
2558 "cleared.  Modes \"w\" or \"w+\" do not cause truncation of the file.  The "
2559 "file descriptor is not dup'ed, and will be closed when the stream created by "
2560 "B<fdopen>()  is closed.  The result of applying B<fdopen>()  to a shared "
2561 "memory object is undefined."
2562 msgstr ""
2563 "B<fdopen>()  関数は、既存のファイル記述子 I<fd> にストリームを結びつける。 ス"
2564 "トリームの I<mode> (\"r\", \"r+\", \"w\", \"w+\", \"a\", \"a+\" のいずれか) "
2565 "は ファイル記述子のモードと互換のものでなければならない。 新しいストリームの"
2566 "ファイル位置指示子は I<fd> に属している値に設定される。 error と end-of-file "
2567 "の各指示子はクリアされる。 \"w\" および \"w+\" モードでのファイルの切り詰めは"
2568 "行われない。 ファイル記述子の複製は行なわれない。 B<fdopen>()  で作成されたス"
2569 "トリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェ"
2570 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
2571
2572 #. type: Plain text
2573 #: build/C/man3/fopen.3:189
2574 msgid ""
2575 "The B<freopen>()  function opens the file whose name is the string pointed "
2576 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
2577 "The original stream (if it exists) is closed.  The I<mode> argument is used "
2578 "just as in the B<fopen>()  function.  The primary use of the B<freopen>()  "
2579 "function is to change the file associated with a standard text stream "
2580 "(I<stderr>, I<stdin>, or I<stdout>)."
2581 msgstr ""
2582 "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
2583 "指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
2584 "在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
2585 "る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
2586 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
2587
2588 #. type: Plain text
2589 #: build/C/man3/fopen.3:201
2590 msgid ""
2591 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
2592 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
2593 "indicate the error."
2594 msgstr ""
2595 "B<fopen>(), B<fdopen>(), B<freopen>()  は成功すると I<FILE> 型のポインタを返"
2596 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
2597
2598 #. type: TP
2599 #: build/C/man3/fopen.3:202 build/C/man3/fseek.3:138
2600 #: build/C/man3/getline.3:121 build/C/man2/llseek.2:72
2601 #: build/C/man2/lseek.2:164 build/C/man2/pipe.2:102 build/C/man2/read.2:108
2602 #: build/C/man2/read.2:119 build/C/man2/readlink.2:93
2603 #: build/C/man2/readlink.2:102 build/C/man2/readv.2:198
2604 #: build/C/man2/rename.2:136 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:563
2605 #: build/C/man2/write.2:148
2606 #, no-wrap
2607 msgid "B<EINVAL>"
2608 msgstr "B<EINVAL>"
2609
2610 #. type: Plain text
2611 #: build/C/man3/fopen.3:212
2612 msgid ""
2613 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
2614 "invalid."
2615 msgstr ""
2616 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
2617
2618 #. type: Plain text
2619 #: build/C/man3/fopen.3:222
2620 msgid ""
2621 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
2622 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
2623 msgstr ""
2624 "B<fopen>(), B<fdopen>(), B<freopen>()  関数は B<malloc>(3)  ルーチンで規定さ"
2625 "れているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセット"
2626 "する。"
2627
2628 #. type: Plain text
2629 #: build/C/man3/fopen.3:229
2630 msgid ""
2631 "The B<fopen>()  function may also fail and set I<errno> for any of the "
2632 "errors specified for the routine B<open>(2)."
2633 msgstr ""
2634 "B<fopen>()  関数は B<open>(2)  ルーチンで規定されているエラーでも失敗すること"
2635 "があり、 その時は対応する値に I<errno> をセットする。"
2636
2637 #. type: Plain text
2638 #: build/C/man3/fopen.3:236
2639 msgid ""
2640 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
2641 "errors specified for the routine B<fcntl>(2)."
2642 msgstr ""
2643 "B<fdopen>()  関数は B<fcntl>(2)  ルーチンで規定されているエラーでも失敗するこ"
2644 "とがあり、 その時は対応する値に I<errno> をセットする。"
2645
2646 #. type: Plain text
2647 #: build/C/man3/fopen.3:246
2648 msgid ""
2649 "The B<freopen>()  function may also fail and set I<errno> for any of the "
2650 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
2651 msgstr ""
2652 "B<freopen>()  関数は B<open>(2), B<fclose>(3), B<fflush>(3)  各ルーチンで規定"
2653 "されているエラーでも失敗することがあり、 その時は対応する値に I<errno> をセッ"
2654 "トする。"
2655
2656 #. type: Plain text
2657 #: build/C/man3/fopen.3:255
2658 msgid ""
2659 "The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
2660 "()  function conforms to POSIX.1-1990."
2661 msgstr ""
2662 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
2663 "は POSIX.1-1990 に準拠している。"
2664
2665 #. type: SS
2666 #: build/C/man3/fopen.3:256
2667 #, no-wrap
2668 msgid "Glibc Notes"
2669 msgstr "glibc での注意"
2670
2671 #. type: Plain text
2672 #: build/C/man3/fopen.3:259
2673 msgid ""
2674 "The GNU C library allows the following extensions for the string specified "
2675 "in I<mode>:"
2676 msgstr ""
2677 "GNU C ライブラリでは、 I<mode> に指定できる文字列として、以下の拡張が行われて"
2678 "いる:"
2679
2680 #. type: TP
2681 #: build/C/man3/fopen.3:259
2682 #, no-wrap
2683 msgid "B<c> (since glibc 2.3.3)"
2684 msgstr "B<c> (glibc 2.3.3 以降)"
2685
2686 #. type: Plain text
2687 #: build/C/man3/fopen.3:264
2688 msgid ""
2689 "Do not make the open operation, or subsequent read and write operations, "
2690 "thread cancellation points."
2691 msgstr ""
2692 "open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント "
2693 "(cancellation points)  を作成しない。"
2694
2695 #. type: TP
2696 #: build/C/man3/fopen.3:264
2697 #, no-wrap
2698 msgid "B<e> (since glibc 2.7)"
2699 msgstr "B<e> (glibc 2.7 以降)"
2700
2701 #. type: Plain text
2702 #: build/C/man3/fopen.3:272
2703 msgid ""
2704 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
2705 "information."
2706 msgstr ""
2707 "B<O_CLOEXEC> フラグを有効にしてファイルをオープンする。 詳細は B<open>(2)  を"
2708 "参照。"
2709
2710 #. type: TP
2711 #: build/C/man3/fopen.3:272
2712 #, no-wrap
2713 msgid "B<m> (since glibc 2.3)"
2714 msgstr "B<m> (glibc 2.3 以降)"
2715
2716 #.  As at glibc 2.4:
2717 #. type: Plain text
2718 #: build/C/man3/fopen.3:284
2719 msgid ""
2720 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
2721 "(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is only attempted "
2722 "for a file opened for reading."
2723 msgstr ""
2724 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
2725 "ファイルにアクセスしようとする。 B<mmap>(2)  を使おうとするのは、読み出し用に"
2726 "オープンするファイルについてだけである。"
2727
2728 #. type: TP
2729 #: build/C/man3/fopen.3:284 build/C/man3/scanf.3:418
2730 #, no-wrap
2731 msgid "B<x>"
2732 msgstr "B<x>"
2733
2734 #.  Since glibc 2.0?
2735 #.  FIXME document /,ccs= charset/
2736 #. type: Plain text
2737 #: build/C/man3/fopen.3:301
2738 msgid ""
2739 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
2740 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
2741 "This flag is ignored for B<fdopen>()."
2742 msgstr ""
2743 "ファイルを排他的にオープンする (B<open>(2)  の B<O_EXCL> フラグと同様)。 ファ"
2744 "イルがすでに存在する場合、 B<fopen>()  は失敗し、 I<errno> に B<EEXIST> が"
2745 "セットされる。 このフラグは B<fdopen>()  では無視される。"
2746
2747 #. type: Plain text
2748 #: build/C/man3/fopen.3:307
2749 msgid ""
2750 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2751 msgstr ""
2752 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
2753
2754 #. type: TH
2755 #: build/C/man3/fopencookie.3:24
2756 #, no-wrap
2757 msgid "FOPENCOOKIE"
2758 msgstr "FOPENCOOKIE"
2759
2760 #. type: TH
2761 #: build/C/man3/fopencookie.3:24
2762 #, no-wrap
2763 msgid "2008-12-05"
2764 msgstr "2008-12-05"
2765
2766 #. type: TH
2767 #: build/C/man3/fopencookie.3:24 build/C/man2/link.2:31
2768 #: build/C/man2/llseek.2:26 build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23
2769 #: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
2770 #: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man2/rename.2:32
2771 #: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9
2772 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
2773 #: build/C/man2/unlink.2:32 build/C/man2/write.2:39
2774 #, no-wrap
2775 msgid "Linux"
2776 msgstr "Linux"
2777
2778 #. type: Plain text
2779 #: build/C/man3/fopencookie.3:27
2780 msgid "fopencookie - opening a custom stream"
2781 msgstr "fopencookie - opening a custom stream"
2782
2783 #. type: Plain text
2784 #: build/C/man3/fopencookie.3:34
2785 #, no-wrap
2786 msgid ""
2787 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2788 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2789 msgstr ""
2790 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
2791 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
2792
2793 #. type: Plain text
2794 #: build/C/man3/fopencookie.3:47
2795 msgid ""
2796 "The B<fopencookie>()  function allows the programmer to create a custom "
2797 "implementation for a standard I/O stream.  This implementation can store the "
2798 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2799 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2800 "to data that is stored in a buffer in memory."
2801 msgstr ""
2802 "The B<fopencookie>()  function allows the programmer to create a custom "
2803 "implementation for a standard I/O stream.  This implementation can store the "
2804 "stream's data at a location of its own choosing; for example, B<fopencookie>"
2805 "()  is used to implement B<fmemopen>(3), which provides a stream interface "
2806 "to data that is stored in a buffer in memory."
2807
2808 #. type: Plain text
2809 #: build/C/man3/fopencookie.3:49
2810 msgid "In order to create a custom stream the programmer must:"
2811 msgstr "In order to create a custom stream the programmer must:"
2812
2813 #. type: IP
2814 #: build/C/man3/fopencookie.3:49 build/C/man3/fopencookie.3:52
2815 #: build/C/man3/fopencookie.3:63 build/C/man3/scanf.3:669
2816 #: build/C/man3/scanf.3:674 build/C/man3/scanf.3:680
2817 #: build/C/man7/symlink.7:248 build/C/man7/symlink.7:258
2818 #: build/C/man7/symlink.7:288 build/C/man7/symlink.7:348
2819 #: build/C/man7/symlink.7:377 build/C/man7/symlink.7:406
2820 #: build/C/man7/symlink.7:437 build/C/man7/symlink.7:450
2821 #, no-wrap
2822 msgid "*"
2823 msgstr "*"
2824
2825 #. type: Plain text
2826 #: build/C/man3/fopencookie.3:52
2827 msgid ""
2828 "Implement four \"hook\" functions that are used internally by the standard I/"
2829 "O library when performing I/O on the stream."
2830 msgstr ""
2831 "Implement four \"hook\" functions that are used internally by the standard I/"
2832 "O library when performing I/O on the stream."
2833
2834 #. type: Plain text
2835 #: build/C/man3/fopencookie.3:63
2836 msgid ""
2837 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2838 "information (e.g., where to store data) used by the aforementioned hook "
2839 "functions.  The standard I/O package knows nothing about the contents of "
2840 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2841 "()), but automatically supplies the cookie as the first argument when "
2842 "calling the hook functions."
2843 msgstr ""
2844 "Define a \"cookie\" data type, a structure that provides bookkeeping "
2845 "information (e.g., where to store data) used by the aforementioned hook "
2846 "functions.  The standard I/O package knows nothing about the contents of "
2847 "this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
2848 "()), but automatically supplies the cookie as the first argument when "
2849 "calling the hook functions."
2850
2851 #. type: Plain text
2852 #: build/C/man3/fopencookie.3:68
2853 msgid ""
2854 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2855 "hook functions with that stream."
2856 msgstr ""
2857 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
2858 "hook functions with that stream."
2859
2860 #. type: Plain text
2861 #: build/C/man3/fopencookie.3:76
2862 msgid ""
2863 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2864 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2865 "operate on that stream."
2866 msgstr ""
2867 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
2868 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
2869 "operate on that stream."
2870
2871 #. type: Plain text
2872 #: build/C/man3/fopencookie.3:83
2873 msgid ""
2874 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2875 "to be associated with the new stream.  This pointer is supplied as the first "
2876 "argument when the standard I/O library invokes any of the hook functions "
2877 "described below."
2878 msgstr ""
2879 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
2880 "to be associated with the new stream.  This pointer is supplied as the first "
2881 "argument when the standard I/O library invokes any of the hook functions "
2882 "described below."
2883
2884 #. type: Plain text
2885 #: build/C/man3/fopencookie.3:99
2886 msgid ""
2887 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2888 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2889 "See B<fopen>(3)  for details."
2890 msgstr ""
2891 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
2892 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
2893 "See B<fopen>(3)  for details."
2894
2895 #. type: Plain text
2896 #: build/C/man3/fopencookie.3:105
2897 msgid ""
2898 "The I<io_funcs> argument is a structure that contains four fields pointing "
2899 "to the programmer-defined hook functions that are used to implement this "
2900 "stream.  The structure is defined as follows"
2901 msgstr ""
2902 "The I<io_funcs> argument is a structure that contains four fields pointing "
2903 "to the programmer-defined hook functions that are used to implement this "
2904 "stream.  The structure is defined as follows"
2905
2906 #. type: Plain text
2907 #: build/C/man3/fopencookie.3:114
2908 #, no-wrap
2909 msgid ""
2910 "struct cookie_io_functions_t {\n"
2911 "    cookie_read_function_t  *read;\n"
2912 "    cookie_write_function_t *write;\n"
2913 "    cookie_seek_function_t  *seek;\n"
2914 "    cookie_close_function_t *close;\n"
2915 "};\n"
2916 msgstr ""
2917 "struct cookie_io_functions_t {\n"
2918 "    cookie_read_function_t  *read;\n"
2919 "    cookie_write_function_t *write;\n"
2920 "    cookie_seek_function_t  *seek;\n"
2921 "    cookie_close_function_t *close;\n"
2922 "};\n"
2923
2924 #. type: Plain text
2925 #: build/C/man3/fopencookie.3:118
2926 msgid "The four fields are as follows:"
2927 msgstr "The four fields are as follows:"
2928
2929 #. type: TP
2930 #: build/C/man3/fopencookie.3:118
2931 #, no-wrap
2932 msgid "I<cookie_read_function_t *read>"
2933 msgstr "I<cookie_read_function_t *read>"
2934
2935 #. type: Plain text
2936 #: build/C/man3/fopencookie.3:122
2937 msgid ""
2938 "This function implements read operations for the stream.  When called, it "
2939 "receives three arguments:"
2940 msgstr ""
2941 "This function implements read operations for the stream.  When called, it "
2942 "receives three arguments:"
2943
2944 #. type: Plain text
2945 #: build/C/man3/fopencookie.3:124
2946 #, no-wrap
2947 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
2948 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
2949
2950 #. type: Plain text
2951 #: build/C/man3/fopencookie.3:139
2952 msgid ""
2953 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
2954 "input data can be placed and the size of that buffer.  As its function "
2955 "result, the I<read> function should return the number of bytes copied into "
2956 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
2957 "update the stream offset appropriately."
2958 msgstr ""
2959 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
2960 "input data can be placed and the size of that buffer.  As its function "
2961 "result, the I<read> function should return the number of bytes copied into "
2962 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
2963 "update the stream offset appropriately."
2964
2965 #. type: Plain text
2966 #: build/C/man3/fopencookie.3:144
2967 msgid ""
2968 "If I<*read> is a NULL pointer, then reads from the custom stream always "
2969 "return end of file."
2970 msgstr ""
2971 "If I<*read> is a NULL pointer, then reads from the custom stream always "
2972 "return end of file."
2973
2974 #. type: TP
2975 #: build/C/man3/fopencookie.3:144
2976 #, no-wrap
2977 msgid "I<cookie_write_function_t *write>"
2978 msgstr "I<cookie_write_function_t *write>"
2979
2980 #. type: Plain text
2981 #: build/C/man3/fopencookie.3:148
2982 msgid ""
2983 "This function implements write operations for the stream.  When called, it "
2984 "receives three arguments:"
2985 msgstr ""
2986 "This function implements write operations for the stream.  When called, it "
2987 "receives three arguments:"
2988
2989 #. type: Plain text
2990 #: build/C/man3/fopencookie.3:150
2991 #, no-wrap
2992 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
2993 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
2994
2995 #. type: Plain text
2996 #: build/C/man3/fopencookie.3:165
2997 msgid ""
2998 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
2999 "output to the stream and the size of that buffer.  As its function result, "
3000 "the I<write> function should return the number of bytes copied from I<buf>, "
3001 "or -1 on error.  The I<write> function should update the stream offset "
3002 "appropriately."
3003 msgstr ""
3004 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
3005 "output to the stream and the size of that buffer.  As its function result, "
3006 "the I<write> function should return the number of bytes copied from I<buf>, "
3007 "or -1 on error.  The I<write> function should update the stream offset "
3008 "appropriately."
3009
3010 #. type: Plain text
3011 #: build/C/man3/fopencookie.3:170
3012 msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
3013 msgstr ""
3014 "If I<*write> is a NULL pointer, then output to the stream is discarded."
3015
3016 #. type: TP
3017 #: build/C/man3/fopencookie.3:170
3018 #, no-wrap
3019 msgid "I<cookie_seek_function_t *seek>"
3020 msgstr "I<cookie_seek_function_t *seek>"
3021
3022 #. type: Plain text
3023 #: build/C/man3/fopencookie.3:174
3024 msgid ""
3025 "This function implements seek operations on the stream.  When called, it "
3026 "receives three arguments:"
3027 msgstr ""
3028 "This function implements seek operations on the stream.  When called, it "
3029 "receives three arguments:"
3030
3031 #. type: Plain text
3032 #: build/C/man3/fopencookie.3:176
3033 #, no-wrap
3034 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
3035 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
3036
3037 #. type: Plain text
3038 #: build/C/man3/fopencookie.3:182
3039 msgid ""
3040 "The I<*offset> argument specifies the new file offset depending on which of "
3041 "the following three values is supplied in I<whence>:"
3042 msgstr ""
3043 "The I<*offset> argument specifies the new file offset depending on which of "
3044 "the following three values is supplied in I<whence>:"
3045
3046 #. type: TP
3047 #: build/C/man3/fopencookie.3:183 build/C/man2/lseek.2:65
3048 #, no-wrap
3049 msgid "B<SEEK_SET>"
3050 msgstr "B<SEEK_SET>"
3051
3052 #. type: Plain text
3053 #: build/C/man3/fopencookie.3:188
3054 msgid ""
3055 "The stream offset should be set I<*offset> bytes from the start of the "
3056 "stream."
3057 msgstr ""
3058 "The stream offset should be set I<*offset> bytes from the start of the "
3059 "stream."
3060
3061 #. type: TP
3062 #: build/C/man3/fopencookie.3:188 build/C/man2/lseek.2:70
3063 #, no-wrap
3064 msgid "B<SEEK_CUR>"
3065 msgstr "B<SEEK_CUR>"
3066
3067 #. type: Plain text
3068 #: build/C/man3/fopencookie.3:192
3069 msgid "I<*offset> should be added to the current stream offset."
3070 msgstr "I<*offset> should be added to the current stream offset."
3071
3072 #. type: TP
3073 #: build/C/man3/fopencookie.3:192 build/C/man2/lseek.2:75
3074 #, no-wrap
3075 msgid "B<SEEK_END>"
3076 msgstr "B<SEEK_END>"
3077
3078 #. type: Plain text
3079 #: build/C/man3/fopencookie.3:196
3080 msgid ""
3081 "The stream offset should be set to the size of the stream plus I<*offset>."
3082 msgstr ""
3083 "The stream offset should be set to the size of the stream plus I<*offset>."
3084
3085 #. type: Plain text
3086 #: build/C/man3/fopencookie.3:203
3087 msgid ""
3088 "Before returning, the I<seek> function should update I<*offset> to indicate "
3089 "the new stream offset."
3090 msgstr ""
3091 "Before returning, the I<seek> function should update I<*offset> to indicate "
3092 "the new stream offset."
3093
3094 #. type: Plain text
3095 #: build/C/man3/fopencookie.3:207
3096 msgid ""
3097 "As its function result, the I<seek> function should return 0 on success, and "
3098 "-1 on error."
3099 msgstr ""
3100 "As its function result, the I<seek> function should return 0 on success, and "
3101 "-1 on error."
3102
3103 #. type: Plain text
3104 #: build/C/man3/fopencookie.3:212
3105 msgid ""
3106 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3107 "operations on the stream."
3108 msgstr ""
3109 "If I<*seek> is a NULL pointer, then it is not possible to perform seek "
3110 "operations on the stream."
3111
3112 #. type: TP
3113 #: build/C/man3/fopencookie.3:212
3114 #, no-wrap
3115 msgid "I<cookie_close_function_t *close>"
3116 msgstr "I<cookie_close_function_t *close>"
3117
3118 #. type: Plain text
3119 #: build/C/man3/fopencookie.3:218
3120 msgid ""
3121 "This function closes the stream.  The hook function can do things such as "
3122 "freeing buffers allocated for the stream.  When called, it receives one "
3123 "argument:"
3124 msgstr ""
3125 "This function closes the stream.  The hook function can do things such as "
3126 "freeing buffers allocated for the stream.  When called, it receives one "
3127 "argument:"
3128
3129 #. type: Plain text
3130 #: build/C/man3/fopencookie.3:220
3131 #, no-wrap
3132 msgid "    int close(void *cookie);\n"
3133 msgstr "    int close(void *cookie);\n"
3134
3135 #. type: Plain text
3136 #: build/C/man3/fopencookie.3:225
3137 msgid ""
3138 "The I<cookie> argument is the cookie that the programmer supplied when "
3139 "calling B<fopencookie>()."
3140 msgstr ""
3141 "The I<cookie> argument is the cookie that the programmer supplied when "
3142 "calling B<fopencookie>()."
3143
3144 #. type: Plain text
3145 #: build/C/man3/fopencookie.3:231
3146 msgid ""
3147 "As its function result, the I<close> function should return 0 on success, "
3148 "and B<EOF> on error."
3149 msgstr ""
3150 "As its function result, the I<close> function should return 0 on success, "
3151 "and B<EOF> on error."
3152
3153 #. type: Plain text
3154 #: build/C/man3/fopencookie.3:235
3155 msgid ""
3156 "If I<*close> is NULL, then no special action is performed when the stream is "
3157 "closed."
3158 msgstr ""
3159 "If I<*close> is NULL, then no special action is performed when the stream is "
3160 "closed."
3161
3162 #.  .SH ERRORS
3163 #.  It's not clear if errno ever gets set...
3164 #. type: Plain text
3165 #: build/C/man3/fopencookie.3:242
3166 msgid ""
3167 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3168 "NULL is returned."
3169 msgstr ""
3170 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
3171 "NULL is returned."
3172
3173 #. type: Plain text
3174 #: build/C/man3/fopencookie.3:244
3175 msgid "This function is a nonstandard GNU extension."
3176 msgstr "This function is a nonstandard GNU extension."
3177
3178 #. type: Plain text
3179 #: build/C/man3/fopencookie.3:253
3180 msgid ""
3181 "The program below implements a custom stream whose functionality is similar "
3182 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3183 "stream whose data is stored in a memory buffer.  The program writes its "
3184 "command-line arguments to the stream, and then seeks through the stream "
3185 "reading two out of every five characters and writing them to standard "
3186 "output.  The following shell session demonstrates the use of the program:"
3187 msgstr ""
3188 "The program below implements a custom stream whose functionality is similar "
3189 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
3190 "stream whose data is stored in a memory buffer.  The program writes its "
3191 "command-line arguments to the stream, and then seeks through the stream "
3192 "reading two out of every five characters and writing them to standard "
3193 "output.  The following shell session demonstrates the use of the program:"
3194
3195 #. type: Plain text
3196 #: build/C/man3/fopencookie.3:261
3197 #, no-wrap
3198 msgid ""
3199 "$B< ./a.out \\(aqhello world\\(aq>\n"
3200 "/he/\n"
3201 "/ w/\n"
3202 "/d/\n"
3203 "Reached end of file\n"
3204 msgstr ""
3205 "$B< ./a.out \\(aqhello world\\(aq>\n"
3206 "/he/\n"
3207 "/ w/\n"
3208 "/d/\n"
3209 "Reached end of file\n"
3210
3211 #. type: Plain text
3212 #: build/C/man3/fopencookie.3:268
3213 msgid ""
3214 "Note that a more general version of the program below could be improved to "
3215 "more robustly handle various error situations (e.g., opening a stream with a "
3216 "cookie that already has an open stream; closing a stream that has already "
3217 "been closed)."
3218 msgstr ""
3219 "Note that a more general version of the program below could be improved to "
3220 "more robustly handle various error situations (e.g., opening a stream with a "
3221 "cookie that already has an open stream; closing a stream that has already "
3222 "been closed)."
3223
3224 #. type: Plain text
3225 #: build/C/man3/fopencookie.3:277
3226 #, no-wrap
3227 msgid ""
3228 "#define _GNU_SOURCE\n"
3229 "#include E<lt>sys/types.hE<gt>\n"
3230 "#include E<lt>stdio.hE<gt>\n"
3231 "#include E<lt>stdlib.hE<gt>\n"
3232 "#include E<lt>unistd.hE<gt>\n"
3233 "#include E<lt>string.hE<gt>\n"
3234 msgstr ""
3235 "#define _GNU_SOURCE\n"
3236 "#include E<lt>sys/types.hE<gt>\n"
3237 "#include E<lt>stdio.hE<gt>\n"
3238 "#include E<lt>stdlib.hE<gt>\n"
3239 "#include E<lt>unistd.hE<gt>\n"
3240 "#include E<lt>string.hE<gt>\n"
3241
3242 #. type: Plain text
3243 #: build/C/man3/fopencookie.3:279
3244 #, no-wrap
3245 msgid "#define INIT_BUF_SIZE 4\n"
3246 msgstr "#define INIT_BUF_SIZE 4\n"
3247
3248 #. type: Plain text
3249 #: build/C/man3/fopencookie.3:286
3250 #, no-wrap
3251 msgid ""
3252 "struct memfile_cookie {\n"
3253 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3254 "    size_t  allocated;  /* Size of buf */\n"
3255 "    size_t  endpos;     /* Number of characters in buf */\n"
3256 "    off_t   offset;     /* Current file offset in buf */\n"
3257 "};\n"
3258 msgstr ""
3259 "struct memfile_cookie {\n"
3260 "    char   *buf;        /* Dynamically sized buffer for data */\n"
3261 "    size_t  allocated;  /* Size of buf */\n"
3262 "    size_t  endpos;     /* Number of characters in buf */\n"
3263 "    off_t   offset;     /* Current file offset in buf */\n"
3264 "};\n"
3265
3266 #. type: Plain text
3267 #: build/C/man3/fopencookie.3:292
3268 #, no-wrap
3269 msgid ""
3270 "ssize_t\n"
3271 "memfile_write(void *c, const char *buf, size_t size)\n"
3272 "{\n"
3273 "    char *new_buff;\n"
3274 "    struct memfile_cookie *cookie = c;\n"
3275 msgstr ""
3276 "ssize_t\n"
3277 "memfile_write(void *c, const char *buf, size_t size)\n"
3278 "{\n"
3279 "    char *new_buff;\n"
3280 "    struct memfile_cookie *cookie = c;\n"
3281
3282 #. type: Plain text
3283 #: build/C/man3/fopencookie.3:294
3284 #, no-wrap
3285 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
3286 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
3287
3288 #. type: Plain text
3289 #: build/C/man3/fopencookie.3:304
3290 #, no-wrap
3291 msgid ""
3292 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3293 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3294 "        if (new_buff == NULL) {\n"
3295 "            return -1;\n"
3296 "        } else {\n"
3297 "            cookie-E<gt>allocated *= 2;\n"
3298 "            cookie-E<gt>buf = new_buff;\n"
3299 "        }\n"
3300 "    }\n"
3301 msgstr ""
3302 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
3303 "        new_buff = realloc(cookie-E<gt>buf, cookie-E<gt>allocated * 2);\n"
3304 "        if (new_buff == NULL) {\n"
3305 "            return -1;\n"
3306 "        } else {\n"
3307 "            cookie-E<gt>allocated *= 2;\n"
3308 "            cookie-E<gt>buf = new_buff;\n"
3309 "        }\n"
3310 "    }\n"
3311
3312 #. type: Plain text
3313 #: build/C/man3/fopencookie.3:306
3314 #, no-wrap
3315 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3316 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
3317
3318 #. type: Plain text
3319 #: build/C/man3/fopencookie.3:310
3320 #, no-wrap
3321 msgid ""
3322 "    cookie-E<gt>offset += size;\n"
3323 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3324 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3325 msgstr ""
3326 "    cookie-E<gt>offset += size;\n"
3327 "    if (cookie-E<gt>offset E<gt> cookie-E<gt>endpos)\n"
3328 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
3329
3330 #. type: Plain text
3331 #: build/C/man3/fopencookie.3:313
3332 #, no-wrap
3333 msgid ""
3334 "    return size;\n"
3335 "}\n"
3336 msgstr ""
3337 "    return size;\n"
3338 "}\n"
3339
3340 #. type: Plain text
3341 #: build/C/man3/fopencookie.3:319
3342 #, no-wrap
3343 msgid ""
3344 "ssize_t\n"
3345 "memfile_read(void *c, char *buf, size_t size)\n"
3346 "{\n"
3347 "    ssize_t xbytes;\n"
3348 "    struct memfile_cookie *cookie = c;\n"
3349 msgstr ""
3350 "ssize_t\n"
3351 "memfile_read(void *c, char *buf, size_t size)\n"
3352 "{\n"
3353 "    ssize_t xbytes;\n"
3354 "    struct memfile_cookie *cookie = c;\n"
3355
3356 #. type: Plain text
3357 #: build/C/man3/fopencookie.3:321
3358 #, no-wrap
3359 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
3360 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
3361
3362 #. type: Plain text
3363 #: build/C/man3/fopencookie.3:327
3364 #, no-wrap
3365 msgid ""
3366 "    xbytes = size;\n"
3367 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3368 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3369 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3370 "       xbytes = 0;\n"
3371 msgstr ""
3372 "    xbytes = size;\n"
3373 "    if (cookie-E<gt>offset + size E<gt> cookie-E<gt>endpos)\n"
3374 "        xbytes = cookie-E<gt>endpos - cookie-E<gt>offset;\n"
3375 "    if (xbytes E<lt> 0)     /* offset may be past endpos */\n"
3376 "       xbytes = 0;\n"
3377
3378 #. type: Plain text
3379 #: build/C/man3/fopencookie.3:329
3380 #, no-wrap
3381 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3382 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
3383
3384 #. type: Plain text
3385 #: build/C/man3/fopencookie.3:333
3386 #, no-wrap
3387 msgid ""
3388 "    cookie-E<gt>offset += xbytes;\n"
3389 "    return xbytes;\n"
3390 "}\n"
3391 msgstr ""
3392 "    cookie-E<gt>offset += xbytes;\n"
3393 "    return xbytes;\n"
3394 "}\n"
3395
3396 #. type: Plain text
3397 #: build/C/man3/fopencookie.3:339
3398 #, no-wrap
3399 msgid ""
3400 "int\n"
3401 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3402 "{\n"
3403 "    off64_t new_offset;\n"
3404 "    struct memfile_cookie *cookie = c;\n"
3405 msgstr ""
3406 "int\n"
3407 "memfile_seek(void *c, off64_t *offset, int whence)\n"
3408 "{\n"
3409 "    off64_t new_offset;\n"
3410 "    struct memfile_cookie *cookie = c;\n"
3411
3412 #. type: Plain text
3413 #: build/C/man3/fopencookie.3:348
3414 #, no-wrap
3415 msgid ""
3416 "    if (whence == SEEK_SET)\n"
3417 "        new_offset = *offset;\n"
3418 "    else if (whence == SEEK_END)\n"
3419 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3420 "    else if (whence == SEEK_CUR)\n"
3421 "        new_offset = cookie-E<gt>offset + *offset;\n"
3422 "    else\n"
3423 "        return -1;\n"
3424 msgstr ""
3425 "    if (whence == SEEK_SET)\n"
3426 "        new_offset = *offset;\n"
3427 "    else if (whence == SEEK_END)\n"
3428 "        new_offset = cookie-E<gt>endpos + *offset;\n"
3429 "    else if (whence == SEEK_CUR)\n"
3430 "        new_offset = cookie-E<gt>offset + *offset;\n"
3431 "    else\n"
3432 "        return -1;\n"
3433
3434 #. type: Plain text
3435 #: build/C/man3/fopencookie.3:351
3436 #, no-wrap
3437 msgid ""
3438 "    if (new_offset E<lt> 0)\n"
3439 "        return -1;\n"
3440 msgstr ""
3441 "    if (new_offset E<lt> 0)\n"
3442 "        return -1;\n"
3443
3444 #. type: Plain text
3445 #: build/C/man3/fopencookie.3:356
3446 #, no-wrap
3447 msgid ""
3448 "    cookie-E<gt>offset = new_offset;\n"
3449 "    *offset = new_offset;\n"
3450 "    return 0;\n"
3451 "}\n"
3452 msgstr ""
3453 "    cookie-E<gt>offset = new_offset;\n"
3454 "    *offset = new_offset;\n"
3455 "    return 0;\n"
3456 "}\n"
3457
3458 #. type: Plain text
3459 #: build/C/man3/fopencookie.3:361
3460 #, no-wrap
3461 msgid ""
3462 "int\n"
3463 "memfile_close(void *c)\n"
3464 "{\n"
3465 "    struct memfile_cookie *cookie = c;\n"
3466 msgstr ""
3467 "int\n"
3468 "memfile_close(void *c)\n"
3469 "{\n"
3470 "    struct memfile_cookie *cookie = c;\n"
3471
3472 #. type: Plain text
3473 #: build/C/man3/fopencookie.3:365
3474 #, no-wrap
3475 msgid ""
3476 "    free(cookie-E<gt>buf);\n"
3477 "    cookie-E<gt>allocated = 0;\n"
3478 "    cookie-E<gt>buf = NULL;\n"
3479 msgstr ""
3480 "    free(cookie-E<gt>buf);\n"
3481 "    cookie-E<gt>allocated = 0;\n"
3482 "    cookie-E<gt>buf = NULL;\n"
3483
3484 #. type: Plain text
3485 #: build/C/man3/fopencookie.3:368
3486 #, no-wrap
3487 msgid ""
3488 "    return 0;\n"
3489 "}\n"
3490 msgstr ""
3491 "    return 0;\n"
3492 "}\n"
3493
3494 #. type: Plain text
3495 #: build/C/man3/fopencookie.3:384
3496 #, no-wrap
3497 msgid ""
3498 "int\n"
3499 "main(int argc, char *argv[])\n"
3500 "{\n"
3501 "    cookie_io_functions_t  memfile_func = {\n"
3502 "        .read  = memfile_read,\n"
3503 "        .write = memfile_write,\n"
3504 "        .seek  = memfile_seek,\n"
3505 "        .close = memfile_close\n"
3506 "    };\n"
3507 "    FILE *fp;\n"
3508 "    struct memfile_cookie mycookie;\n"
3509 "    ssize_t nread;\n"
3510 "    long p;\n"
3511 "    int j;\n"
3512 "    char buf[1000];\n"
3513 msgstr ""
3514 "int\n"
3515 "main(int argc, char *argv[])\n"
3516 "{\n"
3517 "    cookie_io_functions_t  memfile_func = {\n"
3518 "        .read  = memfile_read,\n"
3519 "        .write = memfile_write,\n"
3520 "        .seek  = memfile_seek,\n"
3521 "        .close = memfile_close\n"
3522 "    };\n"
3523 "    FILE *fp;\n"
3524 "    struct memfile_cookie mycookie;\n"
3525 "    ssize_t nread;\n"
3526 "    long p;\n"
3527 "    int j;\n"
3528 "    char buf[1000];\n"
3529
3530 #. type: Plain text
3531 #: build/C/man3/fopencookie.3:386
3532 #, no-wrap
3533 msgid "    /* Set up the cookie before calling fopencookie() */\n"
3534 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
3535
3536 #. type: Plain text
3537 #: build/C/man3/fopencookie.3:392
3538 #, no-wrap
3539 msgid ""
3540 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3541 "    if (mycookie.buf == NULL) {\n"
3542 "        perror(\"malloc\");\n"
3543 "        exit(EXIT_FAILURE);\n"
3544 "    }\n"
3545 msgstr ""
3546 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
3547 "    if (mycookie.buf == NULL) {\n"
3548 "        perror(\"malloc\");\n"
3549 "        exit(EXIT_FAILURE);\n"
3550 "    }\n"
3551
3552 #. type: Plain text
3553 #: build/C/man3/fopencookie.3:396
3554 #, no-wrap
3555 msgid ""
3556 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3557 "    mycookie.offset = 0;\n"
3558 "    mycookie.endpos = 0;\n"
3559 msgstr ""
3560 "    mycookie.allocated = INIT_BUF_SIZE;\n"
3561 "    mycookie.offset = 0;\n"
3562 "    mycookie.endpos = 0;\n"
3563
3564 #. type: Plain text
3565 #: build/C/man3/fopencookie.3:402
3566 #, no-wrap
3567 msgid ""
3568 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3569 "    if (fp == NULL) {\n"
3570 "        perror(\"fopencookie\");\n"
3571 "        exit(EXIT_FAILURE);\n"
3572 "    }\n"
3573 msgstr ""
3574 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
3575 "    if (fp == NULL) {\n"
3576 "        perror(\"fopencookie\");\n"
3577 "        exit(EXIT_FAILURE);\n"
3578 "    }\n"
3579
3580 #. type: Plain text
3581 #: build/C/man3/fopencookie.3:404
3582 #, no-wrap
3583 msgid "    /* Write command-line arguments to our file */\n"
3584 msgstr "    /* Write command-line arguments to our file */\n"
3585
3586 #. type: Plain text
3587 #: build/C/man3/fopencookie.3:410
3588 #, no-wrap
3589 msgid ""
3590 "    for (j = 1; j E<lt> argc; j++)\n"
3591 "        if (fputs(argv[j], fp) == EOF) {\n"
3592 "            perror(\"fputs\");\n"
3593 "            exit(EXIT_FAILURE);\n"
3594 "        }\n"
3595 msgstr ""
3596 "    for (j = 1; j E<lt> argc; j++)\n"
3597 "        if (fputs(argv[j], fp) == EOF) {\n"
3598 "            perror(\"fputs\");\n"
3599 "            exit(EXIT_FAILURE);\n"
3600 "        }\n"
3601
3602 #. type: Plain text
3603 #: build/C/man3/fopencookie.3:412
3604 #, no-wrap
3605 msgid "    /* Read two bytes out of every five, until EOF */\n"
3606 msgstr "    /* Read two bytes out of every five, until EOF */\n"
3607
3608 #. type: Plain text
3609 #: build/C/man3/fopencookie.3:427
3610 #, no-wrap
3611 msgid ""
3612 "    for (p = 0; ; p += 5) {\n"
3613 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3614 "            perror(\"fseek\");\n"
3615 "            exit(EXIT_FAILURE);\n"
3616 "        }\n"
3617 "        nread = fread(buf, 1, 2, fp);\n"
3618 "        if (nread == -1) {\n"
3619 "            perror(\"fread\");\n"
3620 "            exit(EXIT_FAILURE);\n"
3621 "        }\n"
3622 "        if (nread == 0) {\n"
3623 "            printf(\"Reached end of file\\en\");\n"
3624 "            break;\n"
3625 "        }\n"
3626 msgstr ""
3627 "    for (p = 0; ; p += 5) {\n"
3628 "        if (fseek(fp, p, SEEK_SET) == -1) {\n"
3629 "            perror(\"fseek\");\n"
3630 "            exit(EXIT_FAILURE);\n"
3631 "        }\n"
3632 "        nread = fread(buf, 1, 2, fp);\n"
3633 "        if (nread == -1) {\n"
3634 "            perror(\"fread\");\n"
3635 "            exit(EXIT_FAILURE);\n"
3636 "        }\n"
3637 "        if (nread == 0) {\n"
3638 "            printf(\"Reached end of file\\en\");\n"
3639 "            break;\n"
3640 "        }\n"
3641
3642 #. type: Plain text
3643 #: build/C/man3/fopencookie.3:430
3644 #, no-wrap
3645 msgid ""
3646 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3647 "    }\n"
3648 msgstr ""
3649 "        printf(\"/%.*s/\\en\", nread, buf);\n"
3650 "    }\n"
3651
3652 #. type: Plain text
3653 #: build/C/man3/fopencookie.3:433 build/C/man2/readlink.2:211
3654 #, no-wrap
3655 msgid ""
3656 "    exit(EXIT_SUCCESS);\n"
3657 "}\n"
3658 msgstr ""
3659 "    exit(EXIT_SUCCESS);\n"
3660 "}\n"
3661
3662 #. type: Plain text
3663 #: build/C/man3/fopencookie.3:439
3664 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3665 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
3666
3667 #. type: TH
3668 #: build/C/man3/fpurge.3:23
3669 #, no-wrap
3670 msgid "FPURGE"
3671 msgstr "FPURGE"
3672
3673 #. type: TH
3674 #: build/C/man3/fpurge.3:23
3675 #, no-wrap
3676 msgid "2001-12-15"
3677 msgstr "2001-12-15"
3678
3679 #. type: Plain text
3680 #: build/C/man3/fpurge.3:26
3681 msgid "fpurge, __fpurge - purge a stream"
3682 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
3683
3684 #. type: Plain text
3685 #: build/C/man3/fpurge.3:30
3686 #, no-wrap
3687 msgid ""
3688 "/* unsupported */\n"
3689 "B<#include E<lt>stdio.hE<gt>>\n"
3690 msgstr ""
3691 "/* unsupported */\n"
3692 "B<#include E<lt>stdio.hE<gt>>\n"
3693
3694 #. type: Plain text
3695 #: build/C/man3/fpurge.3:32
3696 #, no-wrap
3697 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
3698 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
3699
3700 #. type: Plain text
3701 #: build/C/man3/fpurge.3:35
3702 #, no-wrap
3703 msgid ""
3704 "/* supported */\n"
3705 "B<#include E<lt>stdio.hE<gt>>\n"
3706 msgstr ""
3707 "/* supported */\n"
3708 "B<#include E<lt>stdio.hE<gt>>\n"
3709
3710 #. type: Plain text
3711 #: build/C/man3/fpurge.3:37
3712 #, no-wrap
3713 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
3714 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
3715
3716 #. type: Plain text
3717 #: build/C/man3/fpurge.3:39
3718 #, no-wrap
3719 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3720 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
3721
3722 #. type: Plain text
3723 #: build/C/man3/fpurge.3:52
3724 msgid ""
3725 "The function B<fpurge>()  clears the buffers of the given stream.  For "
3726 "output streams this discards any unwritten output.  For input streams this "
3727 "discards any input read from the underlying object but not yet obtained via "
3728 "B<getc>(3); this includes any text pushed back via B<ungetc>(3).  See also "
3729 "B<fflush>(3)."
3730 msgstr ""
3731 "B<fpurge>()  関数は、与えられたストリームのバッファをクリアする。 出力スト"
3732 "リームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこ"
3733 "れを行うと、 下層にあるオブジェクトから読み込まれ B<getc>(3)  による取得を"
3734 "待っている入力が、すべて捨てられる。 これには B<ungetc>(3)  によって戻された"
3735 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
3736
3737 #. type: Plain text
3738 #: build/C/man3/fpurge.3:56
3739 msgid ""
3740 "The function B<__fpurge>()  does precisely the same, but without returning a "
3741 "value."
3742 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
3743
3744 #. type: Plain text
3745 #: build/C/man3/fpurge.3:63
3746 msgid ""
3747 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
3748 "and sets I<errno> appropriately."
3749 msgstr ""
3750 "成功すると B<fpurge>()  は 0 を返す。 エラーが起こると -1 を返し、 I<errno> "
3751 "を適切な値に設定する。"
3752
3753 #. type: Plain text
3754 #: build/C/man3/fpurge.3:68
3755 msgid "I<stream> is not an open stream."
3756 msgstr "I<stream> がオープンされていない。"
3757
3758 #. type: Plain text
3759 #: build/C/man3/fpurge.3:76
3760 msgid ""
3761 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
3762 "was introduced in 4.4BSD and is not available under Linux.  The function "
3763 "B<__fpurge>()  was introduced in Solaris, and is present in glibc 2.1.95 and "
3764 "later."
3765 msgstr ""
3766 "これらの関数は標準ではなく、よって移植性もない。 B<fpurge>()  関数は 4.4BSD "
3767 "で導入されたが、Linux では利用できない。 B<__fpurge>()  関数は Solaris で導入"
3768 "され、glibc 2.1.95 以降には存在している。"
3769
3770 #. type: Plain text
3771 #: build/C/man3/fpurge.3:78
3772 msgid "Usually it is a mistake to want to discard input buffers."
3773 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
3774
3775 #.  .BR fclean (3),
3776 #. type: Plain text
3777 #: build/C/man3/fpurge.3:83
3778 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3779 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
3780
3781 #. type: TH
3782 #: build/C/man3/fputwc.3:14
3783 #, no-wrap
3784 msgid "FPUTWC"
3785 msgstr "FPUTWC"
3786
3787 #. type: Plain text
3788 #: build/C/man3/fputwc.3:17
3789 msgid "fputwc, putwc - write a wide character to a FILE stream"
3790 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
3791
3792 #. type: Plain text
3793 #: build/C/man3/fputwc.3:25
3794 #, no-wrap
3795 msgid ""
3796 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3797 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3798 msgstr ""
3799 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3800 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
3801
3802 #. type: Plain text
3803 #: build/C/man3/fputwc.3:41
3804 msgid ""
3805 "The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
3806 "(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
3807 "(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
3808 "error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
3809 "it returns I<wc>."
3810 msgstr ""
3811 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
3812 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
3813 "と、この関数は B<WEOF> を返す。 ワイド文字変換でエラーが発生した場合は、 "
3814 "I<errno> に B<EILSEQ> をセットし、 B<WEOF> を返す。 それ以外の場合では、この"
3815 "関数は I<wc> を返す。"
3816
3817 #. type: Plain text
3818 #: build/C/man3/fputwc.3:49
3819 msgid ""
3820 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
3821 "may be implemented as a macro, and may evaluate its argument more than "
3822 "once.  There is no reason ever to use it."
3823 msgstr ""
3824 "B<putwc>()  関数あるいはマクロは、 B<fputwc>()  と全く同じ動作をする。 この関"
3825 "数はマクロとして実装されるかもしれないので、引き数が複数回評価さ れるかもしれ"
3826 "ない。この関数を使う理由はもはや存在しない。"
3827
3828 #. type: Plain text
3829 #: build/C/man3/fputwc.3:58
3830 msgid ""
3831 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
3832 "indicate an error."
3833 msgstr ""
3834 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
3835 "B<WEOF> を返す。"
3836
3837 #. type: Plain text
3838 #: build/C/man3/fputwc.3:63
3839 msgid "Conversion of I<wc> to the stream's encoding fails."
3840 msgstr "I<wc> からストリームの符号への変換に失敗した。"
3841
3842 #. type: Plain text
3843 #: build/C/man3/fputwc.3:72
3844 msgid ""
3845 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
3846 "current locale."
3847 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
3848
3849 #. type: Plain text
3850 #: build/C/man3/fputwc.3:80
3851 msgid ""
3852 "In the absence of additional information passed to the B<fopen>(3)  call, it "
3853 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
3854 "sequence corresponding to the wide character I<wc>."
3855 msgstr ""
3856 "B<fopen>(3)  システムコールに渡す追加情報がない場合には、 B<fputwc>()  は 実"
3857 "際にはワイド文字 I<wc> に対応するマルチバイトシーケンスを書き込むと 期待して"
3858 "よい。"
3859
3860 #. type: Plain text
3861 #: build/C/man3/fputwc.3:84
3862 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3863 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
3864
3865 #. type: TH
3866 #: build/C/man3/fread.3:43
3867 #, no-wrap
3868 msgid "FREAD"
3869 msgstr "FREAD"
3870
3871 #. type: TH
3872 #: build/C/man3/fread.3:43
3873 #, no-wrap
3874 msgid "1996-05-17"
3875 msgstr "1996-05-17"
3876
3877 #. type: Plain text
3878 #: build/C/man3/fread.3:46
3879 msgid "fread, fwrite - binary stream input/output"
3880 msgstr "fread, fwrite - バイナリストリームの入出力"
3881
3882 #. type: Plain text
3883 #: build/C/man3/fread.3:52
3884 #, no-wrap
3885 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3886 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
3887
3888 #. type: Plain text
3889 #: build/C/man3/fread.3:55
3890 #, no-wrap
3891 msgid ""
3892 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3893 "B<              FILE *>I<stream>B<);>\n"
3894 msgstr ""
3895 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
3896 "B<              FILE *>I<stream>B<);>\n"
3897
3898 #. type: Plain text
3899 #: build/C/man3/fread.3:67
3900 msgid ""
3901 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
3902 "long, from the stream pointed to by I<stream>, storing them at the location "
3903 "given by I<ptr>."
3904 msgstr ""
3905 "B<fread>()  関数は I<stream> ポインタで指定されたストリームから I<nmemb> 個の"
3906 "データを読み込み、 I<ptr> で与えられた場所に格納する。 個々のデータは "
3907 "I<size> バイトの長さを持つ。"
3908
3909 #. type: Plain text
3910 #: build/C/man3/fread.3:78
3911 msgid ""
3912 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
3913 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
3914 "location given by I<ptr>."
3915 msgstr ""
3916 "B<fwrite>()  関数は I<ptr> で指定された場所から得た I<nmemb> 個のデータを、 "
3917 "I<stream> ポインタで指定されたストリームに書き込む。 個々のデータは I<size> "
3918 "バイトの長さを持つ。"
3919
3920 #. type: Plain text
3921 #: build/C/man3/fread.3:89
3922 msgid ""
3923 "B<fread>()  and B<fwrite>()  return the number of items successfully read or "
3924 "written (i.e., not the number of characters).  If an error occurs, or the "
3925 "end-of-file is reached, the return value is a short item count (or zero)."
3926 msgstr ""
3927 "B<fread>()  と B<fwrite>()  は読み書きに成功した要素の個数を返す。 エラーが生"
3928 "じた場合や、end-of-file(ファイルの最後)に達した場合、 返り値は指定した個数よ"
3929 "りも小さい値(またはゼロ)となる。"
3930
3931 #. type: Plain text
3932 #: build/C/man3/fread.3:96
3933 msgid ""
3934 "B<fread>()  does not distinguish between end-of-file and error, and callers "
3935 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
3936 msgstr ""
3937 "B<fread>()  は end-of-file とエラーを区別しないので、 どちらが生じたかを判断"
3938 "するためには、 呼び出し側で B<feof>(3)  と B<ferror>(3)  とを使用しなければな"
3939 "らない。"
3940
3941 #. type: Plain text
3942 #: build/C/man3/fread.3:98
3943 msgid "C89, POSIX.1-2001."
3944 msgstr "C89, POSIX.1-2001."
3945
3946 #. type: Plain text
3947 #: build/C/man3/fread.3:104
3948 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
3949 msgstr ""
3950 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
3951
3952 #. type: TH
3953 #: build/C/man3/fseek.3:40
3954 #, no-wrap
3955 msgid "FSEEK"
3956 msgstr "FSEEK"
3957
3958 #. type: TH
3959 #: build/C/man3/fseek.3:40
3960 #, no-wrap
3961 msgid "1993-11-29"
3962 msgstr "1993-11-29"
3963
3964 #. type: Plain text
3965 #: build/C/man3/fseek.3:43
3966 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
3967 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
3968
3969 #. type: Plain text
3970 #: build/C/man3/fseek.3:47
3971 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
3972 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
3973
3974 #. type: Plain text
3975 #: build/C/man3/fseek.3:49
3976 msgid "B<long ftell(FILE *>I<stream>B<);>"
3977 msgstr "B<long ftell(FILE *>I<stream>B<);>"
3978
3979 #. type: Plain text
3980 #: build/C/man3/fseek.3:51
3981 msgid "B<void rewind(FILE *>I<stream>B<);>"
3982 msgstr "B<void rewind(FILE *>I<stream>B<);>"
3983
3984 #. type: Plain text
3985 #: build/C/man3/fseek.3:53
3986 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3987 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3988
3989 #. type: Plain text
3990 #: build/C/man3/fseek.3:55
3991 msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3992 msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
3993
3994 #. type: Plain text
3995 #: build/C/man3/fseek.3:79
3996 msgid ""
3997 "The B<fseek>()  function sets the file position indicator for the stream "
3998 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
3999 "by adding I<offset> bytes to the position specified by I<whence>.  If "
4000 "I<whence> is set to B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, the offset is "
4001 "relative to the start of the file, the current position indicator, or end-of-"
4002 "file, respectively.  A successful call to the B<fseek>()  function clears "
4003 "the end-of-file indicator for the stream and undoes any effects of the "
4004 "B<ungetc>(3)  function on the same stream."
4005 msgstr ""
4006 "B<fseek>()  関数は I<stream> によって指定されたストリームにおいて、ファイル位"
4007 "置表示子 (file position indicator) をセットする。新たな位置 (バイト単位)  は "
4008 "I<whence> で指定された位置に I<offset> バイトを加えることによって与えられ"
4009 "る。 I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれかになっている"
4010 "場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフ"
4011 "セットが取られる。 B<fseek>()  関数の呼び出しが成功すると、ストリームの end-"
4012 "of-file 表示子は クリアされ、それまでに B<ungetc>(3)  関数で戻したデータはな"
4013 "かったことになる。"
4014
4015 #. type: Plain text
4016 #: build/C/man3/fseek.3:85
4017 msgid ""
4018 "The B<ftell>()  function obtains the current value of the file position "
4019 "indicator for the stream pointed to by I<stream>."
4020 msgstr ""
4021 "B<ftell>()  関数は I<stream> によって指定されたストリームにおける、ファイル位"
4022 "置表示子 の現時点での値を与える。"
4023
4024 #. type: Plain text
4025 #: build/C/man3/fseek.3:92
4026 msgid ""
4027 "The B<rewind>()  function sets the file position indicator for the stream "
4028 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
4029 msgstr ""
4030 "B<rewind>()  関数は I<stream> によって指定されたストリームにおいて、ファイル"
4031 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
4032
4033 #. type: Plain text
4034 #: build/C/man3/fseek.3:95
4035 msgid "(void) fseek(stream, 0L, SEEK_SET)"
4036 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
4037
4038 #. type: Plain text
4039 #: build/C/man3/fseek.3:99
4040 msgid ""
4041 "except that the error indicator for the stream is also cleared (see "
4042 "B<clearerr>(3))."
4043 msgstr ""
4044 "ただし B<rewind>()  ではストリームに対するエラー表示子 (error indicator) も同"
4045 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
4046
4047 #. type: Plain text
4048 #: build/C/man3/fseek.3:117
4049 msgid ""
4050 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
4051 "equivalent to B<ftell>()  and B<fseek>()  (with whence set to B<SEEK_SET>), "
4052 "setting and storing the current value of the file offset into or from the "
4053 "object referenced by I<pos>.  On some non-UNIX systems an I<fpos_t> object "
4054 "may be a complex object and these routines may be the only way to portably "
4055 "reposition a text stream."
4056 msgstr ""
4057 "B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
4058 "()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
4059 "フェースで提供する。 B<fgetpos>()  はファイルオフセットの現在の値を I<pos> が"
4060 "参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
4061 "設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
4062 "ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
4063 "更する方法のうち、移植性のある唯一のもの になっている場合もある。"
4064
4065 #. type: Plain text
4066 #: build/C/man3/fseek.3:132
4067 msgid ""
4068 "The B<rewind>()  function returns no value.  Upon successful completion, "
4069 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
4070 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4071 "indicate the error."
4072 msgstr ""
4073 "B<rewind>()  は返り値を持たない。 B<fgetpos>(), B<fseek>(), B<fsetpos>()  は"
4074 "成功すると 0 を返す。 B<ftell>()  は現在のオフセットを返す。失敗した場合は返"
4075 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
4076
4077 #. type: Plain text
4078 #: build/C/man3/fseek.3:138
4079 msgid "The I<stream> specified is not a seekable stream."
4080 msgstr "指定した I<stream> がシークできない。"
4081
4082 #. type: Plain text
4083 #: build/C/man3/fseek.3:149
4084 msgid ""
4085 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
4086 "B<SEEK_CUR>."
4087 msgstr ""
4088 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
4089 "B<SEEK_CUR> 以外の値であった。"
4090
4091 #. type: Plain text
4092 #: build/C/man3/fseek.3:164
4093 msgid ""
4094 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
4095 "also fail and set I<errno> for any of the errors specified for the routines "
4096 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
4097 msgstr ""
4098 "B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
4099 "(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
4100 "する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
4101
4102 #. type: Plain text
4103 #: build/C/man3/fseek.3:169
4104 msgid "B<lseek>(2), B<fseeko>(3)"
4105 msgstr "B<lseek>(2), B<fseeko>(3)"
4106
4107 #. type: TH
4108 #: build/C/man3/fseeko.3:23
4109 #, no-wrap
4110 msgid "FSEEKO"
4111 msgstr "FSEEKO"
4112
4113 #. type: TH
4114 #: build/C/man3/fseeko.3:23
4115 #, no-wrap
4116 msgid "2001-11-05"
4117 msgstr "2001-11-05"
4118
4119 #. type: Plain text
4120 #: build/C/man3/fseeko.3:26
4121 msgid "fseeko, ftello - seek to or report file position"
4122 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
4123
4124 #. type: Plain text
4125 #: build/C/man3/fseeko.3:31
4126 #, no-wrap
4127 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4128 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
4129
4130 #. type: Plain text
4131 #: build/C/man3/fseeko.3:34
4132 #, no-wrap
4133 msgid ""
4134 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4135 "\n"
4136 msgstr ""
4137 "B<off_t ftello(FILE *>I<stream>B<);>\n"
4138 "\n"
4139
4140 #. type: Plain text
4141 #: build/C/man3/fseeko.3:52
4142 msgid ""
4143 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
4144 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
4145 "argument of B<fseeko>()  and the return value of B<ftello>()  is of type "
4146 "I<off_t> instead of I<long>."
4147 msgstr ""
4148 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
4149 "B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
4150 "()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
4151 "I<off_t> になっている。"
4152
4153 #. type: Plain text
4154 #: build/C/man3/fseeko.3:55
4155 msgid ""
4156 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
4157 "compilation with"
4158 msgstr ""
4159 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
4160
4161 #. type: Plain text
4162 #: build/C/man3/fseeko.3:59 build/C/man3/lseek64.3:79
4163 #, no-wrap
4164 msgid "#define _FILE_OFFSET_BITS 64\n"
4165 msgstr "#define _FILE_OFFSET_BITS 64\n"
4166
4167 #. type: Plain text
4168 #: build/C/man3/fseeko.3:63
4169 msgid "will turn I<off_t> into a 64-bit type."
4170 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
4171
4172 #. type: Plain text
4173 #: build/C/man3/fseeko.3:72
4174 msgid ""
4175 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
4176 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
4177 "indicate the error."
4178 msgstr ""
4179 "成功した場合、 B<fseeko>()  は 0 を、 B<ftello>()  は現在のオフセットを返"
4180 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
4181
4182 #. type: Plain text
4183 #: build/C/man3/fseeko.3:75
4184 msgid "See the ERRORS in B<fseek>(3)."
4185 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
4186
4187 #. type: Plain text
4188 #: build/C/man3/fseeko.3:77
4189 msgid "SUSv2, POSIX.1-2001."
4190 msgstr "SUSv2, POSIX.1-2001."
4191
4192 #. type: Plain text
4193 #: build/C/man3/fseeko.3:81
4194 msgid ""
4195 "These functions are found on System V-like systems.  They are not present in "
4196 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
4197 msgstr ""
4198 "これらの関数は System V 的なシステムにある。 libc4, libc5, glibc 2.0 にはな"
4199 "かったが、 glibc 2.1 から使えるようになった。"
4200
4201 #. type: Plain text
4202 #: build/C/man3/fseeko.3:83
4203 msgid "B<fseek>(3)"
4204 msgstr "B<fseek>(3)"
4205
4206 #. type: TH
4207 #: build/C/man3/getline.3:24
4208 #, no-wrap
4209 msgid "GETLINE"
4210 msgstr "GETLINE"
4211
4212 #. type: TH
4213 #: build/C/man3/getline.3:24
4214 #, no-wrap
4215 msgid "2010-06-12"
4216 msgstr "2010-06-12"
4217
4218 #. type: Plain text
4219 #: build/C/man3/getline.3:27
4220 msgid "getline, getdelim - delimited string input"
4221 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
4222
4223 #. type: Plain text
4224 #: build/C/man3/getline.3:32
4225 #, no-wrap
4226 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4227 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
4228
4229 #. type: Plain text
4230 #: build/C/man3/getline.3:35
4231 #, no-wrap
4232 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4233 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
4234
4235 #. type: Plain text
4236 #: build/C/man3/getline.3:45
4237 msgid "B<getline>(), B<getdelim>():"
4238 msgstr "B<getline>(), B<getdelim>():"
4239
4240 #. type: Plain text
4241 #: build/C/man3/getline.3:50
4242 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4243 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
4244
4245 #. type: Plain text
4246 #: build/C/man3/getline.3:63
4247 msgid ""
4248 "B<getline>()  reads an entire line from I<stream>, storing the address of "
4249 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
4250 "terminated and includes the newline character, if one was found."
4251 msgstr ""
4252 "B<getline>()  は I<stream> から 1 行全てを読み込み、テキストが含まれている"
4253 "バッファのアドレスを I<*lineptr> に格納する。 バッファはヌル文字 (\\e0) で終"
4254 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
4255
4256 #. type: Plain text
4257 #: build/C/man3/getline.3:73
4258 msgid ""
4259 "If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
4260 "storing the line, which should be freed by the user program.  (In this case, "
4261 "the value in I<*n> is ignored.)"
4262 msgstr ""
4263 "I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
4264 "を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
4265 "合、 I<*n> の値は無視される)。"
4266
4267 #. type: Plain text
4268 #: build/C/man3/getline.3:91
4269 msgid ""
4270 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
4271 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
4272 "buffer is not large enough to hold the line, B<getline>()  resizes it with "
4273 "B<realloc>(3), updating I<*lineptr> and I<*n> as necessary."
4274 msgstr ""
4275 "別の方法として、 B<getline>()  を呼び出す際に、 I<*lineptr> に B<malloc>(3)  "
4276 "で確保した大きさ I<*n> バイトのバッファへのポインタを入れて渡すこともでき"
4277 "る。 読み込んだ行を保持するのに十分なバッファがない場合、 B<getline>()  は "
4278 "B<realloc>(3)  を使ってバッファのサイズを変更し、必要に応じて I<*lineptr> と "
4279 "I<*n> を更新する。"
4280
4281 #. type: Plain text
4282 #: build/C/man3/getline.3:97
4283 msgid ""
4284 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
4285 "to reflect the buffer address and allocated size respectively."
4286 msgstr ""
4287 "どちらの場合でも、呼び出しに成功したときには、 I<*lineptr> と I<*n> がバッ"
4288 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
4289
4290 #. type: Plain text
4291 #: build/C/man3/getline.3:108
4292 msgid ""
4293 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
4294 "than newline can be specified as the I<delimiter> argument.  As with "
4295 "B<getline>(), a delimiter character is not added if one was not present in "
4296 "the input before end of file was reached."
4297 msgstr ""
4298 "B<getdelim>()  は B<getline>()  と同じように動作するが、改行文字以外の区切り"
4299 "文字を引き数 I<delim> に指定することができる。 B<getline>()  と同様に、ファイ"
4300 "ル終端に達するまでに入力行に区切り文字が見付からない場合は、 区切り文字をバッ"
4301 "ファに追加しない。"
4302
4303 #. type: Plain text
4304 #: build/C/man3/getline.3:117
4305 msgid ""
4306 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
4307 "read, including the delimiter character, but not including the terminating "
4308 "null byte.  This value can be used to handle embedded null bytes in the line "
4309 "read."
4310 msgstr ""
4311 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
4312 "字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
4313 "よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
4314
4315 #. type: Plain text
4316 #: build/C/man3/getline.3:120
4317 msgid ""
4318 "Both functions return -1 on failure to read a line (including end-of-file "
4319 "condition)."
4320 msgstr ""
4321 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
4322 "した場合にも -1 を返す)。"
4323
4324 #. type: Plain text
4325 #: build/C/man3/getline.3:130
4326 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
4327 msgstr ""
4328 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
4329 "I<stream> が有効でない)。"
4330
4331 #. type: Plain text
4332 #: build/C/man3/getline.3:132
4333 msgid "These functions are available since libc 4.6.27."
4334 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
4335
4336 #. type: Plain text
4337 #: build/C/man3/getline.3:139
4338 msgid ""
4339 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
4340 "were standardized in POSIX.1-2008."
4341 msgstr ""
4342 "B<getline>()  と B<getdelim>()  は、どちらも元は GNU による拡張であったが、 "
4343 "POSIX.1-2008 で標準化された。"
4344
4345 #. type: Plain text
4346 #: build/C/man3/getline.3:144
4347 #, no-wrap
4348 msgid ""
4349 "#define _GNU_SOURCE\n"
4350 "#include E<lt>stdio.hE<gt>\n"
4351 "#include E<lt>stdlib.hE<gt>\n"
4352 msgstr ""
4353 "#define _GNU_SOURCE\n"
4354 "#include E<lt>stdio.hE<gt>\n"
4355 "#include E<lt>stdlib.hE<gt>\n"
4356
4357 #. type: Plain text
4358 #: build/C/man3/getline.3:152
4359 #, no-wrap
4360 msgid ""
4361 "int\n"
4362 "main(void)\n"
4363 "{\n"
4364 "    FILE *fp;\n"
4365 "    char *line = NULL;\n"
4366 "    size_t len = 0;\n"
4367 "    ssize_t read;\n"
4368 msgstr ""
4369 "int\n"
4370 "main(void)\n"
4371 "{\n"
4372 "    FILE *fp;\n"
4373 "    char *line = NULL;\n"
4374 "    size_t len = 0;\n"
4375 "    ssize_t read;\n"
4376
4377 #. type: Plain text
4378 #: build/C/man3/getline.3:156
4379 #, no-wrap
4380 msgid ""
4381 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4382 "    if (fp == NULL)\n"
4383 "        exit(EXIT_FAILURE);\n"
4384 msgstr ""
4385 "    fp = fopen(\"/etc/motd\", \"r\");\n"
4386 "    if (fp == NULL)\n"
4387 "        exit(EXIT_FAILURE);\n"
4388
4389 #. type: Plain text
4390 #: build/C/man3/getline.3:161
4391 #, no-wrap
4392 msgid ""
4393 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4394 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4395 "        printf(\"%s\", line);\n"
4396 "    }\n"
4397 msgstr ""
4398 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
4399 "        printf(\"Retrieved line of length %zu :\\en\", read);\n"
4400 "        printf(\"%s\", line);\n"
4401 "    }\n"
4402
4403 #. type: Plain text
4404 #: build/C/man3/getline.3:165
4405 #, no-wrap
4406 msgid ""
4407 "    free(line);\n"
4408 "    exit(EXIT_SUCCESS);\n"
4409 "}\n"
4410 msgstr ""
4411 "    free(line);\n"
4412 "    exit(EXIT_SUCCESS);\n"
4413 "}\n"
4414
4415 #. type: Plain text
4416 #: build/C/man3/getline.3:173
4417 msgid ""
4418 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4419 msgstr ""
4420 "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
4421
4422 #. type: TH
4423 #: build/C/man3/gets.3:25
4424 #, no-wrap
4425 msgid "GETS"
4426 msgstr "GETS"
4427
4428 #. type: TH
4429 #: build/C/man3/gets.3:25
4430 #, fuzzy, no-wrap
4431 #| msgid "2001-12-18"
4432 msgid "2012-01-18"
4433 msgstr "2001-12-18"
4434
4435 #. type: Plain text
4436 #: build/C/man3/gets.3:28
4437 msgid ""
4438 "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
4439 msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
4440
4441 #. type: Plain text
4442 #: build/C/man3/gets.3:33
4443 #, no-wrap
4444 msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
4445 msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
4446
4447 #. type: Plain text
4448 #: build/C/man3/gets.3:35
4449 #, no-wrap
4450 msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4451 msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
4452
4453 #. type: Plain text
4454 #: build/C/man3/gets.3:37
4455 #, no-wrap
4456 msgid "B<int getc(FILE *>I<stream>B<);>\n"
4457 msgstr "B<int getc(FILE *>I<stream>B<);>\n"
4458
4459 #. type: Plain text
4460 #: build/C/man3/gets.3:39
4461 #, no-wrap
4462 msgid "B<int getchar(void);>\n"
4463 msgstr "B<int getchar(void);>\n"
4464
4465 #. type: Plain text
4466 #: build/C/man3/gets.3:41
4467 #, no-wrap
4468 msgid "B<char *gets(char *>I<s>B<);>\n"
4469 msgstr "B<char *gets(char *>I<s>B<);>\n"
4470
4471 #. type: Plain text
4472 #: build/C/man3/gets.3:43
4473 #, no-wrap
4474 msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4475 msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
4476
4477 #. type: Plain text
4478 #: build/C/man3/gets.3:55
4479 msgid ""
4480 "B<fgetc>()  reads the next character from I<stream> and returns it as an "
4481 "I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
4482 msgstr ""
4483 "B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
4484 "I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
4485 "す。"
4486
4487 #. type: Plain text
4488 #: build/C/man3/gets.3:62
4489 msgid ""
4490 "B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
4491 "a macro which evaluates I<stream> more than once."
4492 msgstr ""
4493 "B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
4494 "実装されているかもしれない。"
4495
4496 #. type: Plain text
4497 #: build/C/man3/gets.3:66
4498 msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
4499 msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
4500
4501 #. type: Plain text
4502 #: build/C/man3/gets.3:76
4503 msgid ""
4504 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
4505 "until either a terminating newline or B<EOF>, which it replaces with a null "
4506 "byte (\\(aq\\e0\\(aq).  No check for buffer overrun is performed (see BUGS "
4507 "below)."
4508 msgstr ""
4509 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
4510 "すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
4511 "\\e0\\(aq) に置き換えられる)。 バッファ・オーバーランのチェックは行われない "
4512 "(下記の「バグ」を参照)。"
4513
4514 #. type: Plain text
4515 #: build/C/man3/gets.3:90
4516 msgid ""
4517 "B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
4518 "and stores them into the buffer pointed to by I<s>.  Reading stops after an "
4519 "B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
4520 "terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
4521 "in the buffer."
4522 msgstr ""
4523 "B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
4524 "指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
4525 "する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
4526 "\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
4527
4528 #. type: Plain text
4529 #: build/C/man3/gets.3:101
4530 msgid ""
4531 "B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
4532 "it is available for subsequent read operations.  Pushed-back characters will "
4533 "be returned in reverse order; only one pushback is guaranteed."
4534 msgstr ""
4535 "B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
4536 "キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
4537 "しとして保証されているのは、一文字だけである。"
4538
4539 #. type: Plain text
4540 #: build/C/man3/gets.3:106
4541 msgid ""
4542 "Calls to the functions described here can be mixed with each other and with "
4543 "calls to other input functions from the I<stdio> library for the same input "
4544 "stream."
4545 msgstr ""
4546 "ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
4547 "互いに混ぜて使うことができる。"
4548
4549 #. type: Plain text
4550 #: build/C/man3/gets.3:121
4551 msgid ""
4552 "B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
4553 "I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
4554 msgstr ""
4555 "B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
4556 "で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
4557 "す。"
4558
4559 #. type: Plain text
4560 #: build/C/man3/gets.3:129
4561 msgid ""
4562 "B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
4563 "end of file occurs while no characters have been read."
4564 msgstr ""
4565 "B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
4566 "んでいないのにファイルの終わりになった 場合に NULL を返す。"
4567
4568 #. type: Plain text
4569 #: build/C/man3/gets.3:136
4570 msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
4571 msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
4572
4573 #. type: Plain text
4574 #: build/C/man3/gets.3:138
4575 #, fuzzy
4576 #| msgid "C99, POSIX.1-2001."
4577 msgid "C89, C99, POSIX.1-2001."
4578 msgstr "C99, POSIX.1-2001."
4579
4580 #. type: Plain text
4581 #: build/C/man3/gets.3:150
4582 msgid ""
4583 "LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
4584 "C11 removes the specification of B<gets>()  from the C language, and since "
4585 "version 2.16, glibc header files don't expose the function declaration if "
4586 "the B<_ISOC11_SOURCE> feature test macro is defined."
4587 msgstr ""
4588
4589 #. type: Plain text
4590 #: build/C/man3/gets.3:164
4591 msgid ""
4592 "Never use B<gets>().  Because it is impossible to tell without knowing the "
4593 "data in advance how many characters B<gets>()  will read, and because B<gets>"
4594 "()  will continue to store characters past the end of the buffer, it is "
4595 "extremely dangerous to use.  It has been used to break computer security.  "
4596 "Use B<fgets>()  instead."
4597 msgstr ""
4598 "B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
4599 "B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
4600 "越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
4601 "してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
4602 "と。"
4603
4604 #. type: Plain text
4605 #: build/C/man3/gets.3:171
4606 msgid ""
4607 "It is not advisable to mix calls to input functions from the I<stdio> "
4608 "library with low-level calls to B<read>(2)  for the file descriptor "
4609 "associated with the input stream; the results will be undefined and very "
4610 "probably not what you want."
4611 msgstr ""
4612 "入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
4613 "数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
4614 "がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
4615
4616 #. type: Plain text
4617 #: build/C/man3/gets.3:187
4618 #, fuzzy
4619 #| msgid ""
4620 #| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
4621 #| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
4622 #| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
4623 msgid ""
4624 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4625 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4626 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
4627 msgstr ""
4628 "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
4629 "(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
4630 "B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
4631
4632 #. type: TH
4633 #: build/C/man3/getw.3:23
4634 #, no-wrap
4635 msgid "GETW"
4636 msgstr "GETW"
4637
4638 #. type: TH
4639 #: build/C/man3/getw.3:23
4640 #, no-wrap
4641 msgid "2010-09-26"
4642 msgstr "2010-09-26"
4643
4644 #. type: Plain text
4645 #: build/C/man3/getw.3:26
4646 msgid "getw, putw - input and output of words (ints)"
4647 msgstr "getw, putw - ワード(int)の入出力"
4648
4649 #. type: Plain text
4650 #: build/C/man3/getw.3:31
4651 #, no-wrap
4652 msgid "B<int getw(FILE *>I<stream>B<);>\n"
4653 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
4654
4655 #. type: Plain text
4656 #: build/C/man3/getw.3:33
4657 #, no-wrap
4658 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4659 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
4660
4661 #. type: Plain text
4662 #: build/C/man3/getw.3:42
4663 msgid "B<getw>(), B<putw>():"
4664 msgstr "B<getw>(), B<putw>():"
4665
4666 #. type: TP
4667 #: build/C/man3/getw.3:45
4668 #, no-wrap
4669 msgid "Since glibc 2.3.3:"
4670 msgstr "glibc 2.3.3 以降:"
4671
4672 #. type: Plain text
4673 #: build/C/man3/getw.3:48
4674 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
4675 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
4676
4677 #. type: Plain text
4678 #: build/C/man3/getw.3:51
4679 #, no-wrap
4680 msgid ""
4681 "(_XOPEN_SOURCE &&\n"
4682 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4683 msgstr ""
4684 "(_XOPEN_SOURCE &&\n"
4685 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
4686
4687 #. type: TP
4688 #: build/C/man3/getw.3:51
4689 #, no-wrap
4690 msgid "Before glibc 2.3.3:"
4691 msgstr "glibc 2.3.3 より前:"
4692
4693 #. type: Plain text
4694 #: build/C/man3/getw.3:54
4695 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4696 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4697
4698 #. type: Plain text
4699 #: build/C/man3/getw.3:64
4700 msgid ""
4701 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
4702 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
4703 msgstr ""
4704 "B<getw>()  は I<stream> からワード (I<int>型) を読み込む。 この関数は、SVr4 "
4705 "との互換性のために提供されている。 この関数の代わりに B<fread>(3)  を使用する"
4706 "ことを勧める。"
4707
4708 #. type: Plain text
4709 #: build/C/man3/getw.3:71
4710 msgid ""
4711 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
4712 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
4713 "instead."
4714 msgstr ""
4715 "B<putw>()  は I<stream> にワード I<w> (I<int>型) を書き込む。 この関数は "
4716 "SVr4 との互換性のために提供されているが、この関数の代わりに B<fwrite>(3)  を"
4717 "使用することを勧める。"
4718
4719 #. type: Plain text
4720 #: build/C/man3/getw.3:78
4721 msgid ""
4722 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
4723 "error, they return B<EOF>."
4724 msgstr ""
4725 "通常、 B<getw>()  は読み込んだワードを返し、 B<putw>()  は 0 を返す。 エラー"
4726 "が発生した場合、これらの関数は B<EOF> を返す。"
4727
4728 #. type: Plain text
4729 #: build/C/man3/getw.3:80
4730 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
4731 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
4732
4733 #. type: Plain text
4734 #: build/C/man3/getw.3:84
4735 msgid ""
4736 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
4737 "can be used to distinguish between the two cases."
4738 msgstr ""
4739 "エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
4740 "(3)  を用いると、この二つの場合を区別することが出来る。"
4741
4742 #. type: Plain text
4743 #: build/C/man3/getw.3:90
4744 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4745 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
4746
4747 #. type: TH
4748 #: build/C/man2/link.2:31
4749 #, no-wrap
4750 msgid "LINK"
4751 msgstr "LINK"
4752
4753 #. type: TH
4754 #: build/C/man2/link.2:31
4755 #, no-wrap
4756 msgid "2008-08-21"
4757 msgstr "2008-08-21"
4758
4759 #. type: Plain text
4760 #: build/C/man2/link.2:34
4761 msgid "link - make a new name for a file"
4762 msgstr "link - ファイルの新しい名前を作成する"
4763
4764 #. type: Plain text
4765 #: build/C/man2/link.2:36 build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
4766 #: build/C/man2/readlink.2:46 build/C/man2/rmdir.2:35
4767 #: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
4768 msgid "B<#include E<lt>unistd.hE<gt>>"
4769 msgstr "B<#include E<lt>unistd.hE<gt>>"
4770
4771 #. type: Plain text
4772 #: build/C/man2/link.2:38
4773 msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4774 msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
4775
4776 #. type: Plain text
4777 #: build/C/man2/link.2:41
4778 msgid ""
4779 "B<link>()  creates a new link (also known as a hard link) to an existing "
4780 "file."
4781 msgstr ""
4782 "B<link>()  は存在するファイルへの新しいリンク (link)  (ハード・リンク (hard "
4783 "link) ともいう) を作成する。"
4784
4785 #. type: Plain text
4786 #: build/C/man2/link.2:47 build/C/man2/symlink.2:84
4787 msgid "If I<newpath> exists it will I<not> be overwritten."
4788 msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
4789
4790 #. type: Plain text
4791 #: build/C/man2/link.2:52
4792 msgid ""
4793 "This new name may be used exactly as the old one for any operation; both "
4794 "names refer to the same file (and so have the same permissions and "
4795 "ownership) and it is impossible to tell which name was the \"original\"."
4796 msgstr ""
4797 "この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方"
4798 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
4799 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
4800
4801 #. type: Plain text
4802 #: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
4803 #: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
4804 #: build/C/man2/unlink.2:60
4805 msgid ""
4806 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
4807 "appropriately."
4808 msgstr ""
4809 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
4810 "定される。"
4811
4812 #. type: TP
4813 #: build/C/man2/link.2:58 build/C/man2/open.2:475 build/C/man2/readlink.2:84
4814 #: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
4815 #: build/C/man3/tmpfile.3:53 build/C/man2/unlink.2:61
4816 #, no-wrap
4817 msgid "B<EACCES>"
4818 msgstr "B<EACCES>"
4819
4820 #. type: Plain text
4821 #: build/C/man2/link.2:69
4822 msgid ""
4823 "Write access to the directory containing I<newpath> is denied, or search "
4824 "permission is denied for one of the directories in the path prefix of "
4825 "I<oldpath> or I<newpath>.  (See also B<path_resolution>(7).)"
4826 msgstr ""
4827 "I<newpath> を含んでいるディレクトリへの書き込みが許されていないか、 "
4828 "I<oldpath> または I<newpath> へのディレクトリのどれかに検索許可がない "
4829 "(B<path_resolution>(7)  を参照)。"
4830
4831 #. type: TP
4832 #: build/C/man2/link.2:69 build/C/man2/open.2:484 build/C/man2/symlink.2:99
4833 #: build/C/man3/tmpfile.3:56
4834 #, no-wrap
4835 msgid "B<EEXIST>"
4836 msgstr "B<EEXIST>"
4837
4838 #. type: Plain text
4839 #: build/C/man2/link.2:73 build/C/man2/symlink.2:103
4840 msgid "I<newpath> already exists."
4841 msgstr "I<newpath> が既に存在する。"
4842
4843 #. type: TP
4844 #: build/C/man2/link.2:73 build/C/man2/llseek.2:69 build/C/man2/open.2:490
4845 #: build/C/man2/pipe.2:98 build/C/man2/read.2:100 build/C/man2/readlink.2:89
4846 #: build/C/man2/rename.2:133 build/C/man2/rmdir.2:64
4847 #: build/C/man2/symlink.2:103 build/C/man2/unlink.2:80
4848 #: build/C/man2/write.2:135
4849 #, no-wrap
4850 msgid "B<EFAULT>"
4851 msgstr "B<EFAULT>"
4852
4853 #. type: Plain text
4854 #: build/C/man2/link.2:76 build/C/man2/rename.2:136 build/C/man2/symlink.2:106
4855 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
4856 msgstr ""
4857 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
4858
4859 #. type: TP
4860 #: build/C/man2/link.2:76 build/C/man2/read.2:129 build/C/man2/readlink.2:105
4861 #: build/C/man2/symlink.2:106 build/C/man2/unlink.2:84
4862 #: build/C/man2/write.2:159
4863 #, no-wrap
4864 msgid "B<EIO>"
4865 msgstr "B<EIO>"
4866
4867 #. type: Plain text
4868 #: build/C/man2/link.2:79 build/C/man2/symlink.2:109 build/C/man2/unlink.2:87
4869 msgid "An I/O error occurred."
4870 msgstr "I/O エラーが発生した。"
4871
4872 #. type: TP
4873 #: build/C/man2/link.2:79 build/C/man2/open.2:514 build/C/man2/readlink.2:108
4874 #: build/C/man2/rename.2:146 build/C/man2/rmdir.2:73
4875 #: build/C/man2/symlink.2:109 build/C/man2/unlink.2:92
4876 #, no-wrap
4877 msgid "B<ELOOP>"
4878 msgstr "B<ELOOP>"
4879
4880 #. type: Plain text
4881 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4882 msgid ""
4883 "Too many symbolic links were encountered in resolving I<oldpath> or "
4884 "I<newpath>."
4885 msgstr ""
4886 "I<oldpath> または I<newpath> を解決する際に遭遇したシンボリック・リンクが多過"
4887 "ぎる。"
4888
4889 #. type: TP
4890 #: build/C/man2/link.2:83 build/C/man2/rename.2:150
4891 #, no-wrap
4892 msgid "B<EMLINK>"
4893 msgstr "B<EMLINK>"
4894
4895 #. type: Plain text
4896 #: build/C/man2/link.2:88
4897 msgid ""
4898 "The file referred to by I<oldpath> already has the maximum number of links "
4899 "to it."
4900 msgstr ""
4901 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
4902
4903 #. type: TP
4904 #: build/C/man2/link.2:88 build/C/man2/open.2:524 build/C/man2/readlink.2:111
4905 #: build/C/man2/rename.2:157 build/C/man2/rmdir.2:77
4906 #: build/C/man2/symlink.2:113 build/C/man2/unlink.2:96
4907 #, no-wrap
4908 msgid "B<ENAMETOOLONG>"
4909 msgstr "B<ENAMETOOLONG>"
4910
4911 #. type: Plain text
4912 #: build/C/man2/link.2:91 build/C/man2/rename.2:160 build/C/man2/symlink.2:116
4913 msgid "I<oldpath> or I<newpath> was too long."
4914 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
4915
4916 #. type: TP
4917 #: build/C/man2/link.2:91 build/C/man2/open.2:538 build/C/man2/readlink.2:114
4918 #: build/C/man2/rename.2:160 build/C/man2/rmdir.2:80
4919 #: build/C/man2/symlink.2:116 build/C/man2/unlink.2:99
4920 #, no-wrap
4921 msgid "B<ENOENT>"
4922 msgstr "B<ENOENT>"
4923
4924 #. type: Plain text
4925 #: build/C/man2/link.2:96
4926 msgid ""
4927 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
4928 "dangling symbolic link."
4929 msgstr ""
4930 "I<oldpath> または I<newpath> のディレクトリ部分が存在しないか、 壊れた"
4931 "(dangling)シンボリック・リンクである。"
4932
4933 #. type: TP
4934 #: build/C/man2/link.2:96 build/C/man2/open.2:545 build/C/man2/readlink.2:117
4935 #: build/C/man2/rename.2:173 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:568
4936 #: build/C/man2/symlink.2:123 build/C/man3/tempnam.3:91
4937 #: build/C/man2/unlink.2:106
4938 #, no-wrap
4939 msgid "B<ENOMEM>"
4940 msgstr "B<ENOMEM>"
4941
4942 #. type: Plain text
4943 #: build/C/man2/link.2:99 build/C/man2/open.2:548 build/C/man2/readlink.2:120
4944 #: build/C/man2/rename.2:176 build/C/man2/rmdir.2:88
4945 #: build/C/man2/symlink.2:126 build/C/man2/unlink.2:109
4946 msgid "Insufficient kernel memory was available."
4947 msgstr "十分なカーネルメモリーがない。"
4948
4949 #. type: TP
4950 #: build/C/man2/link.2:99 build/C/man2/open.2:548 build/C/man2/rename.2:176
4951 #: build/C/man2/symlink.2:126 build/C/man3/tmpfile.3:68
4952 #: build/C/man2/write.2:162
4953 #, no-wrap
4954 msgid "B<ENOSPC>"
4955 msgstr "B<ENOSPC>"
4956
4957 #. type: Plain text
4958 #: build/C/man2/link.2:103 build/C/man2/rename.2:180
4959 #: build/C/man2/symlink.2:130
4960 msgid "The device containing the file has no room for the new directory entry."
4961 msgstr ""
4962 "そのファイルを含んでいるデバイスに新しいディレクトリ・エントリを 作成するため"
4963 "の空きがない。"
4964
4965 #. type: TP
4966 #: build/C/man2/link.2:103 build/C/man2/open.2:554 build/C/man2/readlink.2:120
4967 #: build/C/man2/rename.2:180 build/C/man2/rmdir.2:88
4968 #: build/C/man2/symlink.2:130 build/C/man2/unlink.2:109
4969 #, no-wrap
4970 msgid "B<ENOTDIR>"
4971 msgstr "B<ENOTDIR>"
4972
4973 #. type: Plain text
4974 #: build/C/man2/link.2:108
4975 msgid ""
4976 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
4977 "a directory."
4978 msgstr ""
4979 "I<oldpath> または I<newpath> のディレクトリ部分が、実際には、ディレクトリでな"
4980 "い。"
4981
4982 #. type: TP
4983 #: build/C/man2/link.2:108 build/C/man2/link.2:112 build/C/man2/open.2:587
4984 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
4985 #: build/C/man2/symlink.2:135 build/C/man2/unlink.2:114
4986 #, no-wrap
4987 msgid "B<EPERM>"
4988 msgstr "B<EPERM>"
4989
4990 #. type: Plain text
4991 #: build/C/man2/link.2:112
4992 msgid "I<oldpath> is a directory."
4993 msgstr "I<oldpath> がディレクトリである。"
4994
4995 #. type: Plain text
4996 #: build/C/man2/link.2:117
4997 msgid ""
4998 "The file system containing I<oldpath> and I<newpath> does not support the "
4999 "creation of hard links."
5000 msgstr ""
5001 "I<oldpath> と I<newpath> を含んでいるファイル・システムがハード・リンクをサ"
5002 "ポートしていない。"
5003
5004 #. type: TP
5005 #: build/C/man2/link.2:117 build/C/man2/open.2:595 build/C/man2/rename.2:218
5006 #: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:140
5007 #: build/C/man3/tmpfile.3:71 build/C/man2/unlink.2:137
5008 #, no-wrap
5009 msgid "B<EROFS>"
5010 msgstr "B<EROFS>"
5011
5012 #. type: Plain text
5013 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5014 msgid "The file is on a read-only file system."
5015 msgstr "ファイルが読み込み専用のファイル・システムに存在する。"
5016
5017 #. type: TP
5018 #: build/C/man2/link.2:120 build/C/man2/rename.2:221
5019 #, no-wrap
5020 msgid "B<EXDEV>"
5021 msgstr "B<EXDEV>"
5022
5023 #. type: Plain text
5024 #: build/C/man2/link.2:128
5025 msgid ""
5026 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
5027 "permits a file system to be mounted at multiple points, but B<link>()  does "
5028 "not work across different mount points, even if the same file system is "
5029 "mounted on both.)"
5030 msgstr ""
5031 "I<oldpath> と I<newpath> が同じマウントされたファイル・システムに存在しな"
5032 "い。 (Linux は 1 つのファイル・システムを複数のマウント位置に マウントするこ"
5033 "とを許可している。 しかし B<link>()  は、たとえ同じファイル・システムであって"
5034 "も、 別々のマウント位置を跨いでは動作しない。)"
5035
5036 #.  SVr4 documents additional ENOLINK and
5037 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
5038 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
5039 #. type: Plain text
5040 #: build/C/man2/link.2:133
5041 msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
5042 msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
5043
5044 #. type: Plain text
5045 #: build/C/man2/link.2:140
5046 msgid ""
5047 "Hard links, as created by B<link>(), cannot span file systems.  Use "
5048 "B<symlink>(2)  if this is required."
5049 msgstr ""
5050 "B<link>()  でファイル・システムを超えてハード・リンクを作成することはできな"
5051 "い。 このような場合は B<symlink>(2)  を使用すること。"
5052
5053 #.  more precisely: since kernel 1.3.56
5054 #.  For example, the default Solaris compilation environment
5055 #.  behaves like Linux, and contributors to a March 2005
5056 #.  thread in the Austin mailing list reported that some
5057 #.  other (System V) implementations did/do the same -- MTK, Apr 05
5058 #. type: Plain text
5059 #: build/C/man2/link.2:171
5060 msgid ""
5061 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
5062 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
5063 "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) link "
5064 "to the same symbolic link file (i.e., I<newpath> becomes a symbolic link to "
5065 "the same file that I<oldpath> refers to).  Some other implementations behave "
5066 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
5067 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
5068 "dereferenced if it is a symbolic link.  For precise control over the "
5069 "treatment of symbolic links when creating a link, see B<linkat>(2)."
5070 msgstr ""
5071 "POSIX.1-2001 では、 I<oldpath> がシンボリック・リンクである場合、 B<link>()  "
5072 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
5073 "2.0 以降の Linux ではそのようになっていない。 I<oldpath> がシンボリック・リン"
5074 "クである場合、 I<newpath> は同じシンボリック・リンクファイルへの (ハード) リ"
5075 "ンクとして作成される (つまり I<newpath> は I<oldpath> が参照していた同じファ"
5076 "イルへのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように"
5077 "動作する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシン"
5078 "ボリック・リンクの場合にシンボリック・リンクの参照を 解決するかどうかは実装依"
5079 "存となった。 リンク作成時のシンボリック・リンクの扱いについての詳細な制御に "
5080 "関しては B<linkat>(2)  を参照のこと。"
5081
5082 #. type: Plain text
5083 #: build/C/man2/link.2:177
5084 msgid ""
5085 "On NFS file systems, the return code may be wrong in case the NFS server "
5086 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
5087 "to find out if the link got created."
5088 msgstr ""
5089 "NFS ファイル・システムでは、NFS サーバーがリンクを作成した後に、 それを伝える"
5090 "前に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つけ"
5091 "るためには B<stat>(2)  を使用すること。"
5092
5093 #. type: Plain text
5094 #: build/C/man2/link.2:187
5095 msgid ""
5096 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5097 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5098 msgstr ""
5099 "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
5100 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
5101
5102 #. type: TH
5103 #: build/C/man2/llseek.2:26
5104 #, no-wrap
5105 msgid "LLSEEK"
5106 msgstr "LLSEEK"
5107
5108 #. type: TH
5109 #: build/C/man2/llseek.2:26
5110 #, no-wrap
5111 msgid "2007-06-01"
5112 msgstr "2007-06-01"
5113
5114 #. type: Plain text
5115 #: build/C/man2/llseek.2:29
5116 msgid "_llseek - reposition read/write file offset"
5117 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
5118
5119 #. type: Plain text
5120 #: build/C/man2/llseek.2:33
5121 #, no-wrap
5122 msgid ""
5123 "B<#include E<lt>sys/types.hE<gt>>\n"
5124 "B<#include E<lt>unistd.hE<gt>>\n"
5125 msgstr ""
5126 "B<#include E<lt>sys/types.hE<gt>>\n"
5127 "B<#include E<lt>unistd.hE<gt>>\n"
5128
5129 #. type: Plain text
5130 #: build/C/man2/llseek.2:37
5131 #, no-wrap
5132 msgid ""
5133 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5134 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5135 "B<            unsigned int >I<whence>B<);>\n"
5136 msgstr ""
5137 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
5138 "B<            unsigned long >I<offset_low>B<, loff_t *>I<result>B<,>\n"
5139 "B<            unsigned int >I<whence>B<);>\n"
5140
5141 #. type: Plain text
5142 #: build/C/man2/llseek.2:57
5143 msgid ""
5144 "The B<_llseek>()  function repositions the offset of the open file "
5145 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
5146 "offset_low> bytes relative to the beginning of the file, the current "
5147 "position in the file, or the end of the file, depending on whether I<whence> "
5148 "is B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively.  It returns the "
5149 "resulting file position in the argument I<result>."
5150 msgstr ""
5151 "B<_llseek>()  関数は、ファイル・ディスクリプター (descriptor)  I<fd> に関連づ"
5152 "けられたオープンされたファイルのオフセットの位置を、相対的に I<"
5153 "(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
5154 "表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
5155 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
5156 "のファイル位置を I<result> 引き数に返す。"
5157
5158 #. type: Plain text
5159 #: build/C/man2/llseek.2:64
5160 msgid ""
5161 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
5162 "-1 is returned and I<errno> is set to indicate the error."
5163 msgstr ""
5164 "成功した場合は、 B<_llseek>()  は 0 を返す。 そうでなれば -1 という値が返り、"
5165 "エラーを示す I<errno> が設定される。"
5166
5167 #. type: Plain text
5168 #: build/C/man2/llseek.2:69 build/C/man2/lseek.2:164
5169 msgid "I<fd> is not an open file descriptor."
5170 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
5171
5172 #. type: Plain text
5173 #: build/C/man2/llseek.2:72
5174 msgid "Problem with copying results to user space."
5175 msgstr "結果をユーザ空間にコピーするときに問題があった。"
5176
5177 #. type: Plain text
5178 #: build/C/man2/llseek.2:76
5179 msgid "I<whence> is invalid."
5180 msgstr "I<whence> が不正である。"
5181
5182 #. type: Plain text
5183 #: build/C/man2/llseek.2:79
5184 msgid ""
5185 "This function is Linux-specific, and should not be used in programs intended "
5186 "to be portable."
5187 msgstr ""
5188 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
5189
5190 #. type: Plain text
5191 #: build/C/man2/llseek.2:82
5192 msgid ""
5193 "Glibc does not provide a wrapper for this system call; call it using "
5194 "B<syscall>(2)."
5195 msgstr ""
5196 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
5197 "(2)  を使って呼び出すこと。"
5198
5199 #. type: Plain text
5200 #: build/C/man2/llseek.2:85
5201 msgid "B<lseek>(2), B<lseek64>(3)"
5202 msgstr "B<lseek>(2), B<lseek64>(3)"
5203
5204 #. type: TH
5205 #: build/C/man2/lseek.2:45
5206 #, no-wrap
5207 msgid "LSEEK"
5208 msgstr "LSEEK"
5209
5210 #. type: TH
5211 #: build/C/man2/lseek.2:45
5212 #, fuzzy, no-wrap
5213 #| msgid "2011-09-28"
5214 msgid "2011-09-25"
5215 msgstr "2011-09-28"
5216
5217 #. type: Plain text
5218 #: build/C/man2/lseek.2:48
5219 msgid "lseek - reposition read/write file offset"
5220 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
5221
5222 #. type: Plain text
5223 #: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:30
5224 msgid "B<#include E<lt>sys/types.hE<gt>>"
5225 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5226
5227 #. type: Plain text
5228 #: build/C/man2/lseek.2:54
5229 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5230 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
5231
5232 #. type: Plain text
5233 #: build/C/man2/lseek.2:65
5234 msgid ""
5235 "The B<lseek>()  function repositions the offset of the open file associated "
5236 "with the file descriptor I<fd> to the argument I<offset> according to the "
5237 "directive I<whence> as follows:"
5238 msgstr ""
5239 "B<lseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に対応するオー"
5240 "プンされたファイルのオフセットを、 I<whence> に基づき I<offset> 引き数の位置"
5241 "へ以下のように変更する:"
5242
5243 #. type: Plain text
5244 #: build/C/man2/lseek.2:70
5245 msgid "The offset is set to I<offset> bytes."
5246 msgstr "オフセットは I<offset> バイトに設定される。"
5247
5248 #. type: Plain text
5249 #: build/C/man2/lseek.2:75
5250 msgid "The offset is set to its current location plus I<offset> bytes."
5251 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
5252
5253 #. type: Plain text
5254 #: build/C/man2/lseek.2:80
5255 msgid "The offset is set to the size of the file plus I<offset> bytes."
5256 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
5257
5258 #. type: Plain text
5259 #: build/C/man2/lseek.2:88
5260 msgid ""
5261 "The B<lseek>()  function allows the file offset to be set beyond the end of "
5262 "the file (but this does not change the size of the file).  If data is later "
5263 "written at this point, subsequent reads of the data in the gap (a \"hole\") "
5264 "return null bytes (\\(aq\\e0\\(aq) until data is actually written into the "
5265 "gap."
5266 msgstr ""
5267 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
5268 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
5269 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
5270 "実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
5271 "される。"
5272
5273 #. type: SS
5274 #: build/C/man2/lseek.2:88
5275 #, no-wrap
5276 msgid "Seeking file data and holes"
5277 msgstr ""
5278
5279 #. type: Plain text
5280 #: build/C/man2/lseek.2:91
5281 msgid ""
5282 "Since version 3.1, Linux supports the following additional values for "
5283 "I<whence>:"
5284 msgstr ""
5285
5286 #. type: TP
5287 #: build/C/man2/lseek.2:91
5288 #, fuzzy, no-wrap
5289 #| msgid "B<SEEK_SET>"
5290 msgid "B<SEEK_DATA>"
5291 msgstr "B<SEEK_SET>"
5292
5293 #. type: Plain text
5294 #: build/C/man2/lseek.2:102
5295 msgid ""
5296 "Adjust the file offset to the next location in the file greater than or "
5297 "equal to I<offset> containing data.  If I<offset> points to data, then the "
5298 "file offset is set to I<offset>."
5299 msgstr ""
5300
5301 #. type: TP
5302 #: build/C/man2/lseek.2:102
5303 #, fuzzy, no-wrap
5304 #| msgid "B<SEEK_SET>"
5305 msgid "B<SEEK_HOLE>"
5306 msgstr "B<SEEK_SET>"
5307
5308 #. type: Plain text
5309 #: build/C/man2/lseek.2:116
5310 msgid ""
5311 "Adjust the file offset to the next hole in the file greater than or equal to "
5312 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
5313 "offset is set to I<offset>.  If there is no hole past I<offset>, then the "
5314 "file offset is adjusted to the end of the file (i.e., there is an implicit "
5315 "hole at the end of any file)."
5316 msgstr ""
5317
5318 #. type: Plain text
5319 #: build/C/man2/lseek.2:122
5320 msgid ""
5321 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
5322 "end of the file."
5323 msgstr ""
5324
5325 #. type: Plain text
5326 #: build/C/man2/lseek.2:128
5327 msgid ""
5328 "These operations allow applications to map holes in a sparsely allocated "
5329 "file.  This can be useful for applications such as file backup tools, which "
5330 "can save space when creating backups and preserve holes, if they have a "
5331 "mechanism for discovering holes."
5332 msgstr ""
5333
5334 #.  https://lkml.org/lkml/2011/4/22/79
5335 #.  http://lwn.net/Articles/440255/
5336 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
5337 #. type: Plain text
5338 #: build/C/man2/lseek.2:151
5339 msgid ""
5340 "For the purposes of these operations, a hole is a sequence of zeros that "
5341 "(normally) has not been allocated in the underlying file storage.  However, "
5342 "a file system is not obliged to report holes, so these operations are not a "
5343 "guaranteed mechanism for mapping the storage space actually allocated to a "
5344 "file.  (Furthermore, a sequence of zeros that actually has been written to "
5345 "the underlying storage may not be reported as a hole.)  In the simplest "
5346 "implementation, a file system can support the operations by making "
5347 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
5348 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
5349 "by I<offset> is a hole, it can be considered to consist of data that is a "
5350 "sequence of zeros)."
5351 msgstr ""
5352
5353 #. type: Plain text
5354 #: build/C/man2/lseek.2:159
5355 msgid ""
5356 "Upon successful completion, B<lseek>()  returns the resulting offset "
5357 "location as measured in bytes from the beginning of the file.  On error, the "
5358 "value I<(off_t)\\ -1> is returned and I<errno> is set to indicate the error."
5359 msgstr ""
5360 "成功した場合、 B<lseek>()  は結果のファイル位置をファイルの先頭からのバイト数"
5361 "で返す。 エラーの場合、値 I<(off_t)\\ -1> が返され、 I<errno> にエラーが指示"
5362 "される。"
5363
5364 #.  Some systems may allow negative offsets for character devices
5365 #.  and/or for remote file systems.
5366 #. type: Plain text
5367 #: build/C/man2/lseek.2:172
5368 #, fuzzy
5369 #| msgid ""
5370 #| "I<whence> is not one of B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END>; or the "
5371 #| "resulting file offset would be negative, or beyond the end of a seekable "
5372 #| "device."
5373 msgid ""
5374 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
5375 "beyond the end of a seekable device."
5376 msgstr ""
5377 "I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれでもない。 または、"
5378 "seek の結果、ファイル・オフセットが負になってしまうか、 seek 可能なデバイスの"
5379 "末尾を越えてしまう。"
5380
5381 #. type: TP
5382 #: build/C/man2/lseek.2:172 build/C/man2/open.2:567
5383 #, no-wrap
5384 msgid "B<EOVERFLOW>"
5385 msgstr "B<EOVERFLOW>"
5386
5387 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
5388 #. type: Plain text
5389 #: build/C/man2/lseek.2:177
5390 msgid "The resulting file offset cannot be represented in an I<off_t>."
5391 msgstr "結果のファイル・オフセットを I<off_t> 型で表現することができない。"
5392
5393 #. type: TP
5394 #: build/C/man2/lseek.2:177
5395 #, no-wrap
5396 msgid "B<ESPIPE>"
5397 msgstr "B<ESPIPE>"
5398
5399 #. type: Plain text
5400 #: build/C/man2/lseek.2:181
5401 msgid "I<fd> is associated with a pipe, socket, or FIFO."
5402 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
5403
5404 #. type: TP
5405 #: build/C/man2/lseek.2:181 build/C/man2/open.2:561
5406 #, no-wrap
5407 msgid "B<ENXIO>"
5408 msgstr "B<ENXIO>"
5409
5410 #. type: Plain text
5411 #: build/C/man2/lseek.2:189
5412 #, fuzzy
5413 #| msgid ""
5414 #| "I<whence> is not one of B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END>; or the "
5415 #| "resulting file offset would be negative, or beyond the end of a seekable "
5416 #| "device."
5417 msgid ""
5418 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
5419 "beyond the end of the file."
5420 msgstr ""
5421 "I<whence> が B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のどれでもない。 または、"
5422 "seek の結果、ファイル・オフセットが負になってしまうか、 seek 可能なデバイスの"
5423 "末尾を越えてしまう。"
5424
5425 #.  SVr4 documents additional error
5426 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
5427 #. type: Plain text
5428 #: build/C/man2/lseek.2:191 build/C/man2/read.2:157 build/C/man2/rmdir.2:129
5429 #: build/C/man2/symlink.2:150 build/C/man2/unlink.2:145
5430 #: build/C/man2/write.2:183
5431 msgid "SVr4, 4.3BSD, POSIX.1-2001."
5432 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
5433
5434 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
5435 #. type: Plain text
5436 #: build/C/man2/lseek.2:199
5437 msgid ""
5438 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
5439 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
5440 "next POSIX revision (Issue 8)."
5441 msgstr ""
5442
5443 #. type: Plain text
5444 #: build/C/man2/lseek.2:203
5445 msgid ""
5446 "Some devices are incapable of seeking and POSIX does not specify which "
5447 "devices must support B<lseek>()."
5448 msgstr ""
5449 "いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが B<lseek>()  "
5450 "に対応すべきかは規定していない。"
5451
5452 #.  Other systems return the number of written characters,
5453 #.  using SEEK_SET to set the counter. (Of written characters.)
5454 #. type: Plain text
5455 #: build/C/man2/lseek.2:210
5456 msgid "On Linux, using B<lseek>()  on a tty device returns B<ESPIPE>."
5457 msgstr ""
5458 "Linux では、 tty デバイスに B<lseek>()  を使用すると B<ESPIPE> を返す。"
5459
5460 #. type: Plain text
5461 #: build/C/man2/lseek.2:213
5462 msgid ""
5463 "When converting old code, substitute values for I<whence> with the following "
5464 "macros:"
5465 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
5466
5467 #. type: tbl table
5468 #: build/C/man2/lseek.2:216
5469 #, no-wrap
5470 msgid "old\tnew\n"
5471 msgstr "old \tnew\n"
5472
5473 #. type: tbl table
5474 #: build/C/man2/lseek.2:217
5475 #, no-wrap
5476 msgid "0\tSEEK_SET\n"
5477 msgstr "0\tSEEK_SET\n"
5478
5479 #. type: tbl table
5480 #: build/C/man2/lseek.2:218
5481 #, no-wrap
5482 msgid "1\tSEEK_CUR\n"
5483 msgstr "1\tSEEK_CUR\n"
5484
5485 #. type: tbl table
5486 #: build/C/man2/lseek.2:219
5487 #, no-wrap
5488 msgid "2\tSEEK_END\n"
5489 msgstr "2\tSEEK_END\n"
5490
5491 #. type: tbl table
5492 #: build/C/man2/lseek.2:220
5493 #, no-wrap
5494 msgid "L_SET\tSEEK_SET\n"
5495 msgstr "L_SET\tSEEK_SET\n"
5496
5497 #. type: tbl table
5498 #: build/C/man2/lseek.2:221
5499 #, no-wrap
5500 msgid "L_INCR\tSEEK_CUR\n"
5501 msgstr "L_INCR\tSEEK_CUR\n"
5502
5503 #. type: tbl table
5504 #: build/C/man2/lseek.2:222
5505 #, no-wrap
5506 msgid "L_XTND\tSEEK_END\n"
5507 msgstr "L_XTND\tSEEK_END\n"
5508
5509 #. type: Plain text
5510 #: build/C/man2/lseek.2:234
5511 msgid ""
5512 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
5513 "current file position pointer, so seeking on such files may be subject to "
5514 "race conditions."
5515 msgstr ""
5516 "B<dup>(2)  や B<fork>(2)  で作成されたファイルディスクリプタは、現在のファイ"
5517 "ル位置ポインタ (current file position pointer) を共有しているので、 このよう"
5518 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
5519
5520 #. type: Plain text
5521 #: build/C/man2/lseek.2:241
5522 msgid ""
5523 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5524 "B<posix_fallocate>(3)"
5525 msgstr ""
5526 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
5527 "B<posix_fallocate>(3)"
5528
5529 #. type: TH
5530 #: build/C/man3/lseek64.3:23
5531 #, no-wrap
5532 msgid "LSEEK64"
5533 msgstr "LSEEK64"
5534
5535 #. type: TH
5536 #: build/C/man3/lseek64.3:23
5537 #, no-wrap
5538 msgid "2004-12-11"
5539 msgstr "2004-12-11"
5540
5541 #. type: Plain text
5542 #: build/C/man3/lseek64.3:26
5543 msgid "lseek64 - reposition 64-bit read/write file offset"
5544 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
5545
5546 #. type: Plain text
5547 #: build/C/man3/lseek64.3:28
5548 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
5549 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
5550
5551 #. type: Plain text
5552 #: build/C/man3/lseek64.3:34
5553 msgid ""
5554 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5555 msgstr ""
5556 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
5557
5558 #. type: Plain text
5559 #: build/C/man3/lseek64.3:51
5560 msgid ""
5561 "The B<lseek>(2)  family of functions reposition the offset of the open file "
5562 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
5563 "start, current position, or end of the file, when I<whence> has the value "
5564 "B<SEEK_SET>, B<SEEK_CUR>, or B<SEEK_END>, respectively."
5565 msgstr ""
5566 "B<lseek>(2)  関数ファミリーは、ファイルディスクリプタ I<fd> に関連するオープ"
5567 "ンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から "
5568 "I<offset> の位置へ変更する。 これは I<whence> がそれぞれ B<SEEK_SET>, "
5569 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
5570
5571 #. type: Plain text
5572 #: build/C/man3/lseek64.3:54
5573 msgid "For more details, return value, and errors, see B<lseek>(2)."
5574 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
5575
5576 #. type: Plain text
5577 #: build/C/man3/lseek64.3:61
5578 msgid ""
5579 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
5580 "the raw system call B<_llseek>(2)."
5581 msgstr ""
5582 "4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
5583 "(2)  と元となるシステムコール B<_llseek>(2)  である。"
5584
5585 #. type: SS
5586 #: build/C/man3/lseek64.3:61
5587 #, no-wrap
5588 msgid "lseek"
5589 msgstr "lseek"
5590
5591 #. type: Plain text
5592 #: build/C/man3/lseek64.3:63 build/C/man3/lseek64.3:85
5593 #: build/C/man3/lseek64.3:114
5594 msgid "Prototype:"
5595 msgstr "プロトタイプ:"
5596
5597 #. type: Plain text
5598 #: build/C/man3/lseek64.3:67
5599 #, no-wrap
5600 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5601 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
5602
5603 #. type: Plain text
5604 #: build/C/man3/lseek64.3:75
5605 msgid ""
5606 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
5607 "architectures, unless one compiles with"
5608 msgstr ""
5609 "B<lseek>(2)  は型 I<off_t> を使う。 これは 32 ビットアーキテクチャ上では 32 "
5610 "ビット符号付き型である。 ただし、"
5611
5612 #. type: Plain text
5613 #: build/C/man3/lseek64.3:83
5614 msgid "in which case it is a 64-bit signed type."
5615 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
5616
5617 #. type: SS
5618 #: build/C/man3/lseek64.3:83
5619 #, no-wrap
5620 msgid "lseek64"
5621 msgstr "lseek64"
5622
5623 #. type: Plain text
5624 #: build/C/man3/lseek64.3:89
5625 #, no-wrap
5626 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5627 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
5628
5629 #. type: Plain text
5630 #: build/C/man3/lseek64.3:100
5631 msgid ""
5632 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
5633 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
5634 "when one compiles with"
5635 msgstr ""
5636 "ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
5637 "ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
5638 "ルした場合にのみ使用可能である。"
5639
5640 #. type: Plain text
5641 #: build/C/man3/lseek64.3:104
5642 #, no-wrap
5643 msgid "#define _LARGEFILE64_SOURCE\n"
5644 msgstr "#define _LARGEFILE64_SOURCE\n"
5645
5646 #.  in glibc 2.0.94, not in 2.0.6
5647 #. type: Plain text
5648 #: build/C/man3/lseek64.3:112
5649 msgid ""
5650 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
5651 "be an alias for B<llseek>()."
5652 msgstr ""
5653 "関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
5654 "アスとして定義されている。"
5655
5656 #. type: SS
5657 #: build/C/man3/lseek64.3:112
5658 #, no-wrap
5659 msgid "llseek"
5660 msgstr "llseek"
5661
5662 #. type: Plain text
5663 #: build/C/man3/lseek64.3:118
5664 #, no-wrap
5665 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5666 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
5667
5668 #.  in libc 5.0.9, not in 4.7.6
5669 #. type: Plain text
5670 #: build/C/man3/lseek64.3:137
5671 msgid ""
5672 "The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
5673 "()  is available in libc5 and glibc and works without special defines.  Its "
5674 "prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
5675 "provide a prototype.  This is bad, since a prototype is needed.  Users "
5676 "should add the above prototype, or something equivalent, to their own "
5677 "source.  When users complained about data loss caused by a miscompilation of "
5678 "B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
5679 msgstr ""
5680 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
5681 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
5682 "プは、libc5 では I<E<lt>unistd.hE<gt>> で与えられるが、glibc はプロトタイプを"
5683 "提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロ"
5684 "トタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 こ"
5685 "のデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情が"
5686 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
5687
5688 #. type: Plain text
5689 #: build/C/man3/lseek64.3:140
5690 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5691 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
5692
5693 #. type: Plain text
5694 #: build/C/man3/lseek64.3:144
5695 msgid ""
5696 "This makes this function unusable if one desires a warning-free compilation."
5697 msgstr ""
5698 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
5699
5700 #. type: SS
5701 #: build/C/man3/lseek64.3:144
5702 #, no-wrap
5703 msgid "_llseek"
5704 msgstr "_llseek"
5705
5706 #. type: Plain text
5707 #: build/C/man3/lseek64.3:147
5708 msgid ""
5709 "All the above functions are implemented in terms of this system call.  The "
5710 "prototype is:"
5711 msgstr ""
5712 "上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以"
5713 "下の通り:"
5714
5715 #. type: Plain text
5716 #: build/C/man3/lseek64.3:152
5717 #, no-wrap
5718 msgid ""
5719 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5720 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5721 msgstr ""
5722 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
5723 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
5724
5725 #. type: Plain text
5726 #: build/C/man3/lseek64.3:157
5727 msgid "For more details, see B<llseek>(2)."
5728 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
5729
5730 #. type: Plain text
5731 #: build/C/man3/lseek64.3:160
5732 msgid "B<llseek>(2), B<lseek>(2)"
5733 msgstr "B<llseek>(2), B<lseek>(2)"
5734
5735 #. type: TH
5736 #: build/C/man2/open.2:52
5737 #, no-wrap
5738 msgid "OPEN"
5739 msgstr "OPEN"
5740
5741 #. type: TH
5742 #: build/C/man2/open.2:52
5743 #, fuzzy, no-wrap
5744 #| msgid "2009-02-23"
5745 msgid "2012-02-27"
5746 msgstr "2009-02-23"
5747
5748 #. type: Plain text
5749 #: build/C/man2/open.2:55
5750 msgid "open, creat - open and possibly create a file or device"
5751 msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
5752
5753 #. type: Plain text
5754 #: build/C/man2/open.2:60
5755 #, no-wrap
5756 msgid ""
5757 "B<#include E<lt>sys/types.hE<gt>>\n"
5758 "B<#include E<lt>sys/stat.hE<gt>>\n"
5759 "B<#include E<lt>fcntl.hE<gt>>\n"
5760 msgstr ""
5761 "B<#include E<lt>sys/types.hE<gt>>\n"
5762 "B<#include E<lt>sys/stat.hE<gt>>\n"
5763 "B<#include E<lt>fcntl.hE<gt>>\n"
5764
5765 #. type: Plain text
5766 #: build/C/man2/open.2:63
5767 #, no-wrap
5768 msgid ""
5769 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5770 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5771 msgstr ""
5772 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
5773 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
5774
5775 #. type: Plain text
5776 #: build/C/man2/open.2:65
5777 #, no-wrap
5778 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5779 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
5780
5781 #. type: Plain text
5782 #: build/C/man2/open.2:76
5783 msgid ""
5784 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
5785 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
5786 "B<write>(2), B<lseek>(2), B<fcntl>(2), etc.).  The file descriptor returned "
5787 "by a successful call will be the lowest-numbered file descriptor not "
5788 "currently open for the process."
5789 msgstr ""
5790 "ファイルの I<pathname> を与えると、 B<open>()  はファイル・ディスクリプタを返"
5791 "す。 ファイル・ディスクリプタは、この後に続くシステムコール (B<read>(2), "
5792 "B<write>(2), B<lseek>(2), B<fcntl>(2) など)  で使用される小さな非負の整数であ"
5793 "る。 このシステムコールが成功した場合に返されるファイル・ディスクリプタは そ"
5794 "のプロセスがその時点でオープンしていないファイル・ディスクリプタの うち最小の"
5795 "数字のものとなる。"
5796
5797 #. type: Plain text
5798 #: build/C/man2/open.2:88
5799 #, fuzzy
5800 #| msgid ""
5801 #| "By default, the new file descriptor is set to remain open across an "
5802 #| "B<execve>(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in "
5803 #| "B<fcntl>(2)  is initially disabled; the Linux-specific B<O_CLOEXEC> flag, "
5804 #| "described below, can be used to change this default).  The file offset is "
5805 #| "set to the beginning of the file (see B<lseek>(2))."
5806 msgid ""
5807 "By default, the new file descriptor is set to remain open across an B<execve>"
5808 "(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
5809 "is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
5810 "to change this default).  The file offset is set to the beginning of the "
5811 "file (see B<lseek>(2))."
5812 msgstr ""
5813 "デフォルトでは、新しいファイル・ディスクリプタは B<execve>(2)  を実行した後も"
5814 "オープンされたままとなる (つまり、 B<fcntl>(2)  に説明がある B<FD_CLOEXEC> "
5815 "ファイル・ディスクリプタ・フラグは最初は無効である; 後述の Linux 固有のフラ"
5816 "グ B<O_CLOEXEC> を使うとこのデフォルトを変更することができる)。 ファイル・オ"
5817 "フセット (file offset) はファイルの先頭に設定される (B<lseek>(2)  参照)。"
5818
5819 #. type: Plain text
5820 #: build/C/man2/open.2:107
5821 msgid ""
5822 "A call to B<open>()  creates a new I<open file description>, an entry in the "
5823 "system-wide table of open files.  This entry records the file offset and the "
5824 "file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
5825 "file descriptor is a reference to one of these entries; this reference is "
5826 "unaffected if I<pathname> is subsequently removed or modified to refer to a "
5827 "different file.  The new open file description is initially not shared with "
5828 "any other process, but sharing may arise via B<fork>(2)."
5829 msgstr ""
5830 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
5831 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
5832 "のエントリである。 このエントリは、ファイル・オフセットとファイル状態フラグ "
5833 "(B<fcntl>(2)  B<F_SETFL> 操作により変更可能) が保持する。 ファイル・ディスク"
5834 "リプタはこれらのエントリの一つへの参照である。 この後で I<pathname> が削除さ"
5835 "れたり、他のファイルを参照するように変更されたりしても、 この参照は影響を受け"
5836 "ない。 新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていな"
5837 "いが、 B<fork>(2)  で共有が起こる場合がある。"
5838
5839 #. type: Plain text
5840 #: build/C/man2/open.2:115
5841 msgid ""
5842 "The argument I<flags> must include one of the following I<access modes>: "
5843 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
5844 "only, write-only, or read/write, respectively."
5845 msgstr ""
5846 "引き数 I<flags> には、アクセスモード B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> のど"
5847 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
5848 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
5849
5850 #.  FIXME . Actually is it true that the "file status flags" are all of the
5851 #.  remaining flags listed below?  SUSv4 divides the flags into:
5852 #.  * Access mode
5853 #.  * File creation
5854 #.  * File status
5855 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
5856 #.  though it's not clear what the difference between "other" and
5857 #.  "File creation" flags is.  (I've raised an Aardvark to see if this
5858 #.  can be clarified in SUSv4; 10 Oct 2008.)
5859 #. type: Plain text
5860 #: build/C/man2/open.2:142
5861 msgid ""
5862 "In addition, zero or more file creation flags and file status flags can be "
5863 "bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CREAT>, "
5864 "B<O_EXCL>, B<O_NOCTTY>, and B<O_TRUNC>.  The I<file status flags> are all of "
5865 "the remaining flags listed below.  The distinction between these two groups "
5866 "of flags is that the file status flags can be retrieved and (in some cases)  "
5867 "modified using B<fcntl>(2).  The full list of file creation flags and file "
5868 "status flags is as follows:"
5869 msgstr ""
5870 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
5871 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
5872 "定することができる。 I<ファイル作成フラグ> は B<O_CREAT>, B<O_EXCL>, "
5873 "B<O_NOCTTY>, B<O_TRUNC> である。 I<ファイル状態フラグ> は以下のリストのうち上"
5874 "記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は "
5875 "B<fcntl>(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点"
5876 "にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
5877
5878 #. type: TP
5879 #: build/C/man2/open.2:142
5880 #, no-wrap
5881 msgid "B<O_APPEND>"
5882 msgstr "B<O_APPEND>"
5883
5884 #.  For more background, see
5885 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
5886 #.  http://nfs.sourceforge.net/
5887 #. type: Plain text
5888 #: build/C/man2/open.2:159
5889 msgid ""
5890 "The file is opened in append mode.  Before each B<write>(2), the file offset "
5891 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
5892 "may lead to corrupted files on NFS file systems if more than one process "
5893 "appends data to a file at once.  This is because NFS does not support "
5894 "appending to a file, so the client kernel has to simulate it, which can't be "
5895 "done without a race condition."
5896 msgstr ""
5897 "ファイルを追加 (append) モードでオープンする。 毎回の B<write>(2)  の前に "
5898 "B<lseek>(2)  を行ったかのように、ファイル・ポインターをファイルの最後に移動す"
5899 "る。 NFS ファイル・システムで、 B<O_APPEND> を使用すると、複数のプロセスがひ"
5900 "とつのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがあ"
5901 "る。 これは NFS が追加モードをサポートしていないため、 クライアントのカーネ"
5902 "ル (kernel) がそれをシミュレートしなければならないのだが、 競合状態を避けるこ"
5903 "とはできないからである。"
5904
5905 #. type: TP
5906 #: build/C/man2/open.2:159
5907 #, no-wrap
5908 msgid "B<O_ASYNC>"
5909 msgstr "B<O_ASYNC>"
5910
5911 #. type: Plain text
5912 #: build/C/man2/open.2:172
5913 msgid ""
5914 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
5915 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
5916 "this file descriptor.  This feature is only available for terminals, "
5917 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
5918 "B<fcntl>(2)  for further details."
5919 msgstr ""
5920 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイル・ディスクリプ"
5921 "タへの 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
5922 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
5923 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
5924 "FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
5925
5926 #. type: TP
5927 #: build/C/man2/open.2:172
5928 #, no-wrap
5929 msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
5930 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
5931
5932 #.  This flag fixes only one form of the race condition;
5933 #.  The race can also occur with, for example, descriptors
5934 #.  returned by accept(), pipe(), etc.
5935 #. type: Plain text
5936 #: build/C/man2/open.2:197
5937 msgid ""
5938 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
5939 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
5940 "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
5941 "essential in some multithreaded programs since using a separate B<fcntl>(2)  "
5942 "B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
5943 "race conditions where one thread opens a file descriptor at the same time as "
5944 "another thread does a B<fork>(2)  plus B<execve>(2)."
5945 msgstr ""
5946 "新しいファイル・ディスクリプタに対して close-on-exec フラグを有効にする。 こ"
5947 "のフラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするため"
5948 "の B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種の"
5949 "マルチスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別"
5950 "に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したと"
5951 "しても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のス"
5952 "レッドが B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには"
5953 "十分ではないからである。"
5954
5955 #. type: TP
5956 #: build/C/man2/open.2:197
5957 #, no-wrap
5958 msgid "B<O_CREAT>"
5959 msgstr "B<O_CREAT>"
5960
5961 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
5962 #.  XFS (since 2.6.14).
5963 #. type: Plain text
5964 #: build/C/man2/open.2:213
5965 msgid ""
5966 "If the file does not exist it will be created.  The owner (user ID) of the "
5967 "file is set to the effective user ID of the process.  The group ownership "
5968 "(group ID) is set either to the effective group ID of the process or to the "
5969 "group ID of the parent directory (depending on file system type and mount "
5970 "options, and the mode of the parent directory, see the mount options "
5971 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
5972 msgstr ""
5973 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
5974 "ザー ID) は、プロセスの実効ユーザー ID に設定される。 グループ所有権 (グルー"
5975 "プ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定"
5976 "される (これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリの"
5977 "モードに依存する。 B<mount>(8)  で説明されているマウントオプション "
5978 "I<bsdgroups> と I<sysvgroups> を参照)。"
5979
5980 #. type: Plain text
5981 #: build/C/man2/open.2:236
5982 msgid ""
5983 "I<mode> specifies the permissions to use in case a new file is created.  "
5984 "This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
5985 "B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
5986 "permissions are modified by the process's I<umask> in the usual way: The "
5987 "permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
5988 "mode only applies to future accesses of the newly created file; the B<open>"
5989 "()  call that creates a read-only file may well return a read/write file "
5990 "descriptor."
5991 msgstr ""
5992 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
5993 "指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
5994 "ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
5995 "効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
5996 "成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
5997 "作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
5998 "と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
5999 "可能なファイル・ディスクリプタを返すことがありうる。"
6000
6001 #. type: Plain text
6002 #: build/C/man2/open.2:239
6003 msgid "The following symbolic constants are provided for I<mode>:"
6004 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
6005
6006 #. type: TP
6007 #: build/C/man2/open.2:239
6008 #, no-wrap
6009 msgid "B<S_IRWXU>"
6010 msgstr "B<S_IRWXU>"
6011
6012 #. type: Plain text
6013 #: build/C/man2/open.2:242
6014 msgid "00700 user (file owner) has read, write and execute permission"
6015 msgstr ""
6016 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
6017
6018 #. type: TP
6019 #: build/C/man2/open.2:242
6020 #, no-wrap
6021 msgid "B<S_IRUSR>"
6022 msgstr "B<S_IRUSR>"
6023
6024 #. type: Plain text
6025 #: build/C/man2/open.2:245
6026 msgid "00400 user has read permission"
6027 msgstr "00400 ユーザーに読み込みの許可がある。"
6028
6029 #. type: TP
6030 #: build/C/man2/open.2:245
6031 #, no-wrap
6032 msgid "B<S_IWUSR>"
6033 msgstr "B<S_IWUSR>"
6034
6035 #. type: Plain text
6036 #: build/C/man2/open.2:248
6037 msgid "00200 user has write permission"
6038 msgstr "00200 ユーザーに書き込みの許可がある。"
6039
6040 #. type: TP
6041 #: build/C/man2/open.2:248
6042 #, no-wrap
6043 msgid "B<S_IXUSR>"
6044 msgstr "B<S_IXUSR>"
6045
6046 #. type: Plain text
6047 #: build/C/man2/open.2:251
6048 msgid "00100 user has execute permission"
6049 msgstr "00100 ユーザーに実行の許可がある。"
6050
6051 #. type: TP
6052 #: build/C/man2/open.2:251
6053 #, no-wrap
6054 msgid "B<S_IRWXG>"
6055 msgstr "B<S_IRWXG>"
6056
6057 #. type: Plain text
6058 #: build/C/man2/open.2:254
6059 msgid "00070 group has read, write and execute permission"
6060 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
6061
6062 #. type: TP
6063 #: build/C/man2/open.2:254
6064 #, no-wrap
6065 msgid "B<S_IRGRP>"
6066 msgstr "B<S_IRGRP>"
6067
6068 #. type: Plain text
6069 #: build/C/man2/open.2:257
6070 msgid "00040 group has read permission"
6071 msgstr "00040 グループに読み込みの許可がある。"
6072
6073 #. type: TP
6074 #: build/C/man2/open.2:257
6075 #, no-wrap
6076 msgid "B<S_IWGRP>"
6077 msgstr "B<S_IWGRP>"
6078
6079 #. type: Plain text
6080 #: build/C/man2/open.2:260
6081 msgid "00020 group has write permission"
6082 msgstr "00020 グループに書き込みの許可がある。"
6083
6084 #. type: TP
6085 #: build/C/man2/open.2:260
6086 #, no-wrap
6087 msgid "B<S_IXGRP>"
6088 msgstr "B<S_IXGRP>"
6089
6090 #. type: Plain text
6091 #: build/C/man2/open.2:263
6092 msgid "00010 group has execute permission"
6093 msgstr "00010 グループに実行の許可がある。"
6094
6095 #. type: TP
6096 #: build/C/man2/open.2:263
6097 #, no-wrap
6098 msgid "B<S_IRWXO>"
6099 msgstr "B<S_IRWXO>"
6100
6101 #. type: Plain text
6102 #: build/C/man2/open.2:266
6103 msgid "00007 others have read, write and execute permission"
6104 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
6105
6106 #. type: TP
6107 #: build/C/man2/open.2:266
6108 #, no-wrap
6109 msgid "B<S_IROTH>"
6110 msgstr "B<S_IROTH>"
6111
6112 #. type: Plain text
6113 #: build/C/man2/open.2:269
6114 msgid "00004 others have read permission"
6115 msgstr "00004 他人に読み込みの許可がある。"
6116
6117 #. type: TP
6118 #: build/C/man2/open.2:269
6119 #, no-wrap
6120 msgid "B<S_IWOTH>"
6121 msgstr "B<S_IWOTH>"
6122
6123 #. type: Plain text
6124 #: build/C/man2/open.2:272
6125 msgid "00002 others have write permission"
6126 msgstr "00002 他人に書き込みの許可がある。"
6127
6128 #. type: TP
6129 #: build/C/man2/open.2:272
6130 #, no-wrap
6131 msgid "B<S_IXOTH>"
6132 msgstr "B<S_IXOTH>"
6133
6134 #. type: Plain text
6135 #: build/C/man2/open.2:275
6136 msgid "00001 others have execute permission"
6137 msgstr "00001 他人に実行の許可がある。"
6138
6139 #. type: TP
6140 #: build/C/man2/open.2:276
6141 #, no-wrap
6142 msgid "B<O_DIRECT> (Since Linux 2.4.10)"
6143 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
6144
6145 #. type: Plain text
6146 #: build/C/man2/open.2:295
6147 #, fuzzy
6148 #| msgid ""
6149 #| "Try to minimize cache effects of the I/O to and from this file.  In "
6150 #| "general this will degrade performance, but it is useful in special "
6151 #| "situations, such as when applications do their own caching.  File I/O is "
6152 #| "done directly to/from user space buffers.  The B<O_DIRECT> flag on its "
6153 #| "own makes at an effort to transfer data synchronously, but does not give "
6154 #| "the guarantees of the B<O_SYNC> that data and necessary metadata are "
6155 #| "transferred.  To guarantee synchronous I/O the B<O_SYNC> must be used in "
6156 #| "addition to B<O_DIRECT>.  See B<NOTES> below for further discussion."
6157 msgid ""
6158 "Try to minimize cache effects of the I/O to and from this file.  In general "
6159 "this will degrade performance, but it is useful in special situations, such "
6160 "as when applications do their own caching.  File I/O is done directly to/"
6161 "from user space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
6162 "transfer data synchronously, but does not give the guarantees of the "
6163 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
6164 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
6165 "B<O_DIRECT>.  See B<NOTES> below for further discussion."
6166 msgstr ""
6167 "このファイルに対する I/O のキャッシュの効果を最小化しようとする。 このフラグ"
6168 "を使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシング"
6169 "を行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
6170 "ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
6171 "はするが、 B<O_SYNC> のようにデータと必要なメタデータの転送が保証されるわけで"
6172 "はない。 同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を使用"
6173 "しなければならない。 「注意」の節 (下記) の議論も参照。"
6174
6175 #. type: Plain text
6176 #: build/C/man2/open.2:299
6177 msgid ""
6178 "A semantically similar (but deprecated) interface for block devices is "
6179 "described in B<raw>(8)."
6180 msgstr ""
6181 "ブロックデバイスに対する似通った意味のインターフェースが B<raw>(8)  で説明さ"
6182 "れている (但し、このインタフェースは非推奨である)。"
6183
6184 #. type: TP
6185 #: build/C/man2/open.2:299
6186 #, no-wrap
6187 msgid "B<O_DIRECTORY>"
6188 msgstr "B<O_DIRECTORY>"
6189
6190 #.  But see the following and its replies:
6191 #.  http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
6192 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
6193 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
6194 #. type: Plain text
6195 #: build/C/man2/open.2:313
6196 msgid ""
6197 "If I<pathname> is not a directory, cause the open to fail.  This flag is "
6198 "Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
6199 "service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
6200 "should not be used outside of the implementation of B<opendir>(3)."
6201 msgstr ""
6202 "I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
6203 "特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
6204 "の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
6205 "加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
6206
6207 #. type: TP
6208 #: build/C/man2/open.2:313
6209 #, no-wrap
6210 msgid "B<O_EXCL>"
6211 msgstr "B<O_EXCL>"
6212
6213 #. type: Plain text
6214 #: build/C/man2/open.2:323
6215 #, fuzzy
6216 #| msgid ""
6217 #| "Ensure that this call creates the file: if this flag is specified in "
6218 #| "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>"
6219 #| "()  will fail.  The behavior of B<O_EXCL> is undefined if B<O_CREAT> is "
6220 #| "not specified."
6221 msgid ""
6222 "Ensure that this call creates the file: if this flag is specified in "
6223 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
6224 "will fail."
6225 msgstr ""
6226 "この呼び出しでファイルが作成されることを保証する。 このフラグが B<O_CREAT> と"
6227 "一緒に指定され、 I<pathname> のファイルが既に存在した場合、 B<open>()  は失敗"
6228 "する。 B<O_CREAT> が指定されなかった場合の B<O_EXCL> の動作は未定義である。"
6229
6230 #.  POSIX.1-2001 explicitly requires this behavior.
6231 #. type: Plain text
6232 #: build/C/man2/open.2:331
6233 msgid ""
6234 "When these two flags are specified, symbolic links are not followed: if "
6235 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
6236 "the symbolic link points to."
6237 msgstr ""
6238 "これら二つのフラグが指定された際、シンボリックリンクは辿られない。 "
6239 "I<pathname> がシンボリックリンクの場合、 シンボリックリンクがどこを指している"
6240 "かに関わらず B<open>()  は失敗する。"
6241
6242 #. type: Plain text
6243 #: build/C/man2/open.2:347
6244 msgid ""
6245 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
6246 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
6247 "be used without B<O_CREAT> if I<pathname> refers to a block device.  If the "
6248 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
6249 "the error B<EBUSY>."
6250 msgstr ""
6251
6252 #. type: Plain text
6253 #: build/C/man2/open.2:369
6254 msgid ""
6255 "On NFS, B<O_EXCL> is only supported when using NFSv3 or later on kernel 2.6 "
6256 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
6257 "programs that rely on it for performing locking tasks will contain a race "
6258 "condition.  Portable programs that want to perform atomic file locking using "
6259 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
6260 "create a unique file on the same file system (e.g., incorporating hostname "
6261 "and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
6262 "(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
6263 "unique file to check if its link count has increased to 2, in which case the "
6264 "lock is also successful."
6265 msgstr ""
6266 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
6267 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
6268 "に頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う "
6269 "可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現"
6270 "し、 NFS が B<O_EXCL> をサポートしているかに依存しないようにしたい場合、 移植"
6271 "性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えば"
6272 "ホスト名と PID を組み合わせた名前) を作成し、 B<link>(2)  を使用してそのロッ"
6273 "クファイルへのリンクを作成することである。 B<link>(2)  コールの返り値が 0 な"
6274 "らばロックに成功している。 あるいは、そのファイルに B<stat>(2)  を使用してリ"
6275 "ンク数 (link count) が 2 になっているかをチェックする。 そうなっていれば、同"
6276 "じくロックに成功しているということである。"
6277
6278 #. type: TP
6279 #: build/C/man2/open.2:369
6280 #, no-wrap
6281 msgid "B<O_LARGEFILE>"
6282 msgstr "B<O_LARGEFILE>"
6283
6284 #. type: Plain text
6285 #: build/C/man2/open.2:391
6286 #, fuzzy
6287 #| msgid ""
6288 #| "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but "
6289 #| "can be represented in an I<off64_t>)  to be opened.  The "
6290 #| "B<_LARGEFILE64_SOURCE> macro must be defined (before including I<any> "
6291 #| "header files)  in order to obtain this definition.  Setting the "
6292 #| "B<_FILE_OFFSET_BITS> feature test macro to 64 (rather than using "
6293 #| "B<O_LARGEFILE>)  is the preferred method of obtaining method of accessing "
6294 #| "large files on 32-bit systems (see B<feature_test_macros>(7))."
6295 msgid ""
6296 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
6297 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
6298 "macro must be defined (before including I<any> header files)  in order to "
6299 "obtain this definition.  Setting the B<_FILE_OFFSET_BITS> feature test macro "
6300 "to 64 (rather than using B<O_LARGEFILE>)  is the preferred method of "
6301 "accessing large files on 32-bit systems (see B<feature_test_macros>(7))."
6302 msgstr ""
6303 "(LFS)  I<off_t> ではサイズを表せない (だだし I<off64_t> ではサイズを表せる) "
6304 "ファイルをオープン可能にする。 この定義を有効にするためには、 (「どの」ヘッダ"
6305 "ファイルをインクルードするよりも前に)  B<_LARGEFILE64_SOURCE> マクロを定義し"
6306 "なければならない。 32ビットシステムにおいて大きなファイルにアクセスする方法を"
6307 "得たい場合、 (B<O_LARGEFILE> を使うよりも)  B<_FILE_OFFSET_BITS> 機能検査マク"
6308 "ロをセットする方が望ましい方法である (B<feature_test_macros>(7)  を参照)。"
6309
6310 #. type: TP
6311 #: build/C/man2/open.2:391
6312 #, no-wrap
6313 msgid "B<O_NOATIME> (Since Linux 2.6.8)"
6314 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
6315
6316 #.  The O_NOATIME flag also affects the treatment of st_atime
6317 #.  by mmap() and readdir(2), MTK, Dec 04.
6318 #. type: Plain text
6319 #: build/C/man2/open.2:402
6320 msgid ""
6321 "Do not update the file last access time (st_atime in the inode)  when the "
6322 "file is B<read>(2).  This flag is intended for use by indexing or backup "
6323 "programs, where its use can significantly reduce the amount of disk "
6324 "activity.  This flag may not be effective on all file systems.  One example "
6325 "is NFS, where the server maintains the access time."
6326 msgstr ""
6327 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
6328 "st_atime) を更新しない。 このフラグはインデックス作成やバックアッププログラム"
6329 "で使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすこと"
6330 "ができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
6331 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
6332
6333 #. type: TP
6334 #: build/C/man2/open.2:402
6335 #, no-wrap
6336 msgid "B<O_NOCTTY>"
6337 msgstr "B<O_NOCTTY>"
6338
6339 #. type: Plain text
6340 #: build/C/man2/open.2:410
6341 #, fuzzy
6342 #| msgid ""
6343 #| "If I<pathname> refers to a terminal device \\(em see B<tty>(4)  \\(em it "
6344 #| "will not become the process's controlling terminal even if the process "
6345 #| "does not have one."
6346 msgid ""
6347 "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(em it will "
6348 "not become the process's controlling terminal even if the process does not "
6349 "have one."
6350 msgstr ""
6351 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4)  参照 \\(em を指してい"
6352 "る場合に、たとえそのプロセスが制御端末を持っていなくても、 オープンしたファイ"
6353 "ルは制御端末にはならない。"
6354
6355 #. type: TP
6356 #: build/C/man2/open.2:410
6357 #, no-wrap
6358 msgid "B<O_NOFOLLOW>"
6359 msgstr "B<O_NOFOLLOW>"
6360
6361 #.  The headers from glibc 2.0.100 and later include a
6362 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
6363 #.  used\fP.
6364 #. type: Plain text
6365 #: build/C/man2/open.2:419
6366 msgid ""
6367 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
6368 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
6369 "earlier components of the pathname will still be followed."
6370 msgstr ""
6371 "I<pathname> がシンボリック・リンクだった場合、オープンは失敗する。 これは "
6372 "FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
6373 "ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
6374 "が シンボリック・リンクである場合には、それが指す先が参照される。"
6375
6376 #. type: TP
6377 #: build/C/man2/open.2:419
6378 #, no-wrap
6379 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
6380 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
6381
6382 #. type: Plain text
6383 #: build/C/man2/open.2:432
6384 msgid ""
6385 "When possible, the file is opened in nonblocking mode.  Neither the B<open>"
6386 "()  nor any subsequent operations on the file descriptor which is returned "
6387 "will cause the calling process to wait.  For the handling of FIFOs (named "
6388 "pipes), see also B<fifo>(7).  For a discussion of the effect of "
6389 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
6390 "see B<fcntl>(2)."
6391 msgstr ""
6392 "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。 B<open>"
6393 "()  も、返したファイル・ディスクリプタに対する以後のすべての操作も 呼び出した"
6394 "プロセスを待たせることはない。 FIFO (ネームド・パイプ) を扱う場合には B<fifo>"
6395 "(7)  も参照すること。 強制ファイルロック (mandatory file lock) やファイルリー"
6396 "ス (file lease)  と組み合わせた場合の、 B<O_NONBLOCK> の効果についての議論"
6397 "は、 B<fcntl>(2)  を参照すること。"
6398
6399 #. type: TP
6400 #: build/C/man2/open.2:432
6401 #, no-wrap
6402 msgid "B<O_SYNC>"
6403 msgstr "B<O_SYNC>"
6404
6405 #. type: Plain text
6406 #: build/C/man2/open.2:440
6407 msgid ""
6408 "The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
6409 "file descriptor will block the calling process until the data has been "
6410 "physically written to the underlying hardware.  I<But see NOTES below>."
6411 msgstr ""
6412 "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
6413 "ファイル・ディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプロセ"
6414 "スをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下"
6415 "の「注意」の章も参照。>"
6416
6417 #. type: TP
6418 #: build/C/man2/open.2:440
6419 #, no-wrap
6420 msgid "B<O_TRUNC>"
6421 msgstr "B<O_TRUNC>"
6422
6423 #. type: Plain text
6424 #: build/C/man2/open.2:454
6425 msgid ""
6426 "If the file already exists and is a regular file and the open mode allows "
6427 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
6428 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
6429 "ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
6430 msgstr ""
6431 "ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
6432 "る (つまり、 B<O_RDWR>またはB<O_WRONLY> の) 場合、長さ 0 に切り詰め "
6433 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
6434 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
6435 "ある。"
6436
6437 #. type: Plain text
6438 #: build/C/man2/open.2:458
6439 msgid ""
6440 "Some of these optional flags can be altered using B<fcntl>(2)  after the "
6441 "file has been opened."
6442 msgstr ""
6443 "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
6444 "用して変更することができる。"
6445
6446 #. type: Plain text
6447 #: build/C/man2/open.2:466
6448 msgid ""
6449 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
6450 "O_WRONLY|O_TRUNC>."
6451 msgstr ""
6452 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
6453 "を行うのと等価である。"
6454
6455 #. type: Plain text
6456 #: build/C/man2/open.2:474
6457 msgid ""
6458 "B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
6459 "occurred (in which case, I<errno> is set appropriately)."
6460 msgstr ""
6461 "B<open>()  と B<creat>()  は新しいファイル・ディスクリプタを返す。 エラーが発"
6462 "生した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
6463
6464 #. type: Plain text
6465 #: build/C/man2/open.2:484
6466 msgid ""
6467 "The requested access to the file is not allowed, or search permission is "
6468 "denied for one of the directories in the path prefix of I<pathname>, or the "
6469 "file did not exist yet and write access to the parent directory is not "
6470 "allowed.  (See also B<path_resolution>(7).)"
6471 msgstr ""
6472 "ファイルに対する要求されたアクセスが許されていないか、 I<pathname> のディレク"
6473 "トリ部分の何れかのディレクトリに検索許可がなかった。 またはファイルが存在せ"
6474 "ず、親ディレクトリへの書き込み許可がなかった。 (B<path_resolution>(7)  も参照"
6475 "すること。)"
6476
6477 #. type: Plain text
6478 #: build/C/man2/open.2:490
6479 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
6480 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
6481
6482 #. type: Plain text
6483 #: build/C/man2/open.2:494 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
6484 msgid "I<pathname> points outside your accessible address space."
6485 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
6486
6487 #. type: TP
6488 #: build/C/man2/open.2:494 build/C/man2/write.2:139
6489 #, no-wrap
6490 msgid "B<EFBIG>"
6491 msgstr "B<EFBIG>"
6492
6493 #. type: Plain text
6494 #: build/C/man2/open.2:498
6495 msgid "See B<EOVERFLOW>."
6496 msgstr "B<EOVERFLOW> 参照。"
6497
6498 #. type: TP
6499 #: build/C/man2/open.2:498 build/C/man2/read.2:104 build/C/man3/scanf.3:559
6500 #: build/C/man3/tmpfile.3:59 build/C/man2/write.2:144
6501 #, no-wrap
6502 msgid "B<EINTR>"
6503 msgstr "B<EINTR>"
6504
6505 #. type: Plain text
6506 #: build/C/man2/open.2:505
6507 msgid ""
6508 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
6509 "see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
6510 "(7)."
6511 msgstr ""
6512 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
6513 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
6514 "B<signal>(7)  参照。"
6515
6516 #. type: TP
6517 #: build/C/man2/open.2:505 build/C/man2/read.2:140 build/C/man2/rename.2:140
6518 #: build/C/man2/unlink.2:87
6519 #, no-wrap
6520 msgid "B<EISDIR>"
6521 msgstr "B<EISDIR>"
6522
6523 #. type: Plain text
6524 #: build/C/man2/open.2:514
6525 msgid ""
6526 "I<pathname> refers to a directory and the access requested involved writing "
6527 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
6528 msgstr ""
6529 "I<pathname> はディレクトリを参照しており、書き込み要求が含まれていた (つまり "
6530 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
6531
6532 #. type: Plain text
6533 #: build/C/man2/open.2:521
6534 msgid ""
6535 "Too many symbolic links were encountered in resolving I<pathname>, or "
6536 "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
6537 msgstr ""
6538 "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。 または "
6539 "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
6540
6541 #. type: TP
6542 #: build/C/man2/open.2:521 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:62
6543 #, no-wrap
6544 msgid "B<EMFILE>"
6545 msgstr "B<EMFILE>"
6546
6547 #. type: Plain text
6548 #: build/C/man2/open.2:524
6549 msgid "The process already has the maximum number of files open."
6550 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
6551
6552 #. type: Plain text
6553 #: build/C/man2/open.2:528 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
6554 msgid "I<pathname> was too long."
6555 msgstr "I<pathname> が長過ぎる。"
6556
6557 #. type: TP
6558 #: build/C/man2/open.2:528 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:65
6559 #, no-wrap
6560 msgid "B<ENFILE>"
6561 msgstr "B<ENFILE>"
6562
6563 #. type: Plain text
6564 #: build/C/man2/open.2:531 build/C/man2/pipe.2:113
6565 msgid "The system limit on the total number of open files has been reached."
6566 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
6567
6568 #. type: TP
6569 #: build/C/man2/open.2:531
6570 #, no-wrap
6571 msgid "B<ENODEV>"
6572 msgstr "B<ENODEV>"
6573
6574 #. type: Plain text
6575 #: build/C/man2/open.2:538
6576 msgid ""
6577 "I<pathname> refers to a device special file and no corresponding device "
6578 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
6579 "returned.)"
6580 msgstr ""
6581 "I<pathname> がデバイス・スペシャル・ファイルを参照しており、対応するデバイス"
6582 "が存在しない。 (これは Linux カーネルのバグであり、この場合には B<ENXIO> が返"
6583 "されるべきである)"
6584
6585 #. type: Plain text
6586 #: build/C/man2/open.2:545
6587 msgid ""
6588 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
6589 "component in I<pathname> does not exist or is a dangling symbolic link."
6590 msgstr ""
6591 "B<O_CREAT> が設定されておらず、かつ指定されたファイルが存在しない。 または、 "
6592 "I<pathname> のディレクトリ部分が存在しないか壊れた (dangling) シンボリック・"
6593 "リンクである。"
6594
6595 #. type: Plain text
6596 #: build/C/man2/open.2:554
6597 msgid ""
6598 "I<pathname> was to be created but the device containing I<pathname> has no "
6599 "room for the new file."
6600 msgstr ""
6601 "I<pathname> を作成する必要があるが、 I<pathname> を含んでいるデバイスに新しい"
6602 "ファイルのための空き容量がない。"
6603
6604 #. type: Plain text
6605 #: build/C/man2/open.2:561
6606 msgid ""
6607 "A component used as a directory in I<pathname> is not, in fact, a directory, "
6608 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
6609 msgstr ""
6610 "I<pathname> に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 "
6611 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
6612
6613 #. type: Plain text
6614 #: build/C/man2/open.2:567
6615 msgid ""
6616 "B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
6617 "has the file open for reading.  Or, the file is a device special file and no "
6618 "corresponding device exists."
6619 msgstr ""
6620 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
6621 "ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
6622 "イルがデバイス・スペシャル・ファイルで 対応するデバイスが存在しない。"
6623
6624 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
6625 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
6626 #.  Reported 2006-10-03
6627 #. type: Plain text
6628 #: build/C/man2/open.2:587
6629 msgid ""
6630 "I<pathname> refers to a regular file that is too large to be opened.  The "
6631 "usual scenario here is that an application compiled on a 32-bit platform "
6632 "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
6633 "(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
6634 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
6635 "B<EFBIG> for this case."
6636 msgstr ""
6637 "I<pathname> が参照しているのが、大き過ぎてオープンできない通常のファイルであ"
6638 "る。 通常、このエラーが発生するは、32 ビットプラットフォーム上で I<-"
6639 "D_FILE_OFFSET_BITS=64> を指定せずにコンパイルされたアプリケーションが、ファイ"
6640 "ルサイズが I<(2E<lt>31)-1> ビットを超えるファイルを開こうとした場合である。 "
6641 "上記の B<O_LARGEFILE> も参照。 これは POSIX.1-2001 で規定されているエラーであ"
6642 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
6643 "いた。"
6644
6645 #.  Strictly speaking, it's the file system UID... (MTK)
6646 #. type: Plain text
6647 #: build/C/man2/open.2:595
6648 msgid ""
6649 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
6650 "did not match the owner of the file and the caller was not privileged "
6651 "(B<CAP_FOWNER>)."
6652 msgstr ""
6653 "B<O_NOATIME> フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの"
6654 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
6655
6656 #. type: Plain text
6657 #: build/C/man2/open.2:600
6658 msgid ""
6659 "I<pathname> refers to a file on a read-only file system and write access was "
6660 "requested."
6661 msgstr ""
6662 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
6663 "込みアクセスが要求された。"
6664
6665 #. type: TP
6666 #: build/C/man2/open.2:600
6667 #, no-wrap
6668 msgid "B<ETXTBSY>"
6669 msgstr "B<ETXTBSY>"
6670
6671 #. type: Plain text
6672 #: build/C/man2/open.2:605
6673 msgid ""
6674 "I<pathname> refers to an executable image which is currently being executed "
6675 "and write access was requested."
6676 msgstr ""
6677 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
6678
6679 #. type: TP
6680 #: build/C/man2/open.2:605
6681 #, no-wrap
6682 msgid "B<EWOULDBLOCK>"
6683 msgstr "B<EWOULDBLOCK>"
6684
6685 #. type: Plain text
6686 #: build/C/man2/open.2:612
6687 msgid ""
6688 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
6689 "the file (see B<fcntl>(2))."
6690 msgstr ""
6691 "B<O_NONBLOCK> フラグが指定されたが、そのファイルには矛盾するリースが設定され"
6692 "ていた (B<fcntl>(2)  参照)。"
6693
6694 #. type: Plain text
6695 #: build/C/man2/open.2:625
6696 msgid ""
6697 "SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
6698 "B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
6699 "B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
6700 "definitions."
6701 msgstr ""
6702 "SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
6703 "B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
6704 "は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
6705 "定義する必要があるかもしれない。"
6706
6707 #. type: Plain text
6708 #: build/C/man2/open.2:630
6709 msgid ""
6710 "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
6711 "POSIX.1-2008."
6712 msgstr ""
6713 "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
6714 "定されている。"
6715
6716 #. type: Plain text
6717 #: build/C/man2/open.2:638
6718 msgid ""
6719 "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
6720 "(before including I<any> header files)  to get its definition."
6721 msgstr ""
6722 "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
6723 "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
6724 "なければならない。"
6725
6726 #. type: Plain text
6727 #: build/C/man2/open.2:646
6728 msgid ""
6729 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
6730 "does not necessarily have the intention to read or write.  This is typically "
6731 "used to open devices in order to get a file descriptor for use with B<ioctl>"
6732 "(2)."
6733 msgstr ""
6734 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
6735 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
6736 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
6737 "られる。"
6738
6739 #.  See for example util-linux's disk-utils/setfdprm.c
6740 #.  For some background on access mode 3, see
6741 #.  http://thread.gmane.org/gmane.linux.kernel/653123
6742 #.  "[RFC] correct flags to f_mode conversion in __dentry_open"
6743 #.  LKML, 12 Mar 2008
6744 #. type: Plain text
6745 #: build/C/man2/open.2:675
6746 msgid ""
6747 "Unlike the other values that can be specified in I<flags>, the I<access "
6748 "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
6749 "individual bits.  Rather, they define the low order two bits of I<flags>, "
6750 "and are defined respectively as 0, 1, and 2.  In other words, the "
6751 "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
6752 "not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
6753 "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
6754 "and write permission on the file and return a descriptor that can't be used "
6755 "for reading or writing.  This nonstandard access mode is used by some Linux "
6756 "drivers to return a descriptor that is only to be used for device-specific "
6757 "B<ioctl>(2)  operations."
6758 msgstr ""
6759 "「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
6760 "定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
6761 "I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
6762 "れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
6763 "み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
6764 "では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
6765 "おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
6766 "し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
6767 "プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで使用され"
6768 "ており、 デバイス固有の B<ioctl>(2)  操作にのみ使用されるディスクリプタを返す"
6769 "ために使われている。"
6770
6771 #.  Linux 2.0, 2.5: truncate
6772 #.  Solaris 5.7, 5.8: truncate
6773 #.  Irix 6.5: truncate
6774 #.  Tru64 5.1B: truncate
6775 #.  HP-UX 11.22: truncate
6776 #.  FreeBSD 4.7: truncate
6777 #. type: Plain text
6778 #: build/C/man2/open.2:686
6779 msgid ""
6780 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
6781 "implementations.  On many systems the file is actually truncated."
6782 msgstr ""
6783 "B<O_RDONLY | O_TRUNC> の影響は未定義であり、その動作は実装によって異なる。 多"
6784 "くのシステムではファイルは実際に切り詰められる。"
6785
6786 #. type: Plain text
6787 #: build/C/man2/open.2:690
6788 msgid ""
6789 "There are many infelicities in the protocol underlying NFS, affecting "
6790 "amongst others B<O_SYNC> and B<O_NDELAY>."
6791 msgstr ""
6792 "NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
6793 "B<O_NDELAY> に影響する。"
6794
6795 #. type: Plain text
6796 #: build/C/man2/open.2:712
6797 msgid ""
6798 "POSIX provides for three different variants of synchronized I/O, "
6799 "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
6800 "(2.6.31), Linux only implements B<O_SYNC>, but glibc maps B<O_DSYNC> and "
6801 "B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
6802 "systems don't actually implement the POSIX B<O_SYNC> semantics, which "
6803 "require all metadata updates of a write to be on disk on returning to "
6804 "userspace, but only the B<O_DSYNC> semantics, which require only actual file "
6805 "data and metadata necessary to retrieve it to be on disk by the time the "
6806 "system call returns."
6807 msgstr ""
6808 "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
6809 "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
6810 "Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
6811 "B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
6812 "イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
6813 "だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
6814 "際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
6815 "がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
6816 "データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
6817 "ていればよい。"
6818
6819 #. type: Plain text
6820 #: build/C/man2/open.2:720
6821 msgid ""
6822 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
6823 "create them; use B<mknod>(2)  instead."
6824 msgstr ""
6825 "B<open>()  はスペシャル・ファイルをオープンすることができるが、 B<creat>()  "
6826 "でスペシャル・ファイルを作成できない点に注意すること。 代わりに B<mknod>(2)  "
6827 "を使用する。"
6828
6829 #. type: Plain text
6830 #: build/C/man2/open.2:733
6831 msgid ""
6832 "On NFS file systems with UID mapping enabled, B<open>()  may return a file "
6833 "descriptor but, for example, B<read>(2)  requests are denied with "
6834 "B<EACCES>.  This is because the client performs B<open>()  by checking the "
6835 "permissions, but UID mapping is performed by the server upon read and write "
6836 "requests."
6837 msgstr ""
6838 "UID マッピングを使用している NFS ファイル・システムでは、 B<open>()  がファイ"
6839 "ル・ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合"
6840 "がある。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行"
6841 "するが、読み込みや書き込みの際には サーバーで UID マッピングが行われるためで"
6842 "ある。"
6843
6844 #. type: Plain text
6845 #: build/C/man2/open.2:752
6846 msgid ""
6847 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
6848 "fields (respectively, time of last access, time of last status change, and "
6849 "time of last modification; see B<stat>(2))  are set to the current time, and "
6850 "so are the I<st_ctime> and I<st_mtime> fields of the parent directory.  "
6851 "Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
6852 "st_ctime and st_mtime fields are set to the current time."
6853 msgstr ""
6854 "ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
6855 "I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
6856 "時刻である。 B<stat>(2)  参照) が現在時刻に設定される。 さらに親ディレクトリ"
6857 "の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
6858 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
6859 "I<st_mtime> フィールドが現在時刻に設定される。"
6860
6861 #. type: SS
6862 #: build/C/man2/open.2:752
6863 #, no-wrap
6864 msgid "O_DIRECT"
6865 msgstr "O_DIRECT"
6866
6867 #. type: Plain text
6868 #: build/C/man2/open.2:769
6869 msgid ""
6870 "The B<O_DIRECT> flag may impose alignment restrictions on the length and "
6871 "address of userspace buffers and the file offset of I/Os.  In Linux "
6872 "alignment restrictions vary by file system and kernel version and might be "
6873 "absent entirely.  However there is currently no file system-independent "
6874 "interface for an application to discover these restrictions for a given file "
6875 "or file system.  Some file systems provide their own interfaces for doing "
6876 "so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
6877 msgstr ""
6878 "B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
6879 "ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
6880 "は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
6881 "り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
6882 "ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
6883 "リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
6884 "い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
6885 "が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
6886
6887 #. type: Plain text
6888 #: build/C/man2/open.2:775
6889 msgid ""
6890 "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
6891 "the file offset must all be multiples of the logical block size of the file "
6892 "system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
6893 msgstr ""
6894 "Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
6895 "セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
6896 "Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
6897
6898 #. type: Plain text
6899 #: build/C/man2/open.2:785
6900 msgid ""
6901 "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
6902 "restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
6903 "call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
6904 "flag of the same name, but without alignment restrictions."
6905 msgstr ""
6906 "B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
6907 "(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
6908 "サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
6909 "ラグを導入したが、アラインメントの制限はない。"
6910
6911 #. type: Plain text
6912 #: build/C/man2/open.2:794
6913 msgid ""
6914 "B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
6915 "Linux kernels simply ignore this flag.  Some file systems may not implement "
6916 "the flag and B<open>()  will fail with B<EINVAL> if it is used."
6917 msgstr ""
6918 "B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
6919 "る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
6920 "ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
6921 "と B<open>()  は B<EINVAL> で失敗する。"
6922
6923 #. type: Plain text
6924 #: build/C/man2/open.2:805
6925 msgid ""
6926 "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
6927 "file, and especially to overlapping byte regions in the same file.  Even "
6928 "when the file system correctly handles the coherency issues in this "
6929 "situation, overall I/O throughput is likely to be slower than using either "
6930 "mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
6931 "with direct I/O to the same files."
6932 msgstr ""
6933 "アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
6934 "て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
6935 "テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
6936 "も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
6937 "あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
6938 "I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
6939
6940 #. type: Plain text
6941 #: build/C/man2/open.2:827
6942 msgid ""
6943 "The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
6944 "Older kernels, or kernels configured in certain ways, may not support this "
6945 "combination.  The NFS protocol does not support passing the flag to the "
6946 "server, so B<O_DIRECT> I/O will only bypass the page cache on the client; "
6947 "the server may still cache the I/O.  The client asks the server to make the "
6948 "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
6949 "servers will perform poorly under these circumstances, especially if the I/O "
6950 "size is small.  Some servers may also be configured to lie to clients about "
6951 "the I/O having reached stable storage; this will avoid the performance "
6952 "penalty at some risk to data integrity in the event of server power "
6953 "failure.  The Linux NFS client places no alignment restrictions on "
6954 "B<O_DIRECT> I/O."
6955 msgstr ""
6956 "NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
6957 "う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
6958 "と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
6959 "サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
6960 "のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
6961 "るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
6962 "バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
6963 "下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
6964 "は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
6965 "のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
6966 "危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
6967 "の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
6968
6969 #. type: Plain text
6970 #: build/C/man2/open.2:834
6971 msgid ""
6972 "In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
6973 "with caution.  It is recommended that applications treat use of B<O_DIRECT> "
6974 "as a performance option which is disabled by default."
6975 msgstr ""
6976 "まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
6977 "性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
6978 "いる性能向上のためのオプションと 考えておくのがよいであろう。"
6979
6980 #. type: Plain text
6981 #: build/C/man2/open.2:839
6982 #, fuzzy
6983 #| msgid ""
6984 #| "\"The thing that has always disturbed me about O_DIRECT is that the whole "
6985 #| "interface is just stupid, and was probably designed by a deranged monkey "
6986 #| "on some serious mind-controlling substances.\" \\(em Linus"
6987 msgid ""
6988 "\"The thing that has always disturbed me about O_DIRECT is that the whole "
6989 "interface is just stupid, and was probably designed by a deranged monkey on "
6990 "some serious mind-controlling substances.\"\\(emLinus"
6991 msgstr ""
6992 "「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
6993 "危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
6994 "な」 \\(em Linus"
6995
6996 #.  FIXME . Check bugzilla report on open(O_ASYNC)
6997 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
6998 #. type: Plain text
6999 #: build/C/man2/open.2:851
7000 msgid ""
7001 "Currently, it is not possible to enable signal-driven I/O by specifying "
7002 "B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
7003 msgstr ""
7004 "現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
7005 "O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
7006 "すること。"
7007
7008 #. type: Plain text
7009 #: build/C/man2/open.2:873
7010 msgid ""
7011 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7012 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7013 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7014 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7015 msgstr ""
7016 "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
7017 "B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
7018 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
7019 "(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
7020
7021 #. type: TH
7022 #: build/C/man3/perror.3:30
7023 #, no-wrap
7024 msgid "PERROR"
7025 msgstr "PERROR"
7026
7027 #. type: Plain text
7028 #: build/C/man3/perror.3:33
7029 msgid "perror - print a system error message"
7030 msgstr "perror - システムエラーメッセージを出力する"
7031
7032 #. type: Plain text
7033 #: build/C/man3/perror.3:37
7034 msgid "B<void perror(const char *>I<s>B<);>"
7035 msgstr "B<void perror(const char *>I<s>B<);>"
7036
7037 #. type: Plain text
7038 #: build/C/man3/perror.3:39
7039 msgid "B<#include E<lt>errno.hE<gt>>"
7040 msgstr "B<#include E<lt>errno.hE<gt>>"
7041
7042 #. type: Plain text
7043 #: build/C/man3/perror.3:41
7044 msgid "B<const char *>I<sys_errlist>B<[];>"
7045 msgstr "B<const char *>I<sys_errlist>B<[];>"
7046
7047 #. type: Plain text
7048 #: build/C/man3/perror.3:43
7049 msgid "B<int >I<sys_nerr>B<;>"
7050 msgstr "B<int >I<sys_nerr>B<;>"
7051
7052 #. type: Plain text
7053 #: build/C/man3/perror.3:45
7054 msgid "B<int >I<errno>B<;>"
7055 msgstr "B<int >I<errno>B<;>"
7056
7057 #. type: Plain text
7058 #: build/C/man3/perror.3:54
7059 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7060 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
7061
7062 #. type: Plain text
7063 #: build/C/man3/perror.3:67
7064 msgid ""
7065 "The routine B<perror>()  produces a message on the standard error output, "
7066 "describing the last error encountered during a call to a system or library "
7067 "function.  First (if I<s> is not NULL and I<*s> is not a null byte (\\(aq"
7068 "\\e0\\(aq)) the argument string I<s> is printed, followed by a colon and a "
7069 "blank.  Then the message and a new-line."
7070 msgstr ""
7071 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
7072 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
7073 "(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
7074 "引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
7075 "メッセージと改行が出力される。"
7076
7077 #. type: Plain text
7078 #: build/C/man3/perror.3:75
7079 msgid ""
7080 "To be of most use, the argument string should include the name of the "
7081 "function that incurred the error.  The error number is taken from the "
7082 "external variable I<errno>, which is set when errors occur but not cleared "
7083 "when successful calls are made."
7084 msgstr ""
7085 "このメッセージを最大限活用するためには、引き数文字列にエラーが発生した 関数名"
7086 "を入れておくとよい。 エラー番号は外部変数 I<errno> から取得される。 I<errno> "
7087 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
7088
7089 #. type: Plain text
7090 #: build/C/man3/perror.3:86
7091 msgid ""
7092 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
7093 "obtain the error message without the newline.  The largest message number "
7094 "provided in the table is I<sys_nerr> -1.  Be careful when directly accessing "
7095 "this list because new error values may not have been added to I<sys_errlist>"
7096 "[]."
7097 msgstr ""
7098 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、この"
7099 "配列から改行無しのエラーメッセージが取得される。 テーブルでの最大のメッセージ"
7100 "番号は I<sys_nerr> -1 となる。 このテーブルを直接参照する際には注意すること。"
7101 "なぜなら、新しいエラー番号が I<sys_errlist>[] に追加済とは限らないからであ"
7102 "る。"
7103
7104 #. type: Plain text
7105 #: build/C/man3/perror.3:107
7106 msgid ""
7107 "When a system call fails, it usually returns -1 and sets the variable "
7108 "I<errno> to a value describing what went wrong.  (These values can be found "
7109 "in I<E<lt>errno.hE<gt>>.)  Many library functions do likewise.  The function "
7110 "B<perror>()  serves to translate this error code into human-readable form.  "
7111 "Note that I<errno> is undefined after a successful library call: this call "
7112 "may well change this variable, even though it succeeds, for example because "
7113 "it internally used some other library function that failed.  Thus, if a "
7114 "failing call is not immediately followed by a call to B<perror>(), the value "
7115 "of I<errno> should be saved."
7116 msgstr ""
7117 "システムコールが失敗した場合、通常、返り値として -1 が返り、 I<errno> にエ"
7118 "ラーを識別する値が設定される (設定されるエラー番号は I<E<lt>errno.hE<gt>> に"
7119 "記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 B<perror>()  "
7120 "は、このエラーコードの可読なメッセージへの変換を行う。 I<errno> は、ライブラ"
7121 "リ呼び出しが成功した後には未定義であることに注意が必要である: その呼び出し自"
7122 "身は成功したとしても、内部で呼び出した他のライブラリ関数が 失敗して、その結果"
7123 "をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に "
7124 "B<perror>()  を呼ばない場合には I<errno> の値を 保存しておかなければならな"
7125 "い。"
7126
7127 #. type: Plain text
7128 #: build/C/man3/perror.3:120
7129 msgid ""
7130 "The function B<perror>()  and the external I<errno> (see B<errno>(3))  "
7131 "conform to C89, C99, 4.3BSD, POSIX.1-2001.  The externals I<sys_nerr> and "
7132 "I<sys_errlist> conform to BSD."
7133 msgstr ""
7134 "関数 B<perror>()  と外部変数 I<errno> (B<errno>(3)  参照) は C89, 4.3BSD, "
7135 "POSIX.1-2001 に準拠している。 外部変数 I<sys_nerr> と I<sys_errlist> は BSD "
7136 "に準拠している。"
7137
7138 #.  and only when _BSD_SOURCE is defined.
7139 #.  When
7140 #.  .B _GNU_SOURCE
7141 #.  is defined, the symbols
7142 #.  .I _sys_nerr
7143 #.  and
7144 #.  .I _sys_errlist
7145 #.  are provided.
7146 #. type: Plain text
7147 #: build/C/man3/perror.3:135
7148 msgid ""
7149 "The externals I<sys_nerr> and I<sys_errlist> are defined by glibc, but in "
7150 "I<E<lt>stdio.hE<gt>>."
7151 msgstr ""
7152 "外部変数 I<sys_nerr> と I<sys_errlist> は glibc で定義されているが、 "
7153 "I<E<lt>stdio.hE<gt>> に含まれている。"
7154
7155 #. type: Plain text
7156 #: build/C/man3/perror.3:140
7157 msgid "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7158 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<strerror>(3)"
7159
7160 #. type: TH
7161 #: build/C/man2/pipe.2:36
7162 #, no-wrap
7163 msgid "PIPE"
7164 msgstr "PIPE"
7165
7166 #. type: TH
7167 #: build/C/man2/pipe.2:36
7168 #, fuzzy, no-wrap
7169 #| msgid "2010-02-03"
7170 msgid "2012-02-14"
7171 msgstr "2010-02-03"
7172
7173 #. type: Plain text
7174 #: build/C/man2/pipe.2:39
7175 msgid "pipe, pipe2 - create pipe"
7176 msgstr "pipe, pipe2 - パイプを生成する"
7177
7178 #. type: Plain text
7179 #: build/C/man2/pipe.2:42 build/C/man2/read.2:41
7180 #, no-wrap
7181 msgid "B<#include E<lt>unistd.hE<gt>>\n"
7182 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
7183
7184 #. type: Plain text
7185 #: build/C/man2/pipe.2:44
7186 #, no-wrap
7187 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
7188 msgstr "B<int pipe(int >I<pipefd>B<[2]);>\n"
7189
7190 #. type: Plain text
7191 #: build/C/man2/pipe.2:48
7192 #, fuzzy, no-wrap
7193 #| msgid ""
7194 #| "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7195 #| "B<#include E<lt>unistd.hE<gt>>\n"
7196 msgid ""
7197 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
7198 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
7199 "B<#include E<lt>unistd.hE<gt>>\n"
7200 msgstr ""
7201 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
7202 "B<#include E<lt>unistd.hE<gt>>\n"
7203
7204 #. type: Plain text
7205 #: build/C/man2/pipe.2:50
7206 #, no-wrap
7207 msgid "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7208 msgstr "B<int pipe2(int >I<pipefd>B<[2], int >I<flags>B<);>\n"
7209
7210 #. type: Plain text
7211 #: build/C/man2/pipe.2:66
7212 msgid ""
7213 "B<pipe>()  creates a pipe, a unidirectional data channel that can be used "
7214 "for interprocess communication.  The array I<pipefd> is used to return two "
7215 "file descriptors referring to the ends of the pipe.  I<pipefd[0]> refers to "
7216 "the read end of the pipe.  I<pipefd[1]> refers to the write end of the "
7217 "pipe.  Data written to the write end of the pipe is buffered by the kernel "
7218 "until it is read from the read end of the pipe.  For further details, see "
7219 "B<pipe>(7)."
7220 msgstr ""
7221 "B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
7222 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
7223 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
7224 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
7225 "データは、 パイプの読み出し側から読み出されるまでカーネルでバッファリングされ"
7226 "る。 さらなる詳細は B<pipe>(7)  を参照のこと。"
7227
7228 #. type: Plain text
7229 #: build/C/man2/pipe.2:76
7230 msgid ""
7231 "If I<flags> is 0, then B<pipe2>()  is the same as B<pipe>().  The following "
7232 "values can be bitwise ORed in I<flags> to obtain different behavior:"
7233 msgstr ""
7234 "B<pipe2>()  は I<flags> が 0 の場合には B<pipe>()  と同じである。 I<flags> に"
7235 "以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることがで"
7236 "きる。"
7237
7238 #. type: TP
7239 #: build/C/man2/pipe.2:76
7240 #, no-wrap
7241 msgid "B<O_NONBLOCK>"
7242 msgstr "B<O_NONBLOCK>"
7243
7244 #. type: Plain text
7245 #: build/C/man2/pipe.2:84
7246 msgid ""
7247 "Set the B<O_NONBLOCK> file status flag on the two new open file "
7248 "descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
7249 "the same result."
7250 msgstr ""
7251 "新しく生成される二つのオープンファイル記述 (open file description) の "
7252 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
7253 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
7254 "なる。"
7255
7256 #. type: TP
7257 #: build/C/man2/pipe.2:84
7258 #, no-wrap
7259 msgid "B<O_CLOEXEC>"
7260 msgstr "B<O_CLOEXEC>"
7261
7262 #. type: Plain text
7263 #: build/C/man2/pipe.2:92
7264 msgid ""
7265 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
7266 "descriptors.  See the description of the same flag in B<open>(2)  for "
7267 "reasons why this may be useful."
7268 msgstr ""
7269 "新しく生成される二つのファイルディスクリプタの close-on-exec "
7270 "(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
7271 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7272
7273 #. type: Plain text
7274 #: build/C/man2/pipe.2:102
7275 msgid "I<pipefd> is not valid."
7276 msgstr "I<pipefd> が無効な値である。"
7277
7278 #. type: Plain text
7279 #: build/C/man2/pipe.2:107
7280 msgid "(B<pipe2>())  Invalid value in I<flags>."
7281 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
7282
7283 #. type: Plain text
7284 #: build/C/man2/pipe.2:110
7285 msgid "Too many file descriptors are in use by the process."
7286 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
7287
7288 #. type: Plain text
7289 #: build/C/man2/pipe.2:118
7290 msgid ""
7291 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
7292 "starting with version 2.9."
7293 msgstr ""
7294 "B<pipe2>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
7295 "はバージョン 2.9 以降で利用できる。"
7296
7297 #. type: Plain text
7298 #: build/C/man2/pipe.2:121
7299 msgid "B<pipe>(): POSIX.1-2001."
7300 msgstr "B<pipe>(): POSIX.1-2001."
7301
7302 #. type: Plain text
7303 #: build/C/man2/pipe.2:124
7304 msgid "B<pipe2>()  is Linux-specific."
7305 msgstr "B<pipe2>()  は Linux 固有である。"
7306
7307 #.  fork.2 refers to this example program.
7308 #. type: Plain text
7309 #: build/C/man2/pipe.2:140
7310 msgid ""
7311 "The following program creates a pipe, and then B<fork>(2)s to create a child "
7312 "process; the child inherits a duplicate set of file descriptors that refer "
7313 "to the same pipe.  After the B<fork>(2), each process closes the descriptors "
7314 "that it doesn't need for the pipe (see B<pipe>(7)).  The parent then writes "
7315 "the string contained in the program's command-line argument to the pipe, and "
7316 "the child reads this string a byte at a time from the pipe and echoes it on "
7317 "standard output."
7318 msgstr ""
7319 "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
7320 "る。 子プロセスは同じパイプを参照するファイルディスクリプタ集合のコピーを 継"
7321 "承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がな"
7322 "くなったディスクリプタをクローズする。 親プロセスはプログラムのコマンドライン"
7323 "引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプか"
7324 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
7325
7326 #. type: Plain text
7327 #: build/C/man2/pipe.2:147
7328 #, no-wrap
7329 msgid ""
7330 "#include E<lt>sys/wait.hE<gt>\n"
7331 "#include E<lt>stdio.hE<gt>\n"
7332 "#include E<lt>stdlib.hE<gt>\n"
7333 "#include E<lt>unistd.hE<gt>\n"
7334 "#include E<lt>string.hE<gt>\n"
7335 msgstr ""
7336 "#include E<lt>sys/wait.hE<gt>\n"
7337 "#include E<lt>stdio.hE<gt>\n"
7338 "#include E<lt>stdlib.hE<gt>\n"
7339 "#include E<lt>unistd.hE<gt>\n"
7340 "#include E<lt>string.hE<gt>\n"
7341
7342 #. type: Plain text
7343 #: build/C/man2/pipe.2:154
7344 #, no-wrap
7345 msgid ""
7346 "int\n"
7347 "main(int argc, char *argv[])\n"
7348 "{\n"
7349 "    int pipefd[2];\n"
7350 "    pid_t cpid;\n"
7351 "    char buf;\n"
7352 msgstr ""
7353 "int\n"
7354 "main(int argc, char *argv[])\n"
7355 "{\n"
7356 "    int pipefd[2];\n"
7357 "    pid_t cpid;\n"
7358 "    char buf;\n"
7359
7360 #. type: Plain text
7361 #: build/C/man2/pipe.2:159
7362 #, no-wrap
7363 msgid ""
7364 "    if (argc != 2) {\n"
7365 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7366 "\texit(EXIT_FAILURE);\n"
7367 "    }\n"
7368 msgstr ""
7369 "    if (argc != 2) {\n"
7370 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
7371 "\texit(EXIT_FAILURE);\n"
7372 "    }\n"
7373
7374 #. type: Plain text
7375 #: build/C/man2/pipe.2:164
7376 #, no-wrap
7377 msgid ""
7378 "    if (pipe(pipefd) == -1) {\n"
7379 "        perror(\"pipe\");\n"
7380 "        exit(EXIT_FAILURE);\n"
7381 "    }\n"
7382 msgstr ""
7383 "    if (pipe(pipefd) == -1) {\n"
7384 "        perror(\"pipe\");\n"
7385 "        exit(EXIT_FAILURE);\n"
7386 "    }\n"
7387
7388 #. type: Plain text
7389 #: build/C/man2/pipe.2:170
7390 #, no-wrap
7391 msgid ""
7392 "    cpid = fork();\n"
7393 "    if (cpid == -1) {\n"
7394 "        perror(\"fork\");\n"
7395 "        exit(EXIT_FAILURE);\n"
7396 "    }\n"
7397 msgstr ""
7398 "    cpid = fork();\n"
7399 "    if (cpid == -1) {\n"
7400 "        perror(\"fork\");\n"
7401 "        exit(EXIT_FAILURE);\n"
7402 "    }\n"
7403
7404 #. type: Plain text
7405 #: build/C/man2/pipe.2:173
7406 #, no-wrap
7407 msgid ""
7408 "    if (cpid == 0) {    /* Child reads from pipe */\n"
7409 "        close(pipefd[1]);          /* Close unused write end */\n"
7410 msgstr ""
7411 "    if (cpid == 0) {    /* 子プロセスがパイプから読み込む */\n"
7412 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
7413
7414 #. type: Plain text
7415 #: build/C/man2/pipe.2:176
7416 #, no-wrap
7417 msgid ""
7418 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7419 "            write(STDOUT_FILENO, &buf, 1);\n"
7420 msgstr ""
7421 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
7422 "            write(STDOUT_FILENO, &buf, 1);\n"
7423
7424 #. type: Plain text
7425 #: build/C/man2/pipe.2:180
7426 #, no-wrap
7427 msgid ""
7428 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7429 "        close(pipefd[0]);\n"
7430 "        _exit(EXIT_SUCCESS);\n"
7431 msgstr ""
7432 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
7433 "        close(pipefd[0]);\n"
7434 "        _exit(EXIT_SUCCESS);\n"
7435
7436 #. type: Plain text
7437 #: build/C/man2/pipe.2:189
7438 #, no-wrap
7439 msgid ""
7440 "    } else {            /* Parent writes argv[1] to pipe */\n"
7441 "        close(pipefd[0]);          /* Close unused read end */\n"
7442 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7443 "        close(pipefd[1]);          /* Reader will see EOF */\n"
7444 "        wait(NULL);                /* Wait for child */\n"
7445 "        exit(EXIT_SUCCESS);\n"
7446 "    }\n"
7447 "}\n"
7448 msgstr ""
7449 "    } else {            /* 親プロセスは argv[1] をパイプへ書き込む */\n"
7450 "        close(pipefd[0]);          /* 使用しない read 側はクローズする */\n"
7451 "        write(pipefd[1], argv[1], strlen(argv[1]));\n"
7452 "        close(pipefd[1]);          /* 読み込み側が EOF に出会う */\n"
7453 "        wait(NULL);                /* 子プロセスを待つ */\n"
7454 "        exit(EXIT_SUCCESS);\n"
7455 "    }\n"
7456 "}\n"
7457
7458 #. type: Plain text
7459 #: build/C/man2/pipe.2:197
7460 msgid ""
7461 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7462 "(7)"
7463 msgstr ""
7464 "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
7465 "(7)"
7466
7467 #. type: TH
7468 #: build/C/man3/popen.3:38
7469 #, no-wrap
7470 msgid "POPEN"
7471 msgstr "POPEN"
7472
7473 #. type: TH
7474 #: build/C/man3/popen.3:38
7475 #, no-wrap
7476 msgid "2010-02-03"
7477 msgstr "2010-02-03"
7478
7479 #. type: Plain text
7480 #: build/C/man3/popen.3:41
7481 msgid "popen, pclose - pipe stream to or from a process"
7482 msgstr "popen, pclose - プロセスとの入力/出力用のパイプ・ストリーム"
7483
7484 #. type: Plain text
7485 #: build/C/man3/popen.3:46
7486 #, no-wrap
7487 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7488 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
7489
7490 #. type: Plain text
7491 #: build/C/man3/popen.3:48
7492 #, no-wrap
7493 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
7494 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
7495
7496 #. type: Plain text
7497 #: build/C/man3/popen.3:58
7498 msgid "B<popen>(), B<pclose>():"
7499 msgstr "B<popen>(), B<pclose>():"
7500
7501 #. type: Plain text
7502 #: build/C/man3/popen.3:60
7503 msgid ""
7504 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7505 msgstr ""
7506 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
7507
7508 #. type: Plain text
7509 #: build/C/man3/popen.3:71
7510 msgid ""
7511 "The B<popen>()  function opens a process by creating a pipe, forking, and "
7512 "invoking the shell.  Since a pipe is by definition unidirectional, the "
7513 "I<type> argument may specify only reading or writing, not both; the "
7514 "resulting stream is correspondingly read-only or write-only."
7515 msgstr ""
7516 "B<popen>()  関数は、プロセスをオープンする。具体的には、 パイプを生成し、"
7517 "フォークを行い、シェルを起動する。 定義から分かるように、パイプは一方向なの"
7518 "で、 I<type> 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方"
7519 "は指定できない)。 生成されるストリームは、この指定に対応して、読み取り専用ま"
7520 "たは 書き込み専用のいずれかとなる。"
7521
7522 #. type: Plain text
7523 #: build/C/man3/popen.3:95
7524 msgid ""
7525 "The I<command> argument is a pointer to a null-terminated string containing "
7526 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
7527 "flag; interpretation, if any, is performed by the shell.  The I<type> "
7528 "argument is a pointer to a null-terminated string which must contain either "
7529 "the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq for writing.  "
7530 "Since glibc 2.9, this argument can additionally include the letter \\(aqe"
7531 "\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to be set on the "
7532 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
7533 "B<open>(2)  for reasons why this may be useful."
7534 msgstr ""
7535 "I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
7536 "インタである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
7537 "マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、"
7538 "NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
7539 "込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
7540 "2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
7541 "\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
7542 "フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
7543 "B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
7544
7545 #. type: Plain text
7546 #: build/C/man3/popen.3:111
7547 msgid ""
7548 "The return value from B<popen>()  is a normal standard I/O stream in all "
7549 "respects save that it must be closed with B<pclose>()  rather than B<fclose>"
7550 "(3).  Writing to such a stream writes to the standard input of the command; "
7551 "the command's standard output is the same as that of the process that called "
7552 "B<popen>(), unless this is altered by the command itself.  Conversely, "
7553 "reading from a \"popened\" stream reads the command's standard output, and "
7554 "the command's standard input is the same as that of the process that called "
7555 "B<popen>()."
7556 msgstr ""
7557 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
7558 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
7559 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
7560 "マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
7561 "()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
7562 "()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
7563 "み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
7564 "セスの標準入力と同一である。"
7565
7566 #. type: Plain text
7567 #: build/C/man3/popen.3:115
7568 msgid "Note that output B<popen>()  streams are fully buffered by default."
7569 msgstr ""
7570 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
7571 "に注意しよう。"
7572
7573 #. type: Plain text
7574 #: build/C/man3/popen.3:121
7575 msgid ""
7576 "The B<pclose>()  function waits for the associated process to terminate and "
7577 "returns the exit status of the command as returned by B<wait4>(2)."
7578 msgstr ""
7579 "B<pclose>()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 "
7580 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
7581
7582 #. type: Plain text
7583 #: build/C/man3/popen.3:129
7584 msgid ""
7585 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
7586 "calls fail, or if it cannot allocate memory."
7587 msgstr ""
7588 "B<popen>()  関数は、 B<fork>(2)  または B<pipe>(2)  呼び出しが失敗した場合"
7589 "や、 メモリ割り当てができなかった場合、 NULL を返す。"
7590
7591 #.  These conditions actually give undefined results, so I commented
7592 #.  them out.
7593 #.  .I stream
7594 #.  is not associated with a "popen()ed" command, if
7595 #. .I stream
7596 #.  already "pclose()d", or if
7597 #. type: Plain text
7598 #: build/C/man3/popen.3:141
7599 msgid ""
7600 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
7601 "some other error is detected."
7602 msgstr ""
7603 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
7604 "かった場合、 -1 を返す。"
7605
7606 #. type: Plain text
7607 #: build/C/man3/popen.3:160
7608 msgid ""
7609 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
7610 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
7611 "appropriately.  If the I<type> argument is invalid, and this condition is "
7612 "detected, I<errno> is set to B<EINVAL>."
7613 msgstr ""
7614 "B<popen>()  関数は、メモリアロケーションに失敗しても I<errno> をセットしな"
7615 "い。 B<popen>()  が中で呼び出す B<fork>(2)  や B<pipe>(2)  が失敗した場合に"
7616 "は、 I<errno> が適切にセットされる。 引き数 I<type> が無効であり、この状態が"
7617 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
7618
7619 #. type: Plain text
7620 #: build/C/man3/popen.3:167
7621 msgid ""
7622 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
7623 msgstr ""
7624 "B<pclose>()  が、子プロセスの状態を取得できなかった場合、 I<errno> が "
7625 "B<ECHILD> にセットされる。"
7626
7627 #. type: Plain text
7628 #: build/C/man3/popen.3:173
7629 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
7630 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
7631
7632 #. type: Plain text
7633 #: build/C/man3/popen.3:186
7634 msgid ""
7635 "Since the standard input of a command opened for reading shares its seek "
7636 "offset with the process that called B<popen>(), if the original process has "
7637 "done a buffered read, the command's input position may not be as expected.  "
7638 "Similarly, the output from a command opened for writing may become "
7639 "intermingled with that of the original process.  The latter can be avoided "
7640 "by calling B<fflush>(3)  before B<popen>()."
7641 msgstr ""
7642 "読み込みのために開かれたコマンドの標準入力は B<popen>(), を呼んだプロセスと一"
7643 "緒に、その読み取り位置を共有する。 そのため、もとのプロセスがバッファリングさ"
7644 "れた読み取りを終了したら、 そのコマンドの入力位置は予想されたものには なって"
7645 "いないかもしれない。 同様に、書き込みのために開かれたコマンドからの出力は、 "
7646 "もとのプロセスの出力と混ざり合うことになるかもしれない。 後者は B<popen>()  "
7647 "の前に B<fflush>(3)  を呼び出すことによって回避可能である。"
7648
7649 #.  .SH HISTORY
7650 #.  A
7651 #.  .BR popen ()
7652 #.  and a
7653 #.  .BR pclose ()
7654 #.  function appeared in Version 7 AT&T UNIX.
7655 #. type: Plain text
7656 #: build/C/man3/popen.3:196
7657 msgid ""
7658 "Failure to execute the shell is indistinguishable from the shell's failure "
7659 "to execute command, or an immediate exit of the command.  The only hint is "
7660 "an exit status of 127."
7661 msgstr ""
7662 "シェルの実行の失敗は、 シェルがコマンドの実行に失敗したことや、 コマンドがす"
7663 "ぐに終了してしまったことと、区別がつかない。 唯一のヒントは終了状態が 127 に"
7664 "なることである。"
7665
7666 #. type: Plain text
7667 #: build/C/man3/popen.3:206
7668 msgid ""
7669 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7670 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7671 msgstr ""
7672 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
7673 "B<fopen>(3), B<stdio>(3), B<system>(3)"
7674
7675 #. type: TH
7676 #: build/C/man3/printf.3:34
7677 #, no-wrap
7678 msgid "PRINTF"
7679 msgstr "PRINTF"
7680
7681 #. type: TH
7682 #: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man3/scanf.3:50
7683 #, no-wrap
7684 msgid "2011-09-28"
7685 msgstr "2011-09-28"
7686
7687 #. type: Plain text
7688 #: build/C/man3/printf.3:38
7689 msgid ""
7690 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7691 "formatted output conversion"
7692 msgstr ""
7693 "printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - "
7694 "指定された書式に変換して出力を行う"
7695
7696 #. type: Plain text
7697 #: build/C/man3/printf.3:42
7698 msgid "B<int printf(const char *>I<format>B<, ...);>"
7699 msgstr "B<int printf(const char *>I<format>B<, ...);>"
7700
7701 #. type: Plain text
7702 #: build/C/man3/printf.3:44
7703 msgid "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7704 msgstr "B<int fprintf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>"
7705
7706 #. type: Plain text
7707 #: build/C/man3/printf.3:46
7708 msgid "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7709 msgstr "B<int sprintf(char *>I<str>B<, const char *>I<format>B<, ...);>"
7710
7711 #. type: Plain text
7712 #: build/C/man3/printf.3:48
7713 msgid ""
7714 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7715 "*>I<format>B<, ...);>"
7716 msgstr ""
7717 "B<int snprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7718 "*>I<format>B<, ...);>"
7719
7720 #. type: Plain text
7721 #: build/C/man3/printf.3:50
7722 msgid "B<#include E<lt>stdarg.hE<gt>>"
7723 msgstr "B<#include E<lt>stdarg.hE<gt>>"
7724
7725 #. type: Plain text
7726 #: build/C/man3/printf.3:52
7727 msgid "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7728 msgstr "B<int vprintf(const char *>I<format>B<, va_list >I<ap>B<);>"
7729
7730 #. type: Plain text
7731 #: build/C/man3/printf.3:54
7732 msgid ""
7733 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7734 ">I<ap>B<);>"
7735 msgstr ""
7736 "B<int vfprintf(FILE *>I<stream>B<, const char *>I<format>B<, va_list "
7737 ">I<ap>B<);>"
7738
7739 #. type: Plain text
7740 #: build/C/man3/printf.3:56
7741 msgid ""
7742 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7743 msgstr ""
7744 "B<int vsprintf(char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
7745
7746 #. type: Plain text
7747 #: build/C/man3/printf.3:59
7748 msgid ""
7749 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7750 "*>I<format>B<, va_list >I<ap>B<);>"
7751 msgstr ""
7752 "B<int vsnprintf(char *>I<str>B<, size_t >I<size>B<, const char "
7753 "*>I<format>B<, va_list >I<ap>B<);>"
7754
7755 #. type: Plain text
7756 #: build/C/man3/printf.3:68
7757 msgid "B<snprintf>(), B<vsnprintf>():"
7758 msgstr "B<snprintf>(), B<vsnprintf>():"
7759
7760 #. type: Plain text
7761 #: build/C/man3/printf.3:71
7762 msgid ""
7763 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7764 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7765 msgstr ""
7766 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE || "
7767 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
7768
7769 #. type: Plain text
7770 #: build/C/man3/printf.3:74 build/C/man3/scanf.3:83
7771 msgid "or I<cc -std=c99>"
7772 msgstr "or I<cc -std=c99>"
7773
7774 #. type: Plain text
7775 #: build/C/man3/printf.3:101
7776 msgid ""
7777 "The functions in the B<printf>()  family produce output according to a "
7778 "I<format> as described below.  The functions B<printf>()  and B<vprintf>()  "
7779 "write output to I<stdout>, the standard output stream; B<fprintf>()  and "
7780 "B<vfprintf>()  write output to the given output I<stream>; B<sprintf>(), "
7781 "B<snprintf>(), B<vsprintf>()  and B<vsnprintf>()  write to the character "
7782 "string I<str>."
7783 msgstr ""
7784 "B<printf>()  関数グループは、以下で述べるように、 I<format> に従って出力を生"
7785 "成するものである。 B<printf>()  と B<vprintf>()  は出力を I<stdout> (標準出力"
7786 "ストリーム) に書き出す。 B<fprintf>()  と B<vfprintf>()  は出力を指定された出"
7787 "力 I<stream> に書き出す。 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7788 "B<vsnprintf>()  は出力を文字列 I<str> に書き込む。"
7789
7790 #. type: Plain text
7791 #: build/C/man3/printf.3:110
7792 msgid ""
7793 "The functions B<snprintf>()  and B<vsnprintf>()  write at most I<size> bytes "
7794 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
7795 msgstr ""
7796 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
7797 "む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
7798
7799 #. type: Plain text
7800 #: build/C/man3/printf.3:134
7801 msgid ""
7802 "The functions B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  "
7803 "are equivalent to the functions B<printf>(), B<fprintf>(), B<sprintf>(), "
7804 "B<snprintf>(), respectively, except that they are called with a I<va_list> "
7805 "instead of a variable number of arguments.  These functions do not call the "
7806 "I<va_end> macro.  Because they invoke the I<va_arg> macro, the value of "
7807 "I<ap> is undefined after the call.  See B<stdarg>(3)."
7808 msgstr ""
7809 "B<vprintf>(), B<vfprintf>(), B<vsprintf>(), B<vsnprintf>()  の各関数はそれぞ"
7810 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
7811 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
7812 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
7813 "I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
7814 "(3)  を参照のこと。"
7815
7816 #. type: Plain text
7817 #: build/C/man3/printf.3:141
7818 msgid ""
7819 "These eight functions write the output under the control of a I<format> "
7820 "string that specifies how subsequent arguments (or arguments accessed via "
7821 "the variable-length argument facilities of B<stdarg>(3))  are converted for "
7822 "output."
7823 msgstr ""
7824 "これらの 8 つの関数は I<format> 文字列の制御に従って出力を書き出す。 "
7825 "I<format> 文字列は、これに続く引き数 (または B<stdarg>(3)  の可変長引き数機構"
7826 "を使ってアクセスできる引き数)  をどのように変換して出力するかを指定する。"
7827
7828 #. type: Plain text
7829 #: build/C/man3/printf.3:152
7830 msgid ""
7831 "C99 and POSIX.1-2001 specify that the results are undefined if a call to "
7832 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), or B<vsnprintf>()  would cause "
7833 "copying to take place between objects that overlap (e.g., if the target "
7834 "string array and one of the supplied input arguments refer to the same "
7835 "buffer).  See NOTES."
7836 msgstr ""
7837 "C99 と POSIX.1-2001 では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
7838 "B<vsnprintf>()  の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する"
7839 "場合の 結果は不定であると規定されている (例えば、出力先の文字列と入力された "
7840 "引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参"
7841 "照。"
7842
7843 #. type: SS
7844 #: build/C/man3/printf.3:152
7845 #, no-wrap
7846 msgid "Return value"
7847 msgstr "Return Values"
7848
7849 #. type: Plain text
7850 #: build/C/man3/printf.3:155
7851 msgid ""
7852 "Upon successful return, these functions return the number of characters "
7853 "printed (excluding the null byte used to end output to strings)."
7854 msgstr ""
7855 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
7856 "用する NULL バイトは数に含まれない)。"
7857
7858 #. type: Plain text
7859 #: build/C/man3/printf.3:171
7860 msgid ""
7861 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
7862 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
7863 "the output was truncated due to this limit then the return value is the "
7864 "number of characters (excluding the terminating null byte)  which would have "
7865 "been written to the final string if enough space had been available.  Thus, "
7866 "a return value of I<size> or more means that the output was truncated.  (See "
7867 "also below under NOTES.)"
7868 msgstr ""
7869 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
7870 "ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
7871 "る)。 この制限によって出力が切り詰められた場合には、 もし十分なスペースがあれ"
7872 "ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
7873 "す。 従って、返り値が I<size> 以上だった場合、出力が切り詰められたことを意味"
7874 "する (後述の注意も参照のこと)。"
7875
7876 #. type: Plain text
7877 #: build/C/man3/printf.3:173
7878 msgid "If an output error is encountered, a negative value is returned."
7879 msgstr "エラーが発生した場合は、負の数を返す。"
7880
7881 #. type: SS
7882 #: build/C/man3/printf.3:173
7883 #, no-wrap
7884 msgid "Format of the format string"
7885 msgstr "フォーマット文字列のフォーマット"
7886
7887 #. type: Plain text
7888 #: build/C/man3/printf.3:195
7889 msgid ""
7890 "The format string is a character string, beginning and ending in its initial "
7891 "shift state, if any.  The format string is composed of zero or more "
7892 "directives: ordinary characters (not B<%>), which are copied unchanged to "
7893 "the output stream; and conversion specifications, each of which results in "
7894 "fetching zero or more subsequent arguments.  Each conversion specification "
7895 "is introduced by the character B<%>, and ends with a I<conversion "
7896 "specifier>.  In between there may be (in this order) zero or more I<flags>, "
7897 "an optional minimum I<field width>, an optional I<precision> and an optional "
7898 "I<length modifier>."
7899 msgstr ""
7900 "フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期"
7901 "シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 (directives) に"
7902 "よって構成される。 命令には、通常文字と変換指定 (conversion specifications) "
7903 "がある。 通常文字は B<%> 以外の文字で、出力ストリームにそのままコピーされ"
7904 "る。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 B<%> で"
7905 "始まり、 I<変換指定子 (conversion specifier)> で終わる。 B<%> と変換指定子の"
7906 "間には、0 個以上の I<フラグ 、> 最小 I<フィールド幅 、> I<精度 、> I<長さ修飾"
7907 "子> を (この順序で) 置くことができる。"
7908
7909 #. type: Plain text
7910 #: build/C/man3/printf.3:208
7911 msgid ""
7912 "The arguments must correspond properly (after type promotion) with the "
7913 "conversion specifier.  By default, the arguments are used in the order "
7914 "given, where each \\(aq*\\(aq and each conversion specifier asks for the "
7915 "next argument (and it is an error if insufficiently many arguments are "
7916 "given).  One can also specify explicitly which argument is taken, at each "
7917 "place where an argument is required, by writing \"%m$\" instead of \\(aq%"
7918 "\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal integer m "
7919 "denotes the position in the argument list of the desired argument, indexed "
7920 "starting from 1.  Thus,"
7921 msgstr ""
7922 "引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならな"
7923 "い。 デフォルトでは、\\(aq*\\(aq や変換指定子が出てくる毎に次の引き数を要求さ"
7924 "れ、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分な"
7925 "らエラーとなる)。 また、引き数が必要な箇所で \\(aq%\\(aq の代わりに \"%m$"
7926 "\"、 \\(aq*\\(aqの代わりに \"*m$\" と書くことで、 明示的にどの引き数を使用す"
7927 "るかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リスト"
7928 "での位置を示す (最初の引き数の番号が 1 である)。 従って、"
7929
7930 #. type: Plain text
7931 #: build/C/man3/printf.3:212
7932 #, no-wrap
7933 msgid "printf(\"%*d\", width, num);\n"
7934 msgstr "printf(\"%*d\", width, num);\n"
7935
7936 #. type: Plain text
7937 #: build/C/man3/printf.3:216
7938 msgid "and"
7939 msgstr "と"
7940
7941 #. type: Plain text
7942 #: build/C/man3/printf.3:220
7943 #, no-wrap
7944 msgid "printf(\"%2$*1$d\", width, num);\n"
7945 msgstr "printf(\"%2$*1$d\", width, num);\n"
7946
7947 #. type: Plain text
7948 #: build/C/man3/printf.3:236
7949 msgid ""
7950 "are equivalent.  The second style allows repeated references to the same "
7951 "argument.  The C99 standard does not include the style using \\(aq$\\(aq, "
7952 "which comes from the Single UNIX Specification.  If the style using \\(aq$"
7953 "\\(aq is used, it must be used throughout for all conversions taking an "
7954 "argument and all width and precision arguments, but it may be mixed with \"%%"
7955 "\" formats which do not consume an argument.  There may be no gaps in the "
7956 "numbers of arguments specified using \\(aq$\\(aq; for example, if arguments "
7957 "1 and 3 are specified, argument 2 must also be specified somewhere in the "
7958 "format string."
7959 msgstr ""
7960 "は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 "
7961 "C99 標準には、 Single UNIX Specification 由来の \\(aq$\\(aq を使った書き方は"
7962 "含まれていない。 \\(aq$\\(aq を使ったスタイルを使うと、引き数を取る変換及び幅"
7963 "と精度の引き数を 全てこのスタイルで指定しなければならないが、 引き数を消費し"
7964 "ない \"%%\" フォーマットと混ざっているかもしれない。 \\(aq$\\(aq で指定される"
7965 "引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定される"
7966 "と、引き数 2 もフォーマット文字列のどこかで 指定されなければならない。"
7967
7968 #. type: Plain text
7969 #: build/C/man3/printf.3:246
7970 msgid ""
7971 "For some numeric conversions a radix character (\"decimal point\") or "
7972 "thousands' grouping character is used.  The actual character used depends on "
7973 "the B<LC_NUMERIC> part of the locale.  The POSIX locale uses \\(aq.\\(aq as "
7974 "radix character, and does not have a grouping character.  Thus,"
7975 msgstr ""
7976 "数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を"
7977 "使うかはロケールの B<LC_NUMERIC> による。 POSIX ロケールでは小数点に \\(aq."
7978 "\\(aq を用い、 区切り文字は使わない。 従って、"
7979
7980 #. type: Plain text
7981 #: build/C/man3/printf.3:250
7982 #, no-wrap
7983 msgid "    printf(\"%\\(aq.2f\", 1234567.89);\n"
7984 msgstr "printf(\"%\\(aq.2f\", 1234567.89);\n"
7985
7986 #. type: Plain text
7987 #: build/C/man3/printf.3:255
7988 msgid ""
7989 "results in \"1234567.89\" in the POSIX locale, in \"1234567,89\" in the "
7990 "nl_NL locale, and in \"1.234.567,89\" in the da_DK locale."
7991 msgstr ""
7992 "は、 POSIX ロケールでは \"1234567.89\" 、 nl_NL ロケールでは "
7993 "\"1234567,89\"、 da_DK ロケールでは \"1.234.567,89\" となる。"
7994
7995 #. type: SS
7996 #: build/C/man3/printf.3:255
7997 #, no-wrap
7998 msgid "The flag characters"
7999 msgstr "フラグ文字"
8000
8001 #. type: Plain text
8002 #: build/C/man3/printf.3:257
8003 msgid "The character % is followed by zero or more of the following flags:"
8004 msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
8005
8006 #. type: TP
8007 #: build/C/man3/printf.3:257
8008 #, no-wrap
8009 msgid "B<#>"
8010 msgstr "B<#>"
8011
8012 #. type: Plain text
8013 #: build/C/man3/printf.3:291
8014 msgid ""
8015 "The value should be converted to an \"alternate form\".  For B<o> "
8016 "conversions, the first character of the output string is made zero (by "
8017 "prefixing a 0 if it was not zero already).  For B<x> and B<X> conversions, a "
8018 "nonzero result has the string \"0x\" (or \"0X\" for B<X> conversions) "
8019 "prepended to it.  For B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> "
8020 "conversions, the result will always contain a decimal point, even if no "
8021 "digits follow it (normally, a decimal point appears in the results of those "
8022 "conversions only if a digit follows).  For B<g> and B<G> conversions, "
8023 "trailing zeros are not removed from the result as they would otherwise be.  "
8024 "For other conversions, the result is undefined."
8025 msgstr ""
8026 "値は「別の形式」に変換される。 B<o> 変換の場合、(先頭文字が 0 になっていない"
8027 "場合に先頭に 0 を追加することで)  出力文字列の最初の文字を 0 にする。 B<x> "
8028 "と B<X> 変換の場合、数値が 0 でないときには文字列 \"0x\" (B<X> 変換の場合に"
8029 "は \"0X\") が前に付与される。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> "
8030 "変換では、 小数点に続く数字がなくても、 出力には常に小数点が含まれる (通常"
8031 "は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 B<g> と B<G> 変"
8032 "換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の"
8033 "変換では、結果は未定義である。"
8034
8035 #. type: TP
8036 #: build/C/man3/printf.3:291
8037 #, no-wrap
8038 msgid "B<\\&0>"
8039 msgstr "B<\\&0>"
8040
8041 #. type: Plain text
8042 #: build/C/man3/printf.3:331
8043 msgid ""
8044 "The value should be zero padded.  For B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, "
8045 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, and B<G> conversions, the "
8046 "converted value is padded on the left with zeros rather than blanks.  If the "
8047 "B<\\&0> and B<-> flags both appear, the B<\\&0> flag is ignored.  If a "
8048 "precision is given with a numeric conversion (B<d>, B<i>, B<o>, B<u>, B<x>, "
8049 "and B<X>), the B<\\&0> flag is ignored.  For other conversions, the behavior "
8050 "is undefined."
8051 msgstr ""
8052 "値をゼロで埋める。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<a>, B<A>, B<e>, "
8053 "B<E>, B<f>, B<F>, B<g>, B<G> 変換では、変換した値の左側を空白文字の代わりにゼ"
8054 "ロで埋める。 B<\\&0> と B<-> が両方とも指定された場合は、 B<\\&0> フラグは無"
8055 "視される。 精度が数値変換 (B<d>, B<i>, B<o>, B<u>, B<x>, B<X>)  と同時に指定"
8056 "された場合には、 B<\\&0> フラグは無視される。 その他の変換では、動作は未定義"
8057 "である。"
8058
8059 #. type: TP
8060 #: build/C/man3/printf.3:331
8061 #, no-wrap
8062 msgid "B<->"
8063 msgstr "B<->"
8064
8065 #. type: Plain text
8066 #: build/C/man3/printf.3:344
8067 msgid ""
8068 "The converted value is to be left adjusted on the field boundary.  (The "
8069 "default is right justification.)  Except for B<n> conversions, the converted "
8070 "value is padded on the right with blanks, rather than on the left with "
8071 "blanks or zeros.  A B<-> overrides a B<\\&0> if both are given."
8072 msgstr ""
8073 "変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 B<n> 変換以"
8074 "外では、変換された値は 左側ではなく右側を空白文字やゼロで埋められる。 B<-> "
8075 "と B<\\&0> の両方が指定された場合には、 B<-> が優先される。"
8076
8077 #. type: TP
8078 #: build/C/man3/printf.3:344
8079 #, no-wrap
8080 msgid "B<\\(aq \\(aq>"
8081 msgstr "B<' '>"
8082
8083 #. type: Plain text
8084 #: build/C/man3/printf.3:348
8085 msgid ""
8086 "(a space) A blank should be left before a positive number (or empty string) "
8087 "produced by a signed conversion."
8088 msgstr ""
8089 "(1個の半角スペース)  符号付き変換で生成された正の数字の前に空白 (または空文字"
8090 "列) が置かれる。"
8091
8092 #. type: TP
8093 #: build/C/man3/printf.3:348
8094 #, no-wrap
8095 msgid "B<+>"
8096 msgstr "B<+>"
8097
8098 #. type: Plain text
8099 #: build/C/man3/printf.3:356
8100 msgid ""
8101 "A sign (+ or -) should always be placed before a number produced by a signed "
8102 "conversion.  By default a sign is used only for negative numbers.  A B<+> "
8103 "overrides a space if both are used."
8104 msgstr ""
8105 "符号付き変換によって出力される数字の前に、常に符号 (+ か -) が置かれる。 デ"
8106 "フォルトでは、符号は負の数字の場合のみ付与される。 B<+> と半角スペースの 両方"
8107 "が使われている場合には、 B<+> が優先される。"
8108
8109 #. type: Plain text
8110 #: build/C/man3/printf.3:359
8111 msgid ""
8112 "The five flag characters above are defined in the C standard.  The SUSv2 "
8113 "specifies one further flag character."
8114 msgstr ""
8115 "上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラ"
8116 "グ文字が規定されている。"
8117
8118 #. type: TP
8119 #: build/C/man3/printf.3:359
8120 #, no-wrap
8121 msgid "B<\\(aq>"
8122 msgstr "B<\\(aq>"
8123
8124 #. type: Plain text
8125 #: build/C/man3/printf.3:376
8126 msgid ""
8127 "For decimal conversion (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  the "
8128 "output is to be grouped with thousands' grouping characters if the locale "
8129 "information indicates any.  Note that many versions of B<gcc>(1)  cannot "
8130 "parse this option and will issue a warning.  SUSv2 does not include I<%"
8131 "\\(aqF>."
8132 msgstr ""
8133 "10進数変換 (B<i>, B<d>, B<u>, B<f>, B<F>, B<g>, B<G>)  において、ロケール情報"
8134 "に指定があれば 1000 単位の区切り文字を出力する。 B<gcc>(1)  の多くのバージョ"
8135 "ンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 %"
8136 "\\(aqF は SUSv2 には含まれていない。"
8137
8138 #. type: Plain text
8139 #: build/C/man3/printf.3:378
8140 msgid "glibc 2.2 adds one further flag character."
8141 msgstr "glibc 2.2 では、さらに一つフラグ文字が追加されている。"
8142
8143 #. type: TP
8144 #: build/C/man3/printf.3:378
8145 #, no-wrap
8146 msgid "B<I>"
8147 msgstr "B<I>"
8148
8149 #.  outdigits keyword in locale file
8150 #. type: Plain text
8151 #: build/C/man3/printf.3:388
8152 msgid ""
8153 "For decimal integer conversion (B<i>, B<d>, B<u>)  the output uses the "
8154 "locale's alternative output digits, if any.  For example, since glibc 2.2.3 "
8155 "this will give Arabic-Indic digits in the Persian (\"fa_IR\") locale."
8156 msgstr ""
8157 "10進整数変換 (B<i>, B<d>, B<u>)  において、ロケールの代替出力数字があれば、そ"
8158 "れを用いて出力する。 例えば、 glibc 2.2.3 以降では、ペルシア (\"fa_IR\") ロ"
8159 "ケールで アラビア数字 (Arabic-Indic digits) を出力できる。"
8160
8161 #. type: SS
8162 #: build/C/man3/printf.3:388
8163 #, no-wrap
8164 msgid "The field width"
8165 msgstr "フィールド幅"
8166
8167 #. type: Plain text
8168 #: build/C/man3/printf.3:404
8169 msgid ""
8170 "An optional decimal digit string (with nonzero first digit) specifying a "
8171 "minimum field width.  If the converted value has fewer characters than the "
8172 "field width, it will be padded with spaces on the left (or right, if the "
8173 "left-adjustment flag has been given).  Instead of a decimal digit string one "
8174 "may write \"*\" or \"*m$\" (for some decimal integer I<m>) to specify that "
8175 "the field width is given in the next argument, or in the I<m>-th argument, "
8176 "respectively, which must be of type I<int>.  A negative field width is taken "
8177 "as a \\(aq-\\(aq flag followed by a positive field width.  In no case does a "
8178 "nonexistent or small field width cause truncation of a field; if the result "
8179 "of a conversion is wider than the field width, the field is expanded to "
8180 "contain the conversion result."
8181 msgstr ""
8182 "最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以"
8183 "外)。本項目はオプションである。 変換された値の文字数がフィールド長よりも少な"
8184 "い場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を"
8185 "埋める)。 10進数の文字列の代わりに \"*\" や \"*m$\" (I<m> は 10進整数) を書く"
8186 "こともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き数と I<m> 番目の引き数を"
8187 "フィールド幅として 使うことを指定する (これらの引き数は I<int> 型でなければな"
8188 "らない)。 フィールド幅に負の数が指定された場合は、 \\(aq-\\(aq フラグと正の数"
8189 "のフィールド幅として扱われる。 フィールド幅が小さかったり指定がなかったりして"
8190 "も、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広"
8191 "かった場合、 フィールドは変換結果が入る幅に広げられる。"
8192
8193 #. type: SS
8194 #: build/C/man3/printf.3:404
8195 #, no-wrap
8196 msgid "The precision"
8197 msgstr "精度"
8198
8199 #. type: Plain text
8200 #: build/C/man3/printf.3:440
8201 msgid ""
8202 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
8203 "optional decimal digit string.  Instead of a decimal digit string one may "
8204 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
8205 "precision is given in the next argument, or in the m-th argument, "
8206 "respectively, which must be of type I<int>.  If the precision is given as "
8207 "just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
8208 "zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
8209 "B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
8210 "the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
8211 "the maximum number of significant digits for B<g> and B<G> conversions, or "
8212 "the maximum number of characters to be printed from a string for B<s> and "
8213 "B<S> conversions."
8214 msgstr ""
8215 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
8216 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
8217 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
8218 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
8219 "型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
8220 "数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
8221 "換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
8222 "変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
8223 "は、有効数字の最大桁数を指定する。 B<s> と B<S> 変換では、文字列から出力され"
8224 "る最大文字数を指定する。"
8225
8226 #. type: SS
8227 #: build/C/man3/printf.3:440
8228 #, no-wrap
8229 msgid "The length modifier"
8230 msgstr "長さ修飾子"
8231
8232 #. type: Plain text
8233 #: build/C/man3/printf.3:450
8234 msgid ""
8235 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
8236 "B<X> conversion."
8237 msgstr ""
8238 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
8239
8240 #. type: TP
8241 #: build/C/man3/printf.3:450 build/C/man3/scanf.3:291
8242 #, no-wrap
8243 msgid "B<hh>"
8244 msgstr "B<hh>"
8245
8246 #. type: Plain text
8247 #: build/C/man3/printf.3:461
8248 msgid ""
8249 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
8250 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
8251 "I<signed char> argument."
8252 msgstr ""
8253 "整数変換に対応する引き数が I<signed char> か I<unsigned char> で、 B<n> 変換"
8254 "に対応する引き数が I<signed char> へのポインタであることを示す。"
8255
8256 #. type: TP
8257 #: build/C/man3/printf.3:461 build/C/man3/scanf.3:281
8258 #, no-wrap
8259 msgid "B<h>"
8260 msgstr "B<h>"
8261
8262 #. type: Plain text
8263 #: build/C/man3/printf.3:472
8264 msgid ""
8265 "A following integer conversion corresponds to a I<short int> or I<unsigned "
8266 "short int> argument, or a following B<n> conversion corresponds to a pointer "
8267 "to a I<short int> argument."
8268 msgstr ""
8269 "整数変換に対応する引き数が I<short int> か I<unsigned short int> で、 B<n> 変"
8270 "換に対応する引き数が I<short int> へのポインタであることを示す。"
8271
8272 #. type: TP
8273 #: build/C/man3/printf.3:472 build/C/man3/scanf.3:308
8274 #, no-wrap
8275 msgid "B<l>"
8276 msgstr "B<l>"
8277
8278 #. type: Plain text
8279 #: build/C/man3/printf.3:491
8280 msgid ""
8281 "(ell) A following integer conversion corresponds to a I<long int> or "
8282 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
8283 "a pointer to a I<long int> argument, or a following B<c> conversion "
8284 "corresponds to a I<wint_t> argument, or a following B<s> conversion "
8285 "corresponds to a pointer to I<wchar_t> argument."
8286 msgstr ""
8287 "各変換に対応する引き数が、 整数変換では I<long int>か I<unsigned long int>、 "
8288 "B<n> 変換では I<long long int> へのポインタ、 B<c> 変換では I<wint_t>、 B<s> "
8289 "変換では I<wchar_t> へのポインタであることを示す。"
8290
8291 #. type: TP
8292 #: build/C/man3/printf.3:491
8293 #, no-wrap
8294 msgid "B<ll>"
8295 msgstr "B<ll> (エルエル)"
8296
8297 #. type: Plain text
8298 #: build/C/man3/printf.3:503
8299 msgid ""
8300 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
8301 "or I<unsigned long long int> argument, or a following B<n> conversion "
8302 "corresponds to a pointer to a I<long long int> argument."
8303 msgstr ""
8304 "整数変換に対応する引き数が I<long long int> か I<unsigned long long int> "
8305 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
8306
8307 #. type: TP
8308 #: build/C/man3/printf.3:503 build/C/man3/scanf.3:335
8309 #, no-wrap
8310 msgid "B<L>"
8311 msgstr "B<L>"
8312
8313 #. type: Plain text
8314 #: build/C/man3/printf.3:519
8315 msgid ""
8316 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
8317 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
8318 "not.)"
8319 msgstr ""
8320 "B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G> 変換に対応する引き数が I<long "
8321 "double> であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では"
8322 "認められていない。)"
8323
8324 #. type: TP
8325 #: build/C/man3/printf.3:519 build/C/man3/scanf.3:351
8326 #, no-wrap
8327 msgid "B<q>"
8328 msgstr "B<q>"
8329
8330 #. type: Plain text
8331 #: build/C/man3/printf.3:525
8332 msgid ""
8333 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
8334 "B<ll>."
8335 msgstr ""
8336 "(\"quad\"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。)  B<ll> と同じ"
8337 "意味である。"
8338
8339 #. type: TP
8340 #: build/C/man3/printf.3:525 build/C/man3/scanf.3:299
8341 #, no-wrap
8342 msgid "B<j>"
8343 msgstr "B<j>"
8344
8345 #. type: Plain text
8346 #: build/C/man3/printf.3:532
8347 msgid ""
8348 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
8349 "argument."
8350 msgstr ""
8351 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
8352
8353 #. type: TP
8354 #: build/C/man3/printf.3:532 build/C/man3/scanf.3:363
8355 #, no-wrap
8356 msgid "B<z>"
8357 msgstr "B<z>"
8358
8359 #. type: Plain text
8360 #: build/C/man3/printf.3:543
8361 msgid ""
8362 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
8363 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
8364 msgstr ""
8365 "整数変換に対応する引き数が I<size_t> か I<ssize_t> であることを示す。 (Linux "
8366 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
8367
8368 #. type: TP
8369 #: build/C/man3/printf.3:543 build/C/man3/scanf.3:356
8370 #, no-wrap
8371 msgid "B<t>"
8372 msgstr "B<t>"
8373
8374 #. type: Plain text
8375 #: build/C/man3/printf.3:548
8376 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
8377 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
8378
8379 #. type: Plain text
8380 #: build/C/man3/printf.3:577
8381 msgid ""
8382 "The SUSv2 only knows about the length modifiers B<h> (in B<hd>, B<hi>, "
8383 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
8384 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
8385 msgstr ""
8386 "SUSv2 で長さ修飾子として使用できるのは、 B<h> (B<hd>, B<hi>, B<ho>, B<hx>, "
8387 "B<hX>, B<hn>), B<l> (B<ld>, B<li>, B<lo>, B<lx>, B<lX>, B<ln>, B<lc>, "
8388 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
8389
8390 #. type: SS
8391 #: build/C/man3/printf.3:577
8392 #, no-wrap
8393 msgid "The conversion specifier"
8394 msgstr "変換指定子"
8395
8396 #. type: Plain text
8397 #: build/C/man3/printf.3:580
8398 msgid ""
8399 "A character that specifies the type of conversion to be applied.  The "
8400 "conversion specifiers and their meanings are:"
8401 msgstr ""
8402 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
8403
8404 #. type: TP
8405 #: build/C/man3/printf.3:580
8406 #, no-wrap
8407 msgid "B<d>, B<i>"
8408 msgstr "B<d>, B<i>"
8409
8410 #. type: Plain text
8411 #: build/C/man3/printf.3:590
8412 msgid ""
8413 "The I<int> argument is converted to signed decimal notation.  The precision, "
8414 "if any, gives the minimum number of digits that must appear; if the "
8415 "converted value requires fewer digits, it is padded on the left with zeros.  "
8416 "The default precision is 1.  When 0 is printed with an explicit precision 0, "
8417 "the output is empty."
8418 msgstr ""
8419 "I<int> 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定し"
8420 "た桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が "
8421 "0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示"
8422 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
8423
8424 #. type: TP
8425 #: build/C/man3/printf.3:590
8426 #, no-wrap
8427 msgid "B<o>, B<u>, B<x>, B<X>"
8428 msgstr "B<o>, B<u>, B<x>, B<X>"
8429
8430 #. type: Plain text
8431 #: build/C/man3/printf.3:617
8432 msgid ""
8433 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
8434 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
8435 "letters B<abcdef> are used for B<x> conversions; the letters B<ABCDEF> are "
8436 "used for B<X> conversions.  The precision, if any, gives the minimum number "
8437 "of digits that must appear; if the converted value requires fewer digits, it "
8438 "is padded on the left with zeros.  The default precision is 1.  When 0 is "
8439 "printed with an explicit precision 0, the output is empty."
8440 msgstr ""
8441 "I<unsigned int> 引き数を、 符号なし8進数 (B<o>), 符号なし10進数 (B<u>), 符号"
8442 "なし16進数 (B<x> と B<X>)  に変換する。 B<x> 変換では B<abcdef> が使用され、 "
8443 "B<X> 変換では B<ABCDEF> が使用される。 精度指定があれば、精度で指定した桁数は"
8444 "必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋め"
8445 "られる。"
8446
8447 #. type: TP
8448 #: build/C/man3/printf.3:617
8449 #, no-wrap
8450 msgid "B<e>, B<E>"
8451 msgstr "B<e>, B<E>"
8452
8453 #. type: Plain text
8454 #: build/C/man3/printf.3:622
8455 msgid "The I<double> argument is rounded and converted in the style"
8456 msgstr "I<double> 引き数を丸めて"
8457
8458 #. type: Plain text
8459 #: build/C/man3/printf.3:637
8460 msgid ""
8461 "[-]dB<\\&.>dddB<e>\\*(Pmdd where there is one digit before the decimal-point "
8462 "character and the number of digits after it is equal to the precision; if "
8463 "the precision is missing, it is taken as 6; if the precision is zero, no "
8464 "decimal-point character appears.  An B<E> conversion uses the letter B<E> "
8465 "(rather than B<e>)  to introduce the exponent.  The exponent always contains "
8466 "at least two digits; if the value is zero, the exponent is 00."
8467 msgstr ""
8468 "[-]dB<\\&.>dddB<e>\\*(Pmdd の形に変換する。 小数点の前には一桁の数字があり、"
8469 "小数点以下の桁数は精度で指定された 桁数になる。精度は指定されなかった場合 6 "
8470 "とみなされる。 精度が 0 の場合には、小数点以下は表示されない。 B<E> 変換で"
8471 "は、指数を表現するときに (B<e> ではなく)  B<E> が使われる。 指数部分は少なく"
8472 "とも 2桁表示される。 つまり、指数の値が 0 の場合には、00 と表示される。"
8473
8474 #. type: TP
8475 #: build/C/man3/printf.3:637
8476 #, no-wrap
8477 msgid "B<f>, B<F>"
8478 msgstr "B<f>, B<F>"
8479
8480 #. type: Plain text
8481 #: build/C/man3/printf.3:648
8482 msgid ""
8483 "The I<double> argument is rounded and converted to decimal notation in the "
8484 "style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
8485 "character is equal to the precision specification.  If the precision is "
8486 "missing, it is taken as 6; if the precision is explicitly zero, no decimal-"
8487 "point character appears.  If a decimal point appears, at least one digit "
8488 "appears before it."
8489 msgstr ""
8490 "I<double> 引き数を丸めて [-]dddB<\\&.>ddd の形の10進表現に変換する。 小数点の"
8491 "後の桁数は、精度で指定された値となる。 精度が指定されていない場合には 6 とし"
8492 "て扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示され"
8493 "ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
8494
8495 #. type: Plain text
8496 #: build/C/man3/printf.3:659
8497 msgid ""
8498 "(The SUSv2 does not know about B<F> and says that character string "
8499 "representations for infinity and NaN may be made available.  The C99 "
8500 "standard specifies \"[-]inf\" or \"[-]infinity\" for infinity, and a string "
8501 "starting with \"nan\" for NaN, in the case of B<f> conversion, and \"[-]INF"
8502 "\" or \"[-]INFINITY\" or \"NAN*\" in the case of B<F> conversion.)"
8503 msgstr ""
8504 "(SUSv2 では、B<F> は規定されておらず、無限や NaN に関する文字列表現を\n"
8505 "行ってもよいことになっている。\n"
8506 " C99 標準では、B<f> 変換では、無限は \"[-]inf\" か \"[-]infinity\" と表示し、\n"
8507 "NaN は文字列の先頭に `nan' をつけて表示するように規定されている。\n"
8508 "B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
8509
8510 #. type: TP
8511 #: build/C/man3/printf.3:659
8512 #, no-wrap
8513 msgid "B<g>, B<G>"
8514 msgstr "B<g>, B<G>"
8515
8516 #. type: Plain text
8517 #: build/C/man3/printf.3:684
8518 msgid ""
8519 "The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
8520 "for B<G> conversions).  The precision specifies the number of significant "
8521 "digits.  If the precision is missing, 6 digits are given; if the precision "
8522 "is zero, it is treated as 1.  Style B<e> is used if the exponent from its "
8523 "conversion is less than -4 or greater than or equal to the precision.  "
8524 "Trailing zeros are removed from the fractional part of the result; a decimal "
8525 "point appears only if it is followed by at least one digit."
8526 msgstr ""
8527 "I<double> 引き数を B<f> か B<e> (B<G> 変換の場合は B<F> か B<E>)  の形式に変"
8528 "換する。 精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなさ"
8529 "れる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 -4 より小"
8530 "さいか、精度以上の場合に、 B<e> 形式が使用される。 変換された結果の小数部分の"
8531 "末尾の 0 は削除される。小数点が表示されるのは、 小数点以下に数字が少なくとも"
8532 "一つある場合にだけである。"
8533
8534 #. type: TP
8535 #: build/C/man3/printf.3:684
8536 #, no-wrap
8537 msgid "B<a>, B<A>"
8538 msgstr "B<a>, B<A>"
8539
8540 #. type: Plain text
8541 #: build/C/man3/printf.3:708
8542 msgid ""
8543 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
8544 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
8545 "\\&.>hhhhB<p>\\*(Pmd; for B<A> conversion the prefix B<0X>, the letters "
8546 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
8547 "digit before the decimal point, and the number of digits after it is equal "
8548 "to the precision.  The default precision suffices for an exact "
8549 "representation of the value if an exact representation in base 2 exists and "
8550 "otherwise is sufficiently large to distinguish values of type I<double>.  "
8551 "The digit before the decimal point is unspecified for nonnormalized numbers, "
8552 "and nonzero but otherwise unspecified for normalized numbers."
8553 msgstr ""
8554 "(C99 にはあるが SUSv2 にはない)  B<a> 変換では、 I<double> 引き数を (abcdef "
8555 "の文字を使って)  [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; 形式の 16 進表記に変換す"
8556 "る。 B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。 "
8557 "小数点の前には 1桁の16進数が置かれ、小数点の後ろの桁数は 精度で指定された値と"
8558 "なる。 デフォルトの精度は、その値が 2進数で正確に表現できる場合には、 その値"
8559 "を正確に表現できる桁数となる。それ以外の場合は、 I<double> 型の値を区別するの"
8560 "に十分な大きさとなる。 小数点の前の数字は、正規化されていない数の場合はいくつ"
8561 "になるか分からない。 正規化された数の場合は、 0 以外の値になるが、いくつにな"
8562 "るかは分からない。"
8563
8564 #. type: TP
8565 #: build/C/man3/printf.3:708 build/C/man3/scanf.3:456
8566 #: build/C/man3/wprintf.3:132
8567 #, no-wrap
8568 msgid "B<c>"
8569 msgstr "B<c>"
8570
8571 #. type: Plain text
8572 #: build/C/man3/printf.3:726
8573 msgid ""
8574 "If no B<l> modifier is present, the I<int> argument is converted to an "
8575 "I<unsigned char>, and the resulting character is written.  If an B<l> "
8576 "modifier is present, the I<wint_t> (wide character) argument is converted to "
8577 "a multibyte sequence by a call to the B<wcrtomb>(3)  function, with a "
8578 "conversion state starting in the initial state, and the resulting multibyte "
8579 "string is written."
8580 msgstr ""
8581 "B<l> 修飾子がなければ、 I<int> 引き数を I<unsigned char> に変換して、その結果"
8582 "に対応する文字を出力する。 B<l> 修飾子があれば、 I<wint_t> (ワイド文字) 引き"
8583 "数を、 B<wcrtomb>(3)  関数を初期シフト状態で呼び出してマルチバイト文字列に変"
8584 "換し、 変換されたマルチバイト文字列を出力する。"
8585
8586 #. type: TP
8587 #: build/C/man3/printf.3:726 build/C/man3/scanf.3:448
8588 #: build/C/man3/wprintf.3:146
8589 #, no-wrap
8590 msgid "B<s>"
8591 msgstr "B<s>"
8592
8593 #. type: Plain text
8594 #: build/C/man3/printf.3:741
8595 msgid ""
8596 "If no B<l> modifier is present: The I<const char *> argument is expected to "
8597 "be a pointer to an array of character type (pointer to a string).  "
8598 "Characters from the array are written up to (but not including) a "
8599 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
8600 "than the number specified are written.  If a precision is given, no null "
8601 "byte need be present; if the precision is not specified, or is greater than "
8602 "the size of the array, the array must contain a terminating null byte."
8603 msgstr ""
8604 "B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
8605 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
8606 "NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
8607 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
8608 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
8609 "精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
8610 "なければならない。"
8611
8612 #. type: Plain text
8613 #: build/C/man3/printf.3:768
8614 msgid ""
8615 "If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
8616 "to be a pointer to an array of wide characters.  Wide characters from the "
8617 "array are converted to multibyte characters (each by a call to the B<wcrtomb>"
8618 "(3)  function, with a conversion state starting in the initial state before "
8619 "the first wide character), up to and including a terminating null wide "
8620 "character.  The resulting multibyte characters are written up to (but not "
8621 "including) the terminating null byte.  If a precision is specified, no more "
8622 "bytes than the number specified are written, but no partial multibyte "
8623 "characters are written.  Note that the precision determines the number of "
8624 "I<bytes> written, not the number of I<wide characters> or I<screen "
8625 "positions>.  The array must contain a terminating null wide character, "
8626 "unless a precision is given and it is so small that the number of bytes "
8627 "written exceeds it before the end of the array is reached."
8628 msgstr ""
8629 "B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
8630 "の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
8631 "に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
8632 "字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
8633 "る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
8634 "まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
8635 "は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
8636 "ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
8637 "マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
8638 "するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
8639 "に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
8640 "が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
8641 "い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
8642 "い。"
8643
8644 #. type: TP
8645 #: build/C/man3/printf.3:768
8646 #, no-wrap
8647 msgid "B<C>"
8648 msgstr "B<C>"
8649
8650 #. type: Plain text
8651 #: build/C/man3/printf.3:774
8652 msgid "(Not in C99, but in SUSv2.)  Synonym for B<lc>.  Don't use."
8653 msgstr "(C99 にはないが SUSv2 にはある)  B<lc> と同じ。使ってはならない。"
8654
8655 #. type: TP
8656 #: build/C/man3/printf.3:774
8657 #, no-wrap
8658 msgid "B<S>"
8659 msgstr "B<S>"
8660
8661 #. type: Plain text
8662 #: build/C/man3/printf.3:780
8663 msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
8664 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
8665
8666 #. type: TP
8667 #: build/C/man3/printf.3:780 build/C/man3/scanf.3:500
8668 #, no-wrap
8669 msgid "B<p>"
8670 msgstr "B<p>"
8671
8672 #. type: Plain text
8673 #: build/C/man3/printf.3:788
8674 msgid ""
8675 "The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
8676 "B<%#lx>)."
8677 msgstr ""
8678 "I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
8679
8680 #. type: TP
8681 #: build/C/man3/printf.3:788 build/C/man3/scanf.3:508
8682 #, no-wrap
8683 msgid "B<n>"
8684 msgstr "B<n>"
8685
8686 #. type: Plain text
8687 #: build/C/man3/printf.3:795
8688 msgid ""
8689 "The number of characters written so far is stored into the integer indicated "
8690 "by the I<int *> (or variant) pointer argument.  No argument is converted."
8691 msgstr ""
8692 "これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
8693 "整数に保存する。 引き数の変換は行われない。"
8694
8695 #. type: TP
8696 #: build/C/man3/printf.3:795
8697 #, no-wrap
8698 msgid "B<m>"
8699 msgstr "B<m>"
8700
8701 #. type: Plain text
8702 #: build/C/man3/printf.3:801
8703 msgid ""
8704 "(Glibc extension.)  Print output of I<strerror(errno)>.  No argument is "
8705 "required."
8706 msgstr ""
8707 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
8708
8709 #. type: TP
8710 #: build/C/man3/printf.3:801 build/C/man3/scanf.3:374
8711 #, no-wrap
8712 msgid "B<%>"
8713 msgstr "B<%>"
8714
8715 #. type: Plain text
8716 #: build/C/man3/printf.3:807
8717 msgid ""
8718 "A \\(aq%\\(aq is written.  No argument is converted.  The complete "
8719 "conversion specification is \\(aq%%\\(aq."
8720 msgstr ""
8721 "\\(aq%\\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと \"%"
8722 "%\" となる。"
8723
8724 #. type: Plain text
8725 #: build/C/man3/printf.3:822
8726 msgid ""
8727 "The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8728 "and B<vsprintf>()  functions conform to C89 and C99.  The B<snprintf>()  and "
8729 "B<vsnprintf>()  functions conform to C99."
8730 msgstr ""
8731 "B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
8732 "B<vsprintf>()  関数は、C89 と C99 に準拠している。 B<snprintf>()  と "
8733 "B<vsnprintf>()  は C99 に準拠している。"
8734
8735 #. type: Plain text
8736 #: build/C/man3/printf.3:835
8737 msgid ""
8738 "Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
8739 "other: when B<snprintf>()  is called with I<size>=0 then SUSv2 stipulates an "
8740 "unspecified return value less than 1, while C99 allows I<str> to be NULL in "
8741 "this case, and gives the return value (as always)  as the number of "
8742 "characters that would have been written in case the output string has been "
8743 "large enough."
8744 msgstr ""
8745 "B<snprintf>()  の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 "
8746 "SUSv2 では、 B<snprintf>()  が I<size>=0 で呼び出された場合、 1 未満の値を何"
8747 "か返り値とするように規定している。 一方 C99 では、このような場合 I<str> を "
8748 "NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に"
8749 "出力されるであろう文字数を返す。"
8750
8751 #. type: Plain text
8752 #: build/C/man3/printf.3:849
8753 msgid ""
8754 "Linux libc4 knows about the five C standard flags.  It knows about the "
8755 "length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
8756 "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 "
8757 "B<X>, where B<F> is a synonym for B<f>.  Additionally, it accepts B<D>, "
8758 "B<O>, and B<U> as synonyms for B<ld>, B<lo>, and B<lu>.  (This is bad, and "
8759 "caused serious bugs later, when support for B<%D> disappeared.)  No locale-"
8760 "dependent radix character, no thousands' separator, no NaN or infinity, no "
8761 "\"%m$\" and \"*m$\"."
8762 msgstr ""
8763 "Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 B<h>, B<l>, B<L>、変換 "
8764 "B<c>, B<d>, B<e>, B<E>, B<f>, B<F>, B<g>, B<G>, B<i>, B<n>, B<o>, B<p>, "
8765 "B<s>, B<u>, B<x>, B<X> が使える。 但し B<F> は B<f> と同義である。 また、 "
8766 "B<D>, B<O>, and B<U> を B<ld>, B<lo>, and B<lu> と同じものとして使える (これ"
8767 "はまずい仕様で、 後に B<%D> の対応が打ち切られた時に深刻なバグを 引き起こし"
8768 "た)。ロケール依存の小数点、1000 区切り、 NaN と無限、 \"%m$\" と \"*m$\" は使"
8769 "えない。"
8770
8771 #. type: Plain text
8772 #: build/C/man3/printf.3:860
8773 msgid ""
8774 "Linux libc5 knows about the five C standard flags and the \\(aq flag, "
8775 "locale, \"%m$\" and \"*m$\".  It knows about the length modifiers B<h>, "
8776 "B<l>, B<L>, B<Z>, and B<q>, but accepts B<L> and B<q> both for I<long "
8777 "double> and for I<long long int> (this is a bug).  It no longer recognizes "
8778 "B<F>, B<D>, B<O>, and B<U>, but adds the conversion character B<m>, which "
8779 "outputs I<strerror(errno)>."
8780 msgstr ""
8781 "Linux libc5 では、 5 つの C 標準のフラグと \\(aq フラグ、ロケール、 \"%m$\" "
8782 "と \"*m$\" が使える。 また、長さ修飾子 B<h>, B<l>, B<L>, B<Z>, iand B<q> が使"
8783 "えるが、 B<L> と B<q> は両方とも I<long double> と I<long long int> に対応し"
8784 "ている (これはバグである)。 現在では変換 B<F>, B<D>, B<O>, B<U> は認識されな"
8785 "いが、変換文字 B<m> が追加された。これは I<strerror(errno)> を出力するもので"
8786 "ある。"
8787
8788 #. type: Plain text
8789 #: build/C/man3/printf.3:862
8790 msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
8791 msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
8792
8793 #. type: Plain text
8794 #: build/C/man3/printf.3:865
8795 msgid ""
8796 "glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
8797 "characters B<a> and B<A>."
8798 msgstr ""
8799 "glibc 2.1 では、長さ修飾子 B<hh>, B<j>, B<t>, B<z> と変換文字 B<a>, B<A> が追"
8800 "加された。"
8801
8802 #. type: Plain text
8803 #: build/C/man3/printf.3:868
8804 msgid ""
8805 "glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
8806 "flag character B<I>."
8807 msgstr ""
8808 "glibc 2.2 では、 C99 で規定された意味での変換文字 B<F> と フラグ文字 B<I> が"
8809 "追加された。"
8810
8811 #. type: Plain text
8812 #: build/C/man3/printf.3:870
8813 msgid "Some programs imprudently rely on code such as the following"
8814 msgstr ""
8815 "テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
8816 "ラムがある。"
8817
8818 #. type: Plain text
8819 #: build/C/man3/printf.3:872
8820 #, no-wrap
8821 msgid "    sprintf(buf, \"%s some further text\", buf);\n"
8822 msgstr "    sprintf(buf, \"%s some further text\", buf);\n"
8823
8824 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7075
8825 #. type: Plain text
8826 #: build/C/man3/printf.3:888
8827 msgid ""
8828 "to append text to I<buf>.  However, the standards explicitly note that the "
8829 "results are undefined if source and destination buffers overlap when calling "
8830 "B<sprintf>(), B<snprintf>(), B<vsprintf>(), and B<vsnprintf>().  Depending "
8831 "on the version of B<gcc>(1)  used, and the compiler options employed, calls "
8832 "such as the above will B<not> produce the expected results."
8833 msgstr ""
8834 "しかしながら、標準規格では、 B<sprintf>(), B<snprintf>(), B<vsprintf>(), "
8835 "B<vsnprintf>()  の呼び出しにおいて、コピー元とコピー先のバッファが重なってい"
8836 "た場合の 結果は不定である、と明記されている。 使用する B<gcc>(1)  のバージョ"
8837 "ンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した"
8838 "結果が得られ「ない」ことがある。"
8839
8840 #.  .SH HISTORY
8841 #.  UNIX V7 defines the three routines
8842 #.  .BR printf (),
8843 #.  .BR fprintf (),
8844 #.  .BR sprintf (),
8845 #.  and has the flag \-, the width or precision *, the length modifier l,
8846 #.  and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx.
8847 #.  This is still true for 2.9.1BSD, but 2.10BSD has the flags
8848 #.  #, + and <space> and no longer mentions D,O,U,X.
8849 #.  2.11BSD has
8850 #.  .BR vprintf (),
8851 #.  .BR vfprintf (),
8852 #.  .BR vsprintf (),
8853 #.  and warns not to use D,O,U,X.
8854 #.  4.3BSD Reno has the flag 0, the length modifiers h and L,
8855 #.  and the conversions n, p, E, G, X (with current meaning)
8856 #.  and deprecates D,O,U.
8857 #.  4.4BSD introduces the functions
8858 #.  .BR snprintf ()
8859 #.  and
8860 #.  .BR vsnprintf (),
8861 #.  and the length modifier q.
8862 #.  FreeBSD also has functions
8863 #.  .BR asprintf ()
8864 #.  and
8865 #.  .BR vasprintf (),
8866 #.  that allocate a buffer large enough for
8867 #.  .BR sprintf ().
8868 #.  In glibc there are functions
8869 #.  .BR dprintf ()
8870 #.  and
8871 #.  .BR vdprintf ()
8872 #.  that print to a file descriptor instead of a stream.
8873 #. type: Plain text
8874 #: build/C/man3/printf.3:930
8875 msgid ""
8876 "The glibc implementation of the functions B<snprintf>()  and B<vsnprintf>()  "
8877 "conforms to the C99 standard, that is, behaves as described above, since "
8878 "glibc version 2.1.  Until glibc 2.0.6 they would return -1 when the output "
8879 "was truncated."
8880 msgstr ""
8881 "glibc の B<snprintf>()  と B<vsnprintf>()  の実装は、バージョン 2.1 以降は "
8882 "C99 標準に準拠しており、 上記の通りの動作をする。 glibc 2.0.6 までは、出力が"
8883 "切り詰められた場合は -1 を返す。"
8884
8885 #. type: Plain text
8886 #: build/C/man3/printf.3:947
8887 msgid ""
8888 "Because B<sprintf>()  and B<vsprintf>()  assume an arbitrarily long string, "
8889 "callers must be careful not to overflow the actual space; this is often "
8890 "impossible to assure.  Note that the length of the strings produced is "
8891 "locale-dependent and difficult to predict.  Use B<snprintf>()  and "
8892 "B<vsnprintf>()  instead (or B<asprintf>(3)  and B<vasprintf>(3))."
8893 msgstr ""
8894 "B<sprintf>()  と B<vsprintf>()  は勝手に十分に長い文字列領域があると仮定する"
8895 "ので、呼び出し側は 実際の領域からあふれないように注意しなければならない。 し"
8896 "かし、これを保証することが不可能な場合が多い。 生成される文字列の長さはロケー"
8897 "ル依存であり、予測が難しいことに注意。 代わりに B<snprintf>()  と "
8898 "B<vsnprintf>()  (または B<asprintf>(3)  と B<vasprintf>(3))  を使うこと。"
8899
8900 #. type: Plain text
8901 #: build/C/man3/printf.3:960
8902 msgid ""
8903 "Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
8904 "contains an B<snprintf>()  equivalent to B<sprintf>(), that is, one that "
8905 "ignores the I<size> argument.  Thus, the use of B<snprintf>()  with early "
8906 "libc4 leads to serious security problems."
8907 msgstr ""
8908 "Linux libc4.[45] には B<snprintf>()  はないが、 libbsd が提供されており、 そ"
8909 "の中には B<sprintf>()  と等価な (つまり I<size> 引き数を無視する)  "
8910 "B<snprintf>()  がある。 したがって、初期の libc4 で B<snprintf>()  を使うと、"
8911 "深刻なセキュリティ問題を引き起こすことがある。"
8912
8913 #.  .PP
8914 #.  Some floating-point conversions under early libc4
8915 #.  caused memory leaks.
8916 #. type: Plain text
8917 #: build/C/man3/printf.3:974
8918 msgid ""
8919 "Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
8920 "contain a % character.  If I<foo> comes from untrusted user input, it may "
8921 "contain B<%n>, causing the B<printf>()  call to write to memory and creating "
8922 "a security hole."
8923 msgstr ""
8924 "B<printf(>I<foo>B<);> のようなコードはしばしばバグを引き起こす。 なぜなら "
8925 "I<foo> に % 文字が含まれてるかもしれないからである。 I<foo> が信頼できない"
8926 "ユーザー入力から作られている場合には、 その中に B<%n> が含まれていることがあ"
8927 "り、 B<printf>()  呼び出し時にメモリへの書き込みが起こり、 セキュリティーホー"
8928 "ルを作ることになるかもしれない。"
8929
8930 #. type: Plain text
8931 #: build/C/man3/printf.3:977
8932 msgid "To print \\*(Pi to five decimal places:"
8933 msgstr "\\*(Pi を 5 桁で出力する。"
8934
8935 #. type: Plain text
8936 #: build/C/man3/printf.3:983
8937 #, no-wrap
8938 msgid ""
8939 "#include E<lt>math.hE<gt>\n"
8940 "#include E<lt>stdio.hE<gt>\n"
8941 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8942 msgstr ""
8943 "#include E<lt>math.hE<gt>\n"
8944 "#include E<lt>stdio.hE<gt>\n"
8945 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
8946
8947 #. type: Plain text
8948 #: build/C/man3/printf.3:992
8949 msgid ""
8950 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
8951 "I<weekday> and I<month> are pointers to strings:"
8952 msgstr ""
8953 "日付と時間を \"Sunday, July 3, 10:02\" の形式で出力する。 (I<weekday> と "
8954 "I<month> は文字列へのポインタである)"
8955
8956 #. type: Plain text
8957 #: build/C/man3/printf.3:998
8958 #, no-wrap
8959 msgid ""
8960 "#include E<lt>stdio.hE<gt>\n"
8961 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
8962 "        weekday, month, day, hour, min);\n"
8963 msgstr ""
8964 "#include E<lt>stdio.hE<gt>\n"
8965 "fprintf(stdout, \"%s, %s %d, %.2d:%.2d\\en\",\n"
8966 "\tweekday, month, day, hour, min);\n"
8967
8968 #. type: Plain text
8969 #: build/C/man3/printf.3:1004
8970 msgid ""
8971 "Many countries use the day-month-year order.  Hence, an internationalized "
8972 "version must be able to print the arguments in an order specified by the "
8973 "format:"
8974 msgstr ""
8975 "日 - 月 - 年 の順序で表示を行う国も多い。 従って、国際版では書式で指定された"
8976 "順番で 引き数を表示できなければならない。"
8977
8978 #. type: Plain text
8979 #: build/C/man3/printf.3:1010
8980 #, no-wrap
8981 msgid ""
8982 "#include E<lt>stdio.hE<gt>\n"
8983 "fprintf(stdout, format,\n"
8984 "        weekday, month, day, hour, min);\n"
8985 msgstr ""
8986 "#include E<lt>stdio.hE<gt>\n"
8987 "fprintf(stdout, format,\n"
8988 "\tweekday, month, day, hour, min);\n"
8989
8990 #. type: Plain text
8991 #: build/C/man3/printf.3:1017
8992 msgid ""
8993 "where I<format> depends on locale, and may permute the arguments.  With the "
8994 "value:"
8995 msgstr ""
8996 "I<format> はロケールに依存しており、引き数の順番を変えることもできる。 "
8997 "I<format> が"
8998
8999 #. type: Plain text
9000 #: build/C/man3/printf.3:1021
9001 #, no-wrap
9002 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9003 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
9004
9005 #. type: Plain text
9006 #: build/C/man3/printf.3:1025
9007 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
9008 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
9009
9010 #. type: Plain text
9011 #: build/C/man3/printf.3:1028
9012 msgid ""
9013 "To allocate a sufficiently large string and print into it (code correct for "
9014 "both glibc 2.0 and glibc 2.1):"
9015 msgstr ""
9016 "十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 "
9017 "と glibc 2.1 の両方で正しく動作するコード):"
9018
9019 #. type: Plain text
9020 #: build/C/man3/printf.3:1033
9021 #, no-wrap
9022 msgid ""
9023 "#include E<lt>stdio.hE<gt>\n"
9024 "#include E<lt>stdlib.hE<gt>\n"
9025 "#include E<lt>stdarg.hE<gt>\n"
9026 msgstr ""
9027 "#include E<lt>stdio.hE<gt>\n"
9028 "#include E<lt>stdlib.hE<gt>\n"
9029 "#include E<lt>stdarg.hE<gt>\n"
9030
9031 #. type: Plain text
9032 #: build/C/man3/printf.3:1041
9033 #, no-wrap
9034 msgid ""
9035 "char *\n"
9036 "make_message(const char *fmt, ...)\n"
9037 "{\n"
9038 "    int n;\n"
9039 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9040 "    char *p, *np;\n"
9041 "    va_list ap;\n"
9042 msgstr ""
9043 "char *\n"
9044 "make_message(const char *fmt, ...)\n"
9045 "{\n"
9046 "    int n;\n"
9047 "    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
9048 "    char *p, *np;\n"
9049 "    va_list ap;\n"
9050
9051 #. type: Plain text
9052 #: build/C/man3/printf.3:1044
9053 #, no-wrap
9054 msgid ""
9055 "    if ((p = malloc(size)) == NULL)\n"
9056 "        return NULL;\n"
9057 msgstr ""
9058 "    if ((p = malloc(size)) == NULL)\n"
9059 "        return NULL;\n"
9060
9061 #. type: Plain text
9062 #: build/C/man3/printf.3:1046
9063 #, no-wrap
9064 msgid "    while (1) {\n"
9065 msgstr "    while (1) {\n"
9066
9067 #. type: Plain text
9068 #: build/C/man3/printf.3:1048
9069 #, no-wrap
9070 msgid "        /* Try to print in the allocated space. */\n"
9071 msgstr "        /* Try to print in the allocated space. */\n"
9072
9073 #. type: Plain text
9074 #: build/C/man3/printf.3:1052
9075 #, no-wrap
9076 msgid ""
9077 "        va_start(ap, fmt);\n"
9078 "        n = vsnprintf(p, size, fmt, ap);\n"
9079 "        va_end(ap);\n"
9080 msgstr ""
9081 "        va_start(ap, fmt);\n"
9082 "        n = vsnprintf(p, size, fmt, ap);\n"
9083 "        va_end(ap);\n"
9084
9085 #. type: Plain text
9086 #: build/C/man3/printf.3:1054
9087 #, no-wrap
9088 msgid "        /* If that worked, return the string. */\n"
9089 msgstr "        /* If that worked, return the string. */\n"
9090
9091 #. type: Plain text
9092 #: build/C/man3/printf.3:1057
9093 #, no-wrap
9094 msgid ""
9095 "        if (n E<gt> -1 && n E<lt> size)\n"
9096 "            return p;\n"
9097 msgstr ""
9098 "        if (n E<gt> -1 && n E<lt> size)\n"
9099 "            return p;\n"
9100
9101 #. type: Plain text
9102 #: build/C/man3/printf.3:1059
9103 #, no-wrap
9104 msgid "        /* Else try again with more space. */\n"
9105 msgstr "        /* Else try again with more space. */\n"
9106
9107 #. type: Plain text
9108 #: build/C/man3/printf.3:1064
9109 #, no-wrap
9110 msgid ""
9111 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9112 "            size = n+1; /* precisely what is needed */\n"
9113 "        else           /* glibc 2.0 */\n"
9114 "            size *= 2;  /* twice the old size */\n"
9115 msgstr ""
9116 "        if (n E<gt> -1)    /* glibc 2.1 */\n"
9117 "            size = n+1; /* precisely what is needed */\n"
9118 "        else           /* glibc 2.0 */\n"
9119 "            size *= 2;  /* twice the old size */\n"
9120
9121 #. type: Plain text
9122 #: build/C/man3/printf.3:1073
9123 #, no-wrap
9124 msgid ""
9125 "        if ((np = realloc (p, size)) == NULL) {\n"
9126 "            free(p);\n"
9127 "            return NULL;\n"
9128 "        } else {\n"
9129 "            p = np;\n"
9130 "        }\n"
9131 "    }\n"
9132 "}\n"
9133 msgstr ""
9134 "        if ((np = realloc (p, size)) == NULL) {\n"
9135 "            free(p);\n"
9136 "            return NULL;\n"
9137 "        } else {\n"
9138 "            p = np;\n"
9139 "        }\n"
9140 "    }\n"
9141 "}\n"
9142
9143 #. type: Plain text
9144 #: build/C/man3/printf.3:1083
9145 msgid ""
9146 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9147 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9148 msgstr ""
9149 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
9150 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
9151
9152 #. type: TH
9153 #: build/C/man3/puts.3:24
9154 #, no-wrap
9155 msgid "PUTS"
9156 msgstr "PUTS"
9157
9158 #. type: Plain text
9159 #: build/C/man3/puts.3:27
9160 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
9161 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
9162
9163 #. type: Plain text
9164 #: build/C/man3/puts.3:32
9165 #, no-wrap
9166 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9167 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9168
9169 #. type: Plain text
9170 #: build/C/man3/puts.3:34
9171 #, no-wrap
9172 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9173 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
9174
9175 #. type: Plain text
9176 #: build/C/man3/puts.3:36
9177 #, no-wrap
9178 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9179 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
9180
9181 #. type: Plain text
9182 #: build/C/man3/puts.3:38
9183 #, no-wrap
9184 msgid "B<int putchar(int >I<c>B<);>\n"
9185 msgstr "B<int putchar(int >I<c>B<);>\n"
9186
9187 #. type: Plain text
9188 #: build/C/man3/puts.3:40
9189 #, no-wrap
9190 msgid "B<int puts(const char *>I<s>B<);>\n"
9191 msgstr "B<int puts(const char *>I<s>B<);>\n"
9192
9193 #. type: Plain text
9194 #: build/C/man3/puts.3:49
9195 msgid ""
9196 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
9197 "I<stream>."
9198 msgstr ""
9199 "B<fputc>()  は、キャラクタ I<c> を I<unsigned char> にキャストし、 I<stream> "
9200 "に書き込む。"
9201
9202 #. type: Plain text
9203 #: build/C/man3/puts.3:56
9204 msgid ""
9205 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
9206 "null byte (\\(aq\\e0\\(aq)."
9207 msgstr ""
9208 "B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
9209 "ト (\\(aq\\e0\\(aq) は出力しない。"
9210
9211 #. type: Plain text
9212 #: build/C/man3/puts.3:63
9213 msgid ""
9214 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
9215 "a macro which evaluates I<stream> more than once."
9216 msgstr ""
9217 "B<putc>()  は、 I<stream> を一度以上評価するマクロとして実装されているかも知"
9218 "れないという点を除き、 B<fputc>()  と同じである。"
9219
9220 #. type: Plain text
9221 #: build/C/man3/puts.3:67
9222 msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
9223 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
9224
9225 #. type: Plain text
9226 #: build/C/man3/puts.3:74
9227 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
9228 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
9229
9230 #. type: Plain text
9231 #: build/C/man3/puts.3:79
9232 msgid ""
9233 "Calls to the functions described here can be mixed with each other and with "
9234 "calls to other output functions from the I<stdio> library for the same "
9235 "output stream."
9236 msgstr ""
9237 "ここで説明された関数はお互いに混在して使用することができ、また、 I<stdio> ラ"
9238 "イブラリに含まれる他の出力関数を同じ出力ストリームに対して 呼び出す事が出来"
9239 "る。"
9240
9241 #. type: Plain text
9242 #: build/C/man3/puts.3:94
9243 msgid ""
9244 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
9245 "I<unsigned char> cast to an I<int> or B<EOF> on error."
9246 msgstr ""
9247 "B<fputc>(), B<putc>(), B<putchar>()  は I<unsigned char> として書き込まれた文"
9248 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
9249
9250 #. type: Plain text
9251 #: build/C/man3/puts.3:101
9252 msgid ""
9253 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
9254 "on error."
9255 msgstr ""
9256 "B<puts>()  と B<fputs>()  は、成功すると負ではない数を、エラーが発生した場合"
9257 "は B<EOF> を返す。"
9258
9259 #. type: Plain text
9260 #: build/C/man3/puts.3:110
9261 msgid ""
9262 "It is not advisable to mix calls to output functions from the I<stdio> "
9263 "library with low-level calls to B<write>(2)  for the file descriptor "
9264 "associated with the same output stream; the results will be undefined and "
9265 "very probably not what you want."
9266 msgstr ""
9267 "I<stdio> ライブラリに含まれる出力関数と、同じ出力ストリームに結びつけられた "
9268 "ファイルディスクリプタに対する B<write>(2)  の低レベル呼び出しを混在して 使用"
9269 "することは賢明ではない。 その結果は定義されておらず、望む結果が得られない可能"
9270 "性が高い。"
9271
9272 #. type: Plain text
9273 #: build/C/man3/puts.3:122
9274 msgid ""
9275 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9276 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9277 "(3)"
9278 msgstr ""
9279 "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
9280 "(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
9281 "(3)"
9282
9283 #. type: TH
9284 #: build/C/man2/read.2:35
9285 #, no-wrap
9286 msgid "READ"
9287 msgstr "READ"
9288
9289 #. type: Plain text
9290 #: build/C/man2/read.2:38
9291 msgid "read - read from a file descriptor"
9292 msgstr "read - ファイル・ディスクリプターから読み込む"
9293
9294 #. type: Plain text
9295 #: build/C/man2/read.2:43
9296 #, no-wrap
9297 msgid "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9298 msgstr "B<ssize_t read(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<);>\n"
9299
9300 #. type: Plain text
9301 #: build/C/man2/read.2:52
9302 msgid ""
9303 "B<read>()  attempts to read up to I<count> bytes from file descriptor I<fd> "
9304 "into the buffer starting at I<buf>."
9305 msgstr ""
9306 "B<read>()  はファイル・ディスクリプター (file descriptor)  I<fd> から最大 "
9307 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
9308
9309 #. type: Plain text
9310 #: build/C/man2/read.2:63
9311 msgid ""
9312 "If I<count> is zero, B<read>()  returns zero and has no other results.  If "
9313 "I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
9314 msgstr ""
9315 "I<count> が 0 ならば、 B<read>()  は 0 を返し、他に何も起きない。 I<count> "
9316 "が B<SSIZE_MAX> より大きければ、結果は特定できない。"
9317
9318 #. type: Plain text
9319 #: build/C/man2/read.2:77
9320 msgid ""
9321 "On success, the number of bytes read is returned (zero indicates end of "
9322 "file), and the file position is advanced by this number.  It is not an error "
9323 "if this number is smaller than the number of bytes requested; this may "
9324 "happen for example because fewer bytes are actually available right now "
9325 "(maybe because we were close to end-of-file, or because we are reading from "
9326 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
9327 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
9328 "this case it is left unspecified whether the file position (if any) changes."
9329 msgstr ""
9330 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
9331 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
9332 "ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
9333 "に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
9334 "もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
9335 "は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
9336 "の場合はファイル位置が変更されるかどうかは 不定である。"
9337
9338 #. type: TP
9339 #: build/C/man2/read.2:78 build/C/man3/scanf.3:546 build/C/man2/write.2:108
9340 #, no-wrap
9341 msgid "B<EAGAIN>"
9342 msgstr "B<EAGAIN>"
9343
9344 #. type: Plain text
9345 #: build/C/man2/read.2:85
9346 msgid ""
9347 "The file descriptor I<fd> refers to a file other than a socket and has been "
9348 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
9349 msgstr ""
9350 "ファイル・ディスクリプター I<fd> がソケット以外のファイルを参照していて、 非"
9351 "停止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと"
9352 "停止する状況にある。"
9353
9354 #. type: TP
9355 #: build/C/man2/read.2:85 build/C/man2/write.2:115
9356 #, no-wrap
9357 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
9358 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
9359
9360 #.  Actually EAGAIN on Linux
9361 #. type: Plain text
9362 #: build/C/man2/read.2:96
9363 msgid ""
9364 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
9365 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
9366 "to be returned for this case, and does not require these constants to have "
9367 "the same value, so a portable application should check for both "
9368 "possibilities."
9369 msgstr ""
9370 "ファイル・ディスクリプター I<fd> がソケットを参照していて、非停止 "
9371 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止"
9372 "する状況にある。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めて"
9373 "おり、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性"
9374 "が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
9375
9376 #. type: Plain text
9377 #: build/C/man2/read.2:100
9378 msgid "I<fd> is not a valid file descriptor or is not open for reading."
9379 msgstr ""
9380 "I<fd> が有効なファイル・ディスクリプターでないか、読み込みのために オープン "
9381 "(open) されていない。"
9382
9383 #. type: Plain text
9384 #: build/C/man2/read.2:104 build/C/man2/write.2:139
9385 msgid "I<buf> is outside your accessible address space."
9386 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
9387
9388 #. type: Plain text
9389 #: build/C/man2/read.2:108
9390 msgid ""
9391 "The call was interrupted by a signal before any data was read; see B<signal>"
9392 "(7)."
9393 msgstr ""
9394 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
9395
9396 #. type: Plain text
9397 #: build/C/man2/read.2:119
9398 msgid ""
9399 "I<fd> is attached to an object which is unsuitable for reading; or the file "
9400 "was opened with the B<O_DIRECT> flag, and either the address specified in "
9401 "I<buf>, the value specified in I<count>, or the current file offset is not "
9402 "suitably aligned."
9403 msgstr ""
9404 "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
9405 "が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
9406 "レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
9407 "ンメントが不適切である。"
9408
9409 #. type: Plain text
9410 #: build/C/man2/read.2:129
9411 msgid ""
9412 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
9413 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
9414 "information."
9415 msgstr ""
9416 "I<fd> が B<timerfd_create>(2)  の呼び出しで作成されたが、 B<read>()  に間違っ"
9417 "たサイズのバッファが渡された。 さらなる情報は B<timerfd_create>(2)  を参照の"
9418 "こと。"
9419
9420 #. type: Plain text
9421 #: build/C/man2/read.2:140
9422 msgid ""
9423 "I/O error.  This will happen for example when the process is in a background "
9424 "process group, tries to read from its controlling tty, and either it is "
9425 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
9426 "also occur when there is a low-level I/O error while reading from a disk or "
9427 "tape."
9428 msgstr ""
9429 "I/O エラー。これは例えばプロセスがバックグランド・プロセス・グループで、 それ"
9430 "を制御している tty から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁"
9431 "止 (blocking) されている場合や、 そのプロセス・グループが孤立 (orphan) してい"
9432 "る場合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発"
9433 "生した場合にも起こる。"
9434
9435 #. type: Plain text
9436 #: build/C/man2/read.2:144
9437 msgid "I<fd> refers to a directory."
9438 msgstr "I<fd> がディレクトリを参照している。"
9439
9440 #. type: Plain text
9441 #: build/C/man2/read.2:155
9442 msgid ""
9443 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
9444 "allows a B<read>()  that is interrupted after reading some data to return -1 "
9445 "(with I<errno> set to B<EINTR>)  or to return the number of bytes already "
9446 "read."
9447 msgstr ""
9448 "I<fd> が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX で"
9449 "は、 いくらかのデータを読んだ後に割り込みが起こった場合、 B<read>()  は "
9450 "(I<errno> に B<EINTR> を設定して) -1 を返してもよいし、 既に読み込んだバイト"
9451 "数を返してもよい。"
9452
9453 #. type: Plain text
9454 #: build/C/man2/read.2:169
9455 msgid ""
9456 "On NFS file systems, reading small amounts of data will only update the "
9457 "timestamp the first time, subsequent calls may not do so.  This is caused by "
9458 "client side attribute caching, because most if not all NFS clients leave "
9459 "st_atime (last file access time)  updates to the server and client side "
9460 "reads satisfied from the client's cache will not cause st_atime updates on "
9461 "the server as there are no server side reads.  UNIX semantics can be "
9462 "obtained by disabling client side attribute caching, but in most situations "
9463 "this will substantially increase server load and decrease performance."
9464 msgstr ""
9465 "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
9466 "され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
9467 "ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
9468 "(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
9469 "シュを読むことに満足して いれば、サーバー側での read は発生しないので "
9470 "st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
9471 "キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
9472 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
9473
9474 #. type: Plain text
9475 #: build/C/man2/read.2:178
9476 msgid ""
9477 "Many file systems and disks were considered to be fast enough that the "
9478 "implementation of B<O_NONBLOCK> was deemed unnecessary.  So, B<O_NONBLOCK> "
9479 "may not be available on files and/or disks."
9480 msgstr ""
9481 "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むくらい"
9482 "に十分に高速であると考えられている。 それでそのようなファイルやディスクには "
9483 "B<O_NONBLOCK> は利用できないかもしれない。"
9484
9485 #. type: Plain text
9486 #: build/C/man2/read.2:191
9487 msgid ""
9488 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9489 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9490 "B<fread>(3)"
9491 msgstr ""
9492 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
9493 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
9494 "B<fread>(3)"
9495
9496 #. type: TH
9497 #: build/C/man2/readlink.2:41
9498 #, no-wrap
9499 msgid "READLINK"
9500 msgstr "READLINK"
9501
9502 #. type: TH
9503 #: build/C/man2/readlink.2:41
9504 #, fuzzy, no-wrap
9505 #| msgid "2011-09-28"
9506 msgid "2011-09-20"
9507 msgstr "2011-09-28"
9508
9509 #. type: Plain text
9510 #: build/C/man2/readlink.2:44
9511 msgid "readlink - read value of a symbolic link"
9512 msgstr "readlink - シンボリック・リンクの値を読む"
9513
9514 #. type: Plain text
9515 #: build/C/man2/readlink.2:48
9516 msgid ""
9517 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9518 ">I<bufsiz>B<);>"
9519 msgstr ""
9520 "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
9521 ">I<bufsiz>B<);>"
9522
9523 #. type: Plain text
9524 #: build/C/man2/readlink.2:56
9525 msgid "B<readlink>():"
9526 msgstr "B<readlink>():"
9527
9528 #. type: Plain text
9529 #: build/C/man2/readlink.2:59 build/C/man2/symlink.2:50
9530 msgid ""
9531 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9532 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9533 msgstr ""
9534 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9535 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
9536
9537 #. type: Plain text
9538 #: build/C/man2/readlink.2:75
9539 msgid ""
9540 "B<readlink>()  places the contents of the symbolic link I<path> in the "
9541 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
9542 "null byte to I<buf>.  It will truncate the contents (to a length of "
9543 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
9544 "contents."
9545 msgstr ""
9546 "B<readlink>()  は I<path> で与えられたシンボリック・リンクの内容を I<buf> "
9547 "バッファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  "
9548 "は NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが"
9549 "小さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
9550
9551 #. type: Plain text
9552 #: build/C/man2/readlink.2:83
9553 msgid ""
9554 "On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
9555 "error, -1 is returned and I<errno> is set to indicate the error."
9556 msgstr ""
9557 "成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
9558 "合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
9559
9560 #. type: Plain text
9561 #: build/C/man2/readlink.2:89
9562 msgid ""
9563 "Search permission is denied for a component of the path prefix.  (See also "
9564 "B<path_resolution>(7).)"
9565 msgstr ""
9566 "パスのディレクトリ部分に検索許可が与えられていない (B<path_resolution>(7)  も"
9567 "参照すること)。"
9568
9569 #. type: Plain text
9570 #: build/C/man2/readlink.2:93
9571 msgid "I<buf> extends outside the process's allocated address space."
9572 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
9573
9574 #.  At the glibc level, bufsiz is unsigned, so this error can only occur
9575 #.  if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
9576 #.  and this error can also occur if bufsiz < 0.
9577 #.  See: http://thread.gmane.org/gmane.linux.man/380
9578 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
9579 #. type: Plain text
9580 #: build/C/man2/readlink.2:102
9581 msgid "I<bufsiz> is not positive."
9582 msgstr "I<bufsiz> が正でない。"
9583
9584 #. type: Plain text
9585 #: build/C/man2/readlink.2:105
9586 msgid "The named file is not a symbolic link."
9587 msgstr "指定したファイルがシンボリック・リンクでない。"
9588
9589 #. type: Plain text
9590 #: build/C/man2/readlink.2:108
9591 msgid "An I/O error occurred while reading from the file system."
9592 msgstr "ファイル・システムの読み込み中に I/O エラーが起こった。"
9593
9594 #. type: Plain text
9595 #: build/C/man2/readlink.2:111
9596 msgid "Too many symbolic links were encountered in translating the pathname."
9597 msgstr "パス名にシンボリック・リンクが多すぎる。"
9598
9599 #. type: Plain text
9600 #: build/C/man2/readlink.2:114
9601 msgid "A pathname, or a component of a pathname, was too long."
9602 msgstr "パス名かパス名の一部分が長過ぎる。"
9603
9604 #. type: Plain text
9605 #: build/C/man2/readlink.2:117
9606 msgid "The named file does not exist."
9607 msgstr "その名前のファイルが存在しない。"
9608
9609 #. type: Plain text
9610 #: build/C/man2/readlink.2:123
9611 msgid "A component of the path prefix is not a directory."
9612 msgstr "パスのディレクトリ部分がディレクトリでない。"
9613
9614 #. type: Plain text
9615 #: build/C/man2/readlink.2:128
9616 msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
9617 msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
9618
9619 #. type: Plain text
9620 #: build/C/man2/readlink.2:136
9621 msgid ""
9622 "In versions of glibc up to and including glibc 2.4, the return type of "
9623 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
9624 "declared as I<ssize_t>, as (newly) required in POSIX.1-2001."
9625 msgstr ""
9626 "バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 B<readlink>()  の"
9627 "返り値の型は I<int> で宣言されていた。現在では、返り値の型は I<ssize_t> であ"
9628 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
9629
9630 #. type: Plain text
9631 #: build/C/man2/readlink.2:155
9632 msgid ""
9633 "Using a statically sized buffer might not provide enough room for the "
9634 "symbolic link contents.  The required size for the buffer can be obtained "
9635 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
9636 "link.  However, the number of bytes written by B<readlink>()  should be "
9637 "checked to make sure that the size of the symbolic link did not increase "
9638 "between the calls.  Dynamically allocating the buffer for B<readlink>()  "
9639 "also addresses a common portability problem when using I<PATH_MAX> for the "
9640 "buffer size, as this constant is not guaranteed to be defined per POSIX if "
9641 "the system does not have such limit."
9642 msgstr ""
9643
9644 #. type: Plain text
9645 #: build/C/man2/readlink.2:161
9646 msgid ""
9647 "The following program allocates the buffer needed by B<readlink>()  "
9648 "dynamically from the information provided by B<lstat>(), making sure there's "
9649 "no race condition between the calls."
9650 msgstr ""
9651
9652 #. type: Plain text
9653 #: build/C/man2/readlink.2:168
9654 #, fuzzy, no-wrap
9655 #| msgid ""
9656 #| "#include E<lt>sys/wait.hE<gt>\n"
9657 #| "#include E<lt>stdio.hE<gt>\n"
9658 #| "#include E<lt>stdlib.hE<gt>\n"
9659 #| "#include E<lt>unistd.hE<gt>\n"
9660 #| "#include E<lt>string.hE<gt>\n"
9661 msgid ""
9662 "#include E<lt>sys/types.hE<gt>\n"
9663 "#include E<lt>sys/stat.hE<gt>\n"
9664 "#include E<lt>stdio.hE<gt>\n"
9665 "#include E<lt>stdlib.hE<gt>\n"
9666 "#include E<lt>unistd.hE<gt>\n"
9667 msgstr ""
9668 "#include E<lt>sys/wait.hE<gt>\n"
9669 "#include E<lt>stdio.hE<gt>\n"
9670 "#include E<lt>stdlib.hE<gt>\n"
9671 "#include E<lt>unistd.hE<gt>\n"
9672 "#include E<lt>string.hE<gt>\n"
9673
9674 #. type: Plain text
9675 #: build/C/man2/readlink.2:175
9676 #, fuzzy, no-wrap
9677 #| msgid ""
9678 #| "int\n"
9679 #| "main(int argc, char *argv[])\n"
9680 #| "{\n"
9681 #| "    FILE *out, *in;\n"
9682 #| "    int v, s;\n"
9683 #| "    size_t size;\n"
9684 #| "    char *ptr;\n"
9685 msgid ""
9686 "int\n"
9687 "main(int argc, char *argv[])\n"
9688 "{\n"
9689 "    struct stat sb;\n"
9690 "    char *linkname;\n"
9691 "    ssize_t r;\n"
9692 msgstr ""
9693 "int\n"
9694 "main(int argc, char *argv[])\n"
9695 "{\n"
9696 "    FILE *out, *in;\n"
9697 "    int v, s;\n"
9698 "    size_t size;\n"
9699 "    char *ptr;\n"
9700
9701 #. type: Plain text
9702 #: build/C/man2/readlink.2:180
9703 #, fuzzy, no-wrap
9704 #| msgid ""
9705 #| "    if (argc != 2) {\n"
9706 #| "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
9707 #| "\texit(EXIT_FAILURE);\n"
9708 #| "    }\n"
9709 msgid ""
9710 "    if (argc != 2) {\n"
9711 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
9712 "        exit(EXIT_FAILURE);\n"
9713 "    }\n"
9714 msgstr ""
9715 "    if (argc != 2) {\n"
9716 "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
9717 "\texit(EXIT_FAILURE);\n"
9718 "    }\n"
9719
9720 #. type: Plain text
9721 #: build/C/man2/readlink.2:185
9722 #, fuzzy, no-wrap
9723 #| msgid ""
9724 #| "    if (pipe(pipefd) == -1) {\n"
9725 #| "        perror(\"pipe\");\n"
9726 #| "        exit(EXIT_FAILURE);\n"
9727 #| "    }\n"
9728 msgid ""
9729 "    if (lstat(argv[1], &sb) == -1) {\n"
9730 "        perror(\"lstat\");\n"
9731 "        exit(EXIT_FAILURE);\n"
9732 "    }\n"
9733 msgstr ""
9734 "    if (pipe(pipefd) == -1) {\n"
9735 "        perror(\"pipe\");\n"
9736 "        exit(EXIT_FAILURE);\n"
9737 "    }\n"
9738
9739 #. type: Plain text
9740 #: build/C/man2/readlink.2:191
9741 #, fuzzy, no-wrap
9742 #| msgid ""
9743 #| "    cpid = fork();\n"
9744 #| "    if (cpid == -1) {\n"
9745 #| "        perror(\"fork\");\n"
9746 #| "        exit(EXIT_FAILURE);\n"
9747 #| "    }\n"
9748 msgid ""
9749 "    linkname = malloc(sb.st_size + 1);\n"
9750 "    if (linkname == NULL) {\n"
9751 "        fprintf(stderr, \"insufficient memory\\en\");\n"
9752 "        exit(EXIT_FAILURE);\n"
9753 "    }\n"
9754 msgstr ""
9755 "    cpid = fork();\n"
9756 "    if (cpid == -1) {\n"
9757 "        perror(\"fork\");\n"
9758 "        exit(EXIT_FAILURE);\n"
9759 "    }\n"
9760
9761 #. type: Plain text
9762 #: build/C/man2/readlink.2:193
9763 #, no-wrap
9764 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
9765 msgstr ""
9766
9767 #. type: Plain text
9768 #: build/C/man2/readlink.2:198
9769 #, fuzzy, no-wrap
9770 #| msgid ""
9771 #| "    if (pipe(pipefd) == -1) {\n"
9772 #| "        perror(\"pipe\");\n"
9773 #| "        exit(EXIT_FAILURE);\n"
9774 #| "    }\n"
9775 msgid ""
9776 "    if (r E<lt> 0) {\n"
9777 "        perror(\"lstat\");\n"
9778 "        exit(EXIT_FAILURE);\n"
9779 "    }\n"
9780 msgstr ""
9781 "    if (pipe(pipefd) == -1) {\n"
9782 "        perror(\"pipe\");\n"
9783 "        exit(EXIT_FAILURE);\n"
9784 "    }\n"
9785
9786 #. type: Plain text
9787 #: build/C/man2/readlink.2:204
9788 #, no-wrap
9789 msgid ""
9790 "    if (r E<gt> sb.st_size) {\n"
9791 "        fprintf(stderr, \"symlink increased in size \"\n"
9792 "                        \"between lstat() and readlink()\\en\");\n"
9793 "        exit(EXIT_FAILURE);\n"
9794 "    }\n"
9795 msgstr ""
9796
9797 #. type: Plain text
9798 #: build/C/man2/readlink.2:206
9799 #, no-wrap
9800 msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
9801 msgstr ""
9802
9803 #. type: Plain text
9804 #: build/C/man2/readlink.2:208
9805 #, no-wrap
9806 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
9807 msgstr ""
9808
9809 #. type: Plain text
9810 #: build/C/man2/readlink.2:220
9811 #, fuzzy
9812 #| msgid ""
9813 #| "B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9814 #| "B<path_resolution>(7), B<symlink>(7)"
9815 msgid ""
9816 "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
9817 "B<path_resolution>(7), B<symlink>(7)"
9818 msgstr ""
9819 "B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), B<path_resolution>"
9820 "(7), B<symlink>(7)"
9821
9822 #. type: TH
9823 #: build/C/man2/readv.2:30
9824 #, no-wrap
9825 msgid "READV"
9826 msgstr "READV"
9827
9828 #. type: TH
9829 #: build/C/man2/readv.2:30
9830 #, fuzzy, no-wrap
9831 #| msgid "2002-10-17"
9832 msgid "2010-11-17"
9833 msgstr "2002-10-17"
9834
9835 #. type: Plain text
9836 #: build/C/man2/readv.2:33
9837 #, fuzzy
9838 #| msgid "readv, writev - read or write data into multiple buffers"
9839 msgid ""
9840 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
9841 msgstr "readv, writev - 複数のバッファへの読み書きを行なう"
9842
9843 #. type: Plain text
9844 #: build/C/man2/readv.2:36
9845 #, no-wrap
9846 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
9847 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
9848
9849 #. type: Plain text
9850 #: build/C/man2/readv.2:38
9851 #, no-wrap
9852 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9853 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9854
9855 #. type: Plain text
9856 #: build/C/man2/readv.2:40
9857 #, no-wrap
9858 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9859 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9860
9861 #. type: Plain text
9862 #: build/C/man2/readv.2:43
9863 #, fuzzy, no-wrap
9864 #| msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9865 msgid ""
9866 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9867 "B<               off_t >I<offset>B<);>\n"
9868 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9869
9870 #. type: Plain text
9871 #: build/C/man2/readv.2:46
9872 #, fuzzy, no-wrap
9873 #| msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9874 msgid ""
9875 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
9876 "B<                off_t >I<offset>B<);>\n"
9877 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
9878
9879 #. type: Plain text
9880 #: build/C/man2/readv.2:56
9881 #, fuzzy
9882 #| msgid "B<read>(2), B<write>(2)"
9883 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
9884 msgstr "B<read>(2), B<write>(2)"
9885
9886 #. type: Plain text
9887 #: build/C/man2/readv.2:66
9888 #, fuzzy
9889 #| msgid ""
9890 #| "The B<readv>()  function reads I<iovcnt> buffers from the file associated "
9891 #| "with the file descriptor I<fd> into the buffers described by I<iov> "
9892 #| "(\"scatter input\")."
9893 msgid ""
9894 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
9895 "with the file descriptor I<fd> into the buffers described by I<iov> "
9896 "(\"scatter input\")."
9897 msgstr ""
9898 "B<readv>()  関数は、ファイルディスクリプタ I<fd> に関連付けられたファイルか"
9899 "ら、 I<iovcnt> 個のバッファ分のデータを読み込み、 I<iov> で指定されたバッファ"
9900 "に格納する (\"scatter input\";「ばらまき入力」)。"
9901
9902 #. type: Plain text
9903 #: build/C/man2/readv.2:76
9904 #, fuzzy
9905 #| msgid ""
9906 #| "The B<writev>()  function writes I<iovcnt> buffers of data described by "
9907 #| "I<iov> to the file associated with the file descriptor I<fd> (\"gather "
9908 #| "output\")."
9909 msgid ""
9910 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
9911 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
9912 "\")."
9913 msgstr ""
9914 "B<writev>()  関数は、 I<iov> で指定されたバッファから最大 I<iovcnt> 個のバッ"
9915 "ファ分のデータを取り出し、 ファイルディスクリプタ I<fd> に関連付けられたファ"
9916 "イルに書き込む (\"gather output\";「かき集め出力」)。"
9917
9918 #. type: Plain text
9919 #: build/C/man2/readv.2:85
9920 msgid ""
9921 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
9922 "I<E<lt>sys/uio.hE<gt>> as:"
9923 msgstr ""
9924 "ポインタ I<iov> は I<iovec> 構造体の配列へのポインタである。 I<iovec> 構造体"
9925 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
9926
9927 #. type: Plain text
9928 #: build/C/man2/readv.2:93
9929 #, no-wrap
9930 msgid ""
9931 "struct iovec {\n"
9932 "    void  *iov_base;    /* Starting address */\n"
9933 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9934 "};\n"
9935 msgstr ""
9936 "struct iovec {\n"
9937 "    void  *iov_base;    /* Starting address */\n"
9938 "    size_t iov_len;     /* Number of bytes to transfer */\n"
9939 "};\n"
9940
9941 #. type: Plain text
9942 #: build/C/man2/readv.2:101
9943 #, fuzzy
9944 #| msgid ""
9945 #| "The B<readv>()  function works just like B<read>(2)  except that multiple "
9946 #| "buffers are filled."
9947 msgid ""
9948 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
9949 "buffers are filled."
9950 msgstr ""
9951 "B<readv>()  関数は、複数のバッファにデータを読み込む点を除いて B<read>(2)  と"
9952 "全く同様の動作を行う。"
9953
9954 #. type: Plain text
9955 #: build/C/man2/readv.2:107
9956 #, fuzzy
9957 #| msgid ""
9958 #| "The B<writev>()  function works just like B<write>(2)  except that "
9959 #| "multiple buffers are written out."
9960 msgid ""
9961 "The B<writev>()  system call works just like B<write>(2)  except that "
9962 "multiple buffers are written out."
9963 msgstr ""
9964 "B<writev>()  関数は、複数のバッファのデータを書き出す点以外は B<write>(2)  と"
9965 "全く同様の動作を行う。"
9966
9967 #. type: Plain text
9968 #: build/C/man2/readv.2:126
9969 msgid ""
9970 "Buffers are processed in array order.  This means that B<readv>()  "
9971 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
9972 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
9973 "filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
9974 "[0] before proceeding to I<iov>[1], and so on."
9975 msgstr ""
9976 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
9977 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
9978 "が十分ない場合は、 I<iov> が指すバッファのいずれも一杯にならない)。 同様に、 "
9979 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
9980
9981 #. type: Plain text
9982 #: build/C/man2/readv.2:144
9983 msgid ""
9984 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
9985 "data written by B<writev>()  is written as a single block that is not "
9986 "intermingled with output from writes in other processes (but see B<pipe>(7)  "
9987 "for an exception); analogously, B<readv>()  is guaranteed to read a "
9988 "contiguous block of data from the file, regardless of read operations "
9989 "performed in other threads or processes that have file descriptors referring "
9990 "to the same open file description (see B<open>(2))."
9991 msgstr ""
9992 "B<readv>()  と B<writev>()  によるデータ転送は atomic に行われる。つまり、 "
9993 "B<writev>()  によるデータ書き込みは一つのブロックとして行われ、他のプロセス"
9994 "の write による書き込みと混ざり合うことはない (例外に関しては B<pipe>(7)  を"
9995 "参照のこと)。同様に、 B<readv>()  はファイルから連続するデータブロックが読み"
9996 "出すことが保証され、 同じファイル記述 (file description; B<open>(2)  参照) を"
9997 "参照するファイルディスクリプタを持つ他のスレッドやプロセスが 実行した read 操"
9998 "作の影響を受けることはない。"
9999
10000 #. type: SS
10001 #: build/C/man2/readv.2:144
10002 #, fuzzy, no-wrap
10003 #| msgid "B<read>(2), B<write>(2)"
10004 msgid "preadv() and pwritev()"
10005 msgstr "B<read>(2), B<write>(2)"
10006
10007 #. type: Plain text
10008 #: build/C/man2/readv.2:157
10009 msgid ""
10010 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
10011 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
10012 "argument, I<offset>, which specifies the file offset at which the input "
10013 "operation is to be performed."
10014 msgstr ""
10015
10016 #. type: Plain text
10017 #: build/C/man2/readv.2:170
10018 msgid ""
10019 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
10020 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
10021 "argument, I<offset>, which specifies the file offset at which the output "
10022 "operation is to be performed."
10023 msgstr ""
10024
10025 #. type: Plain text
10026 #: build/C/man2/readv.2:175
10027 msgid ""
10028 "The file offset is not changed by these system calls.  The file referred to "
10029 "by I<fd> must be capable of seeking."
10030 msgstr ""
10031
10032 #. type: Plain text
10033 #: build/C/man2/readv.2:186
10034 #, fuzzy
10035 #| msgid ""
10036 #| "On success, the B<readv>()  function returns the number of bytes read; "
10037 #| "the B<writev>()  function returns the number of bytes written.  On error, "
10038 #| "-1 is returned, and I<errno> is set appropriately."
10039 msgid ""
10040 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
10041 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
10042 "error, -1 is returned, and I<errno> is set appropriately."
10043 msgstr ""
10044 "成功した場合、 B<readv>()  関数は読み込んだバイト数を返し、 B<writev>()  関数"
10045 "は書き込んだバイト数を返す。 エラーの場合 -1 を返し、I<errno> を適切に設定す"
10046 "る。"
10047
10048 #. type: Plain text
10049 #: build/C/man2/readv.2:198
10050 #, fuzzy
10051 #| msgid ""
10052 #| "The errors are as given for B<read>(2)  and B<write>(2).  Additionally "
10053 #| "the following error is defined:"
10054 msgid ""
10055 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
10056 "B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
10057 "(2).  Additionally, the following error is defined:"
10058 msgstr ""
10059 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。 さらに以下のエラー"
10060 "が定義されている:"
10061
10062 #. type: Plain text
10063 #: build/C/man2/readv.2:207
10064 msgid ""
10065 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
10066 "vector count I<iovcnt> is less than zero or greater than the permitted "
10067 "maximum."
10068 msgstr ""
10069 "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローした。もしくは、 ベクタ"
10070 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
10071
10072 #. type: Plain text
10073 #: build/C/man2/readv.2:212
10074 msgid ""
10075 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
10076 "support was added in glibc 2.10."
10077 msgstr ""
10078
10079 #.  The readv/writev system calls were buggy before Linux 1.3.40.
10080 #.  (Says release.libc.)
10081 #. type: Plain text
10082 #: build/C/man2/readv.2:220
10083 #, fuzzy
10084 #| msgid ""
10085 #| "4.4BSD (the B<readv>()  and B<writev>()  functions first appeared in "
10086 #| "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10087 #| "I<iovcnt> argument, and I<int> as return type for these functions."
10088 msgid ""
10089 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
10090 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
10091 "I<iovcnt> argument, and I<int> as the return type."
10092 msgstr ""
10093 "4.4BSD (B<readv>()  と B<writev>()  関数は 4.2BSD で最初に現われた)、"
10094 "POSIX.1-2001。 Linux libc5 では I<iovcnt> 引き数の型として I<size_t> を、 こ"
10095 "れらの関数の返り値として I<int> を使用していた。"
10096
10097 #. type: Plain text
10098 #: build/C/man2/readv.2:224
10099 msgid ""
10100 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
10101 msgstr ""
10102
10103 #. type: SS
10104 #: build/C/man2/readv.2:225
10105 #, no-wrap
10106 msgid "Linux Notes"
10107 msgstr "Linux での注意"
10108
10109 #. type: Plain text
10110 #: build/C/man2/readv.2:256
10111 msgid ""
10112 "POSIX.1-2001 allows an implementation to place a limit on the number of "
10113 "items that can be passed in I<iov>.  An implementation can advertise its "
10114 "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the "
10115 "return value from I<sysconf(_SC_IOV_MAX)>.  On Linux, the limit advertised "
10116 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
10117 "glibc wrapper functions do some extra work if they detect that the "
10118 "underlying kernel system call failed because this limit was exceeded.  In "
10119 "the case of B<readv>()  the wrapper function allocates a temporary buffer "
10120 "large enough for all of the items specified by I<iov>, passes that buffer in "
10121 "a call to B<read>(2), copies data from the buffer to the locations specified "
10122 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
10123 "buffer.  The wrapper function for B<writev>()  performs the analogous task "
10124 "using a temporary buffer and a call to B<write>(2)."
10125 msgstr ""
10126 "POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
10127 "れている。 実装は、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、実"
10128 "行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で、この上限を広告することができ"
10129 "る。 Linux では、この仕組みにより広告される上限は 1024 であり、 この値はカー"
10130 "ネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で"
10131 "呼ばれるカーネル・ システムコールがこの上限を超過して失敗したことを検出する"
10132 "と、 追加の動作をする。 B<readv>()  の場合、ラッパー関数は I<iov> で指定され"
10133 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
10134 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
10135 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
10136 "る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
10137 "(2)  を呼び出す。"
10138
10139 #. type: Plain text
10140 #: build/C/man2/readv.2:263
10141 #, fuzzy
10142 #| msgid ""
10143 #| "It is not advisable to mix calls to functions like B<readv>()  or "
10144 #| "B<writev>(), which operate on file descriptors, with the functions from "
10145 #| "the stdio library; the results will be undefined and probably not what "
10146 #| "you want."
10147 msgid ""
10148 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
10149 "operate on file descriptors, with the functions from the stdio library; the "
10150 "results will be undefined and probably not what you want."
10151 msgstr ""
10152 "B<readv>()  や B<writev>()  のようなファイルディスクリプタに対する操作を行う"
10153 "関数と、 標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。 "
10154 "どんな結果になるかは定義されておらず、 おそらく欲しい結果は得られないだろう。"
10155
10156 #. type: Plain text
10157 #: build/C/man2/readv.2:266
10158 msgid "The following code sample demonstrates the use of B<writev>():"
10159 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
10160
10161 #. type: Plain text
10162 #: build/C/man2/readv.2:273
10163 #, no-wrap
10164 msgid ""
10165 "char *str0 = \"hello \";\n"
10166 "char *str1 = \"world\\en\";\n"
10167 "struct iovec iov[2];\n"
10168 "ssize_t nwritten;\n"
10169 msgstr ""
10170 "char *str0 = \"hello \";\n"
10171 "char *str1 = \"world\\en\";\n"
10172 "struct iovec iov[2];\n"
10173 "ssize_t nwritten;\n"
10174
10175 #. type: Plain text
10176 #: build/C/man2/readv.2:278
10177 #, no-wrap
10178 msgid ""
10179 "iov[0].iov_base = str0;\n"
10180 "iov[0].iov_len = strlen(str0);\n"
10181 "iov[1].iov_base = str1;\n"
10182 "iov[1].iov_len = strlen(str1);\n"
10183 msgstr ""
10184 "iov[0].iov_base = str0;\n"
10185 "iov[0].iov_len = strlen(str0);\n"
10186 "iov[1].iov_base = str1;\n"
10187 "iov[1].iov_len = strlen(str1);\n"
10188
10189 #. type: Plain text
10190 #: build/C/man2/readv.2:280
10191 #, no-wrap
10192 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10193 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
10194
10195 #. type: Plain text
10196 #: build/C/man2/readv.2:286
10197 #, fuzzy
10198 #| msgid "B<read>(2), B<write>(2)"
10199 msgid "B<pread>(2), B<read>(2), B<write>(2)"
10200 msgstr "B<read>(2), B<write>(2)"
10201
10202 #. type: TH
10203 #: build/C/man3/remove.3:31
10204 #, no-wrap
10205 msgid "REMOVE"
10206 msgstr "REMOVE"
10207
10208 #. type: TH
10209 #: build/C/man3/remove.3:31
10210 #, no-wrap
10211 msgid "2008-12-03"
10212 msgstr "2008-12-03"
10213
10214 #. type: Plain text
10215 #: build/C/man3/remove.3:34
10216 msgid "remove - remove a file or directory"
10217 msgstr "remove - ファイルやディレクトリを削除する"
10218
10219 #. type: Plain text
10220 #: build/C/man3/remove.3:38
10221 msgid "B<int remove(const char *>I<pathname>B<);>"
10222 msgstr "B<int remove(const char *>I<pathname>B<);>"
10223
10224 #. type: Plain text
10225 #: build/C/man3/remove.3:46
10226 msgid ""
10227 "B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
10228 "for files, and B<rmdir>(2)  for directories."
10229 msgstr ""
10230 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
10231 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
10232
10233 #. type: Plain text
10234 #: build/C/man3/remove.3:50
10235 msgid ""
10236 "If the removed name was the last link to a file and no processes have the "
10237 "file open, the file is deleted and the space it was using is made available "
10238 "for reuse."
10239 msgstr ""
10240 "もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイル"
10241 "を 開いていないなら、ファイルも削除する。ファイルの占めていた 領域は他で使う"
10242 "ことができるようになる。"
10243
10244 #. type: Plain text
10245 #: build/C/man3/remove.3:55
10246 msgid ""
10247 "If the name was the last link to a file, but any processes still have the "
10248 "file open, the file will remain in existence until the last file descriptor "
10249 "referring to it is closed."
10250 msgstr ""
10251 "名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
10252 "いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
10253 "でファイルは存在し続ける。"
10254
10255 #. type: Plain text
10256 #: build/C/man3/remove.3:57
10257 msgid "If the name referred to a symbolic link, the link is removed."
10258 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
10259
10260 #. type: Plain text
10261 #: build/C/man3/remove.3:60
10262 msgid ""
10263 "If the name referred to a socket, FIFO, or device, the name is removed, but "
10264 "processes which have the object open may continue to use it."
10265 msgstr ""
10266 "名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
10267 "ソケットなどを開いているプロセスはそのまま使い続けることができる。"
10268
10269 #. type: Plain text
10270 #: build/C/man3/remove.3:70
10271 msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
10272 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
10273
10274 #. type: Plain text
10275 #: build/C/man3/remove.3:72
10276 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
10277 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
10278
10279 #. type: Plain text
10280 #: build/C/man3/remove.3:78
10281 msgid ""
10282 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
10283 "hence would not remove directories)."
10284 msgstr ""
10285 "libc4 と libc5 においては、 B<remove>()  は B<unlink>(2)  の別名であった "
10286 "(従ってディレクトリを削除できなかった)。"
10287
10288 #. type: Plain text
10289 #: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
10290 msgid ""
10291 "Infelicities in the protocol underlying NFS can cause the unexpected "
10292 "disappearance of files which are still being used."
10293 msgstr ""
10294 "NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしま"
10295 "うことがありえる。"
10296
10297 #. type: Plain text
10298 #: build/C/man3/remove.3:92
10299 msgid ""
10300 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10301 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10302 msgstr ""
10303 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
10304 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
10305
10306 #. type: TH
10307 #: build/C/man2/rename.2:32
10308 #, no-wrap
10309 msgid "RENAME"
10310 msgstr "RENAME"
10311
10312 #. type: TH
10313 #: build/C/man2/rename.2:32
10314 #, no-wrap
10315 msgid "2009-03-30"
10316 msgstr "2009-03-30"
10317
10318 #. type: Plain text
10319 #: build/C/man2/rename.2:35
10320 msgid "rename - change the name or location of a file"
10321 msgstr "rename - ファイルの名前や位置を変更する"
10322
10323 #. type: Plain text
10324 #: build/C/man2/rename.2:39
10325 msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10326 msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
10327
10328 #. type: Plain text
10329 #: build/C/man2/rename.2:48
10330 msgid ""
10331 "B<rename>()  renames a file, moving it between directories if required.  Any "
10332 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
10333 "Open file descriptors for I<oldpath> are also unaffected."
10334 msgstr ""
10335 "B<rename>()  はファイルの名前を変更し、必要ならばディレクトリ間の移動を行な"
10336 "う。 そのファイルに対する (B<link>(2)  を使用して作られた) 他のハードリンク "
10337 "(hard link) には影響はない。 オープン済の I<oldpath> に対するファイルディスク"
10338 "リプタにも影響はない。"
10339
10340 #. type: Plain text
10341 #: build/C/man2/rename.2:56
10342 msgid ""
10343 "If I<newpath> already exists it will be atomically replaced (subject to a "
10344 "few conditions; see ERRORS below), so that there is no point at which "
10345 "another process attempting to access I<newpath> will find it missing."
10346 msgstr ""
10347 "I<newpath> が既に存在する場合、それは不可分操作で (atomically) 置き換えられ"
10348 "る (ただし、いくつかの条件がある; 以下の「エラー」のセクションを参照)。 その"
10349 "ため、 I<newpath> にアクセスしようとしている他のプロセスがファイルを見失うこ"
10350 "とはない (訳註: 常にアクセス可能である)。"
10351
10352 #. type: Plain text
10353 #: build/C/man2/rename.2:64
10354 msgid ""
10355 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
10356 "file, then B<rename>()  does nothing, and returns a success status."
10357 msgstr ""
10358 "I<oldpath> と I<newpath> がどちらも既存のハードリンクで、同じファイルを参照し"
10359 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
10360
10361 #. type: Plain text
10362 #: build/C/man2/rename.2:72
10363 msgid ""
10364 "If I<newpath> exists but the operation fails for some reason B<rename>()  "
10365 "guarantees to leave an instance of I<newpath> in place."
10366 msgstr ""
10367 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
10368 "I<newpath> の実体を元のまま残すことを保証する。"
10369
10370 #. type: Plain text
10371 #: build/C/man2/rename.2:78
10372 msgid ""
10373 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
10374 "not exist, or it must specify an empty directory."
10375 msgstr ""
10376 "I<oldpath> にはディレクトリを指定することもできる。 この場合、 I<newpath> は"
10377 "存在しないか、空のディレクトリでなければならない。"
10378
10379 #. type: Plain text
10380 #: build/C/man2/rename.2:85
10381 msgid ""
10382 "However, when overwriting there will probably be a window in which both "
10383 "I<oldpath> and I<newpath> refer to the file being renamed."
10384 msgstr ""
10385 "一方で、上書きを行なう場合は、rename が行なわれるファイルを I<oldpath> と "
10386 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
10387
10388 #. type: Plain text
10389 #: build/C/man2/rename.2:91
10390 msgid ""
10391 "If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
10392 "refers to a symbolic link the link will be overwritten."
10393 msgstr ""
10394 "I<oldpath> がシンボリック・リンク (symbolic link) を参照している場合は、 リン"
10395 "クの名前が変更される。 また、 I<newpath> がシンボリック・リンクを参照している"
10396 "場合は、リンクが上書きされる。"
10397
10398 #. type: Plain text
10399 #: build/C/man2/rename.2:116
10400 msgid ""
10401 "Write permission is denied for the directory containing I<oldpath> or "
10402 "I<newpath>, or, search permission is denied for one of the directories in "
10403 "the path prefix of I<oldpath> or I<newpath>, or I<oldpath> is a directory "
10404 "and does not allow write permission (needed to update the I<..> entry).  "
10405 "(See also B<path_resolution>(7).)"
10406 msgstr ""
10407 "I<oldpath> または I<newpath> を含んでいるディレクトリの書き込み許可がない。 "
10408 "または、 I<oldpath> または I<newpath> のディレクトリ部分のどれかに検索許可が"
10409 "ない。 または、 I<oldpath> がディレクトリで (I<..> エントリを更新するのに必要"
10410 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
10411
10412 #. type: TP
10413 #: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
10414 #, no-wrap
10415 msgid "B<EBUSY>"
10416 msgstr "B<EBUSY>"
10417
10418 #. type: Plain text
10419 #: build/C/man2/rename.2:133
10420 msgid ""
10421 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
10422 "use by some process (perhaps as current working directory, or as root "
10423 "directory, or because it was open for reading) or is in use by the system "
10424 "(for example as mount point), while the system considers this an error.  "
10425 "(Note that there is no requirement to return B<EBUSY> in such cases"
10426 "\\(emthere is nothing wrong with doing the rename anyway\\(embut it is "
10427 "allowed to return B<EBUSY> if the system cannot otherwise handle such "
10428 "situations.)"
10429 msgstr ""
10430 "I<oldpath> または I<newpath> がディレクトリで、何らかのプロセスが使用中 (多"
10431 "分、カレント・ワーキング・ディレクトリか、ルートディレクトリか、 読み込みのた"
10432 "めにオープンされているかでろう)  もしくは、システムが使用中 (例えばマウント・"
10433 "ポイントである)  であり、システムがこれをエラーであると判断したために rename "
10434 "が失敗した。 (このような場合に B<EBUSY> を返すことは規格では要求されていない"
10435 "点に注意すること。 このような場合に、rename をとにかく実行してみるのは何の問"
10436 "題もない。 ただし、そのような状況で、システムが他に返すエラーがない場合には "
10437 "B<EBUSY> を返すことが許されている。)"
10438
10439 #. type: Plain text
10440 #: build/C/man2/rename.2:140
10441 msgid ""
10442 "The new pathname contained a path prefix of the old, or, more generally, an "
10443 "attempt was made to make a directory a subdirectory of itself."
10444 msgstr ""
10445 "I<newpath> が I<oldpath> のパス部分を含んでいる。ディレクトリを自分自身のサブ"
10446 "ディレクトリに 変更しようとした場合がほとんどである。"
10447
10448 #. type: Plain text
10449 #: build/C/man2/rename.2:146
10450 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
10451 msgstr ""
10452 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
10453 "い。"
10454
10455 #. type: Plain text
10456 #: build/C/man2/rename.2:157
10457 msgid ""
10458 "I<oldpath> already has the maximum number of links to it, or it was a "
10459 "directory and the directory containing I<newpath> has the maximum number of "
10460 "links."
10461 msgstr ""
10462 "I<oldpath> は既に最大数までのリンクを持っているか、それがディレクトリで "
10463 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
10464
10465 #. type: Plain text
10466 #: build/C/man2/rename.2:173
10467 msgid ""
10468 "The link named by I<oldpath> does not exist; or, a directory component in "
10469 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
10470 msgstr ""
10471 "I<oldpath> という名前のリンクが存在しない。 または、 I<newpath> というディレ"
10472 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
10473
10474 #. type: Plain text
10475 #: build/C/man2/rename.2:190
10476 msgid ""
10477 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
10478 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
10479 "not a directory."
10480 msgstr ""
10481 "I<oldpath> か I<newpath> に含まれているディレクトリ部分が 実際にはディレクト"
10482 "リでない。 または I<oldpath> がディレクトリで、 I<newpath> が存在してディレク"
10483 "トリでない。"
10484
10485 #. type: TP
10486 #: build/C/man2/rename.2:190
10487 #, no-wrap
10488 msgid "B<ENOTEMPTY> or B<EEXIST>"
10489 msgstr "B<ENOTEMPTY  または  EEXIST>"
10490
10491 #. type: Plain text
10492 #: build/C/man2/rename.2:194
10493 msgid ""
10494 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
10495 "\" and \"..\"."
10496 msgstr ""
10497 "I<newpath> が空でないディレクトリである。すなわち \".\" と \"..\" 以外を含ん"
10498 "でいる。"
10499
10500 #. type: TP
10501 #: build/C/man2/rename.2:194 build/C/man2/unlink.2:126
10502 #, no-wrap
10503 msgid "B<EPERM> or B<EACCES>"
10504 msgstr "B<EPERM> または B<EACCES>"
10505
10506 #. type: Plain text
10507 #: build/C/man2/rename.2:218
10508 msgid ""
10509 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
10510 "the process's effective user ID is neither the user ID of the file to be "
10511 "deleted nor that of the directory containing it, and the process is not "
10512 "privileged (Linux: does not have the B<CAP_FOWNER> capability); or "
10513 "I<newpath> is an existing file and the directory containing it has the "
10514 "sticky bit set and the process's effective user ID is neither the user ID of "
10515 "the file to be replaced nor that of the directory containing it, and the "
10516 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
10517 "capability); or the file system containing I<pathname> does not support "
10518 "renaming of the type requested."
10519 msgstr ""
10520 "I<oldpath> のあるディレクトリにスティッキー・ビット (sticky bit)  "
10521 "(B<S_ISVTX>)  が設定されており、 プロセスの実効ユーザー ID が 削除しようとす"
10522 "るファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいず"
10523 "れとも一致せず、かつ プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビ"
10524 "リティ (capability) がない)。 または、 I<newpath> がすでに存在するファイル"
10525 "で、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユー"
10526 "ザー ID が 置き換えようとするファイルのユーザー ID と そのファイルを含むディ"
10527 "レクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない (Linux "
10528 "では B<CAP_FOWNER> ケーパビリティがない)。 または I<oldpath> と I<newpath> が"
10529 "存在するファイル・システムが、要求された種類の名前の変更を サポートしていな"
10530 "い。"
10531
10532 #. type: Plain text
10533 #: build/C/man2/rename.2:229
10534 msgid ""
10535 "I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
10536 "permits a file system to be mounted at multiple points, but B<rename>()  "
10537 "does not work across different mount points, even if the same file system is "
10538 "mounted on both.)"
10539 msgstr ""
10540 "I<oldpath> と I<newpath> が同じマウントされたファイル・システムに存在しな"
10541 "い。 (Linux は 1 つのファイル・システムを複数のマウント位置に マウントするこ"
10542 "とを許可している。 しかし B<rename>()  は、たとえ同じファイル・システムであっ"
10543 "ても、 別々のマウント位置を跨いでは動作しない。)"
10544
10545 #. type: Plain text
10546 #: build/C/man2/rename.2:231
10547 msgid "4.3BSD, C89, C99, POSIX.1-2001."
10548 msgstr "4.3BSD, C89, C99, POSIX.1-2001."
10549
10550 #. type: Plain text
10551 #: build/C/man2/rename.2:242
10552 msgid ""
10553 "On NFS file systems, you can not assume that if the operation failed the "
10554 "file was not renamed.  If the server does the rename operation and then "
10555 "crashes, the retransmitted RPC which will be processed when the server is up "
10556 "again causes a failure.  The application is expected to deal with this.  See "
10557 "B<link>(2)  for a similar problem."
10558 msgstr ""
10559 "NFS ファイル・システムでは、操作が失敗したからといって、 ファイルの名前が変更"
10560 "できなかったと決めてかかることはできない。 サーバが rename 操作を終えてからク"
10561 "ラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理さ"
10562 "れるが、これは失敗となる。 アプリケーションはこの問題を正しく取り扱うことが期"
10563 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
10564
10565 #. type: Plain text
10566 #: build/C/man2/rename.2:251
10567 msgid ""
10568 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10569 "(2), B<path_resolution>(7), B<symlink>(7)"
10570 msgstr ""
10571 "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
10572 "(2), B<path_resolution>(7), B<symlink>(7)"
10573
10574 #. type: TH
10575 #: build/C/man2/rmdir.2:30
10576 #, no-wrap
10577 msgid "RMDIR"
10578 msgstr "RMDIR"
10579
10580 #. type: TH
10581 #: build/C/man2/rmdir.2:30
10582 #, no-wrap
10583 msgid "2008-05-08"
10584 msgstr "2008-05-08"
10585
10586 #. type: Plain text
10587 #: build/C/man2/rmdir.2:33
10588 msgid "rmdir - delete a directory"
10589 msgstr "rmdir - ディレクトリを削除する"
10590
10591 #. type: Plain text
10592 #: build/C/man2/rmdir.2:37
10593 msgid "B<int rmdir(const char *>I<pathname>B<);>"
10594 msgstr "B<int rmdir(const char *>I<pathname>B<);>"
10595
10596 #. type: Plain text
10597 #: build/C/man2/rmdir.2:40
10598 msgid "B<rmdir>()  deletes a directory, which must be empty."
10599 msgstr ""
10600 "B<rmdir>()  はディレクトリを削除する。削除するディレクトリは空でなければなら"
10601 "ない。"
10602
10603 #. type: Plain text
10604 #: build/C/man2/rmdir.2:55
10605 msgid ""
10606 "Write access to the directory containing I<pathname> was not allowed, or one "
10607 "of the directories in the path prefix of I<pathname> did not allow search "
10608 "permission.  (See also B<path_resolution>(7)."
10609 msgstr ""
10610 "I<pathname> を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 "
10611 "(effective) UID に対して許可されていないか、 I<pathname> に含まれているディレ"
10612 "クトリのどれかに検索 (実行) 許可がないか、 I<pathname> に至るまでのディレクト"
10613 "リのいずれかに対する検索許可がなかった。 (B<path_resolution>(7)  も参照のこ"
10614 "と)"
10615
10616 #. type: Plain text
10617 #: build/C/man2/rmdir.2:64
10618 msgid ""
10619 "I<pathname> is currently in use by the system or some process that prevents "
10620 "its removal.  On Linux this means I<pathname> is currently used as a mount "
10621 "point or is the root directory of the calling process."
10622 msgstr ""
10623 "I<pathname> がシステムや別のプロセスにより使用中で削除することができない。 "
10624 "Linux では、 I<pathname> がマウントポイントとして使用されているか、 呼び出し"
10625 "たプロセスのルートディレクトリであることを意味する。"
10626
10627 #. type: Plain text
10628 #: build/C/man2/rmdir.2:73
10629 msgid "I<pathname> has I<.> as last component."
10630 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
10631
10632 #. type: Plain text
10633 #: build/C/man2/rmdir.2:77
10634 msgid "Too many symbolic links were encountered in resolving I<pathname>."
10635 msgstr "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
10636
10637 #. type: Plain text
10638 #: build/C/man2/rmdir.2:85
10639 msgid ""
10640 "A directory component in I<pathname> does not exist or is a dangling "
10641 "symbolic link."
10642 msgstr ""
10643 "I<pathname> の中のディレクトリ部分が存在しないか、壊れた (dangling)  シンボ"
10644 "リック・リンク (symbolic link) である。"
10645
10646 #. type: Plain text
10647 #: build/C/man2/rmdir.2:94
10648 msgid ""
10649 "I<pathname>, or a component used as a directory in I<pathname>, is not, in "
10650 "fact, a directory."
10651 msgstr ""
10652 "I<pathname> か I<pathname> に含まれているディレクトリ部分が、実際には、ディレ"
10653 "クトリでない。"
10654
10655 #. type: TP
10656 #: build/C/man2/rmdir.2:94
10657 #, no-wrap
10658 msgid "B<ENOTEMPTY>"
10659 msgstr "B<ENOTEMPTY>"
10660
10661 #. type: Plain text
10662 #: build/C/man2/rmdir.2:107
10663 msgid ""
10664 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
10665 "I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for this "
10666 "condition."
10667 msgstr ""
10668 "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリがある。または、 "
10669 "I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
10670 "で B<EEXIST> を返すことを認めている。"
10671
10672 #. type: Plain text
10673 #: build/C/man2/rmdir.2:118
10674 msgid ""
10675 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
10676 "and the process's effective user ID is neither the user ID of the file to be "
10677 "deleted nor that of the directory containing it, and the process is not "
10678 "privileged (Linux: does not have the B<CAP_FOWNER> capability)."
10679 msgstr ""
10680 "I<pathname> を含んでいるディレクトリにスティッキー・ビット(sticky-bit)  "
10681 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザーID が削除しようとする"
10682 "ファイルの ユーザID とそのファイルを含むディレクトリのユーザーID のどちらとも"
10683 "異なり、 プロセスも権限 (Linux では B<CAP_FOWNER> ケーパビリティ) がない。"
10684
10685 #. type: Plain text
10686 #: build/C/man2/rmdir.2:123
10687 msgid ""
10688 "The file system containing I<pathname> does not support the removal of "
10689 "directories."
10690 msgstr ""
10691 "I<pathname> を含んでいるファイル・システムがディレクトリの 削除をサポートして"
10692 "いない。"
10693
10694 #. type: Plain text
10695 #: build/C/man2/rmdir.2:127
10696 msgid "I<pathname> refers to a directory on a read-only file system."
10697 msgstr ""
10698 "I<pathname> が読み込み専用のファイル・システム上のディレクトリを参照してい"
10699 "る。"
10700
10701 #. type: Plain text
10702 #: build/C/man2/rmdir.2:132
10703 msgid ""
10704 "Infelicities in the protocol underlying NFS can cause the unexpected "
10705 "disappearance of directories which are still being used."
10706 msgstr ""
10707 "NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅"
10708 "する現象が引き起こされることがある。"
10709
10710 #. type: Plain text
10711 #: build/C/man2/rmdir.2:141
10712 msgid ""
10713 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10714 "B<unlink>(2), B<unlinkat>(2)"
10715 msgstr ""
10716 "B<rm>(1), B<rmdir>(1), B<chdir>(2), B<chmod>(2), B<mkdir>(2), B<rename>(2), "
10717 "B<unlink>(2), B<unlinkat>(2)"
10718
10719 #. type: TH
10720 #: build/C/man3/scanf.3:50
10721 #, no-wrap
10722 msgid "SCANF"
10723 msgstr "SCANF"
10724
10725 #. type: Plain text
10726 #: build/C/man3/scanf.3:53
10727 msgid ""
10728 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
10729 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
10730
10731 #. type: Plain text
10732 #: build/C/man3/scanf.3:60
10733 #, no-wrap
10734 msgid ""
10735 "B<int scanf(const char *>I<format>B<, ...);>\n"
10736 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10737 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10738 msgstr ""
10739 "B<int scanf(const char *>I<format>B<, ...);>\n"
10740 "B<int fscanf(FILE *>I<stream>B<, const char *>I<format>B<, ...);>\n"
10741 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
10742
10743 #. type: Plain text
10744 #: build/C/man3/scanf.3:62
10745 #, no-wrap
10746 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
10747 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
10748
10749 #. type: Plain text
10750 #: build/C/man3/scanf.3:66
10751 #, no-wrap
10752 msgid ""
10753 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10754 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10755 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10756 msgstr ""
10757 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
10758 "B<int vsscanf(const char *>I<str>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10759 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
10760
10761 #. type: Plain text
10762 #: build/C/man3/scanf.3:77
10763 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10764 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
10765
10766 #. type: Plain text
10767 #: build/C/man3/scanf.3:80
10768 msgid ""
10769 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10770 "200112L;"
10771 msgstr ""
10772 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
10773 "200112L;"
10774
10775 #. type: Plain text
10776 #: build/C/man3/scanf.3:102
10777 msgid ""
10778 "The B<scanf>()  family of functions scans input according to I<format> as "
10779 "described below.  This format may contain I<conversion specifications>; the "
10780 "results from such conversions, if any, are stored in the locations pointed "
10781 "to by the I<pointer> arguments that follow I<format>.  Each I<pointer> "
10782 "argument must be of a type that is appropriate for the value returned by the "
10783 "corresponding conversion specification."
10784 msgstr ""
10785 "B<scanf>()  関数グループは、以下に述べるように、 I<format> に従って入力を読み"
10786 "込むものである。 この書式には I<「変換指定」 (conversion specifications)> を"
10787 "含めることができ、変換指定があれば、その変換の結果は I<format> に続く "
10788 "I<pointer> 引き数が指す場所に格納される。 それぞれの I<pointer> 引き数の型"
10789 "は、対応する変換指定が返す値に 適合していなければならない。"
10790
10791 #. type: Plain text
10792 #: build/C/man3/scanf.3:113
10793 msgid ""
10794 "If the number of conversion specifications in I<format> exceeds the number "
10795 "of I<pointer> arguments, the results are undefined.  If the number of "
10796 "I<pointer> arguments exceeds the number of conversion specifications, then "
10797 "the excess I<pointer> arguments are evaluated, but are otherwise ignored."
10798 msgstr ""
10799 "I<format> 中の変換指定の個数が I<pointer> 引き数の数より多かった場合の結果は"
10800 "未定義である。 I<pointer> 引き数の数が変換指定の個数よりも多かった場合、 余分"
10801 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
10802
10803 #. type: Plain text
10804 #: build/C/man3/scanf.3:125
10805 msgid ""
10806 "The B<scanf>()  function reads input from the standard input stream "
10807 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
10808 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
10809 msgstr ""
10810 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
10811 "B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
10812 "()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
10813
10814 #. type: Plain text
10815 #: build/C/man3/scanf.3:143
10816 msgid ""
10817 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
10818 "from the stream pointer I<stream> using a variable argument list of pointers "
10819 "(see B<stdarg>(3).  The B<vscanf>()  function scans a variable argument list "
10820 "from the standard input and the B<vsscanf>()  function scans it from a "
10821 "string; these are analogous to the B<vprintf>(3)  and B<vsprintf>(3)  "
10822 "functions respectively."
10823 msgstr ""
10824 "B<vfscanf>()  関数は B<vfprintf>(3)  と同様に、ストリームポインタ I<stream> "
10825 "からの入力をポインタの可変長引き数リストを用いて読み込む (B<stdarg>(3)  を参"
10826 "照)。 B<vscanf>()  関数は、可変長引き数のリストに基づき標準入力からの読み取り"
10827 "を行う。 B<vsscanf>()  関数はそのリストに基づき文字列から読み取る。 これらの"
10828 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
10829
10830 #. type: Plain text
10831 #: build/C/man3/scanf.3:157
10832 msgid ""
10833 "The I<format> string consists of a sequence of I<directives> which describe "
10834 "how to process the sequence of input characters.  If processing of a "
10835 "directive fails, no further input is read, and B<scanf>()  returns.  A "
10836 "\"failure\" can be either of the following: I<input failure>, meaning that "
10837 "input characters were unavailable, or I<matching failure>, meaning that the "
10838 "input was inappropriate (see below)."
10839 msgstr ""
10840 "I<format> 文字列は I<「命令」 (directive)> の列で構成される。命令は入力文字の"
10841 "系列をどのように処理するかを指示する ものである。ある命令の処理が失敗すると、"
10842 "入力はそれ以上読み込まれず、 B<scanf>()  は返る。「失敗」は I<「入力の失敗」 "
10843 "(input failure)> と I<「一致の失敗」 (matching failure)> のいずれかである。 "
10844 "入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切"
10845 "であったこと (下記参照) を意味する。"
10846
10847 #. type: Plain text
10848 #: build/C/man3/scanf.3:159
10849 msgid "A directive is one of the following:"
10850 msgstr "命令は以下のいずれかである:"
10851
10852 #. type: TP
10853 #: build/C/man3/scanf.3:159 build/C/man3/scanf.3:165 build/C/man3/scanf.3:169
10854 #: build/C/man3/scanf.3:188 build/C/man3/scanf.3:199 build/C/man3/scanf.3:217
10855 #: build/C/man3/scanf.3:229 build/C/man3/scanf.3:243
10856 #, no-wrap
10857 msgid "\\(bu"
10858 msgstr "\\(bu"
10859
10860 #. type: Plain text
10861 #: build/C/man3/scanf.3:165
10862 msgid ""
10863 "A sequence of white-space characters (space, tab, newline, etc.; see "
10864 "B<isspace>(3)).  This directive matches any amount of white space, including "
10865 "none, in the input."
10866 msgstr ""
10867 "ホワイトスペース (スペース、タブ、改行など; B<isspace>(3)  参照) の列。 この"
10868 "命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一"
10869 "致する)。"
10870
10871 #. type: Plain text
10872 #: build/C/man3/scanf.3:169
10873 msgid ""
10874 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
10875 "This character must exactly match the next character of input."
10876 msgstr ""
10877 "通常文字 (つまり、ホワイトスペースと \\(aq%\\(aq 以外の文字)。 この文字は入力"
10878 "の次の文字に正確に一致しなければならない。"
10879
10880 #. type: Plain text
10881 #: build/C/man3/scanf.3:180
10882 msgid ""
10883 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
10884 "character.  A sequence of characters from the input is converted according "
10885 "to this specification, and the result is placed in the corresponding "
10886 "I<pointer> argument.  If the next item of input does not match the "
10887 "conversion specification, the conversion fails\\(emthis is a I<matching "
10888 "failure>."
10889 msgstr ""
10890 "変換指定。変換指定は \\(aq%\\(aq (パーセント) 文字で始まる。 入力された文字の"
10891 "系列はこの指定にもとづいて変換され、 変換結果は対応する I<pointer> 引き数が指"
10892 "す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗す"
10893 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
10894
10895 #. type: Plain text
10896 #: build/C/man3/scanf.3:188
10897 msgid ""
10898 "Each I<conversion specification> in I<format> begins with either the "
10899 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
10900 "for the distinction) followed by:"
10901 msgstr ""
10902 "I<format> 中の各々の I<「変換指定」> は文字 \\(aq%\\(aq か文字系列 \"B<"
10903 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
10904
10905 #. type: Plain text
10906 #: build/C/man3/scanf.3:199
10907 msgid ""
10908 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
10909 "input as directed by the conversion specification, but discards the input.  "
10910 "No corresponding I<pointer> argument is required, and this specification is "
10911 "not included in the count of successful assignments returned by B<scanf>()."
10912 msgstr ""
10913 "代入抑制文字 \\(aq*\\(aq (省略可能)。 B<scanf>()  は変換指定に指示された通り"
10914 "入力を読み込むが、その入力は捨てられる。 対応する I<pointer> 引き数は必要な"
10915 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
10916
10917 #. type: Plain text
10918 #: build/C/man3/scanf.3:217
10919 msgid ""
10920 "An optional \\(aqa\\(aq character.  This is used with string conversions, "
10921 "and relieves the caller of the need to allocate a corresponding buffer to "
10922 "hold the input: instead, B<scanf>()  allocates a buffer of sufficient size, "
10923 "and assigns the address of this buffer to the corresponding I<pointer> "
10924 "argument, which should be a pointer to a I<char *> variable (this variable "
10925 "does not need to be initialized before the call).  The caller should "
10926 "subsequently B<free>(3)  this buffer when it is no longer required.  This is "
10927 "a GNU extension; C99 employs the \\(aqa\\(aq character as a conversion "
10928 "specifier (and it can also be used as such in the GNU implementation)."
10929 msgstr ""
10930 "文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
10931 "呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
10932 "に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
10933 "応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
10934 "のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
10935 "い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
10936 "る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
10937 "使用している (こちらも GNU の実装と同じように使用することができる)。"
10938
10939 #. type: Plain text
10940 #: build/C/man3/scanf.3:229
10941 msgid ""
10942 "An optional decimal integer which specifies the I<maximum field width>.  "
10943 "Reading of characters stops either when this maximum is reached or when a "
10944 "nonmatching character is found, whichever happens first.  Most conversions "
10945 "discard initial white space characters (the exceptions are noted below), and "
10946 "these discarded characters don't count toward the maximum field width.  "
10947 "String input conversions store a terminating null byte (\\(aq\\e0\\(aq)  to "
10948 "mark the end of the input; the maximum field width does not include this "
10949 "terminator."
10950 msgstr ""
10951 "I<「最大フィールド幅」> を指定する 10進数 (省略可能)。 この最大値に達するか、"
10952 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
10953 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
10954 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
10955 "の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
10956 "れるが、最大フィールド幅にはこの終端バイトは含まれない。"
10957
10958 #. type: Plain text
10959 #: build/C/man3/scanf.3:243
10960 msgid ""
10961 "An optional I<type modifier character>.  For example, the B<l> type modifier "
10962 "is used with integer conversions such as B<%d> to specify that the "
10963 "corresponding I<pointer> argument refers to a I<long int> rather than a "
10964 "pointer to an I<int>."
10965 msgstr ""
10966 "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
10967 "B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
10968 "I<int> ではなく I<long int> を参照していることを指定できる。"
10969
10970 #. type: Plain text
10971 #: build/C/man3/scanf.3:248
10972 msgid ""
10973 "A I<conversion specifier> that specifies the type of input conversion to be "
10974 "performed."
10975 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
10976
10977 #. type: Plain text
10978 #: build/C/man3/scanf.3:277
10979 msgid ""
10980 "The conversion specifications in I<format> are of two forms, either "
10981 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
10982 "forms should not be mixed in the same I<format> string, except that a string "
10983 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
10984 "I<format> contains \\(aq%\\(aq specifications then these correspond in order "
10985 "with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
10986 "is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
10987 "specifies that the converted input should be placed in the location referred "
10988 "to by the I<n>-th I<pointer> argument following I<format>."
10989 msgstr ""
10990 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
10991 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
10992 "ことはできない。但し、\"B<%>I<n>B<$>\" を 含む文字列に B<%%> と B<%*> を含め"
10993 "ることはできる。 I<format> に \\(aq%\\(aq 指定が含まれている場合、各々の "
10994 "\\(aq%\\(aq 指定と 後続の I<pointer> 引き数はその順番通りに対応する。 \"B<"
10995 "%>I<n>B<$>\" 形式 (POSIX.1-2001 では規定されているが、C99 にはない)  では、 "
10996 "I<n> は 10進数であり、変換後の入力を I<format> の後ろの I<n> 番目の "
10997 "I<pointer> 引き数が参照する場所に格納することを指定する。"
10998
10999 #. type: SS
11000 #: build/C/man3/scanf.3:277
11001 #, no-wrap
11002 msgid "Conversions"
11003 msgstr "変換"
11004
11005 #. type: Plain text
11006 #: build/C/man3/scanf.3:281
11007 msgid ""
11008 "The following I<type modifier characters> can appear in a conversion "
11009 "specification:"
11010 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
11011
11012 #. type: Plain text
11013 #: build/C/man3/scanf.3:291
11014 msgid ""
11015 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
11016 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
11017 "I<unsigned short int> (rather than I<int>)."
11018 msgstr ""
11019 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
11020 "タが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポインタで"
11021 "あることを示す。"
11022
11023 #. type: Plain text
11024 #: build/C/man3/scanf.3:299
11025 msgid ""
11026 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
11027 "I<unsigned char>."
11028 msgstr ""
11029 "B<h> と同じだが、次のポインタが I<signed char> か I<unsigned char> へのポイン"
11030 "タであることを示す。"
11031
11032 #. type: Plain text
11033 #: build/C/man3/scanf.3:308
11034 msgid ""
11035 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
11036 "I<uintmax_t>.  This modifier was introduced in C99."
11037 msgstr ""
11038 "B<h> と同じだが、次のポインタが I<intmax_t> か I<uintmax_t> へのポインタであ"
11039 "ることを示す。 この修飾子は C99 で導入された。"
11040
11041 #.  This use of l was introduced in Amendment 1 to ISO C90.
11042 #. type: Plain text
11043 #: build/C/man3/scanf.3:335
11044 msgid ""
11045 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
11046 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
11047 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
11048 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
11049 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
11050 "B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
11051 "as a pointer to a wide character or wide-character string respectively."
11052 msgstr ""
11053 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
11054 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
11055 "タであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポイン"
11056 "タが (I<float> ではなく)  I<double> へのポインタであることのいずれかであるこ"
11057 "とを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<"
11058 "%s> とともに使用すると、 パラメータはそれぞれワイド文字やワイド文字列へのポイ"
11059 "ンタであると みなされる。"
11060
11061 #.  MTK, Jul 05: The following is no longer true for modern
11062 #.  ANSI C (i.e., C99):
11063 #.  (Note that long long is not an
11064 #.  ANSI C
11065 #.  type. Any program using this will not be portable to all
11066 #.  architectures).
11067 #. type: Plain text
11068 #: build/C/man3/scanf.3:351
11069 msgid ""
11070 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
11071 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
11072 "B<i>, B<o>, B<u>, or B<x> and the next pointer is a pointer to I<long long>."
11073 msgstr ""
11074 "B<e>, B<f>, B<g> 変換で、次のポインタが I<long double> へのポインタであること"
11075 "を示す。もしくは、 B<d>, B<i>, B<o>, B<u>, B<x> 変換で、次のポインタが "
11076 "I<long long> へのポインタであることのいずれかであることを示す。"
11077
11078 #. type: Plain text
11079 #: build/C/man3/scanf.3:356
11080 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
11081 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
11082
11083 #. type: Plain text
11084 #: build/C/man3/scanf.3:363
11085 msgid ""
11086 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
11087 "modifier was introduced in C99."
11088 msgstr ""
11089 "B<h> と同様だが、次のポインタが I<ptrdiff_t> へのポインタであることを示す。 "
11090 "この修飾子は C99 で導入された。"
11091
11092 #. type: Plain text
11093 #: build/C/man3/scanf.3:370
11094 msgid ""
11095 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
11096 "modifier was introduced in C99."
11097 msgstr ""
11098 "B<h> と同様だが、次のポインタが I<size_t> へのポインタであることを示す。 この"
11099 "修飾子は C99 で導入された。"
11100
11101 #. type: Plain text
11102 #: build/C/man3/scanf.3:374
11103 msgid "The following I<conversion specifiers> are available:"
11104 msgstr "以下の I<「変換指定子」> が利用可能である。"
11105
11106 #. type: Plain text
11107 #: build/C/man3/scanf.3:383
11108 msgid ""
11109 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
11110 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
11111 "initial white space characters are discarded), and assignment does not occur."
11112 msgstr ""
11113 "文字 \\(aq%\\(aq に対応する。 書式文字列の中の B<%\\&%> は単一の文字 \\(aq%"
11114 "\\(aq に対応する。 変換は行われず (但し、先頭のホワイトスペース文字は捨てられ"
11115 "る)、 変数への代入は生じない。"
11116
11117 #. type: TP
11118 #: build/C/man3/scanf.3:383
11119 #, no-wrap
11120 msgid "B<d>"
11121 msgstr "B<d>"
11122
11123 #. type: Plain text
11124 #: build/C/man3/scanf.3:388
11125 msgid ""
11126 "Matches an optionally signed decimal integer; the next pointer must be a "
11127 "pointer to I<int>."
11128 msgstr ""
11129 "符号つきの 10進の整数に対応する。 次のポインタは I<int> へのポインタでなけれ"
11130 "ばならない。"
11131
11132 #. type: TP
11133 #: build/C/man3/scanf.3:388
11134 #, no-wrap
11135 msgid "B<D>"
11136 msgstr "B<D>"
11137
11138 #. type: Plain text
11139 #: build/C/man3/scanf.3:397
11140 msgid ""
11141 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
11142 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
11143 "causing old programs to fail mysteriously.)"
11144 msgstr ""
11145 "I<ld> と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これ"
11146 "は libc4 の場合だけである。 libc5 や glibc では B<%D> は暗黙のうちに無視さ"
11147 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
11148
11149 #. type: TP
11150 #: build/C/man3/scanf.3:397
11151 #, no-wrap
11152 msgid "B<i>"
11153 msgstr "B<i>"
11154
11155 #. type: Plain text
11156 #: build/C/man3/scanf.3:409
11157 msgid ""
11158 "Matches an optionally signed integer; the next pointer must be a pointer to "
11159 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
11160 "base 8 if it begins with I<0>, and in base 10 otherwise.  Only characters "
11161 "that correspond to the base are used."
11162 msgstr ""
11163 "符号つき整数に対応する。 次のポインタは I<int> へのポインタでなければならな"
11164 "い。 この整数は I<0x> または I<0X> で開始する場合には 16 進数、 I<0> で開始す"
11165 "る場合には 8 進数、その他の場合には 10進数として読み込まれる。 この変換で使用"
11166 "される文字は、これらの基数に対応しているものだけである。"
11167
11168 #. type: TP
11169 #: build/C/man3/scanf.3:409
11170 #, no-wrap
11171 msgid "B<o>"
11172 msgstr "B<o>"
11173
11174 #. type: Plain text
11175 #: build/C/man3/scanf.3:413
11176 msgid ""
11177 "Matches an unsigned octal integer; the next pointer must be a pointer to "
11178 "I<unsigned int>."
11179 msgstr ""
11180 "符号なしの 8 進の整数に対応する。 次のポインタは I<unsigned int> でなければな"
11181 "らない。"
11182
11183 #. type: TP
11184 #: build/C/man3/scanf.3:413
11185 #, no-wrap
11186 msgid "B<u>"
11187 msgstr "B<u>"
11188
11189 #. type: Plain text
11190 #: build/C/man3/scanf.3:418
11191 msgid ""
11192 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
11193 "I<unsigned int>."
11194 msgstr ""
11195 "符号なしの 10進の整数に対応する。 次のポインタは I<unsigned int> へのポインタ"
11196 "でなければならない。"
11197
11198 #. type: Plain text
11199 #: build/C/man3/scanf.3:423
11200 msgid ""
11201 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
11202 "to I<unsigned int>."
11203 msgstr ""
11204 "符号なしの 16 進の整数に対応する。 次のポインタは I<unsigned int> へのポイン"
11205 "タでなければならない。"
11206
11207 #. type: TP
11208 #: build/C/man3/scanf.3:423
11209 #, no-wrap
11210 msgid "B<X>"
11211 msgstr "B<X>"
11212
11213 #. type: Plain text
11214 #: build/C/man3/scanf.3:427
11215 msgid "Equivalent to B<x>."
11216 msgstr "B<x> と同一である。"
11217
11218 #. type: TP
11219 #: build/C/man3/scanf.3:427
11220 #, no-wrap
11221 msgid "B<f>"
11222 msgstr "B<f>"
11223
11224 #. type: Plain text
11225 #: build/C/man3/scanf.3:432
11226 msgid ""
11227 "Matches an optionally signed floating-point number; the next pointer must be "
11228 "a pointer to I<float>."
11229 msgstr ""
11230 "符号つき浮動小数点実数に対応する。 次のポインタは I<float> へのポインタでなけ"
11231 "ればならない。"
11232
11233 #. type: TP
11234 #: build/C/man3/scanf.3:432
11235 #, no-wrap
11236 msgid "B<e>"
11237 msgstr "B<e>"
11238
11239 #. type: Plain text
11240 #: build/C/man3/scanf.3:436 build/C/man3/scanf.3:440 build/C/man3/scanf.3:444
11241 msgid "Equivalent to B<f>."
11242 msgstr "B<f> と同一である。"
11243
11244 #. type: TP
11245 #: build/C/man3/scanf.3:436
11246 #, no-wrap
11247 msgid "B<g>"
11248 msgstr "B<g>"
11249
11250 #. type: TP
11251 #: build/C/man3/scanf.3:440
11252 #, no-wrap
11253 msgid "B<E>"
11254 msgstr "B<E>"
11255
11256 #. type: Plain text
11257 #: build/C/man3/scanf.3:448
11258 msgid "(C99) Equivalent to B<f>."
11259 msgstr "(C99)  B<f> と同一である。"
11260
11261 #. type: Plain text
11262 #: build/C/man3/scanf.3:456
11263 msgid ""
11264 "Matches a sequence of non-white-space characters; the next pointer must be a "
11265 "pointer to character array that is long enough to hold the input sequence "
11266 "and the terminating null byte (\\(aq\\e0\\(aq), which is added "
11267 "automatically.  The input string stops at white space or at the maximum "
11268 "field width, whichever occurs first."
11269 msgstr ""
11270 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
11271 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
11272 "的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
11273 "さでなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
11274 "フィールド幅に 達するか、のどちらかが起こると停止される。"
11275
11276 #. type: Plain text
11277 #: build/C/man3/scanf.3:467
11278 msgid ""
11279 "Matches a sequence of characters whose length is specified by the I<maximum "
11280 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
11281 "there must be enough room for all the characters (no terminating null byte "
11282 "is added).  The usual skip of leading white space is suppressed.  To skip "
11283 "white space first, use an explicit space in the format."
11284 msgstr ""
11285 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
11286 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
11287 "領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
11288 "のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ば"
11289 "すためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
11290
11291 #. type: TP
11292 #: build/C/man3/scanf.3:467
11293 #, no-wrap
11294 msgid "B<\\&[>"
11295 msgstr "B<\\&[>"
11296
11297 #. type: Plain text
11298 #: build/C/man3/scanf.3:500
11299 msgid ""
11300 "Matches a nonempty sequence of characters from the specified set of accepted "
11301 "characters; the next pointer must be a pointer to I<char>, and there must be "
11302 "enough room for all the characters in the string, plus a terminating null "
11303 "byte.  The usual skip of leading white space is suppressed.  The string is "
11304 "to be made up of characters in (or not in) a particular set; the set is "
11305 "defined by the characters between the open bracket B<[> character and a "
11306 "close bracket B<]> character.  The set I<excludes> those characters if the "
11307 "first character after the open bracket is a circumflex (B<^>).  To include a "
11308 "close bracket in the set, make it the first character after the open bracket "
11309 "or the circumflex; any other position will end the set.  The hyphen "
11310 "character B<-> is also special; when placed between two other characters, it "
11311 "adds all intervening characters to the set.  To include a hyphen, make it "
11312 "the last character before the final close bracket.  For instance, B<[^]0-9-]"
11313 "> means the set \"everything except close bracket, zero through nine, and "
11314 "hyphen\".  The string ends with the appearance of a character not in the "
11315 "(or, with a circumflex, in) set or when the field width runs out."
11316 msgstr ""
11317 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
11318 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
11319 "ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
11320 "な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
11321 "われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き"
11322 "括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
11323 "が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
11324 "閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
11325 "あとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が"
11326 "終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
11327 "時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
11328 "るためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<"
11329 "[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
11330 "味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
11331 "文字の 出現または確保された領域が使い切られた時に終了する。"
11332
11333 #. type: Plain text
11334 #: build/C/man3/scanf.3:508
11335 msgid ""
11336 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
11337 "pointer must be a pointer to a pointer to I<void>."
11338 msgstr ""
11339 "(B<printf>(3)  の B<%p> で印字されるような) ポインタ値に対応する。 次のポイン"
11340 "タは I<void> へのポインタへのポインタでなければならない。"
11341
11342 #. type: Plain text
11343 #: build/C/man3/scanf.3:528
11344 msgid ""
11345 "Nothing is expected; instead, the number of characters consumed thus far "
11346 "from the input is stored through the next pointer, which must be a pointer "
11347 "to I<int>.  This is I<not> a conversion, although it can be suppressed with "
11348 "the B<*> assignment-suppression character.  The C standard says: \"Execution "
11349 "of a B<%n> directive does not increment the assignment count returned at the "
11350 "completion of execution\" but the Corrigendum seems to contradict this.  "
11351 "Probably it is wise not to make any assumptions on the effect of B<%n> "
11352 "conversions on the return value."
11353 msgstr ""
11354 "どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が"
11355 "次のポインタで指定された場所に 格納される。 このポインタは I<int> へのポイン"
11356 "タでなければならない。 変換を抑制するのであれば B<*> 代入抑制文字を使って抑制"
11357 "することができるのだが、 この変換指定子は変換では「ない」。 C 言語の標準規格"
11358 "では「実行の完了時に返される代入の回数は B<%n> 命令の実行では増加しない」と"
11359 "なっているが、 正誤表の内容はこれと矛盾するようである。おそらく、 B<%n> 変換"
11360 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
11361
11362 #. type: Plain text
11363 #: build/C/man3/scanf.3:533
11364 msgid ""
11365 "These functions return the number of input items successfully matched and "
11366 "assigned, which can be fewer than provided for, or even zero in the event of "
11367 "an early matching failure."
11368 msgstr ""
11369 "これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
11370 "た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
11371 "ることもある。"
11372
11373 #. type: Plain text
11374 #: build/C/man3/scanf.3:545
11375 msgid ""
11376 "The value B<EOF> is returned if the end of input is reached before either "
11377 "the first successful conversion or a matching failure occurs.  B<EOF> is "
11378 "also returned if a read error occurs, in which case the error indicator for "
11379 "the stream (see B<ferror>(3))  is set, and I<errno> is set indicate the "
11380 "error."
11381 msgstr ""
11382 "最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 "
11383 "B<EOF> が返される。また、 読み込みエラーが発生した場合にも B<EOF> が返され"
11384 "る。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ "
11385 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
11386
11387 #. type: Plain text
11388 #: build/C/man3/scanf.3:551
11389 msgid ""
11390 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
11391 "operation would block."
11392 msgstr ""
11393 "I<stream> に対応するファイルディスクリプタが nonblocking となっており、 読み"
11394 "込み操作は停止 (block) することになる。"
11395
11396 #. type: Plain text
11397 #: build/C/man3/scanf.3:556
11398 msgid ""
11399 "The file descriptor underlying I<stream> is invalid, or not open for reading."
11400 msgstr ""
11401 "I<stream> に対応するファイルディスクリプタが無効であるが、 読み込み用にオープ"
11402 "ンされていない。"
11403
11404 #. type: Plain text
11405 #: build/C/man3/scanf.3:559
11406 msgid "Input byte sequence does not form a valid character."
11407 msgstr "入力されたバイト列が有効な文字を構成していない。"
11408
11409 #. type: Plain text
11410 #: build/C/man3/scanf.3:563
11411 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
11412 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
11413
11414 #. type: Plain text
11415 #: build/C/man3/scanf.3:568
11416 msgid "Not enough arguments; or I<format> is NULL."
11417 msgstr "引き数が十分でない。または I<format> が NULL である。"
11418
11419 #. type: Plain text
11420 #: build/C/man3/scanf.3:571
11421 msgid "Out of memory."
11422 msgstr "メモリ不足。"
11423
11424 #. type: TP
11425 #: build/C/man3/scanf.3:571
11426 #, no-wrap
11427 msgid "B<ERANGE>"
11428 msgstr "B<ERANGE>"
11429
11430 #. type: Plain text
11431 #: build/C/man3/scanf.3:575
11432 msgid ""
11433 "The result of an integer conversion would exceed the size that can be stored "
11434 "in the corresponding integer type."
11435 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
11436
11437 #. type: Plain text
11438 #: build/C/man3/scanf.3:585
11439 msgid ""
11440 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
11441 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
11442 msgstr ""
11443 "B<fscanf>(), B<scanf>(), B<sscanf>()  関数は C89, C99, POSIX.1-2001 に準拠し"
11444 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
11445
11446 #. type: Plain text
11447 #: build/C/man3/scanf.3:595
11448 msgid ""
11449 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
11450 "the usage of B<L> in integer conversions is the GNU notation."
11451 msgstr ""
11452 "B<q> 指定子は I<long long> の 4.4BSD での記述方法である。 一方、整数変換での "
11453 "B<ll> または B<L> の使用は GNU での拡張である。"
11454
11455 #. type: Plain text
11456 #: build/C/man3/scanf.3:606
11457 msgid ""
11458 "The Linux version of these functions is based on the I<GNU> I<libio> "
11459 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
11460 "(glibc-1.08)> for a more concise description."
11461 msgstr ""
11462 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
11463 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
11464
11465 #.  This feature seems to be present at least as far back as glibc 2.0.
11466 #. type: Plain text
11467 #: build/C/man3/scanf.3:624
11468 msgid ""
11469 "The GNU C library supports a nonstandard extension that causes the library "
11470 "to dynamically allocate a string of sufficient size for input strings for "
11471 "the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To make use of this "
11472 "feature, specify B<a> as a length modifier (thus B<%as> or B<%a[>I<range>B<]"
11473 ">).  The caller must B<free>(3)  the returned string, as in the following "
11474 "example:"
11475 msgstr ""
11476 "GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
11477 "ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
11478 "分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
11479 "るには、長さ修飾子として B<a> を指定する (したがって、全体としては B<%as> や "
11480 "B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
11481 "を B<free>(3)  しなければならない。"
11482
11483 #. type: Plain text
11484 #: build/C/man3/scanf.3:629
11485 #, no-wrap
11486 msgid ""
11487 "char *p;\n"
11488 "int n;\n"
11489 msgstr ""
11490 "char *p;\n"
11491 "int n;\n"
11492
11493 #. type: Plain text
11494 #: build/C/man3/scanf.3:640
11495 #, fuzzy, no-wrap
11496 #| msgid ""
11497 #| "errno = 0;\n"
11498 #| "n = scanf(\"%a[a-z]\", &p);\n"
11499 #| "if (n == 1) {\n"
11500 #| "    printf(\"read: %s\\en\", p);\n"
11501 #| "    free(p);\n"
11502 #| "} else if (errno != 0) {\n"
11503 #| "    perror(\"scanf\");\n"
11504 #| "} else {\n"
11505 #| "    fprintf(stderr, \"No matching characters\\en\"):\n"
11506 #| "}\n"
11507 msgid ""
11508 "errno = 0;\n"
11509 "n = scanf(\"%a[a-z]\", &p);\n"
11510 "if (n == 1) {\n"
11511 "    printf(\"read: %s\\en\", p);\n"
11512 "    free(p);\n"
11513 "} else if (errno != 0) {\n"
11514 "    perror(\"scanf\");\n"
11515 "} else {\n"
11516 "    fprintf(stderr, \"No matching characters\\en\");\n"
11517 "}\n"
11518 msgstr ""
11519 "errno = 0;\n"
11520 "n = scanf(\"%a[a-z]\", &p);\n"
11521 "if (n == 1) {\n"
11522 "    printf(\"read: %s\\en\", p);\n"
11523 "    free(p);\n"
11524 "} else if (errno != 0) {\n"
11525 "    perror(\"scanf\");\n"
11526 "} else {\n"
11527 "    fprintf(stderr, \"No matching characters\\en\"):\n"
11528 "}\n"
11529
11530 #. type: Plain text
11531 #: build/C/man3/scanf.3:648
11532 msgid ""
11533 "As shown in the above example, it is only necessary to call B<free>(3)  if "
11534 "the B<scanf>()  call successfully read a string."
11535 msgstr ""
11536 "上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
11537 "B<free>(3)  を呼び出す必要がある。"
11538
11539 #. type: Plain text
11540 #: build/C/man3/scanf.3:660
11541 msgid ""
11542 "The B<a> modifier is not available if the program is compiled with I<gcc -"
11543 "std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
11544 "specified), in which case the B<a> is interpreted as a specifier for "
11545 "floating-point numbers (see above)."
11546 msgstr ""
11547 "I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプログラムでは "
11548 "(B<_GNU_SOURCE> も同時に指定していない場合)、 B<a> 修飾子は利用できない。 上"
11549 "記の場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
11550
11551 #. type: Plain text
11552 #: build/C/man3/scanf.3:669
11553 msgid ""
11554 "Since version 2.7, glibc also provides the B<m> modifier for the same "
11555 "purpose as the B<a> modifier.  The B<m> modifier has the following "
11556 "advantages:"
11557 msgstr ""
11558 "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
11559 "ている。 B<m> 修飾子は以下の利点がある。"
11560
11561 #. type: Plain text
11562 #: build/C/man3/scanf.3:674
11563 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
11564 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
11565
11566 #. type: Plain text
11567 #: build/C/man3/scanf.3:680
11568 msgid ""
11569 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
11570 "specifier (and is unaffected by I<gcc -std=c99> etc.)"
11571 msgstr ""
11572 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
11573 "std=c99> などの影響も避けられる)。"
11574
11575 #. type: Plain text
11576 #: build/C/man3/scanf.3:682
11577 msgid "It is specified in the upcoming revision of the POSIX.1 standard."
11578 msgstr "POSIX.1 標準の次の改訂版で規定される。"
11579
11580 #. type: Plain text
11581 #: build/C/man3/scanf.3:695
11582 msgid ""
11583 "All functions are fully C89 conformant, but provide the additional "
11584 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
11585 "B<l> specifiers.  The latter may be considered to be a bug, as it changes "
11586 "the behavior of specifiers defined in C89."
11587 msgstr ""
11588 "全ての関数は、完全に C89 に準拠している。しかし 追加で B<q> と B<a> 指定子が"
11589 "提供されており、同様に B<L> と B<l> 指定子の付加的な振る舞いもある。後者は、 "
11590 "C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもし"
11591 "れない。"
11592
11593 #. type: Plain text
11594 #: build/C/man3/scanf.3:711
11595 msgid ""
11596 "Some combinations of the type modifiers and conversion specifiers defined by "
11597 "ANSI C do not make sense (e.g.  B<%Ld>).  While they may have a well-defined "
11598 "behavior on Linux, this need not to be so on other architectures.  Therefore "
11599 "it usually is better to use modifiers that are not defined by ANSI C at all, "
11600 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
11601 "B<u>, B<x>, and B<X> conversions or B<ll>."
11602 msgstr ""
11603 "ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味をなさないも"
11604 "のがある (例えば、 B<%Ld>)。 これらが指定された場合、 Linux 上でははっきりと"
11605 "定義された振る舞いをするかもしれないが、 他のアーキテクチャでも同様になってい"
11606 "るとは限らない。 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子"
11607 "を使用した方が良い。 すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や "
11608 "B<ll> と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
11609
11610 #. type: Plain text
11611 #: build/C/man3/scanf.3:717
11612 msgid ""
11613 "The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
11614 "conversions equivalently to B<L>."
11615 msgstr ""
11616 "B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
11617 "動小数の変換に使用される。"
11618
11619 #. type: Plain text
11620 #: build/C/man3/scanf.3:724
11621 msgid ""
11622 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11623 "B<strtoul>(3)"
11624 msgstr ""
11625 "B<getc>(3), B<printf>(3)  B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
11626 "B<strtoul>(3),"
11627
11628 #. type: TH
11629 #: build/C/man3/setbuf.3:46
11630 #, no-wrap
11631 msgid "SETBUF"
11632 msgstr "SETBUF"
11633
11634 #. type: TH
11635 #: build/C/man3/setbuf.3:46
11636 #, no-wrap
11637 msgid "2008-06-26"
11638 msgstr "2008-06-26"
11639
11640 #. type: Plain text
11641 #: build/C/man3/setbuf.3:49
11642 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
11643 msgstr ""
11644 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
11645
11646 #. type: Plain text
11647 #: build/C/man3/setbuf.3:54
11648 #, no-wrap
11649 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11650 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
11651
11652 #. type: Plain text
11653 #: build/C/man3/setbuf.3:56
11654 #, no-wrap
11655 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11656 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
11657
11658 #. type: Plain text
11659 #: build/C/man3/setbuf.3:58
11660 #, no-wrap
11661 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11662 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
11663
11664 #. type: Plain text
11665 #: build/C/man3/setbuf.3:61
11666 #, no-wrap
11667 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11668 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
11669
11670 #. type: Plain text
11671 #: build/C/man3/setbuf.3:71
11672 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11673 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
11674
11675 #. type: Plain text
11676 #: build/C/man3/setbuf.3:94
11677 msgid ""
11678 "The three types of buffering available are unbuffered, block buffered, and "
11679 "line buffered.  When an output stream is unbuffered, information appears on "
11680 "the destination file or terminal as soon as written; when it is block "
11681 "buffered many characters are saved up and written as a block; when it is "
11682 "line buffered characters are saved up until a newline is output or input is "
11683 "read from any stream attached to a terminal device (typically I<stdin>).  "
11684 "The function B<fflush>(3)  may be used to force the block out early.  (See "
11685 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
11686 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
11687 "obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
11688 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
11689 "by default."
11690 msgstr ""
11691 "バッファリングには unbuffered, block buffered, line buffered の3つのタイプが "
11692 "ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 "
11693 "力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、"
11694 "文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新"
11695 "しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、"
11696 "I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的"
11697 "に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通常、"
11698 "ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行"
11699 "うと B<malloc>(3)  が呼び出されバッファが獲得される。もし ストリームが (通"
11700 "常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイルは "
11701 "line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
11702 "unbuffered である。"
11703
11704 #. type: Plain text
11705 #: build/C/man3/setbuf.3:101
11706 msgid ""
11707 "The B<setvbuf>()  function may be used on any open stream to change its "
11708 "buffer.  The I<mode> argument must be one of the following three macros:"
11709 msgstr ""
11710 "B<setvbuf>()  関数は、オープンしている任意のストリームに対してバッファを変更"
11711 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
11712
11713 #. type: TP
11714 #: build/C/man3/setbuf.3:102
11715 #, no-wrap
11716 msgid "B<_IONBF>"
11717 msgstr "B<_IONBF>"
11718
11719 #. type: Plain text
11720 #: build/C/man3/setbuf.3:105
11721 msgid "unbuffered"
11722 msgstr "unbuffered"
11723
11724 #. type: TP
11725 #: build/C/man3/setbuf.3:105
11726 #, no-wrap
11727 msgid "B<_IOLBF>"
11728 msgstr "B<_IOLBF>"
11729
11730 #. type: Plain text
11731 #: build/C/man3/setbuf.3:108
11732 msgid "line buffered"
11733 msgstr "line buffered"
11734
11735 #. type: TP
11736 #: build/C/man3/setbuf.3:108
11737 #, no-wrap
11738 msgid "B<_IOFBF>"
11739 msgstr "B<_IOFBF>"
11740
11741 #. type: Plain text
11742 #: build/C/man3/setbuf.3:111
11743 msgid "fully buffered"
11744 msgstr "fully buffered"
11745
11746 #. type: Plain text
11747 #: build/C/man3/setbuf.3:127
11748 msgid ""
11749 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
11750 "least I<size> bytes long; this buffer will be used instead of the current "
11751 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
11752 "buffer will be allocated on the next read or write operation.  The B<setvbuf>"
11753 "()  function may only be used after opening a stream and before any other "
11754 "operations have been performed on it."
11755 msgstr ""
11756 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
11757 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
11758 "れる。もし、引数 I<buf> が NULL ならば、モードだけが変更される。 新しいバッ"
11759 "ファは次に読み書きした際に割り当てられる。 B<setvbuf>()  関数は、ストリームを"
11760 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
11761
11762 #. type: Plain text
11763 #: build/C/man3/setbuf.3:133
11764 msgid ""
11765 "The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
11766 "().  The B<setbuf>()  function is exactly equivalent to the call"
11767 msgstr ""
11768 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
11769 "B<setbuf>()  関数は、"
11770
11771 #. type: Plain text
11772 #: build/C/man3/setbuf.3:136
11773 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11774 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
11775
11776 #. type: Plain text
11777 #: build/C/man3/setbuf.3:146
11778 msgid ""
11779 "The B<setbuffer>()  function is the same, except that the size of the buffer "
11780 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
11781 "The B<setlinebuf>()  function is exactly equivalent to the call:"
11782 msgstr ""
11783 "と全く同等だし、 B<setbuffer>()  関数は、バッファサイズがデフォルト値 "
11784 "B<BUFSIZ> ではなく引数で与えられる点以外は同じである。 B<setlinebuf>()  関数"
11785 "は以下と同じである。"
11786
11787 #. type: Plain text
11788 #: build/C/man3/setbuf.3:149
11789 msgid "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11790 msgstr "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
11791
11792 #. type: Plain text
11793 #: build/C/man3/setbuf.3:160
11794 msgid ""
11795 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
11796 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
11797 "I<errno> on failure."
11798 msgstr ""
11799 "B<setvbuf>()  関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す "
11800 "(失敗とは、 I<mode> が不正な場合またはリクエストが条件を満たさない場合であ"
11801 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
11802
11803 #. type: Plain text
11804 #: build/C/man3/setbuf.3:162
11805 msgid "The other functions do not return a value."
11806 msgstr "その他の関数は値を返さない。"
11807
11808 #. type: Plain text
11809 #: build/C/man3/setbuf.3:168
11810 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
11811 msgstr ""
11812 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
11813
11814 #. type: Plain text
11815 #: build/C/man3/setbuf.3:178
11816 msgid ""
11817 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
11818 "versions of BSD before 4.2BSD, and are available under Linux since libc "
11819 "4.5.21.  On 4.2BSD and 4.3BSD systems, B<setbuf>()  always uses a suboptimal "
11820 "buffer size and should be avoided."
11821 msgstr ""
11822 "B<setbuffer>()  関数および B<setlinebuf>()  関数は 4.2BSD より前の BSD とは互"
11823 "換性がない。また Linux でも(古いバージョン では)利用できないかもしれない。"
11824 "4.2BSD および 4.3BSD のシステムでは B<setbuf>()  は必ず追加のバッファーのサイ"
11825 "ズを使用するので、これも使うべきでない。"
11826
11827 #. type: Plain text
11828 #: build/C/man3/setbuf.3:185
11829 msgid ""
11830 "You must make sure that the space that I<buf> points to still exists by the "
11831 "time I<stream> is closed, which also happens at program termination.  For "
11832 "example, the following is invalid:"
11833 msgstr ""
11834 "I<stream> を閉じる時 (プログラムを終了する際にもこれは起きる) には、 I<buf> "
11835 "が指し示す空間とが存在していることを保証しなければならない。 例えば、次のよう"
11836 "な使い方は許されない:"
11837
11838 #. type: Plain text
11839 #: build/C/man3/setbuf.3:188
11840 #, no-wrap
11841 msgid "#include E<lt>stdio.hE<gt>\n"
11842 msgstr "#include E<lt>stdio.hE<gt>\n"
11843
11844 #. type: Plain text
11845 #: build/C/man3/setbuf.3:197
11846 #, no-wrap
11847 msgid ""
11848 "int\n"
11849 "main(void)\n"
11850 "{\n"
11851 "    char buf[BUFSIZ];\n"
11852 "    setbuf(stdin, buf);\n"
11853 "    printf(\"Hello, world!\\en\");\n"
11854 "    return 0;\n"
11855 "}\n"
11856 msgstr ""
11857 "int\n"
11858 "main(void)\n"
11859 "{\n"
11860 "    char buf[BUFSIZ];\n"
11861 "    setbuf(stdin, buf);\n"
11862 "    printf(\"Hello, world!\\en\");\n"
11863 "    return 0;\n"
11864 "}\n"
11865
11866 #. type: Plain text
11867 #: build/C/man3/setbuf.3:206
11868 msgid ""
11869 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11870 "(3), B<puts>(3)"
11871 msgstr ""
11872 "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
11873 "(3), B<puts>(3)"
11874
11875 #. type: TH
11876 #: build/C/man3/stdin.3:9
11877 #, no-wrap
11878 msgid "STDIN"
11879 msgstr "STDIN"
11880
11881 #. type: TH
11882 #: build/C/man3/stdin.3:9 build/C/man3/tmpfile.3:29
11883 #, no-wrap
11884 msgid "2008-07-14"
11885 msgstr "2008-07-14"
11886
11887 #. type: Plain text
11888 #: build/C/man3/stdin.3:12
11889 msgid "stdin, stdout, stderr - standard I/O streams"
11890 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
11891
11892 #. type: Plain text
11893 #: build/C/man3/stdin.3:19
11894 #, no-wrap
11895 msgid ""
11896 "B<extern FILE *>I<stdin>B<;>\n"
11897 "B<extern FILE *>I<stdout>B<;>\n"
11898 "B<extern FILE *>I<stderr>B<;>\n"
11899 msgstr ""
11900 "B<extern FILE *>I<stdin>B<;>\n"
11901 "B<extern FILE *>I<stdout>B<;>\n"
11902 "B<extern FILE *>I<stderr>B<;>\n"
11903
11904 #. type: Plain text
11905 #: build/C/man3/stdin.3:31
11906 msgid ""
11907 "Under normal circumstances every UNIX program has three streams opened for "
11908 "it when it starts up, one for input, one for output, and one for printing "
11909 "diagnostic or error messages.  These are typically attached to the user's "
11910 "terminal (see B<tty>(4)  but might instead refer to files or other devices, "
11911 "depending on what the parent process chose to set up.  (See also the "
11912 "\"Redirection\" section of B<sh>(1).)"
11913 msgstr ""
11914 "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
11915 "3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
11916 "示用のものである。これらは通常ユーザの端末 (B<tty>(4)  を見よ) に接続されてい"
11917 "るが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられて"
11918 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
11919
11920 #. type: Plain text
11921 #: build/C/man3/stdin.3:41
11922 msgid ""
11923 "The input stream is referred to as \"standard input\"; the output stream is "
11924 "referred to as \"standard output\"; and the error stream is referred to as "
11925 "\"standard error\".  These terms are abbreviated to form the symbols used to "
11926 "refer to these files, namely I<stdin>, I<stdout>, and I<stderr>."
11927 msgstr ""
11928 "入力ストリームは \"standard input\" と呼ばれる。出力ストリームは \"standard "
11929 "output\"、エラーストリームは \"standard error\" と呼ばれる。 これらの用語を短"
11930 "縮したものがそれぞれのファイルを示すシンボルとなる。つ まり I<stdin>, "
11931 "I<stdout>, I<stderr> である。"
11932
11933 #. type: Plain text
11934 #: build/C/man3/stdin.3:50
11935 msgid ""
11936 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
11937 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
11938 msgstr ""
11939 "これらのシンボルは B<stdio>(3)  のマクロで、 FILE へのポインタ型である。した"
11940 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
11941
11942 #. type: Plain text
11943 #: build/C/man3/stdin.3:59
11944 msgid ""
11945 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
11946 "same underlying files may also be accessed using the raw UNIX file "
11947 "interface, that is, the functions like B<read>(2)  and B<lseek>(2)."
11948 msgstr ""
11949 "I<FILE> は UNIX のファイルディスクリプタにバッファ機能を追加したラッパー であ"
11950 "るから、これらのマクロにも対応するファイルがあり、 UNIX の raw ファ イルイン"
11951 "タフェース (B<read>(2)  や B<lseek>(2)  など) によってアクセスすることもでき"
11952 "る。"
11953
11954 #. type: Plain text
11955 #: build/C/man3/stdin.3:78
11956 msgid ""
11957 "On program startup, the integer file descriptors associated with the streams "
11958 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
11959 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
11960 "are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
11961 "(3)  to one of these streams can change the file descriptor number "
11962 "associated with the stream.)"
11963 msgstr ""
11964 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
11965 "られているファイルディスクリプタの番号は、 それぞれ 0, 1, 2 である。 プリプロ"
11966 "セッサシンボル B<STDIN_FILENO>, B<STDOUT_FILENO>, B<STDERR_FILENO> は "
11967 "I<E<lt>unistd.hE<gt>> 中でそれぞれこれらの値に定義されている。 (これらのスト"
11968 "リームに対して B<freopen>(3)  を適用することで、そのストリームに関連付けられ"
11969 "たファイルディスクリプタ の番号を変更することができる。)"
11970
11971 #. type: Plain text
11972 #: build/C/man3/stdin.3:91
11973 msgid ""
11974 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
11975 "unexpected results and should generally be avoided.  (For the masochistic "
11976 "among you: POSIX.1, section 8.2.3, describes in detail how this interaction "
11977 "is supposed to work.)  A general rule is that file descriptors are handled "
11978 "in the kernel, while stdio is just a library.  This means for example, that "
11979 "after an B<exec>(3), the child inherits all open file descriptors, but all "
11980 "old streams have become inaccessible."
11981 msgstr ""
11982 "I<FILE> と raw なファイルディスクリプタの併用は、予期できない結果を生じ るこ"
11983 "とがあるので、通常は避けるべきである。 (マゾヒスティックな人に: POSIX.1 のセ"
11984 "クション 8.2.3 には、この混用で動作がどのようになりそう かが詳しく記述されて"
11985 "いる。)  一般的なルールは以下の通り: ファイルディスクリプタはカーネルによっ"
11986 "て 扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば "
11987 "B<exec>(3)  の後には、子プロセスはオープンされているファイルディスクリプタ を"
11988 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
11989
11990 #. type: Plain text
11991 #: build/C/man3/stdin.3:109
11992 msgid ""
11993 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
11994 "macros, assigning to them is nonportable.  The standard streams can be made "
11995 "to refer to different files with help of the library function B<freopen>(3), "
11996 "specially introduced to make it possible to reassign I<stdin>, I<stdout>, "
11997 "and I<stderr>.  The standard streams are closed by a call to B<exit>(3)  and "
11998 "by normal program termination."
11999 msgstr ""
12000 "シンボル I<stdin>, I<stdout>, I<stderr> はすべてマクロとして定義されているの"
12001 "で、これらへの代入 は移植性を保証されない。標準ストリームはライブラリ関数 "
12002 "B<freopen>(3)  を用いれば、別のファイルを示すように変更することもできる。 こ"
12003 "のライブラリ関数は I<stdin>, I<stdout>, I<stderr> の再割り当てが可能なように"
12004 "特別に導入されたものである。 標準ストリームは B<exit>(3)  の呼び出しと、プロ"
12005 "グラムの正常終了によってクローズされる。"
12006
12007 #. type: Plain text
12008 #: build/C/man3/stdin.3:118
12009 msgid ""
12010 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
12011 "standard also stipulates that these three streams shall be open at program "
12012 "startup."
12013 msgstr ""
12014 "I<stdin>, I<stdout>, I<stderr> マクロは C89 に準拠している。 また C89 では、"
12015 "これら 3 つのストリームがプログラム の起動時にオープンされているべきであるこ"
12016 "とが規定されている。"
12017
12018 #. type: Plain text
12019 #: build/C/man3/stdin.3:150
12020 msgid ""
12021 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
12022 "when it points to a terminal.  Partial lines will not appear until B<fflush>"
12023 "(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
12024 "unexpected results, especially with debugging output.  The buffering mode of "
12025 "the standard streams (or any other stream)  can be changed using the "
12026 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
12027 "associated with a terminal, there may also be input buffering in the "
12028 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
12029 "terminal input is line buffered in the kernel.)  This kernel input handling "
12030 "can be modified using calls like B<tcsetattr>(3); see also B<stty>(1), and "
12031 "B<termios>(3)."
12032 msgstr ""
12033 "I<stderr> ストリームはバッファリングされていない。 I<stdout> ストリームは、端"
12034 "末に接続されているときには行単位でバッファリング されている。一行に満たない内"
12035 "容は、 B<fflush>(3)  か B<exit>(3)  が呼び出されるか、改行文字が印字されるま"
12036 "で表示されない。これは、 特にデバッグ時において、予期しない結果を生じる原因と"
12037 "なるかもしれない。 標準ストリームの (あるいは他のすべてのストリームの)  バッ"
12038 "ファリングモードは、 B<setbuf>(3)  または B<setvbuf>(3)  を呼び出すことによっ"
12039 "て変更できる。 ただし、 I<stdin> が端末に接続されているときは、端末のドライバ"
12040 "でバッファリングされている 可能性がある点にも注意すること。これは stdio の"
12041 "バッファリングとは全く 関係なく存在しうる。 (実際、通常だと端末入力はカーネル"
12042 "によって行単位 でバッファリングされている。) このカーネルによる入力の扱いは "
12043 "B<tcsetattr>(3)  などの呼び出しによって変更することができる。 B<stty>(1)  と "
12044 "B<termios>(3)  も参照すること。"
12045
12046 #. type: Plain text
12047 #: build/C/man3/stdin.3:156
12048 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12049 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
12050
12051 #. type: TH
12052 #: build/C/man3/stdio.3:37
12053 #, no-wrap
12054 msgid "STDIO"
12055 msgstr "STDIO"
12056
12057 #. type: TH
12058 #: build/C/man3/stdio.3:37
12059 #, no-wrap
12060 msgid "2001-12-26"
12061 msgstr "2001-12-26"
12062
12063 #. type: Plain text
12064 #: build/C/man3/stdio.3:40
12065 msgid "stdio - standard input/output library functions"
12066 msgstr "stdio - 標準入出力ライブラリ関数"
12067
12068 #. type: Plain text
12069 #: build/C/man3/stdio.3:44
12070 msgid "B<FILE *>I<stdin>B<;>"
12071 msgstr "B<FILE *>I<stdin>B<;>"
12072
12073 #. type: Plain text
12074 #: build/C/man3/stdio.3:46
12075 msgid "B<FILE *>I<stdout>B<;>"
12076 msgstr "B<FILE *>I<stdout>B<;>"
12077
12078 #. type: Plain text
12079 #: build/C/man3/stdio.3:48
12080 msgid "B<FILE *>I<stderr>B<;>"
12081 msgstr "B<FILE *>I<stderr>B<;>"
12082
12083 #. type: Plain text
12084 #: build/C/man3/stdio.3:55
12085 msgid ""
12086 "The standard I/O library provides a simple and efficient buffered stream I/O "
12087 "interface.  Input and output is mapped into logical data streams and the "
12088 "physical I/O characteristics are concealed.  The functions and macros are "
12089 "listed below; more information is available from the individual man pages."
12090 msgstr ""
12091 "標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入"
12092 "出力インターフェースを提供する。 入力と出力は論理データストリームに割り付けら"
12093 "れ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを"
12094 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
12095
12096 #. type: Plain text
12097 #: build/C/man3/stdio.3:78
12098 msgid ""
12099 "A stream is associated with an external file (which may be a physical "
12100 "device) by I<opening> a file, which may involve creating a new file.  "
12101 "Creating an existing file causes its former contents to be discarded.  If a "
12102 "file can support positioning requests (such as a disk file, as opposed to a "
12103 "terminal) then a I<file position indicator> associated with the stream is "
12104 "positioned at the start of the file (byte zero), unless the file is opened "
12105 "with append mode.  If append mode is used, it is unspecified whether the "
12106 "position indicator will be placed at the start or the end of the file.  The "
12107 "position indicator is maintained by subsequent reads, writes and positioning "
12108 "requests.  All input occurs as if the characters were read by successive "
12109 "calls to the B<fgetc>(3)  function; all output takes place as if all "
12110 "characters were written by successive calls to the B<fputc>(3)  function."
12111 msgstr ""
12112 "ファイルを I<オープン (open) する> ことによって、 ストリームは外部ファイル "
12113 "(通常は物理デバイス) に連結される。 この操作には新しくファイルを作成すること"
12114 "も含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイ"
12115 "ルの中身が捨てられてしまう。 ファイルが位置指定リクエストをサポートしている "
12116 "(ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 その"
12117 "ストリームに連結された I<ファイル位置指示子 (file position indicator)> は、追"
12118 "加モードで開かれない限りファイルの先頭 (0 バイト目) に位置する。 追加モードを"
12119 "使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定さ"
12120 "れていない。 位置指示子は、 以降の読み書きや位置指定リクエストによって変更さ"
12121 "れる。 すべての入力は、 B<fgetc>(3)  関数を次々に呼び出して文字を読み込んだか"
12122 "のように行われる。 一方すべての出力は、 B<fputc>(3)  関数を次々に呼び出して文"
12123 "字を書き込んだかのように行われる。"
12124
12125 #. type: Plain text
12126 #: build/C/man3/stdio.3:88
12127 msgid ""
12128 "A file is disassociated from a stream by I<closing> the file.  Output "
12129 "streams are flushed (any unwritten buffer contents are transferred to the "
12130 "host environment) before the stream is disassociated from the file.  The "
12131 "value of a pointer to a I<FILE> object is indeterminate after a file is "
12132 "closed (garbage)."
12133 msgstr ""
12134 "ファイルを I<クローズ (close) する> ことによって、そのファイルはストリームか"
12135 "ら切り離される。 出力ストリームは、そのストリームがファイルから切り離される前"
12136 "にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転"
12137 "送される)。 I<FILE> オブジェクトへのポインタの値は、 ファイルを閉じた後では不"
12138 "確定になる (ゴミになってしまう)。"
12139
12140 #. type: Plain text
12141 #: build/C/man3/stdio.3:101
12142 msgid ""
12143 "A file may be subsequently reopened, by the same or another program "
12144 "execution, and its contents reclaimed or modified (if it can be repositioned "
12145 "at the start).  If the main function returns to its original caller, or the "
12146 "B<exit>(3)  function is called, all open files are closed (hence all output "
12147 "streams are flushed) before program termination.  Other methods of program "
12148 "termination, such as B<abort>(3)  do not bother about closing files properly."
12149 msgstr ""
12150 "ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることも"
12151 "あり、 その内容が修正されたり変更されたりする (そのファイルで先頭への位置移動"
12152 "が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 B<exit>(3)  関数が"
12153 "呼ばれた場合、 プログラムの終了の前に 現在開いているすべてのファイルは閉じら"
12154 "れる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止"
12155 "に B<abort>(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる"
12156 "保証はない。"
12157
12158 #. type: Plain text
12159 #: build/C/man3/stdio.3:117
12160 msgid ""
12161 "At program startup, three text streams are predefined and need not be opened "
12162 "explicitly: I<standard input> (for reading conventional input), I<standard "
12163 "output> (for writing conventional input), and I<standard error> (for writing "
12164 "diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
12165 "I<stderr>.  When opened, the standard error stream is not fully buffered; "
12166 "the standard input and output streams are fully buffered if and only if the "
12167 "streams do not to refer to an interactive device."
12168 msgstr ""
12169 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
12170 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
12171 "に使う)、 I<標準出力 (standard output)> (通常の出力を書き込むのに使う)、 I<標"
12172 "準エラー出力 (standard error)> (診断出力を書き込むのに使う) である。 これらの"
12173 "ストリームは I<stdin>, I<stdout>, I<stderr> と短縮して表現される。 オープンさ"
12174 "れたときには、 標準エラーストリームは 完全にはバッファリングされていない。 標"
12175 "準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイ"
12176 "スを参照していなければ、 完全にバッファリングされている。"
12177
12178 #. type: Plain text
12179 #: build/C/man3/stdio.3:127
12180 msgid ""
12181 "Output streams that refer to terminal devices are always line buffered by "
12182 "default; pending output to such streams is written automatically whenever an "
12183 "input stream that refers to a terminal device is read.  In cases where a "
12184 "large amount of computation is done after printing part of a line on an "
12185 "output terminal, it is necessary to B<fflush>(3)  the standard output before "
12186 "going off and computing so that the output will appear."
12187 msgstr ""
12188 "端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリ"
12189 "ングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 端末"
12190 "デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き"
12191 "込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表"
12192 "示されるように、計算に取りかかる前に標準出力に対して B<fflush>(3)  を実行する"
12193 "必要がある。"
12194
12195 #. type: Plain text
12196 #: build/C/man3/stdio.3:141
12197 msgid ""
12198 "The I<stdio> library is a part of the library B<libc> and routines are "
12199 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
12200 "SYNOPSIS sections of the following manual pages indicate which include files "
12201 "are to be used, what the compiler declaration for the function looks like "
12202 "and which external variables are of interest."
12203 msgstr ""
12204 "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
12205 "ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
12206 "る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
12207 "ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
12208 "数が関係するのかが示されている。"
12209
12210 #.  Not on Linux: .BR fropen ,
12211 #.  Not on Linux: .BR fwopen ,
12212 #. type: Plain text
12213 #: build/C/man3/stdio.3:181
12214 msgid ""
12215 "The following are defined as macros; these names may not be reused without "
12216 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
12217 "B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, B<L_ctermid>, B<L_tmpnam>, "
12218 "B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, B<TMP_MAX>, B<clearerr>, "
12219 "B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar>, "
12220 "B<stderr>, B<stdin>, B<stdout>.  Function versions of the macro functions "
12221 "B<feof>, B<ferror>, B<clearerr>, B<fileno>, B<getc>, B<getchar>, B<putc>, "
12222 "and B<putchar> exist and will be used if the macros definitions are "
12223 "explicitly removed."
12224 msgstr ""
12225 "B<BUFSIZ>, B<EOF>, B<FILENAME_MAX>, B<FOPEN_MAX>, B<L_cuserid>, "
12226 "B<L_ctermid>, B<L_tmpnam>, B<NULL>, B<SEEK_END>, B<SEEK_SET>, B<SEEK_CUR>, "
12227 "B<TMP_MAX>, B<clearerr>, B<feof>, B<ferror>, B<fileno>, B<getc>, B<getchar>, "
12228 "B<putc>, B<putchar>, B<stderr>, B<stdin>, B<stdout> はマクロとして定義されて"
12229 "いる。 これらの名前は、現在の定義を B<#undef> で削除しない限り、再利用するこ"
12230 "とはできない。 マクロ関数の関数版として、 B<feof>, B<ferror>, B<clearerr>, "
12231 "B<fileno>, B<getc>, B<getchar>, B<putc>, B<putchar> がある。 マクロの定義が明"
12232 "示的に消去されている場合には、 これらを使用することになるだろう。"
12233
12234 #. type: SS
12235 #: build/C/man3/stdio.3:181
12236 #, no-wrap
12237 msgid "List of Functions"
12238 msgstr "関数のリスト"
12239
12240 #. type: tbl table
12241 #: build/C/man3/stdio.3:186
12242 #, no-wrap
12243 msgid "Function\tDescription\n"
12244 msgstr "関数\t説明\n"
12245
12246 #. type: tbl table
12247 #: build/C/man3/stdio.3:187
12248 #, no-wrap
12249 msgid "_\n"
12250 msgstr "_\n"
12251
12252 #. type: tbl table
12253 #: build/C/man3/stdio.3:188
12254 #, no-wrap
12255 msgid "clearerr\tcheck and reset stream status\n"
12256 msgstr "clearerr\tストリームの状態の確認とリセット\n"
12257
12258 #. type: tbl table
12259 #: build/C/man3/stdio.3:189
12260 #, no-wrap
12261 msgid "fclose\tclose a stream\n"
12262 msgstr "fclose\tストリームをクローズする\n"
12263
12264 #. type: tbl table
12265 #: build/C/man3/stdio.3:190
12266 #, no-wrap
12267 msgid "fdopen\tstream open functions\n"
12268 msgstr "fdopen\tストリームをオープンする\n"
12269
12270 #. type: tbl table
12271 #: build/C/man3/stdio.3:191
12272 #, no-wrap
12273 msgid "feof\tcheck and reset stream status\n"
12274 msgstr "feof\tストリームの状態の確認とリセット\n"
12275
12276 #. type: tbl table
12277 #: build/C/man3/stdio.3:192
12278 #, no-wrap
12279 msgid "ferror\tcheck and reset stream status\n"
12280 msgstr "ferror\tストリームの状態の確認とリセット\n"
12281
12282 #. type: tbl table
12283 #: build/C/man3/stdio.3:193
12284 #, no-wrap
12285 msgid "fflush\tflush a stream\n"
12286 msgstr "fflush\tストリームをフラッシュする\n"
12287
12288 #. type: tbl table
12289 #: build/C/man3/stdio.3:194
12290 #, no-wrap
12291 msgid "fgetc\tget next character or word from input stream\n"
12292 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
12293
12294 #. type: tbl table
12295 #: build/C/man3/stdio.3:195
12296 #, no-wrap
12297 msgid "fgetpos\treposition a stream\n"
12298 msgstr "fgetpos\tストリームの位置を取得する\n"
12299
12300 #. type: tbl table
12301 #: build/C/man3/stdio.3:196
12302 #, no-wrap
12303 msgid "fgets\tget a line from a stream\n"
12304 msgstr "fgets\tストリームから行を取得する\n"
12305
12306 #. type: tbl table
12307 #: build/C/man3/stdio.3:197
12308 #, no-wrap
12309 msgid "fileno\treturn the integer descriptor of the argument stream\n"
12310 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
12311
12312 #. type: tbl table
12313 #: build/C/man3/stdio.3:198
12314 #, no-wrap
12315 msgid "fopen\tstream open functions\n"
12316 msgstr "fopen\tストリームをオープンする\n"
12317
12318 #. type: tbl table
12319 #: build/C/man3/stdio.3:199
12320 #, no-wrap
12321 msgid "fprintf\tformatted output conversion\n"
12322 msgstr "fprintf\t書式付き出力変換\n"
12323
12324 #. type: tbl table
12325 #: build/C/man3/stdio.3:200
12326 #, no-wrap
12327 msgid "fpurge\tflush a stream\n"
12328 msgstr "fpurge\tストリームをフラッシュする\n"
12329
12330 #. type: tbl table
12331 #: build/C/man3/stdio.3:201
12332 #, no-wrap
12333 msgid "fputc\toutput a character or word to a stream\n"
12334 msgstr "fputc\t文字または語をストリームに出力する\n"
12335
12336 #. type: tbl table
12337 #: build/C/man3/stdio.3:202
12338 #, no-wrap
12339 msgid "fputs\toutput a line to a stream\n"
12340 msgstr "fputs\t行をストリームに出力する\n"
12341
12342 #. type: tbl table
12343 #: build/C/man3/stdio.3:203
12344 #, no-wrap
12345 msgid "fread\tbinary stream input/output\n"
12346 msgstr "fread\tバイナリーストリーム入出力\n"
12347
12348 #. type: tbl table
12349 #: build/C/man3/stdio.3:204
12350 #, no-wrap
12351 msgid "freopen\tstream open functions\n"
12352 msgstr "freopen\tストリームをオープンする\n"
12353
12354 #. type: tbl table
12355 #: build/C/man3/stdio.3:205
12356 #, no-wrap
12357 msgid "fscanf\tinput format conversion\n"
12358 msgstr "fscanf\t書式付き入力変換\n"
12359
12360 #. type: tbl table
12361 #: build/C/man3/stdio.3:206
12362 #, no-wrap
12363 msgid "fseek\treposition a stream\n"
12364 msgstr "fseek\tストリームの位置指示子を移動する\n"
12365
12366 #. type: tbl table
12367 #: build/C/man3/stdio.3:207
12368 #, no-wrap
12369 msgid "fsetpos\treposition a stream\n"
12370 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
12371
12372 #. type: tbl table
12373 #: build/C/man3/stdio.3:208
12374 #, no-wrap
12375 msgid "ftell\treposition a stream\n"
12376 msgstr "ftell\tストリームの位置を取得する\n"
12377
12378 #. type: tbl table
12379 #: build/C/man3/stdio.3:209
12380 #, no-wrap
12381 msgid "fwrite\tbinary stream input/output\n"
12382 msgstr "fwrite\tバイナリーストリーム入出力\n"
12383
12384 #. type: tbl table
12385 #: build/C/man3/stdio.3:210
12386 #, no-wrap
12387 msgid "getc\tget next character or word from input stream\n"
12388 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
12389
12390 #. type: tbl table
12391 #: build/C/man3/stdio.3:211
12392 #, no-wrap
12393 msgid "getchar\tget next character or word from input stream\n"
12394 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
12395
12396 #. type: tbl table
12397 #: build/C/man3/stdio.3:212
12398 #, no-wrap
12399 msgid "gets\tget a line from a stream\n"
12400 msgstr "gets\t行を入力ストリームから取得する\n"
12401
12402 #. type: tbl table
12403 #: build/C/man3/stdio.3:213
12404 #, no-wrap
12405 msgid "getw\tget next character or word from input stream\n"
12406 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
12407
12408 #. type: tbl table
12409 #: build/C/man3/stdio.3:214
12410 #, no-wrap
12411 msgid "mktemp\tmake temporary filename (unique)\n"
12412 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
12413
12414 #. type: tbl table
12415 #: build/C/man3/stdio.3:215
12416 #, no-wrap
12417 msgid "perror\tsystem error messages\n"
12418 msgstr "perror\tシステムエラーメッセージ\n"
12419
12420 #. type: tbl table
12421 #: build/C/man3/stdio.3:216
12422 #, no-wrap
12423 msgid "printf\tformatted output conversion\n"
12424 msgstr "printf\t書式付き出力変換\n"
12425
12426 #. type: tbl table
12427 #: build/C/man3/stdio.3:217
12428 #, no-wrap
12429 msgid "putc\toutput a character or word to a stream\n"
12430 msgstr "putc\t文字または語をストリームに出力する\n"
12431
12432 #. type: tbl table
12433 #: build/C/man3/stdio.3:218
12434 #, no-wrap
12435 msgid "putchar\toutput a character or word to a stream\n"
12436 msgstr "putchar\t文字または語をストリームに出力する\n"
12437
12438 #. type: tbl table
12439 #: build/C/man3/stdio.3:219
12440 #, no-wrap
12441 msgid "puts\toutput a line to a stream\n"
12442 msgstr "puts\t行をストリームに出力する\n"
12443
12444 #. type: tbl table
12445 #: build/C/man3/stdio.3:220
12446 #, no-wrap
12447 msgid "putw\toutput a character or word to a stream\n"
12448 msgstr "putw\t文字または語をストリームに出力する\n"
12449
12450 #. type: tbl table
12451 #: build/C/man3/stdio.3:221
12452 #, no-wrap
12453 msgid "remove\tremove directory entry\n"
12454 msgstr "remove\tディレクトリエントリを削除する\n"
12455
12456 #. type: tbl table
12457 #: build/C/man3/stdio.3:222
12458 #, no-wrap
12459 msgid "rewind\treposition a stream\n"
12460 msgstr "rewind\tストリームの位置指示子を移動する\n"
12461
12462 #. type: tbl table
12463 #: build/C/man3/stdio.3:223
12464 #, no-wrap
12465 msgid "scanf\tinput format conversion\n"
12466 msgstr "scanf\t書式付き入力変換\n"
12467
12468 #. type: tbl table
12469 #: build/C/man3/stdio.3:224
12470 #, no-wrap
12471 msgid "setbuf\tstream buffering operations\n"
12472 msgstr "setbuf\tストリームのバッファリングの操作\n"
12473
12474 #. type: tbl table
12475 #: build/C/man3/stdio.3:225
12476 #, no-wrap
12477 msgid "setbuffer\tstream buffering operations\n"
12478 msgstr "setbuffer\tストリームのバッファリングの操作\n"
12479
12480 #. type: tbl table
12481 #: build/C/man3/stdio.3:226
12482 #, no-wrap
12483 msgid "setlinebuf\tstream buffering operations\n"
12484 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
12485
12486 #. type: tbl table
12487 #: build/C/man3/stdio.3:227
12488 #, no-wrap
12489 msgid "setvbuf\tstream buffering operations\n"
12490 msgstr "setvbuf\tストリームのバッファリングの操作\n"
12491
12492 #. type: tbl table
12493 #: build/C/man3/stdio.3:228
12494 #, no-wrap
12495 msgid "sprintf\tformatted output conversion\n"
12496 msgstr "sprintf\t書式付き出力変換\n"
12497
12498 #. type: tbl table
12499 #: build/C/man3/stdio.3:229
12500 #, no-wrap
12501 msgid "sscanf\tinput format conversion\n"
12502 msgstr "sscanf\t書式付き入力変換\n"
12503
12504 #. type: tbl table
12505 #: build/C/man3/stdio.3:230
12506 #, no-wrap
12507 msgid "strerror\tsystem error messages\n"
12508 msgstr "strerror\tシステムエラーメッセージ\n"
12509
12510 #. type: tbl table
12511 #: build/C/man3/stdio.3:231
12512 #, no-wrap
12513 msgid "sys_errlist\tsystem error messages\n"
12514 msgstr "sys_errlist\tシステムエラーメッセージ\n"
12515
12516 #. type: tbl table
12517 #: build/C/man3/stdio.3:232
12518 #, no-wrap
12519 msgid "sys_nerr\tsystem error messages\n"
12520 msgstr "sys_nerr\tシステムエラーメッセージ\n"
12521
12522 #. type: tbl table
12523 #: build/C/man3/stdio.3:233
12524 #, no-wrap
12525 msgid "tempnam\ttemporary file routines\n"
12526 msgstr "tempnam\tテンポラリファイルの操作\n"
12527
12528 #. type: tbl table
12529 #: build/C/man3/stdio.3:234
12530 #, no-wrap
12531 msgid "tmpfile\ttemporary file routines\n"
12532 msgstr "tmpfile\tテンポラリファイルの操作\n"
12533
12534 #. type: tbl table
12535 #: build/C/man3/stdio.3:235
12536 #, no-wrap
12537 msgid "tmpnam\ttemporary file routines\n"
12538 msgstr "tmpnam\tテンポラリファイルの操作\n"
12539
12540 #. type: tbl table
12541 #: build/C/man3/stdio.3:236
12542 #, no-wrap
12543 msgid "ungetc\tun-get character from input stream\n"
12544 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
12545
12546 #. type: tbl table
12547 #: build/C/man3/stdio.3:237
12548 #, no-wrap
12549 msgid "vfprintf\tformatted output conversion\n"
12550 msgstr "vfprintf\t書式付き出力変換\n"
12551
12552 #. type: tbl table
12553 #: build/C/man3/stdio.3:238
12554 #, no-wrap
12555 msgid "vfscanf\tinput format conversion\n"
12556 msgstr "vfscanf\t書式付き入力変換\n"
12557
12558 #. type: tbl table
12559 #: build/C/man3/stdio.3:239
12560 #, no-wrap
12561 msgid "vprintf\tformatted output conversion\n"
12562 msgstr "vprintf\t書式付き出力変換\n"
12563
12564 #. type: tbl table
12565 #: build/C/man3/stdio.3:240
12566 #, no-wrap
12567 msgid "vscanf\tinput format conversion\n"
12568 msgstr "vscanf\t書式付き入力変換\n"
12569
12570 #. type: tbl table
12571 #: build/C/man3/stdio.3:241
12572 #, no-wrap
12573 msgid "vsprintf\tformatted output conversion\n"
12574 msgstr "vsprintf\t書式付き出力変換\n"
12575
12576 #. type: tbl table
12577 #: build/C/man3/stdio.3:242
12578 #, no-wrap
12579 msgid "vsscanf\tinput format conversion\n"
12580 msgstr "vsscanf\t書式付き入力変換\n"
12581
12582 #. type: Plain text
12583 #: build/C/man3/stdio.3:248
12584 msgid "The I<stdio> library conforms to C89."
12585 msgstr "I<stdio> ライブラリは C89 に準拠している。"
12586
12587 #. type: Plain text
12588 #: build/C/man3/stdio.3:255
12589 msgid ""
12590 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12591 "B<unlocked_stdio>(3)"
12592 msgstr ""
12593 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
12594 "B<unlocked_stdio>(3)"
12595
12596 #. type: TH
12597 #: build/C/man3/stdio_ext.3:23
12598 #, no-wrap
12599 msgid "STDIO_EXT"
12600 msgstr "STDIO_EXT"
12601
12602 #. type: TH
12603 #: build/C/man3/stdio_ext.3:23
12604 #, no-wrap
12605 msgid "2001-12-16"
12606 msgstr "2001-12-16"
12607
12608 #. type: Plain text
12609 #: build/C/man3/stdio_ext.3:28
12610 msgid ""
12611 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12612 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
12613 "structure"
12614 msgstr ""
12615 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
12616 "__fsetlocking, __fwritable, __fwriting, _flushlbf - 標準入出力ファイル構造体"
12617 "へのインタフェース"
12618
12619 #. type: Plain text
12620 #: build/C/man3/stdio_ext.3:32
12621 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
12622 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
12623
12624 #. type: Plain text
12625 #: build/C/man3/stdio_ext.3:34
12626 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12627 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
12628
12629 #. type: Plain text
12630 #: build/C/man3/stdio_ext.3:36
12631 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
12632 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
12633
12634 #. type: Plain text
12635 #: build/C/man3/stdio_ext.3:38
12636 msgid "B<int __flbf(FILE *>I<stream>B<);>"
12637 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
12638
12639 #. type: Plain text
12640 #: build/C/man3/stdio_ext.3:40
12641 msgid "B<int __freadable(FILE *>I<stream>B<);>"
12642 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
12643
12644 #. type: Plain text
12645 #: build/C/man3/stdio_ext.3:42
12646 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
12647 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
12648
12649 #. type: Plain text
12650 #: build/C/man3/stdio_ext.3:44
12651 msgid "B<int __freading(FILE *>I<stream>B<);>"
12652 msgstr "B<int __freading(FILE *>I<stream>B<);>"
12653
12654 #. type: Plain text
12655 #: build/C/man3/stdio_ext.3:46
12656 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
12657 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
12658
12659 #. type: Plain text
12660 #: build/C/man3/stdio_ext.3:48
12661 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12662 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
12663
12664 #. type: Plain text
12665 #: build/C/man3/stdio_ext.3:50
12666 msgid "B<void _flushlbf(void);>"
12667 msgstr "B<void _flushlbf(void);>"
12668
12669 #. type: Plain text
12670 #: build/C/man3/stdio_ext.3:52
12671 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
12672 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
12673
12674 #. type: Plain text
12675 #: build/C/man3/stdio_ext.3:57
12676 msgid ""
12677 "Solaris introduced routines to allow portable access to the internals of the "
12678 "I<FILE> structure, and glibc also implemented these."
12679 msgstr ""
12680 "Solaris では、 I<FILE> 構造体の内部へポータブルなかたちで アクセスできる手段"
12681 "が導入されており、これらは glibc でも実装されている。"
12682
12683 #. type: Plain text
12684 #: build/C/man3/stdio_ext.3:62
12685 msgid ""
12686 "The B<__fbufsize>()  function returns the size of the buffer currently used "
12687 "by the given stream."
12688 msgstr ""
12689 "B<__fbufsize>()  関数は、指定されたストリームが使用しているバッファ・サイズを"
12690 "返す。"
12691
12692 #. type: Plain text
12693 #: build/C/man3/stdio_ext.3:69
12694 msgid ""
12695 "The B<__fpending>()  function returns the number of bytes in the output "
12696 "buffer.  For wide-oriented streams the unit is wide characters.  This "
12697 "function is undefined on buffers in reading mode, or opened read-only."
12698 msgstr ""
12699 "B<__fpending>()  関数は、出力バッファに入っているデータのバイト数を返す。 ワ"
12700 "イドキャラクタを扱うストリームの場合、ワイドキャラクタ単位で計算される。 バッ"
12701 "ファが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞い"
12702 "は未定義である。"
12703
12704 #. type: Plain text
12705 #: build/C/man3/stdio_ext.3:74
12706 msgid ""
12707 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
12708 "buffered, and zero otherwise."
12709 msgstr ""
12710 "B<__flbf>()  関数は、ストリームがラインバッファの場合は 0 以外を、 それ以外の"
12711 "場合は 0 を返す。"
12712
12713 #. type: Plain text
12714 #: build/C/man3/stdio_ext.3:79
12715 msgid ""
12716 "The B<__freadable>()  function returns a nonzero value if the stream allows "
12717 "reading, and zero otherwise."
12718 msgstr ""
12719 "B<__freadable>()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以"
12720 "外の場合は 0 を返す。"
12721
12722 #. type: Plain text
12723 #: build/C/man3/stdio_ext.3:84
12724 msgid ""
12725 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
12726 "writing, and zero otherwise."
12727 msgstr ""
12728 "B<__fwritable>()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以"
12729 "外の場合は 0 を返す。"
12730
12731 #. type: Plain text
12732 #: build/C/man3/stdio_ext.3:90
12733 msgid ""
12734 "The B<__freading>()  function returns a nonzero value if the stream is read-"
12735 "only, or if the last operation on the stream was a read operation, and zero "
12736 "otherwise."
12737 msgstr ""
12738 "B<__freading>()  関数は、ストリームが読み出し専用の場合、またはストリームに対"
12739 "する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 "
12740 "を返す。"
12741
12742 #. type: Plain text
12743 #: build/C/man3/stdio_ext.3:96
12744 msgid ""
12745 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
12746 "only (or append-only), or if the last operation on the stream was a write "
12747 "operation, and zero otherwise."
12748 msgstr ""
12749 "B<__fwriting>()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 "
12750 "またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返"
12751 "し、 それ以外の場合は 0 を返す。"
12752
12753 #. type: Plain text
12754 #: build/C/man3/stdio_ext.3:104
12755 msgid ""
12756 "The B<__fsetlocking>()  function can be used to select the desired type of "
12757 "locking on the stream.  It returns the current type.  The I<type> argument "
12758 "can take the following three values:"
12759 msgstr ""
12760 "B<__fsetlocking>()  関数は、ストリームのロック形式を選択するために使用でき"
12761 "る。 返り値は、現在のロック形式である。 I<type> 引き数は以下の 3 種類の値をと"
12762 "ることができる :"
12763
12764 #. type: TP
12765 #: build/C/man3/stdio_ext.3:104
12766 #, no-wrap
12767 msgid "B<FSETLOCKING_INTERNAL>"
12768 msgstr "B<FSETLOCKING_INTERNAL>"
12769
12770 #. type: Plain text
12771 #: build/C/man3/stdio_ext.3:109
12772 msgid ""
12773 "Perform implicit locking around every operation on the given stream (except "
12774 "for the *_unlocked ones).  This is the default."
12775 msgstr ""
12776 "指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しな"
12777 "くてもストリームのロック処理を行う (但し、*_unlocked 関数を使用した場合は例外"
12778 "である)。 これがデフォルトのロック形式である。"
12779
12780 #. type: TP
12781 #: build/C/man3/stdio_ext.3:109
12782 #, no-wrap
12783 msgid "B<FSETLOCKING_BYCALLER>"
12784 msgstr "B<FSETLOCKING_BYCALLER>"
12785
12786 #. type: Plain text
12787 #: build/C/man3/stdio_ext.3:116
12788 msgid ""
12789 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
12790 "case there is more than one thread), and the stdio routines will not do "
12791 "locking until the state is reset to B<FSETLOCKING_INTERNAL>."
12792 msgstr ""
12793 "関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状"
12794 "況では B<flockfile>(3)  を使うことになるだろう)  ロック形式が "
12795 "B<FSETLOCKING_INTERNAL> にリセットされるまでは標準入出力関連の関数はロック処"
12796 "理を行わない。"
12797
12798 #. type: TP
12799 #: build/C/man3/stdio_ext.3:116
12800 #, no-wrap
12801 msgid "B<FSETLOCKING_QUERY>"
12802 msgstr "B<FSETLOCKING_QUERY>"
12803
12804 #. type: Plain text
12805 #: build/C/man3/stdio_ext.3:120
12806 msgid "Don't change the type of locking.  (Only return it.)"
12807 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
12808
12809 #. type: Plain text
12810 #: build/C/man3/stdio_ext.3:126
12811 msgid ""
12812 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
12813 "so that output to a terminal is forced out, say before reading keyboard "
12814 "input.)"
12815 msgstr ""
12816 "B<_flushlbf>()  関数は、すべてのラインバッファ (line-buffered) タイプのスト"
12817 "リームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行わ"
12818 "れることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がい"
12819 "いだろう)"
12820
12821 #. type: Plain text
12822 #: build/C/man3/stdio_ext.3:130
12823 msgid ""
12824 "The B<__fpurge>()  function discards the contents of the stream's buffer."
12825 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
12826
12827 #. type: Plain text
12828 #: build/C/man3/stdio_ext.3:133
12829 msgid "B<flockfile>(3), B<fpurge>(3)"
12830 msgstr "B<flockfile>(3), B<fpurge>(3)"
12831
12832 #. type: TH
12833 #: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
12834 #, no-wrap
12835 msgid "SYMLINK"
12836 msgstr "SYMLINK"
12837
12838 #. type: TH
12839 #: build/C/man2/symlink.2:32
12840 #, no-wrap
12841 msgid "2010-09-20"
12842 msgstr "2010-09-20"
12843
12844 #. type: Plain text
12845 #: build/C/man2/symlink.2:35
12846 msgid "symlink - make a new name for a file"
12847 msgstr "symlink - ファイルに新しい名前を付ける"
12848
12849 #. type: Plain text
12850 #: build/C/man2/symlink.2:39
12851 msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12852 msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
12853
12854 #. type: Plain text
12855 #: build/C/man2/symlink.2:47
12856 msgid "B<symlink>():"
12857 msgstr "B<symlink>():"
12858
12859 #. type: Plain text
12860 #: build/C/man2/symlink.2:58
12861 msgid ""
12862 "B<symlink>()  creates a symbolic link named I<newpath> which contains the "
12863 "string I<oldpath>."
12864 msgstr ""
12865 "B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
12866 "I<newpath> というシンボリック・リンク (symbolic link) を作成する。"
12867
12868 #. type: Plain text
12869 #: build/C/man2/symlink.2:62
12870 msgid ""
12871 "Symbolic links are interpreted at run time as if the contents of the link "
12872 "had been substituted into the path being followed to find a file or "
12873 "directory."
12874 msgstr ""
12875 "シンボリック・リンクは実行時に解釈され、 リンクの内容でパスを置き換えて、その"
12876 "パスを辿ることで、 ファイルやディレクトリに到達する。"
12877
12878 #. type: Plain text
12879 #: build/C/man2/symlink.2:67
12880 msgid ""
12881 "Symbolic links may contain I<..> path components, which (if used at the "
12882 "start of the link) refer to the parent directories of that in which the link "
12883 "resides."
12884 msgstr ""
12885 "シンボリック・リンクはパスの部分に I<..> を含むかもしれない。これは (もしリン"
12886 "クの最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参"
12887 "照される。"
12888
12889 #. type: Plain text
12890 #: build/C/man2/symlink.2:71
12891 msgid ""
12892 "A symbolic link (also known as a soft link) may point to an existing file or "
12893 "to a nonexistent one; the latter case is known as a dangling link."
12894 msgstr ""
12895 "シンボリック・リンクは (ソフト・リンク (soft link) とも呼ばれ)  存在するファ"
12896 "イルを指しているかもしれないし、 存在しないファイルを指しているかもしれない; "
12897 "後者の場合は壊れたリンク (dangling link) とも呼ばれる。"
12898
12899 #. type: Plain text
12900 #: build/C/man2/symlink.2:78
12901 msgid ""
12902 "The permissions of a symbolic link are irrelevant; the ownership is ignored "
12903 "when following the link, but is checked when removal or renaming of the link "
12904 "is requested and the link is in a directory with the sticky bit "
12905 "(B<S_ISVTX>)  set."
12906 msgstr ""
12907 "シンボリック・リンクの許可 (permission) は無意味である; リンクを追跡する場合"
12908 "には所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求"
12909 "され、かつリンクが存在する ディレクトリにスティッキー・ビット (sticky bit)  "
12910 "(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
12911
12912 #. type: Plain text
12913 #: build/C/man2/symlink.2:99
12914 msgid ""
12915 "Write access to the directory containing I<newpath> is denied, or one of the "
12916 "directories in the path prefix of I<newpath> did not allow search "
12917 "permission.  (See also B<path_resolution>(7).)"
12918 msgstr ""
12919 "I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
12920 "含まれているディレクトリのどれかに検索許可が与えられていない "
12921 "(B<path_resolution>(7)  も参照すること)。"
12922
12923 #. type: Plain text
12924 #: build/C/man2/symlink.2:113
12925 msgid "Too many symbolic links were encountered in resolving I<newpath>."
12926 msgstr "I<newpath> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
12927
12928 #. type: Plain text
12929 #: build/C/man2/symlink.2:123
12930 msgid ""
12931 "A directory component in I<newpath> does not exist or is a dangling symbolic "
12932 "link, or I<oldpath> is the empty string."
12933 msgstr ""
12934 "I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
12935 "I<oldpath> が空文字列である。"
12936
12937 #. type: Plain text
12938 #: build/C/man2/symlink.2:135
12939 msgid ""
12940 "A component used as a directory in I<newpath> is not, in fact, a directory."
12941 msgstr ""
12942 "I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
12943
12944 #. type: Plain text
12945 #: build/C/man2/symlink.2:140
12946 msgid ""
12947 "The file system containing I<newpath> does not support the creation of "
12948 "symbolic links."
12949 msgstr ""
12950 "I<newpath> を含んでいるファイル・システム (file system) が シンボリック・リン"
12951 "クの作成をサポートしていない。"
12952
12953 #. type: Plain text
12954 #: build/C/man2/symlink.2:144
12955 msgid "I<newpath> is on a read-only file system."
12956 msgstr "I<newpath> が読み込み専用のファイル・システムに存在している。"
12957
12958 #. type: Plain text
12959 #: build/C/man2/symlink.2:154
12960 msgid "No checking of I<oldpath> is done."
12961 msgstr "I<oldpath> についてのチェックは行なわれない。"
12962
12963 #. type: Plain text
12964 #: build/C/man2/symlink.2:159
12965 msgid ""
12966 "Deleting the name referred to by a symlink will actually delete the file "
12967 "(unless it also has other hard links).  If this behavior is not desired, use "
12968 "B<link>(2)."
12969 msgstr ""
12970 "symlink によって参照される名前を削除すると (それが他にハード・リンク (hard "
12971 "link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
12972 "場合は、 B<link>(2)  を使用すること。"
12973
12974 #. type: Plain text
12975 #: build/C/man2/symlink.2:171
12976 msgid ""
12977 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12978 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12979 "B<symlink>(7)"
12980 msgstr ""
12981 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
12982 "B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
12983 "B<symlink>(7)"
12984
12985 #. type: TH
12986 #: build/C/man7/symlink.7:35
12987 #, no-wrap
12988 msgid "2008-06-18"
12989 msgstr "2008-06-18"
12990
12991 #. type: Plain text
12992 #: build/C/man7/symlink.7:38
12993 msgid "symlink - symbolic link handling"
12994 msgstr "symlink - symbolic link handling"
12995
12996 #. type: SH
12997 #: build/C/man7/symlink.7:38
12998 #, no-wrap
12999 msgid "SYMBOLIC LINK HANDLING"
13000 msgstr "SYMBOLIC LINK HANDLING"
13001
13002 #. type: Plain text
13003 #: build/C/man7/symlink.7:42
13004 msgid ""
13005 "Symbolic links are files that act as pointers to other files.  To understand "
13006 "their behavior, you must first understand how hard links work."
13007 msgstr ""
13008 "Symbolic links are files that act as pointers to other files.  To understand "
13009 "their behavior, you must first understand how hard links work."
13010
13011 #. type: Plain text
13012 #: build/C/man7/symlink.7:58
13013 msgid ""
13014 "A hard link to a file is indistinguishable from the original file because it "
13015 "is a reference to the object underlying the original filename.  (To be "
13016 "precise: each of the hard links to a file is a reference to the same I<i-"
13017 "node number>, where an i-node number is an index into the i-node table, "
13018 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13019 "Changes to a file are independent of the name used to reference the file.  "
13020 "Hard links may not refer to directories (to prevent the possibility of loops "
13021 "within the file system tree, which would confuse many programs)  and may not "
13022 "refer to files on different file systems (because i-node numbers are not "
13023 "unique across file systems)."
13024 msgstr ""
13025 "A hard link to a file is indistinguishable from the original file because it "
13026 "is a reference to the object underlying the original filename.  (To be "
13027 "precise: each of the hard links to a file is a reference to the same I<i-"
13028 "node number>, where an i-node number is an index into the i-node table, "
13029 "which contains metadata about all files on a file system.  See B<stat>(2).)  "
13030 "Changes to a file are independent of the name used to reference the file.  "
13031 "Hard links may not refer to directories (to prevent the possibility of loops "
13032 "within the file system tree, which would confuse many programs)  and may not "
13033 "refer to files on different file systems (because i-node numbers are not "
13034 "unique across file systems)."
13035
13036 #. type: Plain text
13037 #: build/C/man7/symlink.7:65
13038 msgid ""
13039 "A symbolic link is a special type of file whose contents are a string that "
13040 "is the pathname another file, the file to which the link refers.  In other "
13041 "words, a symbolic link is a pointer to another name, and not to an "
13042 "underlying object.  For this reason, symbolic links may refer to directories "
13043 "and may cross file system boundaries."
13044 msgstr ""
13045 "A symbolic link is a special type of file whose contents are a string that "
13046 "is the pathname another file, the file to which the link refers.  In other "
13047 "words, a symbolic link is a pointer to another name, and not to an "
13048 "underlying object.  For this reason, symbolic links may refer to directories "
13049 "and may cross file system boundaries."
13050
13051 #. type: Plain text
13052 #: build/C/man7/symlink.7:71
13053 msgid ""
13054 "There is no requirement that the pathname referred to by a symbolic link "
13055 "should exist.  A symbolic link that refers to a pathname that does not exist "
13056 "is said to be a I<dangling link>."
13057 msgstr ""
13058 "There is no requirement that the pathname referred to by a symbolic link "
13059 "should exist.  A symbolic link that refers to a pathname that does not exist "
13060 "is said to be a I<dangling link>."
13061
13062 #. type: Plain text
13063 #: build/C/man7/symlink.7:83
13064 msgid ""
13065 "Because a symbolic link and its referenced object coexist in the file system "
13066 "name space, confusion can arise in distinguishing between the link itself "
13067 "and the referenced object.  On historical systems, commands and system calls "
13068 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13069 "Rules for a more uniform approach, as they are implemented on Linux and "
13070 "other systems, are outlined here.  It is important that site-local "
13071 "applications also conform to these rules, so that the user interface can be "
13072 "as consistent as possible."
13073 msgstr ""
13074 "Because a symbolic link and its referenced object coexist in the file system "
13075 "name space, confusion can arise in distinguishing between the link itself "
13076 "and the referenced object.  On historical systems, commands and system calls "
13077 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
13078 "Rules for a more uniform approach, as they are implemented on Linux and "
13079 "other systems, are outlined here.  It is important that site-local "
13080 "applications also conform to these rules, so that the user interface can be "
13081 "as consistent as possible."
13082
13083 #. type: SS
13084 #: build/C/man7/symlink.7:83
13085 #, no-wrap
13086 msgid "Symbolic link ownership, permissions, and timestamps"
13087 msgstr "Symbolic link ownership, permissions, and timestamps"
13088
13089 #. type: Plain text
13090 #: build/C/man7/symlink.7:91
13091 msgid ""
13092 "The owner and group of an existing symbolic link can be changed using "
13093 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13094 "is when the link is being removed or renamed in a directory that has the "
13095 "sticky bit set (see B<stat>(2))."
13096 msgstr ""
13097 "The owner and group of an existing symbolic link can be changed using "
13098 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
13099 "is when the link is being removed or renamed in a directory that has the "
13100 "sticky bit set (see B<stat>(2))."
13101
13102 #. type: Plain text
13103 #: build/C/man7/symlink.7:97
13104 msgid ""
13105 "The last access and last modification timestamps of a symbolic link can be "
13106 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13107 msgstr ""
13108 "The last access and last modification timestamps of a symbolic link can be "
13109 "changed using B<utimensat>(2)  or B<lutimes>(3)."
13110
13111 #.  Linux does not currently implement an lchmod(2).
13112 #.  The
13113 #.  4.4BSD
13114 #.  system differs from historical
13115 #.  4BSD
13116 #.  systems in that the system call
13117 #.  .BR chown (2)
13118 #.  has been changed to follow symbolic links.
13119 #.  The
13120 #.  .BR lchown (2)
13121 #.  system call was added later when the limitations of the new
13122 #.  .BR chown (2)
13123 #.  became apparent.
13124 #. type: Plain text
13125 #: build/C/man7/symlink.7:116
13126 msgid ""
13127 "On Linux, the permissions of a symbolic link are not used in any operations; "
13128 "the permissions are always 0777 (read, write, and execute for all user "
13129 "categories), and can't be changed."
13130 msgstr ""
13131 "On Linux, the permissions of a symbolic link are not used in any operations; "
13132 "the permissions are always 0777 (read, write, and execute for all user "
13133 "categories), and can't be changed."
13134
13135 #. type: SS
13136 #: build/C/man7/symlink.7:116
13137 #, no-wrap
13138 msgid "Handling of symbolic links by system calls and commands"
13139 msgstr "Handling of symbolic links by system calls and commands"
13140
13141 #. type: Plain text
13142 #: build/C/man7/symlink.7:131
13143 msgid ""
13144 "Symbolic links are handled either by operating on the link itself, or by "
13145 "operating on the object referred to by the link.  In the latter case, an "
13146 "application or system call is said to I<follow> the link.  Symbolic links "
13147 "may refer to other symbolic links, in which case the links are dereferenced "
13148 "until an object that is not a symbolic link is found, a symbolic link that "
13149 "refers to a file which does not exist is found, or a loop is detected.  "
13150 "(Loop detection is done by placing an upper limit on the number of links "
13151 "that may be followed, and an error results if this limit is exceeded.)"
13152 msgstr ""
13153 "Symbolic links are handled either by operating on the link itself, or by "
13154 "operating on the object referred to by the link.  In the latter case, an "
13155 "application or system call is said to I<follow> the link.  Symbolic links "
13156 "may refer to other symbolic links, in which case the links are dereferenced "
13157 "until an object that is not a symbolic link is found, a symbolic link that "
13158 "refers to a file which does not exist is found, or a loop is detected.  "
13159 "(Loop detection is done by placing an upper limit on the number of links "
13160 "that may be followed, and an error results if this limit is exceeded.)"
13161
13162 #. type: Plain text
13163 #: build/C/man7/symlink.7:134
13164 msgid ""
13165 "There are three separate areas that need to be discussed.  They are as "
13166 "follows:"
13167 msgstr ""
13168 "There are three separate areas that need to be discussed.  They are as "
13169 "follows:"
13170
13171 #. type: IP
13172 #: build/C/man7/symlink.7:134
13173 #, no-wrap
13174 msgid "1."
13175 msgstr "1."
13176
13177 #. type: Plain text
13178 #: build/C/man7/symlink.7:136
13179 msgid "Symbolic links used as filename arguments for system calls."
13180 msgstr "Symbolic links used as filename arguments for system calls."
13181
13182 #. type: IP
13183 #: build/C/man7/symlink.7:136
13184 #, no-wrap
13185 msgid "2."
13186 msgstr "2."
13187
13188 #. type: Plain text
13189 #: build/C/man7/symlink.7:139
13190 msgid ""
13191 "Symbolic links specified as command-line arguments to utilities that are not "
13192 "traversing a file tree."
13193 msgstr ""
13194 "Symbolic links specified as command-line arguments to utilities that are not "
13195 "traversing a file tree."
13196
13197 #. type: IP
13198 #: build/C/man7/symlink.7:139
13199 #, no-wrap
13200 msgid "3."
13201 msgstr "3."
13202
13203 #. type: Plain text
13204 #: build/C/man7/symlink.7:143
13205 msgid ""
13206 "Symbolic links encountered by utilities that are traversing a file tree "
13207 "(either specified on the command line or encountered as part of the file "
13208 "hierarchy walk)."
13209 msgstr ""
13210 "Symbolic links encountered by utilities that are traversing a file tree "
13211 "(either specified on the command line or encountered as part of the file "
13212 "hierarchy walk)."
13213
13214 #. type: SS
13215 #: build/C/man7/symlink.7:143
13216 #, no-wrap
13217 msgid "System calls"
13218 msgstr "System calls"
13219
13220 #. type: Plain text
13221 #: build/C/man7/symlink.7:146
13222 msgid ""
13223 "The first area is symbolic links used as filename arguments for system calls."
13224 msgstr ""
13225 "The first area is symbolic links used as filename arguments for system calls."
13226
13227 #. type: Plain text
13228 #: build/C/man7/symlink.7:156
13229 msgid ""
13230 "Except as noted below, all system calls follow symbolic links.  For example, "
13231 "if there were a symbolic link I<slink> which pointed to a file named "
13232 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13233 "descriptor referring to the file I<afile>."
13234 msgstr ""
13235 "Except as noted below, all system calls follow symbolic links.  For example, "
13236 "if there were a symbolic link I<slink> which pointed to a file named "
13237 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
13238 "descriptor referring to the file I<afile>."
13239
13240 #.  Maybe one day: .BR fchownat (2)
13241 #. type: Plain text
13242 #: build/C/man7/symlink.7:206
13243 msgid ""
13244 "Various system calls do not follow links, and operate on the symbolic link "
13245 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13246 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13247 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13248 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13249 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13250 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13251 "(2), that library function also does not follow symbolic links.  When "
13252 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13253 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13254 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13255 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13256 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13257 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13258 "to allow either behavior in an implementation."
13259 msgstr ""
13260 "Various system calls do not follow links, and operate on the symbolic link "
13261 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
13262 "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
13263 "(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
13264 "follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
13265 "(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
13266 "manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
13267 "(2), that library function also does not follow symbolic links.  When "
13268 "B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
13269 "B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
13270 "specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
13271 "link.  However, Linux does not do this.  (By default Solaris is the same, "
13272 "but the POSIX.1-2001 specified behavior can be obtained with suitable "
13273 "compiler options.)  The upcoming POSIX.1 revision changes the specification "
13274 "to allow either behavior in an implementation."
13275
13276 #. type: SS
13277 #: build/C/man7/symlink.7:206
13278 #, no-wrap
13279 msgid "Commands not traversing a file tree"
13280 msgstr "Commands not traversing a file tree"
13281
13282 #. type: Plain text
13283 #: build/C/man7/symlink.7:209
13284 msgid ""
13285 "The second area is symbolic links, specified as command-line filename "
13286 "arguments, to commands which are not traversing a file tree."
13287 msgstr ""
13288 "The second area is symbolic links, specified as command-line filename "
13289 "arguments, to commands which are not traversing a file tree."
13290
13291 #. type: Plain text
13292 #: build/C/man7/symlink.7:220
13293 msgid ""
13294 "Except as noted below, commands follow symbolic links named as command-line "
13295 "arguments.  For example, if there were a symbolic link I<slink> which "
13296 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13297 "contents of the file I<afile>."
13298 msgstr ""
13299 "Except as noted below, commands follow symbolic links named as command-line "
13300 "arguments.  For example, if there were a symbolic link I<slink> which "
13301 "pointed to a file named I<afile>, the command I<cat slink> would display the "
13302 "contents of the file I<afile>."
13303
13304 #. type: Plain text
13305 #: build/C/man7/symlink.7:228
13306 msgid ""
13307 "It is important to realize that this rule includes commands which may "
13308 "optionally traverse file trees, e.g., the command I<chown file> is included "
13309 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13310 "traversal, is not.  (The latter is described in the third area, below.)"
13311 msgstr ""
13312 "It is important to realize that this rule includes commands which may "
13313 "optionally traverse file trees, e.g., the command I<chown file> is included "
13314 "in this rule, while the command I<chown\\ -R file>, which performs a tree "
13315 "traversal, is not.  (The latter is described in the third area, below.)"
13316
13317 #. type: Plain text
13318 #: build/C/man7/symlink.7:246
13319 msgid ""
13320 "If it is explicitly intended that the command operate on the symbolic link "
13321 "instead of following the symbolic link, e.g., it is desired that I<chown "
13322 "slink> change the ownership of the file that I<slink> is, whether it is a "
13323 "symbolic link or not, the I<-h> option should be used.  In the above "
13324 "example, I<chown root slink> would change the ownership of the file referred "
13325 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13326 "I<slink> itself."
13327 msgstr ""
13328 "If it is explicitly intended that the command operate on the symbolic link "
13329 "instead of following the symbolic link, e.g., it is desired that I<chown "
13330 "slink> change the ownership of the file that I<slink> is, whether it is a "
13331 "symbolic link or not, the I<-h> option should be used.  In the above "
13332 "example, I<chown root slink> would change the ownership of the file referred "
13333 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
13334 "I<slink> itself."
13335
13336 #. type: Plain text
13337 #: build/C/man7/symlink.7:248
13338 msgid "There are some exceptions to this rule:"
13339 msgstr "There are some exceptions to this rule:"
13340
13341 #. type: Plain text
13342 #: build/C/man7/symlink.7:258
13343 msgid ""
13344 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13345 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13346 "the symbolic link references a file via a relative path, moving it to "
13347 "another directory may very well cause it to stop working, since the path may "
13348 "no longer be correct.)"
13349 msgstr ""
13350 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
13351 "arguments, but respectively attempt to rename and delete them.  (Note, if "
13352 "the symbolic link references a file via a relative path, moving it to "
13353 "another directory may very well cause it to stop working, since the path may "
13354 "no longer be correct.)"
13355
13356 #. type: Plain text
13357 #: build/C/man7/symlink.7:288
13358 msgid ""
13359 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13360 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13361 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13362 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13363 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13364 "the only command where the I<-H> and I<-L> options affect its behavior even "
13365 "though it is not doing a walk of a file tree.)"
13366 msgstr ""
13367 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
13368 "with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
13369 "R> option is not specified), the B<ls>(1)  command follows symbolic links "
13370 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
13371 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
13372 "the only command where the I<-H> and I<-L> options affect its behavior even "
13373 "though it is not doing a walk of a file tree.)"
13374
13375 #. The 4.4BSD system differs from historical 4BSD systems in that the
13376 #. .BR chown (1)
13377 #. and
13378 #. .BR chgrp (1)
13379 #. commands follow symbolic links specified on the command line.
13380 #. type: Plain text
13381 #: build/C/man7/symlink.7:306
13382 msgid ""
13383 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13384 "command does not follow symbolic links named as argument by default.  The "
13385 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13386 "L> option is specified."
13387 msgstr ""
13388 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
13389 "command does not follow symbolic links named as argument by default.  The "
13390 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
13391 "L> option is specified."
13392
13393 #. type: SS
13394 #: build/C/man7/symlink.7:306
13395 #, no-wrap
13396 msgid "Commands traversing a file tree"
13397 msgstr "Commands traversing a file tree"
13398
13399 #. type: Plain text
13400 #: build/C/man7/symlink.7:319
13401 msgid ""
13402 "The following commands either optionally or always traverse file trees: "
13403 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13404 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13405 msgstr ""
13406 "The following commands either optionally or always traverse file trees: "
13407 "B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
13408 "(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
13409
13410 #. type: Plain text
13411 #: build/C/man7/symlink.7:323
13412 msgid ""
13413 "It is important to realize that the following rules apply equally to "
13414 "symbolic links encountered during the file tree traversal and symbolic links "
13415 "listed as command-line arguments."
13416 msgstr ""
13417 "It is important to realize that the following rules apply equally to "
13418 "symbolic links encountered during the file tree traversal and symbolic links "
13419 "listed as command-line arguments."
13420
13421 #. type: Plain text
13422 #: build/C/man7/symlink.7:328
13423 msgid ""
13424 "The I<first rule> applies to symbolic links that reference files other than "
13425 "directories.  Operations that apply to symbolic links are performed on the "
13426 "links themselves, but otherwise the links are ignored."
13427 msgstr ""
13428 "The I<first rule> applies to symbolic links that reference files other than "
13429 "directories.  Operations that apply to symbolic links are performed on the "
13430 "links themselves, but otherwise the links are ignored."
13431
13432 #. type: Plain text
13433 #: build/C/man7/symlink.7:340
13434 msgid ""
13435 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13436 "symbolic links encountered in the tree traversal of I<directory>, because "
13437 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13438 "referred to by I<slink>."
13439 msgstr ""
13440 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
13441 "symbolic links encountered in the tree traversal of I<directory>, because "
13442 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
13443 "referred to by I<slink>."
13444
13445 #. type: Plain text
13446 #: build/C/man7/symlink.7:345
13447 msgid ""
13448 "The I<second rule> applies to symbolic links that refer to directories.  "
13449 "Symbolic links that refer to directories are never followed by default.  "
13450 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13451 "\" walk (where symbolic links the refer to directories are followed)."
13452 msgstr ""
13453 "The I<second rule> applies to symbolic links that refer to directories.  "
13454 "Symbolic links that refer to directories are never followed by default.  "
13455 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
13456 "\" walk (where symbolic links the refer to directories are followed)."
13457
13458 #. type: Plain text
13459 #: build/C/man7/symlink.7:348
13460 msgid ""
13461 "Certain conventions are (should be) followed as consistently as possible by "
13462 "commands that perform file tree walks:"
13463 msgstr ""
13464 "Certain conventions are (should be) followed as consistently as possible by "
13465 "commands that perform file tree walks:"
13466
13467 #. type: Plain text
13468 #: build/C/man7/symlink.7:361
13469 msgid ""
13470 "A command can be made to follow any symbolic links named on the command "
13471 "line, regardless of the type of file they reference, by specifying the I<-H> "
13472 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13473 "name space look like the logical name space.  (Note, for commands that do "
13474 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13475 "R> flag is not also specified.)"
13476 msgstr ""
13477 "A command can be made to follow any symbolic links named on the command "
13478 "line, regardless of the type of file they reference, by specifying the I<-H> "
13479 "(for \"half-logical\") flag.  This flag is intended to make the command-line "
13480 "name space look like the logical name space.  (Note, for commands that do "
13481 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
13482 "R> flag is not also specified.)"
13483
13484 #. type: Plain text
13485 #: build/C/man7/symlink.7:377
13486 msgid ""
13487 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13488 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13489 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13490 "symbolic links specified on the command line to be dereferenced for the "
13491 "purposes of both the action to be performed and the tree walk, and it is as "
13492 "if the user had specified the name of the file to which the symbolic link "
13493 "pointed."
13494 msgstr ""
13495 "For example, the command I<chown\\ -HR user slink> will traverse the file "
13496 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
13497 "the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
13498 "symbolic links specified on the command line to be dereferenced for the "
13499 "purposes of both the action to be performed and the tree walk, and it is as "
13500 "if the user had specified the name of the file to which the symbolic link "
13501 "pointed."
13502
13503 #. type: Plain text
13504 #: build/C/man7/symlink.7:391
13505 msgid ""
13506 "A command can be made to follow any symbolic links named on the command "
13507 "line, as well as any symbolic links encountered during the traversal, "
13508 "regardless of the type of file they reference, by specifying the I<-L> (for "
13509 "\"logical\") flag.  This flag is intended to make the entire name space look "
13510 "like the logical name space.  (Note, for commands that do not always do file "
13511 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13512 "also specified.)"
13513 msgstr ""
13514 "A command can be made to follow any symbolic links named on the command "
13515 "line, as well as any symbolic links encountered during the traversal, "
13516 "regardless of the type of file they reference, by specifying the I<-L> (for "
13517 "\"logical\") flag.  This flag is intended to make the entire name space look "
13518 "like the logical name space.  (Note, for commands that do not always do file "
13519 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
13520 "also specified.)"
13521
13522 #. type: Plain text
13523 #: build/C/man7/symlink.7:406
13524 msgid ""
13525 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13526 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13527 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13528 "references.  In addition, if any symbolic links are encountered in any file "
13529 "tree that B<chown> traverses, they will be treated in the same fashion as "
13530 "I<slink>."
13531 msgstr ""
13532 "For example, the command I<chown\\ -LR user slink> will change the owner of "
13533 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
13534 "B<chown> will traverse the file hierarchy rooted in the directory that it "
13535 "references.  In addition, if any symbolic links are encountered in any file "
13536 "tree that B<chown> traverses, they will be treated in the same fashion as "
13537 "I<slink>."
13538
13539 #. type: Plain text
13540 #: build/C/man7/symlink.7:413
13541 msgid ""
13542 "A command can be made to provide the default behavior by specifying the I<-"
13543 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13544 "space look like the physical name space."
13545 msgstr ""
13546 "A command can be made to provide the default behavior by specifying the I<-"
13547 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
13548 "space look like the physical name space."
13549
13550 #. type: Plain text
13551 #: build/C/man7/symlink.7:431
13552 msgid ""
13553 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13554 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13555 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13556 "once; the last one specified determines the command's behavior.  This is "
13557 "intended to permit you to alias commands to behave one way or the other, and "
13558 "then override that behavior on the command line."
13559 msgstr ""
13560 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
13561 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
13562 "addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
13563 "once; the last one specified determines the command's behavior.  This is "
13564 "intended to permit you to alias commands to behave one way or the other, and "
13565 "then override that behavior on the command line."
13566
13567 #. type: Plain text
13568 #: build/C/man7/symlink.7:437
13569 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13570 msgstr "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
13571
13572 #. type: Plain text
13573 #: build/C/man7/symlink.7:450
13574 msgid ""
13575 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13576 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13577 "command does not support the I<-H>, I<-L>, or I<-P> options."
13578 msgstr ""
13579 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
13580 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
13581 "command does not support the I<-H>, I<-L>, or I<-P> options."
13582
13583 #. type: Plain text
13584 #: build/C/man7/symlink.7:470
13585 msgid ""
13586 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13587 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13588 "options, B<ls>(1)  will follow symbolic links specified on the command "
13589 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13590 "regardless of their type, whether specified on the command line or "
13591 "encountered in the tree walk."
13592 msgstr ""
13593 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
13594 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
13595 "options, B<ls>(1)  will follow symbolic links specified on the command "
13596 "line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
13597 "regardless of their type, whether specified on the command line or "
13598 "encountered in the tree walk."
13599
13600 #. type: Plain text
13601 #: build/C/man7/symlink.7:488
13602 msgid ""
13603 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13604 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13605 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13606 "B<path_resolution>(7)"
13607 msgstr ""
13608 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
13609 "(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
13610 "B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
13611 "B<path_resolution>(7)"
13612
13613 #. type: TH
13614 #: build/C/man3/tempnam.3:23
13615 #, no-wrap
13616 msgid "TEMPNAM"
13617 msgstr "TEMPNAM"
13618
13619 #. type: TH
13620 #: build/C/man3/tempnam.3:23
13621 #, no-wrap
13622 msgid "2008-08-06"
13623 msgstr "2008-08-06"
13624
13625 #. type: Plain text
13626 #: build/C/man3/tempnam.3:26
13627 msgid "tempnam - create a name for a temporary file"
13628 msgstr "tempnam - テンポラリファイルの名前を作成する"
13629
13630 #. type: Plain text
13631 #: build/C/man3/tempnam.3:31
13632 #, no-wrap
13633 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13634 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
13635
13636 #. type: Plain text
13637 #: build/C/man3/tempnam.3:40
13638 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13639 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
13640
13641 #. type: Plain text
13642 #: build/C/man3/tempnam.3:54
13643 msgid ""
13644 "The B<tempnam>()  function returns a pointer to a string that is a valid "
13645 "filename, and such that a file with this name did not exist when B<tempnam>"
13646 "()  checked.  The filename suffix of the pathname generated will start with "
13647 "I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
13648 "directory prefix part of the pathname generated is required to be "
13649 "\"appropriate\" (often that at least implies writable)."
13650 msgstr ""
13651 "B<tempnam>()  関数はファイル名として正しい文字列へのポインターを返す。 この"
13652 "ファイル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在し"
13653 "ない (しなかった)。 I<pfx> が NULL でない 5 バイト以内の文字列であれば、 生成"
13654 "されるパス名のうちのファイル名の部分は I<pfx> から始まるものになる。 生成され"
13655 "るディレクトリの部分は、「適切」でなければならない (大抵の場合、「適切」であ"
13656 "るためにはまず少なくとも 書き込み可能でなければならない)。"
13657
13658 #. type: Plain text
13659 #: build/C/man3/tempnam.3:57
13660 msgid ""
13661 "Attempts to find an appropriate directory go through the following steps:"
13662 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
13663
13664 #. type: TP
13665 #: build/C/man3/tempnam.3:57
13666 #, no-wrap
13667 msgid "a)"
13668 msgstr "a)"
13669
13670 #. type: Plain text
13671 #: build/C/man3/tempnam.3:63
13672 msgid ""
13673 "In case the environment variable B<TMPDIR> exists and contains the name of "
13674 "an appropriate directory, that is used."
13675 msgstr ""
13676 "環境変数 B<TMPDIR> が設定されていて、 その内容が適切なディレクトリの名前な"
13677 "ら、それを用いる。"
13678
13679 #. type: TP
13680 #: build/C/man3/tempnam.3:63
13681 #, no-wrap
13682 msgid "b)"
13683 msgstr "b)"
13684
13685 #. type: Plain text
13686 #: build/C/man3/tempnam.3:68
13687 msgid ""
13688 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
13689 msgstr ""
13690 "それ以外の場合、 I<dir> 引き数が NULL でない文字列でかつ適切なら、それを用い"
13691 "る。"
13692
13693 #. type: TP
13694 #: build/C/man3/tempnam.3:68
13695 #, no-wrap
13696 msgid "c)"
13697 msgstr "c)"
13698
13699 #. type: Plain text
13700 #: build/C/man3/tempnam.3:75
13701 msgid ""
13702 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
13703 "appropriate."
13704 msgstr ""
13705 "それ以外の場合、 (I<E<lt>stdio.hE<gt>> で定義されている)  I<P_tmpdir> が適切"
13706 "なら、それを用いる。"
13707
13708 #. type: TP
13709 #: build/C/man3/tempnam.3:75
13710 #, no-wrap
13711 msgid "d)"
13712 msgstr "d)"
13713
13714 #. type: Plain text
13715 #: build/C/man3/tempnam.3:78
13716 msgid "Finally an implementation-defined directory may be used."
13717 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
13718
13719 #. type: Plain text
13720 #: build/C/man3/tempnam.3:85
13721 msgid ""
13722 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
13723 "hence should be freed by B<free>(3)."
13724 msgstr ""
13725 "B<tempnam>()  が返す文字列は B<malloc>(3)  を使って確保される。そのため、 "
13726 "B<free>(3)  で解放すべきである。"
13727
13728 #. type: Plain text
13729 #: build/C/man3/tempnam.3:90
13730 msgid ""
13731 "The B<tempnam>()  function returns a pointer to a unique temporary filename, "
13732 "or NULL if a unique name cannot be generated."
13733 msgstr ""
13734 "B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
13735 "と重ならない名前が生成できなければ NULL を返す。"
13736
13737 #. type: Plain text
13738 #: build/C/man3/tempnam.3:94
13739 msgid "Allocation of storage failed."
13740 msgstr "保存領域の割り当てに失敗した。"
13741
13742 #. type: Plain text
13743 #: build/C/man3/tempnam.3:99
13744 msgid ""
13745 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
13746 msgstr ""
13747 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 は B<tempnam>()  を廃止予定としてい"
13748 "る。"
13749
13750 #. type: Plain text
13751 #: build/C/man3/tempnam.3:118
13752 msgid ""
13753 "Although B<tempnam>()  generates names that are difficult to guess, it is "
13754 "nevertheless possible that between the time that B<tempnam>()  returns a "
13755 "pathname, and the time that the program opens it, another program might "
13756 "create that pathname using B<open>(2), or create it as a symbolic link.  "
13757 "This can lead to security holes.  To avoid such possibilities, use the "
13758 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
13759 "B<mkstemp>(3)  or B<tmpfile>(3)."
13760 msgstr ""
13761 "B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
13762 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
13763 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
13764 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
13765 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
13766 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
13767 "B<tmpfile>(3)  を使うことである。"
13768
13769 #. type: Plain text
13770 #: build/C/man3/tempnam.3:126
13771 msgid ""
13772 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
13773 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
13774 "tmp> (and this is what glibc does)."
13775 msgstr ""
13776 "SUSv2 では B<TMPDIR> に付いて言及されていない。 glibc は、プログラムが set-"
13777 "user-ID されていない場合に限ってこれを用いる。 SVr4 では B<d)> で使用される"
13778 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
13779
13780 #. type: Plain text
13781 #: build/C/man3/tempnam.3:131
13782 msgid ""
13783 "Because it dynamically allocates memory used to return the pathname, "
13784 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
13785 msgstr ""
13786 "パス名を返すのに使用するメモリを動的に確保するので、 B<tmpnam>(3)  と違い、 "
13787 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
13788
13789 #. type: Plain text
13790 #: build/C/man3/tempnam.3:144
13791 msgid ""
13792 "The B<tempnam>()  function generates a different string each time it is "
13793 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
13794 "called more than B<TMP_MAX> times, the behavior is implementation defined."
13795 msgstr ""
13796 "B<tempnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作"
13797 "成する (B<TMP_MAX> は I<E<lt>stdio.hE<gt>> で定義されている)。 もし "
13798 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
13799
13800 #. type: Plain text
13801 #: build/C/man3/tempnam.3:148
13802 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
13803 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
13804
13805 #. type: Plain text
13806 #: build/C/man3/tempnam.3:154
13807 msgid ""
13808 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
13809 "upon failure to find a unique name."
13810 msgstr ""
13811 "他と重ならない名前が見つけられなかった場合、glibc の B<tempnam>()  の実装はエ"
13812 "ラー B<EEXIST> で失敗する。"
13813
13814 #. type: Plain text
13815 #: build/C/man3/tempnam.3:157
13816 msgid ""
13817 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
13818 "accessibility of a directory is determined."
13819 msgstr ""
13820 "「適切」という言葉の正確な意味は定義されていない。 ディレクトリに対してどの程"
13821 "度のアクセス権限が必要なのかは指定されていない。"
13822
13823 #. type: Plain text
13824 #: build/C/man3/tempnam.3:164 build/C/man3/tmpnam.3:151
13825 msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
13826 msgstr ""
13827 "決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
13828 "を使うこと。"
13829
13830 #. type: Plain text
13831 #: build/C/man3/tempnam.3:169
13832 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13833 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
13834
13835 #. type: TH
13836 #: build/C/man3/tmpfile.3:29
13837 #, no-wrap
13838 msgid "TMPFILE"
13839 msgstr "TMPFILE"
13840
13841 #. type: Plain text
13842 #: build/C/man3/tmpfile.3:32
13843 msgid "tmpfile - create a temporary file"
13844 msgstr "tmpfile - テンポラリファイルを作成する"
13845
13846 #. type: Plain text
13847 #: build/C/man3/tmpfile.3:37
13848 #, no-wrap
13849 msgid "B<FILE *tmpfile(void);>\n"
13850 msgstr "B<FILE *tmpfile(void);>\n"
13851
13852 #. type: Plain text
13853 #: build/C/man3/tmpfile.3:45
13854 msgid ""
13855 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
13856 "write (w+b) mode.  The file will be automatically deleted when it is closed "
13857 "or the program terminates."
13858 msgstr ""
13859 "B<tmpfile>()  関数はユニークなテンポラリファイルを バイナリリードライトモー"
13860 "ド (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に"
13861 "自動的に削除される。"
13862
13863 #. type: Plain text
13864 #: build/C/man3/tmpfile.3:52
13865 msgid ""
13866 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
13867 "filename cannot be generated or the unique file cannot be opened.  In the "
13868 "latter case, I<errno> is set to indicate the error."
13869 msgstr ""
13870 "B<tmpfile>()  関数はファイルポインタを返すか、 ユニークなファイルが作れなかっ"
13871 "たかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す "
13872 "I<errno> を設定する。"
13873
13874 #. type: Plain text
13875 #: build/C/man3/tmpfile.3:56
13876 msgid "Search permission denied for directory in file's path prefix."
13877 msgstr ""
13878 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
13879
13880 #. type: Plain text
13881 #: build/C/man3/tmpfile.3:59
13882 msgid "Unable to generate a unique filename."
13883 msgstr "ユニークなファイル名が作成できなかった。"
13884
13885 #. type: Plain text
13886 #: build/C/man3/tmpfile.3:62
13887 msgid "The call was interrupted by a signal."
13888 msgstr "呼び出しがシグナルによって中断された。"
13889
13890 #. type: Plain text
13891 #: build/C/man3/tmpfile.3:65
13892 msgid "Too many file descriptors in use by the process."
13893 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
13894
13895 #. type: Plain text
13896 #: build/C/man3/tmpfile.3:68
13897 msgid "Too many files open in the system."
13898 msgstr "システム全体でオープン可能なファイル数を超過した。"
13899
13900 #. type: Plain text
13901 #: build/C/man3/tmpfile.3:71
13902 msgid "There was no room in the directory to add the new filename."
13903 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
13904
13905 #. type: Plain text
13906 #: build/C/man3/tmpfile.3:74
13907 msgid "Read-only file system."
13908 msgstr "読みだし専用ファイルシステムである。"
13909
13910 #. type: Plain text
13911 #: build/C/man3/tmpfile.3:76
13912 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13913 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
13914
13915 #. type: Plain text
13916 #: build/C/man3/tmpfile.3:80
13917 msgid ""
13918 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
13919 "stream cannot be opened."
13920 msgstr ""
13921 "POSIX.1-2001 では、 ストリームをオープンできなかった場合、 I<stdout> にエラー"
13922 "メッセージが書き出される、と規定されている。"
13923
13924 #. type: Plain text
13925 #: build/C/man3/tmpfile.3:86
13926 msgid ""
13927 "The standard does not specify the directory that B<tmpfile>()  will use.  "
13928 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
13929 "and if that fails the directory I</tmp>."
13930 msgstr ""
13931 "規格では B<tmpfile>()  が使うディレクトリは指定されていない。 glibc では "
13932 "I<E<lt>stdio.hE<gt>> で定義されている I<P_tmpdir> をパスの先頭に使おうとす"
13933 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
13934
13935 #. type: Plain text
13936 #: build/C/man3/tmpfile.3:92
13937 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13938 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
13939
13940 #. type: TH
13941 #: build/C/man3/tmpnam.3:25
13942 #, no-wrap
13943 msgid "TMPNAM"
13944 msgstr "TMPNAM"
13945
13946 #. type: TH
13947 #: build/C/man3/tmpnam.3:25
13948 #, no-wrap
13949 msgid "2010-09-10"
13950 msgstr "2010-09-10"
13951
13952 #. type: Plain text
13953 #: build/C/man3/tmpnam.3:28
13954 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
13955 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
13956
13957 #. type: Plain text
13958 #: build/C/man3/tmpnam.3:33
13959 #, no-wrap
13960 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
13961 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
13962
13963 #. type: Plain text
13964 #: build/C/man3/tmpnam.3:56
13965 msgid ""
13966 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
13967 "filename, and such that a file with this name did not exist at some point in "
13968 "time, so that naive programmers may think it a suitable name for a temporary "
13969 "file.  If the argument I<s> is NULL this name is generated in an internal "
13970 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
13971 "I<s> is not NULL, the name is copied to the character array (of length at "
13972 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
13973 "case of success."
13974 msgstr ""
13975 "B<tmpnam>()  関数は、ファイル名に使える文字列へのポインタを返す。 ある時点で"
13976 "は同じ名前を持つファイルが存在しないファイル名が返されるので、 幼稚なプログラ"
13977 "マはこの文字列が一時ファイルのファイル名として 適していると考えるかもしれな"
13978 "い。 引き数 I<s> が NULL なら、この名前は内部の静的バッファに作成され、 次に "
13979 "B<tmpnam>()  関数が呼び出された時に上書きされる。 I<s> が NULL でなければ、"
13980 "ファイル名は I<s> が指す (少なくとも I<L_tmpnam> の長さを持つ) 文字配列にコ"
13981 "ピーされ、 成功した場合は I<s> が返される。"
13982
13983 #. type: Plain text
13984 #: build/C/man3/tmpnam.3:68
13985 msgid ""
13986 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
13987 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
13988 "the B<TMP_MAX> mentioned below.)"
13989 msgstr ""
13990 "作成されるパス名は、ディレクトリの部分に I<P_tmpdir> が使われる。 "
13991 "(I<L_tmpnam> と I<P_tmpdir> は、以下で説明する B<TMP_MAX> 同様 I<E<lt>stdio."
13992 "hE<gt>> で定義されている。)"
13993
13994 #. type: Plain text
13995 #: build/C/man3/tmpnam.3:73
13996 msgid ""
13997 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
13998 "or NULL if a unique name cannot be generated."
13999 msgstr ""
14000 "B<tmpnam>()  関数は一意な一時ファイル名へのポインタを返す。 一意なファイル名"
14001 "が作成できなかった場合は NULL を返す。"
14002
14003 #. type: Plain text
14004 #: build/C/man3/tmpnam.3:75
14005 msgid "No errors are defined."
14006 msgstr "エラーは定義されていない。"
14007
14008 #. type: Plain text
14009 #: build/C/man3/tmpnam.3:80
14010 msgid ""
14011 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
14012 "obsolete."
14013 msgstr ""
14014 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 は B<tmpnam>()  を廃止予"
14015 "定としている。"
14016
14017 #. type: Plain text
14018 #: build/C/man3/tmpnam.3:91
14019 msgid ""
14020 "The B<tmpnam>()  function generates a different string each time it is "
14021 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
14022 "the behavior is implementation defined."
14023 msgstr ""
14024 "B<tmpnam>()  関数は最大 B<TMP_MAX> 回まで、呼び出される度に異なる文字列を作成"
14025 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
14026
14027 #. type: Plain text
14028 #: build/C/man3/tmpnam.3:110
14029 msgid ""
14030 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
14031 "nevertheless possible that between the time that B<tmpnam>()  returns a "
14032 "pathname, and the time that the program opens it, another program might "
14033 "create that pathname using B<open>(2), or create it as a symbolic link.  "
14034 "This can lead to security holes.  To avoid such possibilities, use the "
14035 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
14036 "B<mkstemp>(3)  or B<tmpfile>(3)."
14037 msgstr ""
14038 "B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
14039 "()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
14040 "別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
14041 "クリンクを作成したりする可能性がある。 これはセキュリティホールにつながる可能"
14042 "性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
14043 "グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
14044 "B<tmpfile>(3)  を使うことである。"
14045
14046 #. type: Plain text
14047 #: build/C/man3/tmpnam.3:118
14048 msgid ""
14049 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
14050 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
14051 "defined."
14052 msgstr ""
14053 "移植性が必要な、スレッドを使ったアプリケーションでは、 B<_POSIX_THREADS> か "
14054 "B<_POSIX_THREAD_SAFE_FUNCTIONS> が定義されている場合に、 B<tmpnam>()  関数を "
14055 "NULL 引き数で呼び出してはならない。"
14056
14057 #. type: Plain text
14058 #: build/C/man3/tmpnam.3:122
14059 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
14060 msgstr ""
14061 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
14062 "下のように定義されており、 NULL を使わないようにという警告の意味で NULL を別"
14063 "扱いしている。"
14064
14065 #. type: Plain text
14066 #: build/C/man3/tmpnam.3:130
14067 #, no-wrap
14068 msgid ""
14069 "char *\n"
14070 "tmpnam_r(char *s)\n"
14071 "{\n"
14072 "    return s ? tmpnam(s) : NULL;\n"
14073 "}\n"
14074 msgstr ""
14075 "char *\n"
14076 "tmpnam_r(char *s)\n"
14077 "{\n"
14078 "    return s ? tmpnam(s) : NULL;\n"
14079 "}\n"
14080
14081 #. type: Plain text
14082 #: build/C/man3/tmpnam.3:144
14083 msgid ""
14084 "apparently as a warning not to use NULL.  A few systems implement it.  To "
14085 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
14086 "B<_SVID_SOURCE> or B<_BSD_SOURCE> (before including I<any> header file)."
14087 msgstr ""
14088 "数は少ないが、この関数を実装しているシステムもある。 この関数の glibc のプロ"
14089 "トタイプを I<E<lt>stdio.hE<gt>> から得るには、 (「どの」ヘッダファイルをイン"
14090 "クルードするよりも前に)  B<_SVID_SOURCE> か B<_BSD_SOURCE> を定義しておく必要"
14091 "がある。"
14092
14093 #. type: Plain text
14094 #: build/C/man3/tmpnam.3:156
14095 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14096 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
14097
14098 #. type: TH
14099 #: build/C/man2/unlink.2:32
14100 #, no-wrap
14101 msgid "UNLINK"
14102 msgstr "UNLINK"
14103
14104 #. type: TH
14105 #: build/C/man2/unlink.2:32
14106 #, fuzzy, no-wrap
14107 #| msgid "2011-09-17"
14108 msgid "2011-09-15"
14109 msgstr "2011-09-17"
14110
14111 #. type: Plain text
14112 #: build/C/man2/unlink.2:35
14113 msgid "unlink - delete a name and possibly the file it refers to"
14114 msgstr ""
14115 "unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
14116
14117 #. type: Plain text
14118 #: build/C/man2/unlink.2:39
14119 msgid "B<int unlink(const char *>I<pathname>B<);>"
14120 msgstr "B<int unlink(const char *>I<pathname>B<);>"
14121
14122 #. type: Plain text
14123 #: build/C/man2/unlink.2:45
14124 msgid ""
14125 "B<unlink>()  deletes a name from the file system.  If that name was the last "
14126 "link to a file and no processes have the file open the file is deleted and "
14127 "the space it was using is made available for reuse."
14128 msgstr ""
14129 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
14130 "の最後のリンク (link) であり、 どのプロセスもそのファイルをオープン (open) し"
14131 "ていなければ、 ファイルは削除される。 ファイルが使用していたディスク上の領域"
14132 "は再利用が可能になる。"
14133
14134 #. type: Plain text
14135 #: build/C/man2/unlink.2:49
14136 msgid ""
14137 "If the name was the last link to a file but any processes still have the "
14138 "file open the file will remain in existence until the last file descriptor "
14139 "referring to it is closed."
14140 msgstr ""
14141 "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
14142 "ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
14143 "スクリプター (file descriptor)  がクローズ (close) されるまでファイルは存在し"
14144 "続ける。"
14145
14146 #. type: Plain text
14147 #: build/C/man2/unlink.2:51
14148 msgid "If the name referred to a symbolic link the link is removed."
14149 msgstr ""
14150 "もしその名前がシンボリック・リンク (symbolic link) を参照していれば、 リンク"
14151 "は削除される。"
14152
14153 #. type: Plain text
14154 #: build/C/man2/unlink.2:55
14155 msgid ""
14156 "If the name referred to a socket, fifo or device the name for it is removed "
14157 "but processes which have the object open may continue to use it."
14158 msgstr ""
14159 "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
14160 "は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
14161 "とができる。"
14162
14163 #. type: Plain text
14164 #: build/C/man2/unlink.2:71
14165 msgid ""
14166 "Write access to the directory containing I<pathname> is not allowed for the "
14167 "process's effective UID, or one of the directories in I<pathname> did not "
14168 "allow search permission.  (See also B<path_resolution>(7).)"
14169 msgstr ""
14170 "I<pathname> を含んでいるディレクトリの書き込み許可がプロセスの実効 "
14171 "(effective)  ユーザー ID に与えられていないか、 I<pathname> の中のディレクト"
14172 "リのどれかに検索許可が与えられていない (B<path_resolution>(7)  も参照するこ"
14173 "と)。"
14174
14175 #. type: Plain text
14176 #: build/C/man2/unlink.2:80
14177 #, fuzzy
14178 #| msgid ""
14179 #| "The file I<pathname> cannot be unlinked because it is being used by the "
14180 #| "system or another process and the implementation considers this an error."
14181 msgid ""
14182 "The file I<pathname> cannot be unlinked because it is being used by the "
14183 "system or another process; for example, it is a mount point or the NFS "
14184 "client software created it to represent an active but otherwise nameless "
14185 "inode (\"NFS silly renamed\")."
14186 msgstr ""
14187 "ファイル I<pathname> がシステムまたは他のプロセスによって使用されていて リン"
14188 "クが削除できなかったので、この実装ではエラーとした。"
14189
14190 #. type: Plain text
14191 #: build/C/man2/unlink.2:92
14192 msgid ""
14193 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
14194 "Linux since 2.1.132.)"
14195 msgstr ""
14196 "I<pathname> がディレクトリを参照している。 (これは POSIX で規定されていない値"
14197 "で、Linux 2.1.132 以降で返される。)"
14198
14199 #. type: Plain text
14200 #: build/C/man2/unlink.2:96
14201 msgid "Too many symbolic links were encountered in translating I<pathname>."
14202 msgstr "I<pathname> を解決する際に遭遇したシンボリック・リンクが多過ぎる。"
14203
14204 #. type: Plain text
14205 #: build/C/man2/unlink.2:106
14206 msgid ""
14207 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
14208 "I<pathname> is empty."
14209 msgstr ""
14210 "I<pathname> に対応するものが存在しないか、壊れたシンボリック・リンクである"
14211 "か、 I<pathname> が空である。"
14212
14213 #. type: Plain text
14214 #: build/C/man2/unlink.2:114
14215 msgid ""
14216 "A component used as a directory in I<pathname> is not, in fact, a directory."
14217 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
14218
14219 #. type: Plain text
14220 #: build/C/man2/unlink.2:123
14221 msgid ""
14222 "The system does not allow unlinking of directories, or unlinking of "
14223 "directories requires privileges that the calling process doesn't have.  "
14224 "(This is the POSIX prescribed error return; as noted above, Linux returns "
14225 "B<EISDIR> for this case.)"
14226 msgstr ""
14227 "システムがディレクトリに対する unlink 操作を許可していない。 またはディレクト"
14228 "リに対する unlink 操作のために必要な特権を 呼び出し元のプロセスが持っていな"
14229 "い。 (これは POSIX で規定されているエラーの返し方である。 上述の通り、この場"
14230 "合には Linux は B<EISDIR> を返す。)"
14231
14232 #. type: TP
14233 #: build/C/man2/unlink.2:123
14234 #, no-wrap
14235 msgid "B<EPERM> (Linux only)"
14236 msgstr "B<EPERM> (Linux のみ)"
14237
14238 #. type: Plain text
14239 #: build/C/man2/unlink.2:126
14240 msgid "The file system does not allow unlinking of files."
14241 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
14242
14243 #. type: Plain text
14244 #: build/C/man2/unlink.2:137
14245 msgid ""
14246 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
14247 "and the process's effective UID is neither the UID of the file to be deleted "
14248 "nor that of the directory containing it, and the process is not privileged "
14249 "(Linux: does not have the B<CAP_FOWNER> capability)."
14250 msgstr ""
14251 "I<pathname> を含んでいるディレクトリにスティッキー・ビット (sticky-bit)  "
14252 "(B<S_ISVTX>)  が設定されていて、プロセスの実効ユーザー ID が削除しようとする"
14253 "ファイルの UID でもそれを含んでいるディレクトリのものでもなく、 かつプロセス"
14254 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
14255
14256 #. type: Plain text
14257 #: build/C/man2/unlink.2:141
14258 msgid "I<pathname> refers to a file on a read-only file system."
14259 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
14260
14261 #. type: Plain text
14262 #: build/C/man2/unlink.2:161
14263 msgid ""
14264 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14265 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14266 "(7), B<symlink>(7)"
14267 msgstr ""
14268 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
14269 "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
14270 "(7), B<symlink>(7)"
14271
14272 #. type: TH
14273 #: build/C/man3/unlocked_stdio.3:23
14274 #, no-wrap
14275 msgid "UNLOCKED_STDIO"
14276 msgstr "UNLOCKED_STDIO"
14277
14278 #. type: Plain text
14279 #: build/C/man3/unlocked_stdio.3:27
14280 msgid ""
14281 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
14282 "nonlocking stdio functions"
14283 msgstr ""
14284 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - ロックを行"
14285 "わずに標準入出力を行う関数群"
14286
14287 #. type: Plain text
14288 #: build/C/man3/unlocked_stdio.3:35
14289 #, no-wrap
14290 msgid ""
14291 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14292 "B<int getchar_unlocked(void);>\n"
14293 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14294 "B<int putchar_unlocked(int >I<c>B<);>\n"
14295 msgstr ""
14296 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
14297 "B<int getchar_unlocked(void);>\n"
14298 "B<int putc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14299 "B<int putchar_unlocked(int >I<c>B<);>\n"
14300
14301 #. type: Plain text
14302 #: build/C/man3/unlocked_stdio.3:47
14303 #, no-wrap
14304 msgid ""
14305 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14306 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14307 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14308 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14309 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14310 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14311 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14312 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14313 "B<                      FILE *>I<stream>B<);>\n"
14314 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14315 "B<                      FILE *>I<stream>B<);>\n"
14316 msgstr ""
14317 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
14318 "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
14319 "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
14320 "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
14321 "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
14322 "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
14323 "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
14324 "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14325 "B<                      FILE *>I<stream>B<);>\n"
14326 "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
14327 "B<                      FILE *>I<stream>B<);>\n"
14328
14329 #. type: Plain text
14330 #: build/C/man3/unlocked_stdio.3:50
14331 #, no-wrap
14332 msgid ""
14333 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14334 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14335 msgstr ""
14336 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14337 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
14338
14339 #. type: Plain text
14340 #: build/C/man3/unlocked_stdio.3:61
14341 #, no-wrap
14342 msgid ""
14343 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14344 "B<wint_t getwchar_unlocked(void);>\n"
14345 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14346 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14347 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14348 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14349 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14350 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14351 msgstr ""
14352 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
14353 "B<wint_t getwchar_unlocked(void);>\n"
14354 "B<wint_t fgetwc_unlocked(FILE *>I<stream>B<);>\n"
14355 "B<wint_t fputwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14356 "B<wint_t putwc_unlocked(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
14357 "B<wint_t putwchar_unlocked(wchar_t >I<wc>B<);>\n"
14358 "B<wchar_t *fgetws_unlocked(wchar_t *>I<ws>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
14359 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
14360
14361 #. type: Plain text
14362 #: build/C/man3/unlocked_stdio.3:73
14363 msgid ""
14364 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14365 "B<putchar_unlocked>():"
14366 msgstr ""
14367 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14368 "B<putchar_unlocked>():"
14369
14370 #. type: Plain text
14371 #: build/C/man3/unlocked_stdio.3:76
14372 msgid ""
14373 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14374 "_BSD_SOURCE || _SVID_SOURCE"
14375 msgstr ""
14376 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
14377 "_BSD_SOURCE || _SVID_SOURCE"
14378
14379 #. type: Plain text
14380 #: build/C/man3/unlocked_stdio.3:87
14381 msgid ""
14382 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14383 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14384 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14385 msgstr ""
14386 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
14387 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
14388 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
14389
14390 #. type: Plain text
14391 #: build/C/man3/unlocked_stdio.3:89
14392 msgid "_BSD_SOURCE || _SVID_SOURCE"
14393 msgstr "_BSD_SOURCE || _SVID_SOURCE"
14394
14395 #. type: Plain text
14396 #: build/C/man3/unlocked_stdio.3:100
14397 msgid ""
14398 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14399 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14400 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14401 msgstr ""
14402 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
14403 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
14404 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
14405
14406 #. type: Plain text
14407 #: build/C/man3/unlocked_stdio.3:111
14408 msgid ""
14409 "Each of these functions has the same behavior as its counterpart without the "
14410 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
14411 "locks themselves, and do not test for the presence of locks set by others) "
14412 "and hence are thread-unsafe.  See B<flockfile>(3)."
14413 msgstr ""
14414 "これらの関数は、末尾に \"_unlocked\" がついていない関数と同じ動作をするが、 "
14415 "ファイルのロックを使用しない点が異なる。(これらの関数自身はファイルのロック "
14416 "をセットせず、他の関数によってロックがセットされているかどうかのチェックも 行"
14417 "わない) それゆえ、スレッド(thread)で安全に使用することができない。 "
14418 "B<flockfile>(3)  を参照のこと。"
14419
14420 #. type: Plain text
14421 #: build/C/man3/unlocked_stdio.3:118
14422 msgid ""
14423 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
14424 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
14425 msgstr ""
14426 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
14427 "B<putchar_unlocked>()  の 4 つの関数は POSIX.1-2001 に規定されている。"
14428
14429 #.  E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
14430 #.  moved to a compatibility library.
14431 #.  Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
14432 #.  feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
14433 #.  fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
14434 #.  fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
14435 #.  ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14436 #.  getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
14437 #.  putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
14438 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
14439 #.  ungetc_unlocked, ungetwc_unlocked.
14440 #. type: Plain text
14441 #: build/C/man3/unlocked_stdio.3:134
14442 msgid ""
14443 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
14444 "are available in recent glibc.  They should probably not be used."
14445 msgstr ""
14446 "非標準の B<*_unlocked>()  の仲間は 2、3 の UNIX システムで定義されており、 最"
14447 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
14448
14449 #. type: Plain text
14450 #: build/C/man3/unlocked_stdio.3:137
14451 msgid "B<flockfile>(3), B<stdio>(3)"
14452 msgstr "B<flockfile>(3), B<stdio>(3)"
14453
14454 #. type: TH
14455 #: build/C/man3/wprintf.3:14
14456 #, no-wrap
14457 msgid "WPRINTF"
14458 msgstr "WPRINTF"
14459
14460 #. type: TH
14461 #: build/C/man3/wprintf.3:14
14462 #, no-wrap
14463 msgid "2011-09-17"
14464 msgstr "2011-09-17"
14465
14466 #. type: Plain text
14467 #: build/C/man3/wprintf.3:18
14468 msgid ""
14469 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
14470 "character output conversion"
14471 msgstr ""
14472 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ワイド文字を "
14473 "フォーマットして出力する"
14474
14475 #. type: Plain text
14476 #: build/C/man3/wprintf.3:22
14477 #, no-wrap
14478 msgid ""
14479 "B<#include E<lt>stdio.hE<gt>>\n"
14480 "B<#include E<lt>wchar.hE<gt>>\n"
14481 msgstr ""
14482 "B<#include E<lt>stdio.hE<gt>>\n"
14483 "B<#include E<lt>wchar.hE<gt>>\n"
14484
14485 #. type: Plain text
14486 #: build/C/man3/wprintf.3:27
14487 #, no-wrap
14488 msgid ""
14489 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14490 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14491 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14492 "B<             const wchar_t *>I<format>B<, ...);>\n"
14493 msgstr ""
14494 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
14495 "B<int fwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, ...);>\n"
14496 "B<int swprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14497 "B<             const wchar_t *>I<format>B<, ...);>\n"
14498
14499 #. type: Plain text
14500 #: build/C/man3/wprintf.3:32
14501 #, no-wrap
14502 msgid ""
14503 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14504 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14505 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14506 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14507 msgstr ""
14508 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14509 "B<int vfwprintf(FILE *>I<stream>B<, const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14510 "B<int vswprintf(wchar_t *>I<wcs>B<, size_t >I<maxlen>B<,>\n"
14511 "B<              const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
14512
14513 #.  .BR wprintf (),
14514 #.  .BR fwprintf (),
14515 #.  .BR swprintf (),
14516 #.  .BR vwprintf (),
14517 #.  .BR vfwprintf (),
14518 #.  .BR vswprintf ():
14519 #. type: Plain text
14520 #: build/C/man3/wprintf.3:49
14521 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14522 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
14523
14524 #. type: Plain text
14525 #: build/C/man3/wprintf.3:51
14526 msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14527 msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
14528
14529 #. type: Plain text
14530 #: build/C/man3/wprintf.3:53
14531 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14532 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
14533
14534 #. type: Plain text
14535 #: build/C/man3/wprintf.3:56
14536 msgid "or I<cc\\ -std=c99>"
14537 msgstr "or I<cc\\ -std=c99>"
14538
14539 #. type: Plain text
14540 #: build/C/man3/wprintf.3:67
14541 msgid ""
14542 "The B<wprintf>()  family of functions is the wide-character equivalent of "
14543 "the B<printf>(3)  family of functions.  It performs formatted output of wide "
14544 "characters."
14545 msgstr ""
14546 "B<wprintf>()  ファミリーの関数は B<printf>(3)  ファミリーの関数の ワイド文字"
14547 "版である。これらはワイド文字をフォーマットして出力する。"
14548
14549 #. type: Plain text
14550 #: build/C/man3/wprintf.3:77
14551 msgid ""
14552 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
14553 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
14554 "more information."
14555 msgstr ""
14556 "B<wprintf>()  と B<vwprintf>()  関数は I<stdout> に出力を行なう。 I<stdout> "
14557 "がバイト単位入出力であってはいけない。より詳しい説明は B<fwide>(3)  を参照す"
14558 "ること。"
14559
14560 #. type: Plain text
14561 #: build/C/man3/wprintf.3:87
14562 msgid ""
14563 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
14564 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
14565 "for more information."
14566 msgstr ""
14567 "B<fwprintf>()  と B<vfwprintf>()  関数は I<stream> にワイド文字出力 を行な"
14568 "う。 I<stream> がバイト単位入出力であってはいけない。 より詳しい説明は "
14569 "B<fwide>(3)  を参照すること。"
14570
14571 #. type: Plain text
14572 #: build/C/man3/wprintf.3:98
14573 msgid ""
14574 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
14575 "output to an array of wide characters.  The programmer must ensure that "
14576 "there is room for at least I<maxlen> wide characters at I<wcs>."
14577 msgstr ""
14578 "B<swprintf>()  と B<vswprintf>()  関数はワイド文字の配列に ワイド文字出力を行"
14579 "なう。プログラマーは I<wcs> に最低でも I<maxlen> 文字のワイド文字を出力できる"
14580 "空きがあることを保証しなければ ならない。"
14581
14582 #. type: Plain text
14583 #: build/C/man3/wprintf.3:109
14584 msgid ""
14585 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
14586 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
14587 "following differences:"
14588 msgstr ""
14589 "これらの関数は B<printf>(3), B<vprintf>(3), B<fprintf>(3), B<vfprintf>(3), "
14590 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
14591
14592 #. type: TP
14593 #: build/C/man3/wprintf.3:109 build/C/man3/wprintf.3:112
14594 #: build/C/man3/wprintf.3:115
14595 #, no-wrap
14596 msgid "B<\\(bu>"
14597 msgstr "B<\\(bu>"
14598
14599 #. type: Plain text
14600 #: build/C/man3/wprintf.3:112
14601 msgid "The I<format> string is a wide-character string."
14602 msgstr "I<format> がワイド文字列で与えられる。"
14603
14604 #. type: Plain text
14605 #: build/C/man3/wprintf.3:115
14606 msgid "The output consists of wide characters, not bytes."
14607 msgstr "出力がバイトではなくワイド文字で構成される。"
14608
14609 #. type: Plain text
14610 #: build/C/man3/wprintf.3:130
14611 msgid ""
14612 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
14613 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
14614 "I<maxlen> argument, but these functions do not return -1 upon buffer "
14615 "overflow on Linux.)"
14616 msgstr ""
14617 "B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
14618 "()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
14619 "I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
14620 "も -1 を返さない)。"
14621
14622 #. type: Plain text
14623 #: build/C/man3/wprintf.3:132
14624 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
14625 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
14626
14627 #. type: Plain text
14628 #: build/C/man3/wprintf.3:146
14629 msgid ""
14630 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
14631 "character by a call to the B<btowc>(3)  function, and the resulting wide "
14632 "character is written.  If an B<l> modifier is present, the I<wint_t> (wide "
14633 "character) argument is written."
14634 msgstr ""
14635 "もし B<l> 修飾子が存在しない場合は I<int> 引き数は B<btowc>(3)  関数によって"
14636 "ワイド文字に変換される。そして結果のワイド文字が出力される。 B<l> 修飾子が存"
14637 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
14638
14639 #. type: Plain text
14640 #: build/C/man3/wprintf.3:185
14641 msgid ""
14642 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
14643 "to be a pointer to an array of character type (pointer to a string) "
14644 "containing a multibyte character sequence beginning in the initial shift "
14645 "state.  Characters from the array are converted to wide characters (each by "
14646 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
14647 "the initial state before the first byte).  The resulting wide characters are "
14648 "written up to (but not including) the terminating null wide character.  If a "
14649 "precision is specified, no more wide characters than the number specified "
14650 "are written.  Note that the precision determines the number of I<wide "
14651 "characters> written, not the number of I<bytes> or I<screen positions>.  The "
14652 "array must contain a terminating null byte, unless a precision is given and "
14653 "it is so small that the number of converted wide characters reaches it "
14654 "before the end of the array is reached.  If an B<l> modifier is present: The "
14655 "I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
14656 "wide characters.  Wide characters from the array are written up to (but not "
14657 "including) a terminating null wide character.  If a precision is specified, "
14658 "no more than the number specified are written.  The array must contain a "
14659 "terminating null wide character, unless a precision is given and it is "
14660 "smaller than or equal to the number of wide characters in the array."
14661 msgstr ""
14662 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
14663 "まるマルチバイト文字列を含んだ char 型の配列へのポインター(文字列へのポイン"
14664 "ター)とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それ"
14665 "ぞれの文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイ"
14666 "ド文字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定"
14667 "された 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込"
14668 "まれる I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定するこ"
14669 "とに注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 "
14670 "精度を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそ"
14671 "れに到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が"
14672 "存在する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインター"
14673 "とみなされる。 配列のワイド文字列は終端のナルワイド文字の手間まで出力され"
14674 "る。 もし精度が指定された場合には指定された精度以上の文字は出力されない。 精"
14675 "度を指定しない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場"
14676 "合にはそれはワイド文字の配列の大きさよりも小さくな ければならない。"
14677
14678 #. type: Plain text
14679 #: build/C/man3/wprintf.3:193
14680 msgid ""
14681 "The functions return the number of wide characters written, excluding the "
14682 "terminating null wide character in case of the functions B<swprintf>()  and "
14683 "B<vswprintf>().  They return -1 when an error occurs."
14684 msgstr ""
14685 "これらの関数は書き込まれたワイド文字の文字数を返す。 B<swprintf>()  と "
14686 "B<vswprintf>()  関数の場合は 終端のナルワイド文字は含まない。エラーが起こった"
14687 "場合は -1 を返す。"
14688
14689 #. type: Plain text
14690 #: build/C/man3/wprintf.3:195
14691 msgid "C99."
14692 msgstr "C99."
14693
14694 #. type: Plain text
14695 #: build/C/man3/wprintf.3:203
14696 msgid ""
14697 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
14698 "the current locale."
14699 msgstr ""
14700 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
14701
14702 #. type: Plain text
14703 #: build/C/man3/wprintf.3:229
14704 msgid ""
14705 "If the I<format> string contains non-ASCII wide characters, the program will "
14706 "only work correctly if the B<LC_CTYPE> category of the current locale at run "
14707 "time is the same as the B<LC_CTYPE> category of the current locale at "
14708 "compile time.  This is because the I<wchar_t> representation is platform- "
14709 "and locale-dependent.  (The glibc represents wide characters using their "
14710 "Unicode (ISO-10646) code point, but other platforms don't do this.  Also, "
14711 "the use of C99 universal character names of the form \\eunnnn does not solve "
14712 "this problem.)  Therefore, in internationalized programs, the I<format> "
14713 "string should consist of ASCII wide characters only, or should be "
14714 "constructed at run time in an internationalized way (e.g., using B<gettext>"
14715 "(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
14716 msgstr ""
14717 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
14718 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
14719 "合にのみプログラムは正常に動作する。これは I<wchar_t> の表現がロケールやプ"
14720 "ラットホームに依存していることに原因がある。 (glibc ではワイド文字として "
14721 "Unicode (ISO-10646) のコードポイントを 使用している。他のプラットホームではそ"
14722 "うではない。同様に ISO C99 の \\eunnnn 形式の汎用文字名称はこの問題を解決しな"
14723 "い。)  このため国際化されたプログラムでは I<format> 文字列を ASCII ワイド 文"
14724 "字のみにするか、実行時に国際化された方法で構成する必要がある (例えば "
14725 "B<gettext>()  と B<iconv>()  や B<mbstowcs>()  を組み合わて使用する)。"
14726
14727 #.  .BR wscanf (3)
14728 #. type: Plain text
14729 #: build/C/man3/wprintf.3:236
14730 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14731 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
14732
14733 #. type: TH
14734 #: build/C/man2/write.2:39
14735 #, no-wrap
14736 msgid "WRITE"
14737 msgstr "WRITE"
14738
14739 #. type: TH
14740 #: build/C/man2/write.2:39
14741 #, no-wrap
14742 msgid "2010-08-29"
14743 msgstr "2010-08-29"
14744
14745 #. type: Plain text
14746 #: build/C/man2/write.2:42
14747 msgid "write - write to a file descriptor"
14748 msgstr "write - ファイル・ディスクリプタ (file descriptor) に書き込む"
14749
14750 #. type: Plain text
14751 #: build/C/man2/write.2:46
14752 msgid ""
14753 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14754 msgstr ""
14755 "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);>"
14756
14757 #. type: Plain text
14758 #: build/C/man2/write.2:54
14759 msgid ""
14760 "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
14761 "the file referred to by the file descriptor I<fd>."
14762 msgstr ""
14763 "B<write>()  は、 I<buf> が指すバッファから、ファイル・ディスクリプタ I<fd> が"
14764 "参照するファイルへ、最大 I<count> バイトを書き込む。"
14765
14766 #. type: Plain text
14767 #: build/C/man2/write.2:68
14768 msgid ""
14769 "The number of bytes written may be less than I<count> if, for example, there "
14770 "is insufficient space on the underlying physical medium, or the "
14771 "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or the "
14772 "call was interrupted by a signal handler after having written less than "
14773 "I<count> bytes.  (See also B<pipe>(7).)"
14774 msgstr ""
14775 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
14776 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
14777 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
14778 "で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
14779 "(7)  も参照のこと。)"
14780
14781 #. type: Plain text
14782 #: build/C/man2/write.2:82
14783 msgid ""
14784 "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
14785 "example, a regular file)  writing takes place at the current file offset, "
14786 "and the file offset is incremented by the number of bytes actually written.  "
14787 "If the file was B<open>(2)ed with B<O_APPEND>, the file offset is first set "
14788 "to the end of the file before writing.  The adjustment of the file offset "
14789 "and the write operation are performed as an atomic step."
14790 msgstr ""
14791 "seek 可能なファイル (つまり B<lseek>(2)  が適用できるファイル、例えば通常の"
14792 "ファイル) では、 書き込みは現在のファイル・オフセットから行われ、 ファイル・"
14793 "オフセットは実際に書き込みが行われたバイト数分 加算される。ファイルが "
14794 "B<O_APPEND> で B<open>(2)  された場合、ファイル・オフセットは書き込み前に "
14795 "ファイルの末尾に設定される。 ファイル・オフセットの調整と書き込み操作はアト"
14796 "ミックな処理として 実行される。"
14797
14798 #. type: Plain text
14799 #: build/C/man2/write.2:89
14800 msgid ""
14801 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
14802 "B<write>()  has returned returns the new data.  Note that not all file "
14803 "systems are POSIX conforming."
14804 msgstr ""
14805 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
14806 "すことを要求している。 全てのファイル・システムが POSIX 準拠ではない点に注意"
14807 "すること。"
14808
14809 #. type: Plain text
14810 #: build/C/man2/write.2:94
14811 msgid ""
14812 "On success, the number of bytes written is returned (zero indicates nothing "
14813 "was written).  On error, -1 is returned, and I<errno> is set appropriately."
14814 msgstr ""
14815 "成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったこ"
14816 "とを示す)。 エラーならば -1 が返され、I<errno> が適切に設定される。"
14817
14818 #. type: Plain text
14819 #: build/C/man2/write.2:107
14820 msgid ""
14821 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
14822 "return a failure status if one of the errors below is detected.  If no "
14823 "errors are detected, 0 will be returned without causing any other effect.  "
14824 "If I<count> is zero and I<fd> refers to a file other than a regular file, "
14825 "the results are not specified."
14826 msgstr ""
14827 "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
14828 "合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
14829 "る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
14830 "I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
14831 "その結果は規定されていない。"
14832
14833 #. type: Plain text
14834 #: build/C/man2/write.2:115
14835 msgid ""
14836 "The file descriptor I<fd> refers to a file other than a socket and has been "
14837 "marked nonblocking (B<O_NONBLOCK>), and the write would block."
14838 msgstr ""
14839 "ファイル・ディスクリプタ I<fd> がソケット以外のファイルを参照していて、 非停"
14840 "止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停"
14841 "止する状況にある。"
14842
14843 #.  Actually EAGAIN on Linux
14844 #. type: Plain text
14845 #: build/C/man2/write.2:126
14846 msgid ""
14847 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
14848 "(B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 allows either "
14849 "error to be returned for this case, and does not require these constants to "
14850 "have the same value, so a portable application should check for both "
14851 "possibilities."
14852 msgstr ""
14853 "ファイル・ディスクリプタ I<fd> がソケットを参照していて、非停止 "
14854 "(nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止"
14855 "する状況にある。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めて"
14856 "おり、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性"
14857 "が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
14858
14859 #. type: Plain text
14860 #: build/C/man2/write.2:130
14861 msgid "I<fd> is not a valid file descriptor or is not open for writing."
14862 msgstr ""
14863 "I<fd> が有効なファイル・ディスクリプタでないか書き込みのためにオープン "
14864 "(open) されていない。"
14865
14866 #. type: TP
14867 #: build/C/man2/write.2:130
14868 #, no-wrap
14869 msgid "B<EDESTADDRREQ>"
14870 msgstr "B<EDESTADDRREQ>"
14871
14872 #. type: Plain text
14873 #: build/C/man2/write.2:135
14874 msgid ""
14875 "I<fd> refers to a datagram socket for which a peer address has not been set "
14876 "using B<connect>(2)."
14877 msgstr ""
14878 "I<fd> が、 B<connect>(2)  を使って通信相手のアドレスが設定されていないデータ"
14879 "グラムソケットを 参照している。"
14880
14881 #. type: Plain text
14882 #: build/C/man2/write.2:144
14883 msgid ""
14884 "An attempt was made to write a file that exceeds the implementation-defined "
14885 "maximum file size or the process's file size limit, or to write at a "
14886 "position past the maximum allowed offset."
14887 msgstr ""
14888 "実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイ"
14889 "ルに書き込もうとした。 または許可されたオフセット値の限界を超えた先の位置に "
14890 "書き込もうとした。"
14891
14892 #. type: Plain text
14893 #: build/C/man2/write.2:148
14894 msgid ""
14895 "The call was interrupted by a signal before any data was written; see "
14896 "B<signal>(7)."
14897 msgstr ""
14898 "何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
14899 "(7)  参照。"
14900
14901 #. type: Plain text
14902 #: build/C/man2/write.2:159
14903 msgid ""
14904 "I<fd> is attached to an object which is unsuitable for writing; or the file "
14905 "was opened with the B<O_DIRECT> flag, and either the address specified in "
14906 "I<buf>, the value specified in I<count>, or the current file offset is not "
14907 "suitably aligned."
14908 msgstr ""
14909 "I<fd> が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが "
14910 "B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレ"
14911 "ス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライン"
14912 "メントが不適切である。"
14913
14914 #. type: Plain text
14915 #: build/C/man2/write.2:162
14916 msgid "A low-level I/O error occurred while modifying the inode."
14917 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
14918
14919 #. type: Plain text
14920 #: build/C/man2/write.2:167
14921 msgid ""
14922 "The device containing the file referred to by I<fd> has no room for the data."
14923 msgstr ""
14924 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
14925
14926 #. type: TP
14927 #: build/C/man2/write.2:167
14928 #, no-wrap
14929 msgid "B<EPIPE>"
14930 msgstr "B<EPIPE>"
14931
14932 #. type: Plain text
14933 #: build/C/man2/write.2:176
14934 msgid ""
14935 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
14936 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
14937 "(Thus, the write return value is seen only if the program catches, blocks or "
14938 "ignores this signal.)"
14939 msgstr ""
14940 "I<fd> がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み"
14941 "込み側) がクローズ (close) されている。 これが発生した場合には、書き込みを行"
14942 "なうプロセスは B<SIGPIPE> シグナル (signal)も受ける。 (したがって、プログラム"
14943 "がこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、"
14944 "write の返り値を参照できる。)"
14945
14946 #. type: Plain text
14947 #: build/C/man2/write.2:179
14948 msgid "Other errors may occur, depending on the object connected to I<fd>."
14949 msgstr ""
14950 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
14951
14952 #. type: Plain text
14953 #: build/C/man2/write.2:188
14954 msgid ""
14955 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
14956 "just before any data is written."
14957 msgstr ""
14958 "SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点"
14959 "で B<EINTR> が返る。"
14960
14961 #. type: Plain text
14962 #: build/C/man2/write.2:197
14963 msgid ""
14964 "A successful return from B<write>()  does not make any guarantee that data "
14965 "has been committed to disk.  In fact, on some buggy implementations, it does "
14966 "not even guarantee that space has successfully been reserved for the data.  "
14967 "The only way to be sure is to call B<fsync>(2)  after you are done writing "
14968 "all your data."
14969 msgstr ""
14970 "B<write>()  が成功して返ってきても、データがディスクに記録されたことを 保証す"
14971 "るものではない。 実際、データのためのスペースが確保されたことすら保証されない"
14972 "という バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを "
14973 "write した後に B<fsync>(2)  を呼び出すことである。"
14974
14975 #. type: Plain text
14976 #: build/C/man2/write.2:205
14977 msgid ""
14978 "If a B<write>()  is interrupted by a signal handler before any bytes are "
14979 "written, then the call fails with the error B<EINTR>; if it is interrupted "
14980 "after at least one byte has been written, the call succeeds, and returns the "
14981 "number of bytes written."
14982 msgstr ""
14983 "B<write>()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた"
14984 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
14985 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
14986
14987 #. type: Plain text
14988 #: build/C/man2/write.2:217
14989 msgid ""
14990 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14991 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14992 msgstr ""
14993 "B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
14994 "B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
14995
14996 #~ msgid ""
14997 #~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
14998 #~ "B<gets>()  obsolescent."
14999 #~ msgstr ""
15000 #~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
15001 #~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
15002
15003 #, fuzzy
15004 #~| msgid "2011-09-28"
15005 #~ msgid "2011-09-08"
15006 #~ msgstr "2011-09-28"
15007
15008 #~ msgid "2010-09-11"
15009 #~ msgstr "2010-09-11"
15010
15011 #~ msgid ""
15012 #~ "This document's use of I<whence> is incorrect English, but maintained for "
15013 #~ "historical reasons."
15014 #~ msgstr ""
15015 #~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
15016 #~ "のまま使われている。"
15017
15018 #~ msgid "2004-06-23"
15019 #~ msgstr "2004-06-23"
15020
15021 #~ msgid "B<EBUSY> (not on Linux)"
15022 #~ msgstr "B<EBUSY> (Linux 以外)"