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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-04-25 05:37+0900\n"
10 "PO-Revision-Date: 2012-04-27 15:27+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/MB_CUR_MAX.3:15
25 #: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
31 #: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
32 #: build/C/man2/_exit.2:29 build/C/man3/atexit.3:31 build/C/man3/clearenv.3:24
33 #: build/C/man3/exit.3:23 build/C/man3/getloadavg.3:32
34 #: build/C/man3/strtod.3:43
40 #: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
41 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:6 build/C/man3/atexit.3:31
42 #: build/C/man3/atof.3:29 build/C/man3/atoi.3:31
43 #: build/C/man3/canonicalize_file_name.3:5 build/C/man3/cfree.3:23
44 #: build/C/man3/clearenv.3:24 build/C/man3/drand48.3:28
45 #: build/C/man3/drand48_r.3:25 build/C/man3/ecvt.3:30 build/C/man3/ecvt_r.3:28
46 #: build/C/man3/exit.3:23 build/C/man3/gcvt.3:28 build/C/man3/getenv.3:31
47 #: build/C/man3/getloadavg.3:32 build/C/man3/getsubopt.3:23
48 #: build/C/man3/malloc.3:28 build/C/man3/mblen.3:14 build/C/man3/mbstowcs.3:14
49 #: build/C/man3/mbtowc.3:14 build/C/man3/mkdtemp.3:24
50 #: build/C/man3/mkstemp.3:33 build/C/man3/mktemp.3:32
51 #: build/C/man3/on_exit.3:29 build/C/man3/putenv.3:34 build/C/man3/qecvt.3:26
52 #: build/C/man3/rand.3:39 build/C/man3/random.3:31 build/C/man3/random_r.3:24
53 #: build/C/man3/rpmatch.3:27 build/C/man3/setenv.3:35 build/C/man3/strtod.3:43
54 #: build/C/man3/strtoimax.3:23 build/C/man3/strtol.3:29
55 #: build/C/man3/strtoul.3:31 build/C/man3/system.3:28
56 #: build/C/man3/wcstombs.3:14 build/C/man3/wctomb.3:14
58 msgid "Linux Programmer's Manual"
59 msgstr "Linux Programmer's Manual"
62 #: build/C/man3/MB_CUR_MAX.3:16 build/C/man3/MB_LEN_MAX.3:16
63 #: build/C/man2/_exit.2:30 build/C/man3/a64l.3:7 build/C/man3/atexit.3:32
64 #: build/C/man3/atof.3:30 build/C/man3/atoi.3:32
65 #: build/C/man3/canonicalize_file_name.3:6 build/C/man3/cfree.3:24
66 #: build/C/man3/clearenv.3:25 build/C/man3/drand48.3:29
67 #: build/C/man3/drand48_r.3:26 build/C/man3/ecvt.3:31 build/C/man3/ecvt_r.3:29
68 #: build/C/man3/exit.3:24 build/C/man3/gcvt.3:29 build/C/man3/getenv.3:32
69 #: build/C/man3/getloadavg.3:33 build/C/man3/getsubopt.3:24
70 #: build/C/man3/malloc.3:29 build/C/man3/mblen.3:15 build/C/man3/mbstowcs.3:15
71 #: build/C/man3/mbtowc.3:15 build/C/man3/mkdtemp.3:25
72 #: build/C/man3/mkstemp.3:34 build/C/man3/mktemp.3:33
73 #: build/C/man3/on_exit.3:30 build/C/man3/putenv.3:35 build/C/man3/qecvt.3:27
74 #: build/C/man3/rand.3:40 build/C/man3/random.3:32 build/C/man3/random_r.3:25
75 #: build/C/man3/rpmatch.3:28 build/C/man3/setenv.3:36 build/C/man3/strtod.3:44
76 #: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:30
77 #: build/C/man3/strtoul.3:32 build/C/man3/system.3:29
78 #: build/C/man3/wcstombs.3:15 build/C/man3/wctomb.3:15
84 #: build/C/man3/MB_CUR_MAX.3:18
86 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
87 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
90 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
91 #: build/C/man2/_exit.2:32 build/C/man3/a64l.3:9 build/C/man3/atexit.3:34
92 #: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
93 #: build/C/man3/canonicalize_file_name.3:8 build/C/man3/cfree.3:26
94 #: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:32
95 #: build/C/man3/drand48_r.3:30 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
96 #: build/C/man3/exit.3:26 build/C/man3/gcvt.3:31 build/C/man3/getenv.3:34
97 #: build/C/man3/getloadavg.3:35 build/C/man3/getsubopt.3:26
98 #: build/C/man3/malloc.3:31 build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:17
99 #: build/C/man3/mbtowc.3:17 build/C/man3/mkdtemp.3:27
100 #: build/C/man3/mkstemp.3:36 build/C/man3/mktemp.3:35
101 #: build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37 build/C/man3/qecvt.3:29
102 #: build/C/man3/rand.3:42 build/C/man3/random.3:34 build/C/man3/random_r.3:28
103 #: build/C/man3/rpmatch.3:30 build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
104 #: build/C/man3/strtoimax.3:26 build/C/man3/strtol.3:32
105 #: build/C/man3/strtoul.3:34 build/C/man3/system.3:31
106 #: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
112 #: build/C/man3/MB_CUR_MAX.3:21 build/C/man3/atexit.3:37
113 #: build/C/man3/atof.3:35 build/C/man3/atoi.3:37 build/C/man3/cfree.3:30
114 #: build/C/man3/clearenv.3:30 build/C/man3/drand48.3:35
115 #: build/C/man3/drand48_r.3:33 build/C/man3/ecvt_r.3:34 build/C/man3/exit.3:29
116 #: build/C/man3/gcvt.3:34 build/C/man3/getenv.3:37 build/C/man3/malloc.3:34
117 #: build/C/man3/mblen.3:20 build/C/man3/mbstowcs.3:20 build/C/man3/mbtowc.3:20
118 #: build/C/man3/mkdtemp.3:30 build/C/man3/mkstemp.3:39
119 #: build/C/man3/mktemp.3:38 build/C/man3/on_exit.3:35 build/C/man3/putenv.3:40
120 #: build/C/man3/rand.3:45 build/C/man3/random.3:37 build/C/man3/random_r.3:31
121 #: build/C/man3/rpmatch.3:33 build/C/man3/setenv.3:41 build/C/man3/strtol.3:35
122 #: build/C/man3/strtoul.3:37 build/C/man3/system.3:34
123 #: build/C/man3/wcstombs.3:20 build/C/man3/wctomb.3:20
125 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
126 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
129 #: build/C/man3/MB_CUR_MAX.3:22 build/C/man3/MB_LEN_MAX.3:22
130 #: build/C/man2/_exit.2:56 build/C/man3/a64l.3:30 build/C/man3/atexit.3:40
131 #: build/C/man3/atof.3:38 build/C/man3/atoi.3:62
132 #: build/C/man3/canonicalize_file_name.3:14 build/C/man3/cfree.3:51
133 #: build/C/man3/clearenv.3:41 build/C/man3/drand48.3:73
134 #: build/C/man3/drand48_r.3:81 build/C/man3/ecvt.3:67 build/C/man3/ecvt_r.3:62
135 #: build/C/man3/exit.3:32 build/C/man3/gcvt.3:62 build/C/man3/getenv.3:40
136 #: build/C/man3/getloadavg.3:42 build/C/man3/getsubopt.3:48
137 #: build/C/man3/malloc.3:40 build/C/man3/mblen.3:23 build/C/man3/mbstowcs.3:23
138 #: build/C/man3/mbtowc.3:23 build/C/man3/mkdtemp.3:53
139 #: build/C/man3/mkstemp.3:74 build/C/man3/mktemp.3:64
140 #: build/C/man3/on_exit.3:46 build/C/man3/putenv.3:52 build/C/man3/qecvt.3:51
141 #: build/C/man3/rand.3:60 build/C/man3/random.3:62 build/C/man3/random_r.3:56
142 #: build/C/man3/rpmatch.3:44 build/C/man3/setenv.3:59 build/C/man3/strtod.3:71
143 #: build/C/man3/strtoimax.3:34 build/C/man3/strtol.3:57
144 #: build/C/man3/strtoul.3:60 build/C/man3/system.3:37
145 #: build/C/man3/wcstombs.3:23 build/C/man3/wctomb.3:23
151 #: build/C/man3/MB_CUR_MAX.3:29
153 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
154 "number of bytes needed to represent a single wide character in the current "
155 "locale. It is locale dependent and therefore not a compile-time constant."
157 "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要"
158 "な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイ"
162 #: build/C/man3/MB_CUR_MAX.3:29 build/C/man3/MB_LEN_MAX.3:27
163 #: build/C/man2/_exit.2:79 build/C/man3/atexit.3:66 build/C/man3/atof.3:53
164 #: build/C/man3/atoi.3:89 build/C/man3/cfree.3:95 build/C/man3/clearenv.3:48
165 #: build/C/man3/drand48_r.3:94 build/C/man3/ecvt.3:97 build/C/man3/ecvt_r.3:84
166 #: build/C/man3/exit.3:80 build/C/man3/gcvt.3:70 build/C/man3/getenv.3:49
167 #: build/C/man3/getloadavg.3:53 build/C/man3/getsubopt.3:108
168 #: build/C/man3/malloc.3:127 build/C/man3/mblen.3:58
169 #: build/C/man3/mbstowcs.3:58 build/C/man3/mbtowc.3:64
170 #: build/C/man3/mkdtemp.3:66 build/C/man3/mkstemp.3:136
171 #: build/C/man3/mktemp.3:75 build/C/man3/on_exit.3:67 build/C/man3/putenv.3:65
172 #: build/C/man3/rand.3:116 build/C/man3/random.3:116
173 #: build/C/man3/random_r.3:98 build/C/man3/rpmatch.3:64
174 #: build/C/man3/setenv.3:84 build/C/man3/strtod.3:126
175 #: build/C/man3/strtoimax.3:44 build/C/man3/strtol.3:99
176 #: build/C/man3/strtoul.3:108 build/C/man3/system.3:52
177 #: build/C/man3/wcstombs.3:59 build/C/man3/wctomb.3:50
183 #: build/C/man3/MB_CUR_MAX.3:33
185 "An integer in the range [1, B<MB_LEN_MAX>]. The value 1 denotes traditional "
186 "8-bit encoded characters."
188 "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-"
189 "bit エンコードされた文字を意味する。"
192 #: build/C/man3/MB_CUR_MAX.3:33 build/C/man3/MB_LEN_MAX.3:29
193 #: build/C/man2/_exit.2:81 build/C/man3/a64l.3:59 build/C/man3/atexit.3:71
194 #: build/C/man3/atof.3:55 build/C/man3/atoi.3:91
195 #: build/C/man3/canonicalize_file_name.3:19 build/C/man3/cfree.3:111
196 #: build/C/man3/clearenv.3:58 build/C/man3/drand48.3:202
197 #: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:108
198 #: build/C/man3/ecvt_r.3:86 build/C/man3/exit.3:84 build/C/man3/gcvt.3:75
199 #: build/C/man3/getenv.3:54 build/C/man3/getloadavg.3:63
200 #: build/C/man3/getsubopt.3:127 build/C/man3/malloc.3:166
201 #: build/C/man3/mblen.3:68 build/C/man3/mbstowcs.3:68 build/C/man3/mbtowc.3:76
202 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:176
203 #: build/C/man3/mktemp.3:88 build/C/man3/on_exit.3:72 build/C/man3/putenv.3:74
204 #: build/C/man3/qecvt.3:70 build/C/man3/rand.3:127 build/C/man3/random.3:135
205 #: build/C/man3/random_r.3:123 build/C/man3/rpmatch.3:85
206 #: build/C/man3/setenv.3:107 build/C/man3/strtod.3:158
207 #: build/C/man3/strtoimax.3:57 build/C/man3/strtol.3:137
208 #: build/C/man3/strtoul.3:140 build/C/man3/system.3:76
209 #: build/C/man3/wcstombs.3:68 build/C/man3/wctomb.3:64
211 msgid "CONFORMING TO"
215 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
216 #: build/C/man3/strtoimax.3:59
217 msgid "C99, POSIX.1-2001."
218 msgstr "C99, POSIX.1-2001."
221 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:42
222 #: build/C/man2/_exit.2:124 build/C/man3/a64l.3:81 build/C/man3/atexit.3:156
223 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:111
224 #: build/C/man3/canonicalize_file_name.3:21 build/C/man3/cfree.3:116
225 #: build/C/man3/clearenv.3:95 build/C/man3/drand48.3:208
226 #: build/C/man3/drand48_r.3:98 build/C/man3/ecvt.3:126
227 #: build/C/man3/ecvt_r.3:93 build/C/man3/exit.3:165 build/C/man3/gcvt.3:84
228 #: build/C/man3/getenv.3:77 build/C/man3/getloadavg.3:67
229 #: build/C/man3/getsubopt.3:224 build/C/man3/malloc.3:257
230 #: build/C/man3/mblen.3:82 build/C/man3/mbstowcs.3:82 build/C/man3/mbtowc.3:91
231 #: build/C/man3/mkdtemp.3:89 build/C/man3/mkstemp.3:211
232 #: build/C/man3/mktemp.3:111 build/C/man3/on_exit.3:79
233 #: build/C/man3/putenv.3:114 build/C/man3/qecvt.3:81 build/C/man3/rand.3:215
234 #: build/C/man3/random.3:163 build/C/man3/random_r.3:127
235 #: build/C/man3/rpmatch.3:127 build/C/man3/setenv.3:130
236 #: build/C/man3/strtod.3:177 build/C/man3/strtoimax.3:59
237 #: build/C/man3/strtol.3:260 build/C/man3/strtoul.3:188
238 #: build/C/man3/system.3:151 build/C/man3/wcstombs.3:82
239 #: build/C/man3/wctomb.3:79
245 #: build/C/man3/MB_CUR_MAX.3:41
247 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
250 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
254 #: build/C/man3/MB_LEN_MAX.3:15
260 #: build/C/man3/MB_LEN_MAX.3:18
261 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
262 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
265 #: build/C/man3/MB_LEN_MAX.3:21
267 msgid "B<#include E<lt>limits.hE<gt>>\n"
268 msgstr "B<#include E<lt>limits.hE<gt>>\n"
271 #: build/C/man3/MB_LEN_MAX.3:27
273 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
274 "represent a single wide character, across all locales."
276 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
280 #: build/C/man3/MB_LEN_MAX.3:29
281 msgid "A constant integer greater than zero."
282 msgstr "0 より大きいの整数型の定数。"
285 #: build/C/man3/MB_LEN_MAX.3:31 build/C/man2/_exit.2:86 build/C/man3/a64l.3:61
286 #: build/C/man3/atexit.3:73 build/C/man3/atoi.3:101 build/C/man3/clearenv.3:72
287 #: build/C/man3/drand48.3:204 build/C/man3/ecvt.3:120 build/C/man3/ecvt_r.3:88
288 #: build/C/man3/exit.3:86 build/C/man3/getenv.3:56
289 #: build/C/man3/getsubopt.3:129 build/C/man3/malloc.3:168
290 #: build/C/man3/mblen.3:70 build/C/man3/mbstowcs.3:70 build/C/man3/mbtowc.3:78
291 #: build/C/man3/mkstemp.3:189 build/C/man3/mktemp.3:92
292 #: build/C/man3/putenv.3:76 build/C/man3/qecvt.3:76 build/C/man3/rand.3:139
293 #: build/C/man3/random.3:137 build/C/man3/setenv.3:109
294 #: build/C/man3/strtod.3:163 build/C/man3/strtol.3:142
295 #: build/C/man3/strtoul.3:145 build/C/man3/system.3:78
296 #: build/C/man3/wcstombs.3:70 build/C/man3/wctomb.3:66
302 #: build/C/man3/MB_LEN_MAX.3:42
304 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated. In "
305 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
307 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
308 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
311 #: build/C/man3/MB_LEN_MAX.3:43
312 msgid "B<MB_CUR_MAX>(3)"
313 msgstr "B<MB_CUR_MAX>(3)"
316 #: build/C/man2/_exit.2:29
322 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:6 build/C/man3/atoi.3:31
323 #: build/C/man3/ecvt.3:30 build/C/man3/gcvt.3:28 build/C/man3/mktemp.3:32
324 #: build/C/man3/qecvt.3:26 build/C/man3/random.3:31 build/C/man3/strtod.3:43
325 #: build/C/man3/strtol.3:29
331 #: build/C/man2/_exit.2:32
332 msgid "_exit, _Exit - terminate the calling process"
333 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
336 #: build/C/man2/_exit.2:34
337 msgid "B<#include E<lt>unistd.hE<gt>>"
338 msgstr "B<#include E<lt>unistd.hE<gt>>"
341 #: build/C/man2/_exit.2:36
342 msgid "B<void _exit(int >I<status>B<);>"
343 msgstr "B<void _exit(int >I<status>B<);>"
346 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:11
347 #: build/C/man3/canonicalize_file_name.3:12 build/C/man3/ecvt.3:35
348 #: build/C/man3/getsubopt.3:28 build/C/man3/qecvt.3:31
349 #: build/C/man3/strtod.3:48
350 msgid "B<#include E<lt>stdlib.hE<gt>>"
351 msgstr "B<#include E<lt>stdlib.hE<gt>>"
354 #: build/C/man2/_exit.2:40
355 msgid "B<void _Exit(int >I<status>B<);>"
356 msgstr "B<void _Exit(int >I<status>B<);>"
359 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:19 build/C/man3/atoi.3:50
360 #: build/C/man3/cfree.3:47 build/C/man3/clearenv.3:37
361 #: build/C/man3/drand48.3:58 build/C/man3/drand48_r.3:66
362 #: build/C/man3/ecvt.3:45 build/C/man3/ecvt_r.3:51 build/C/man3/gcvt.3:41
363 #: build/C/man3/getsubopt.3:35 build/C/man3/mkdtemp.3:37
364 #: build/C/man3/mkstemp.3:52 build/C/man3/mktemp.3:45
365 #: build/C/man3/on_exit.3:42 build/C/man3/putenv.3:48 build/C/man3/qecvt.3:43
366 #: build/C/man3/rand.3:56 build/C/man3/random.3:50 build/C/man3/random_r.3:45
367 #: build/C/man3/rpmatch.3:40 build/C/man3/setenv.3:50 build/C/man3/strtod.3:58
368 #: build/C/man3/strtol.3:45 build/C/man3/strtoul.3:48
370 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
371 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
374 #: build/C/man2/_exit.2:48
379 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:66
381 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
384 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
388 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:69
389 #: build/C/man3/strtol.3:55 build/C/man3/strtoul.3:58
390 msgid "or I<cc\\ -std=c99>"
391 msgstr "または I<cc\\ -std=c99>"
394 #: build/C/man2/_exit.2:67
396 "The function B<_exit>() terminates the calling process \"immediately\". "
397 "Any open file descriptors belonging to the process are closed; any children "
398 "of the process are inherited by process 1, I<init>, and the process's parent "
399 "is sent a B<SIGCHLD> signal."
401 "B<_exit>() は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
402 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
403 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
404 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
405 "して B<SIGCHLD> シグナルが送出される。"
408 #: build/C/man2/_exit.2:74
410 "The value I<status> is returned to the parent process as the process's exit "
411 "status, and can be collected using one of the B<wait>(2) family of calls."
413 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
414 "B<wait>(2) 系関数を利用することによって取得することができる。"
417 #: build/C/man2/_exit.2:79
418 msgid "The function B<_Exit>() is equivalent to B<_exit>()."
419 msgstr "関数 B<_Exit>() は B<_exit>() と等価である。"
422 #: build/C/man2/_exit.2:81
423 msgid "These functions do not return."
424 msgstr "これらの関数は値を返さない。"
427 #: build/C/man2/_exit.2:86
429 "SVr4, POSIX.1-2001, 4.3BSD. The function B<_Exit>() was introduced by C99."
430 msgstr "SVr4, POSIX.1-2001, 4.3BSD. 関数 B<_Exit>() は C99 で導入された。"
433 #: build/C/man2/_exit.2:90
435 "For a discussion on the effects of an exit, the transmission of exit status, "
436 "zombie processes, signals sent, etc., see B<exit>(3)."
438 "exit の役割・終了状態の受渡し・ ゾンビプロセス・シグナル送出などについての議"
439 "論は、 B<exit>(3) を参照すること。"
442 #: build/C/man2/_exit.2:117
444 "The function B<_exit>() is like B<exit>(3), but does not call any functions "
445 "registered with B<atexit>(3) or B<on_exit>(3). Whether it flushes standard "
446 "I/O buffers and removes temporary files created with B<tmpfile>(3) is "
447 "implementation-dependent. On the other hand, B<_exit>() does close open "
448 "file descriptors, and this may cause an unknown delay, waiting for pending "
449 "output to finish. If the delay is undesired, it may be useful to call "
450 "functions like B<tcflush>(3) before calling B<_exit>(). Whether any "
451 "pending I/O is canceled, and which pending I/O may be canceled upon B<_exit>"
452 "(), is implementation-dependent."
454 "関数 B<_exit>() は B<exit>(3) に似ているが、ANSI C の B<atexit>(3) や "
455 "B<on_exit>(3) によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
456 "ファのフラッシュや、 B<tmpfile>(3) で作成されたテンポラリファイルの削除を行"
457 "うかどうかは、実装に依存する。 一方で、 B<_exit>() はオープンされているファ"
458 "イルディスクリプタをクローズしないため、 未決定になっている出力がフラッシュさ"
459 "れるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 "
460 "B<_exit>() の前に B<tcflush>(3) のような関数を呼び出せばよい。 B<_exit>() "
461 "が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 "
462 "またどの I/O がキャンセルされるのかは実装に依存する。"
465 #: build/C/man2/_exit.2:124
467 "In glibc up to version 2.3, the B<_exit>() wrapper function invoked the "
468 "kernel system call of the same name. Since glibc 2.3, the wrapper function "
469 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
472 "バージョン 2.3 より前の glibc では、 B<_exit>() のラッパー関数は同じ名前の"
473 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
474 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2) を起動する。"
477 #: build/C/man2/_exit.2:135
479 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
480 "(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
482 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
483 "(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
486 #: build/C/man3/a64l.3:6
492 #: build/C/man3/a64l.3:9
493 msgid "a64l, l64a - convert between long and base-64"
494 msgstr "a64l, l64a - long と base-64 を変換する"
497 #: build/C/man3/a64l.3:13
498 msgid "B<long a64l(char *>I<str64>B<);>"
499 msgstr "B<long a64l(char *>I<str64>B<);>"
502 #: build/C/man3/a64l.3:15
503 msgid "B<char *l64a(long >I<value>B<);>"
504 msgstr "B<char *l64a(long >I<value>B<);>"
507 #: build/C/man3/a64l.3:23
508 msgid "B<a64l>(), B<l64a>():"
509 msgstr "B<a64l>(), B<l64a>():"
512 #: build/C/man3/a64l.3:28 build/C/man3/ecvt.3:64
514 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
515 "_XOPEN_SOURCE_EXTENDED"
517 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
518 "_XOPEN_SOURCE_EXTENDED"
521 #: build/C/man3/a64l.3:45
523 "These functions provide a conversion between 32-bit long integers and little-"
524 "endian base-64 ASCII strings (of length zero to six). If the string used as "
525 "argument for B<a64l>() has length greater than six, only the first six "
526 "bytes are used. If the type I<long> has more than 32 bits, then B<l64a>() "
527 "uses only the low order 32 bits of I<value>, and B<a64l>() sign-extends its "
530 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
531 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>() の引き数の文字列が 7 文字以上の場"
532 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
533 "B<l64a>() は I<value> の下位 32 ビットのみを使い、 B<a64l>() は 32 ビットの"
534 "結果を符号拡張 (sign-extend) する。"
537 #: build/C/man3/a64l.3:47
538 msgid "The 64 digits in the base-64 system are:"
539 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
542 #: build/C/man3/a64l.3:55
545 "\\&\\(aq.\\(aq\trepresents a 0\n"
546 "\\&\\(aq/\\(aq\trepresents a 1\n"
547 "0-9\trepresent 2-11\n"
548 "A-Z\trepresent 12-37\n"
549 "a-z\trepresent 38-63\n"
551 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
552 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
554 "A-Z\tは 12-37 を表す。\n"
555 "a-z\tは 38-63 を表す。\n"
558 #: build/C/man3/a64l.3:59
559 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
560 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
563 #: build/C/man3/a64l.3:61 build/C/man3/getsubopt.3:129
564 msgid "POSIX.1-2001."
565 msgstr "POSIX.1-2001."
568 #: build/C/man3/a64l.3:66
570 "The value returned by B<l64a>() may be a pointer to a static buffer, "
571 "possibly overwritten by later calls."
573 "B<l64a>() で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
577 #: build/C/man3/a64l.3:75
579 "The behavior of B<l64a>() is undefined when I<value> is negative. If "
580 "I<value> is zero, it returns an empty string."
582 "I<value> が負の場合、 B<l64a>() の動作は定義されていない。 I<value> が 0 の"
586 #: build/C/man3/a64l.3:78
588 "These functions are broken in glibc before 2.2.5 (puts most significant "
591 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
595 #: build/C/man3/a64l.3:81
596 msgid "This is not the encoding used by B<uuencode>(1)."
597 msgstr "これは B<uuencode>(1) で使われるエンコーディングではない。"
601 #: build/C/man3/a64l.3:84
602 msgid "B<uuencode>(1), B<strtoul>(3)"
603 msgstr "B<uuencode>(1), B<strtoul>(3)"
606 #: build/C/man3/atexit.3:31
612 #: build/C/man3/atexit.3:31 build/C/man3/on_exit.3:29
618 #: build/C/man3/atexit.3:34
619 msgid "atexit - register a function to be called at normal process termination"
620 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
623 #: build/C/man3/atexit.3:39
625 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
626 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
629 #: build/C/man3/atexit.3:49
631 "The B<atexit>() function registers the given I<function> to be called at "
632 "normal process termination, either via B<exit>(3) or via return from the "
633 "program's I<main>(). Functions so registered are called in the reverse "
634 "order of their registration; no arguments are passed."
636 "B<atexit>() 関数は、与えられた I<function> を、 B<exit>(3) やプログラムの "
637 "I<main>() 関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
638 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
639 "れる。 登録した関数に引き数は渡されない。"
642 #: build/C/man3/atexit.3:52 build/C/man3/on_exit.3:60
644 "The same function may be registered multiple times: it is called once for "
647 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
651 #: build/C/man3/atexit.3:58
653 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
654 "(32) such functions to be registered. The actual limit supported by an "
655 "implementation can be obtained using B<sysconf>(3)."
657 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
658 "きることを要求している。 その実装でサポートされている実際の上限は B<sysconf>"
662 #: build/C/man3/atexit.3:66 build/C/man3/on_exit.3:67
664 "When a child process is created via B<fork>(2), it inherits copies of its "
665 "parent's registrations. Upon a successful call to one of the B<exec>(3) "
666 "functions, all registrations are removed."
668 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
670 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
674 #: build/C/man3/atexit.3:71
676 "The B<atexit>() function returns the value 0 if successful; otherwise it "
677 "returns a nonzero value."
679 "B<atexit>() 関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
683 #: build/C/man3/atexit.3:73
684 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
685 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
688 #: build/C/man3/atexit.3:80
690 "Functions registered using B<atexit>() (and B<on_exit>(3)) are not called "
691 "if a process terminates abnormally because of the delivery of a signal."
693 "B<atexit>() (と B<on_exit>(3)) を使って登録された関数は、 シグナルの配送に"
694 "よりプロセスが異常終了した場合には呼び出されない。"
697 #: build/C/man3/atexit.3:87
699 "If one of the functions registered functions calls B<_exit>(2), then any "
700 "remaining functions are not invoked, and the other process termination steps "
701 "performed by B<exit>(3) are not performed."
703 "登録された関数の一つが B<_exit>(2) を呼び出した場合、残りの関数はどれも起動"
704 "されず、 B<exit>(3) により実行される他のプロセス終了ステップは実行されない。"
706 #. This can happen on OpenBSD 4.2 for example, and is documented
707 #. as occurring on FreeBSD as well.
708 #. Glibc does "the Right Thing" -- invocation of the remaining
709 #. exit handlers carries on as normal.
711 #: build/C/man3/atexit.3:104
713 "POSIX.1-2001 says that the result of calling B<exit>(3) more than once (i."
714 "e., calling B<exit>(3) within a function registered using B<atexit>()) is "
715 "undefined. On some systems (but not Linux), this can result in an infinite "
716 "recursion; portable programs should not invoke B<exit>(3) inside a function "
717 "registered using B<atexit>()."
719 "POSIX.1-2001 では、 B<atexit>() を使って登録された一つの関数内で、複数回 "
720 "B<exit>(3) を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
721 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
722 "プログラムでは、 B<atexit>() で登録された関数内で B<exit>(3) を起動すべきで"
726 #: build/C/man3/atexit.3:113
728 "The B<atexit>() and B<on_exit>(3) functions register functions on the same "
729 "list: at normal process termination, the registered functions are invoked in "
730 "reverse order of their registration by these two functions."
732 "B<atexit>() と B<on_exit>(3) は、同じリストに対して関数を登録する。 プロセ"
733 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
736 #. In glibc, things seem to be handled okay
738 #: build/C/man3/atexit.3:119
740 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3) is used to "
741 "terminate execution of one of the functions registered B<atexit>()."
743 "POSIX.1-2001 では、 B<atexit>() で登録された関数の実行を終了するために "
744 "B<longjmp>(3) が使用された場合の結果は未定義である。"
747 #: build/C/man3/atexit.3:119
753 #: build/C/man3/atexit.3:126
755 "Since glibc 2.2.3, B<atexit>() (and B<on_exit>(3)) can be used within a "
756 "shared library to establish functions that are called when the shared "
757 "library is unloaded."
759 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
760 "録するために、共有ライブラリの中で B<atexit>() (と B<on_exit>(3)) を使用す"
764 #: build/C/man3/atexit.3:126 build/C/man3/getsubopt.3:136
765 #: build/C/man3/rand.3:158 build/C/man3/rpmatch.3:102
766 #: build/C/man3/strtod.3:172 build/C/man3/strtol.3:179
767 #: build/C/man3/strtoul.3:183
773 #: build/C/man3/atexit.3:131
776 "#include E<lt>stdio.hE<gt>\n"
777 "#include E<lt>stdlib.hE<gt>\n"
778 "#include E<lt>unistd.hE<gt>\n"
780 "#include E<lt>stdio.hE<gt>\n"
781 "#include E<lt>stdlib.hE<gt>\n"
782 "#include E<lt>unistd.hE<gt>\n"
785 #: build/C/man3/atexit.3:137
791 " printf(\"That was all, folks\\en\");\n"
797 " printf(\"That was all, folks\\en\");\n"
801 #: build/C/man3/atexit.3:143
817 #: build/C/man3/atexit.3:146
820 " a = sysconf(_SC_ATEXIT_MAX);\n"
821 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
823 " a = sysconf(_SC_ATEXIT_MAX);\n"
824 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
827 #: build/C/man3/atexit.3:152
830 " i = atexit(bye);\n"
832 " fprintf(stderr, \"cannot set exit function\\en\");\n"
833 " exit(EXIT_FAILURE);\n"
836 " i = atexit(bye);\n"
838 " fprintf(stderr, \"cannot set exit function\\en\");\n"
839 " exit(EXIT_FAILURE);\n"
843 #: build/C/man3/atexit.3:155 build/C/man3/getsubopt.3:223
844 #: build/C/man3/rand.3:213 build/C/man3/strtol.3:259
847 " exit(EXIT_SUCCESS);\n"
850 " exit(EXIT_SUCCESS);\n"
854 #: build/C/man3/atexit.3:159
855 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
856 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
859 #: build/C/man3/atof.3:29
865 #: build/C/man3/atof.3:29
871 #: build/C/man3/atof.3:29 build/C/man3/atoi.3:31
872 #: build/C/man3/canonicalize_file_name.3:5 build/C/man3/drand48_r.3:25
873 #: build/C/man3/ecvt_r.3:28 build/C/man3/getenv.3:31
874 #: build/C/man3/getsubopt.3:23 build/C/man3/malloc.3:28
875 #: build/C/man3/mblen.3:14 build/C/man3/mbstowcs.3:14 build/C/man3/mbtowc.3:14
876 #: build/C/man3/mkdtemp.3:24 build/C/man3/mkstemp.3:33
877 #: build/C/man3/mktemp.3:32 build/C/man3/on_exit.3:29 build/C/man3/putenv.3:34
878 #: build/C/man3/qecvt.3:26 build/C/man3/random.3:31 build/C/man3/random_r.3:24
879 #: build/C/man3/rpmatch.3:27 build/C/man3/setenv.3:35 build/C/man3/strtol.3:29
880 #: build/C/man3/strtoul.3:31 build/C/man3/wcstombs.3:14
881 #: build/C/man3/wctomb.3:14
887 #: build/C/man3/atof.3:32
888 msgid "atof - convert a string to a double"
889 msgstr "atof - 文字列を double 型の数値に変換"
892 #: build/C/man3/atof.3:37
894 msgid "B<double atof(const char *>I<nptr>B<);>\n"
895 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
898 #: build/C/man3/atof.3:45
900 "The B<atof>() function converts the initial portion of the string pointed "
901 "to by I<nptr> to I<double>. The behavior is the same as"
903 "B<atof>() 関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
904 "型の数値に変換する。 この振る舞いは、 B<atof>() 関数がエラーを見つけないこと"
908 #: build/C/man3/atof.3:48
909 msgid "strtod(nptr, (char **) NULL);"
910 msgstr "strtod(nptr, (char **) NULL);"
913 #: build/C/man3/atof.3:53
914 msgid "except that B<atof>() does not detect errors."
918 #: build/C/man3/atof.3:55 build/C/man3/atoi.3:91
919 msgid "The converted value."
923 #: build/C/man3/atof.3:57 build/C/man3/getenv.3:56
924 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
925 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
928 #: build/C/man3/atof.3:62
929 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
930 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
933 #: build/C/man3/atoi.3:31
939 #: build/C/man3/atoi.3:34
940 msgid "atoi, atol, atoll, atoq - convert a string to an integer"
941 msgstr "atoi, atol, atoll, atoq - 文字列を整数型に変換する"
944 #: build/C/man3/atoi.3:39
946 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
947 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
950 #: build/C/man3/atoi.3:41
952 msgid "B<long atol(const char *>I<nptr>B<);>\n"
953 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
956 #: build/C/man3/atoi.3:43
958 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
959 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
962 #: build/C/man3/atoi.3:45
964 msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
965 msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
968 #: build/C/man3/atoi.3:54
973 #: build/C/man3/atoi.3:57
975 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
976 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
978 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
979 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
982 #: build/C/man3/atoi.3:69
984 "The B<atoi>() function converts the initial portion of the string pointed "
985 "to by I<nptr> to I<int>. The behavior is the same as"
987 "B<atoi>() 関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
988 "整数に変換する。 この振る舞いは、 B<atoi>() 関数がエラーを見つけない点以外"
992 #: build/C/man3/atoi.3:72
993 msgid "strtol(nptr, (char **) NULL, 10);"
994 msgstr "strtol(nptr, (char **) NULL, 10);"
997 #: build/C/man3/atoi.3:77
998 msgid "except that B<atoi>() does not detect errors."
1002 #: build/C/man3/atoi.3:89
1004 "The B<atol>() and B<atoll>() functions behave the same as B<atoi>(), "
1005 "except that they convert the initial portion of the string to their return "
1006 "type of I<long> or I<long long>. B<atoq>() is an obsolete name for B<atoll>"
1009 "B<atol>() 関数と B<atoll>() 関数は B<atoi>() と同様の振る舞いをするが、 文"
1010 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。 B<atoq>() "
1011 "は B<atoll>() の古い名前である。"
1014 #: build/C/man3/atoi.3:101
1016 "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 and POSIX.1-1996 include the functions "
1017 "B<atoi>() and B<atol>() only. B<atoq>() is a GNU extension."
1019 "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 と POSIX.1-1996 には B<atoi>() と "
1020 "B<atol>() だけが含まれている。 B<atoq>() は GNU による拡張である。"
1023 #: build/C/man3/atoi.3:111
1025 "The nonstandard B<atoq>() function is not present in libc 4.6.27 or glibc "
1026 "2, but is present in libc5 and libc 4.7 (though only as an inline function "
1027 "in I<E<lt>stdlib.hE<gt>> until libc 5.4.44). The B<atoll>() function is "
1028 "present in glibc 2 since version 2.0.2, but not in libc4 or libc5."
1030 "非標準である B<atoq>() 関数は libc 4.6.27 や glibc 2 には含まれていないが、 "
1031 "libc5 と libc 4.7 には存在している (ただし libc 5.4.44 までは I<E<lt>stdlib."
1032 "hE<gt>> のインライン関数のみである)。 B<atoll>() 関数は glibc 2 のバージョ"
1033 "ン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。"
1036 #: build/C/man3/atoi.3:115
1037 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1038 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1041 #: build/C/man3/canonicalize_file_name.3:5
1043 msgid "CANONICALIZE_FILE_NAME"
1044 msgstr "CANONICALIZE_FILE_NAME"
1047 #: build/C/man3/canonicalize_file_name.3:5
1053 #: build/C/man3/canonicalize_file_name.3:8
1054 msgid "canonicalize_file_name - return the canonicalized filename"
1055 msgstr "canonicalize_file_name - 正規化されたファイル名を返す"
1058 #: build/C/man3/canonicalize_file_name.3:10
1059 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1060 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1063 #: build/C/man3/canonicalize_file_name.3:14
1064 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1065 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1068 #: build/C/man3/canonicalize_file_name.3:19
1070 "The call I<canonicalize_file_name(path)> is equivalent to the call I<realpath"
1073 "I<canonicalize_file_name(path)> は I<realpath(path,\\ NULL)> と等価である。"
1076 #: build/C/man3/canonicalize_file_name.3:21
1077 msgid "The function is a GNU extension."
1078 msgstr "この関数は GNU による拡張である。"
1081 #: build/C/man3/canonicalize_file_name.3:22
1082 msgid "B<realpath>(3)"
1083 msgstr "B<realpath>(3)"
1086 #: build/C/man3/cfree.3:23
1092 #: build/C/man3/cfree.3:23 build/C/man3/drand48.3:28
1093 #: build/C/man3/drand48_r.3:25 build/C/man3/ecvt_r.3:28
1094 #: build/C/man3/putenv.3:34 build/C/man3/rpmatch.3:27
1100 #: build/C/man3/cfree.3:26
1101 msgid "cfree - free allocated memory"
1102 msgstr "cfree - 割り当てられたメモリを解放する"
1105 #: build/C/man3/cfree.3:33
1108 "/* In SunOS 4 */\n"
1109 "B<int cfree(void *>I<ptr>B<);>\n"
1111 "/* SunOS 4 では */\n"
1112 "B<int cfree(void *>I<ptr>B<);>\n"
1115 #: build/C/man3/cfree.3:36
1118 "/* In glibc or FreeBSD libcompat */\n"
1119 "B<void cfree(void *>I<ptr>B<);>\n"
1121 "/* glibc と FreeBSD libcompat では */\n"
1122 "B<void cfree(void *>I<ptr>B<);>\n"
1125 #: build/C/man3/cfree.3:39
1128 "/* In SCO OpenServer */\n"
1129 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1131 "/* SCO OpenServer では */\n"
1132 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1135 #: build/C/man3/cfree.3:42
1138 "/* In Solaris watchmalloc.so.1 */\n"
1139 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1141 "/* Solaris watchmalloc.so.1 では */\n"
1142 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1145 #: build/C/man3/cfree.3:51
1146 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1147 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1150 #: build/C/man3/cfree.3:56
1151 msgid "This function should never be used. Use B<free>(3) instead."
1152 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3) を使うこと。"
1155 #: build/C/man3/cfree.3:56
1158 msgstr "引き数が 1 つの cfree"
1161 #: build/C/man3/cfree.3:62
1163 "In glibc, the function B<cfree>() is a synonym for B<free>(3), \"added for "
1164 "compatibility with SunOS\"."
1166 "glibc では、関数 B<cfree>() は B<free>(3) の別名であり、「SunOS との互換性"
1170 #: build/C/man3/cfree.3:68
1172 "Other systems have other functions with this name. The declaration is "
1173 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1175 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1176 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1179 #: build/C/man3/cfree.3:68
1182 msgstr "引き数が 3 つの cfree"
1185 #: build/C/man3/cfree.3:73
1187 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1188 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1190 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>() が含"
1191 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3) に類似してい"
1195 #: build/C/man3/cfree.3:75
1196 msgid "If you need it while porting something, add"
1197 msgstr "何かを移植する時にこの関数が必要な場合、"
1200 #: build/C/man3/cfree.3:78
1201 msgid "#define cfree(p, n, s) free((p))"
1202 msgstr "#define cfree(p, n, s) free((p))"
1205 #: build/C/man3/cfree.3:81
1206 msgid "to your file."
1207 msgstr "をファイルに追加すること。"
1210 #: build/C/man3/cfree.3:90
1212 "A frequently asked question is \"Can I use B<free>(3) to free memory "
1213 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use B<free>"
1216 "よく尋ねられる質問は 「B<calloc>(3) で割り当てられたメモリを解放するのに "
1217 "B<free>(3) を使うことができるか、 それとも B<cfree>() を使う必要があるか」"
1218 "というものである。 答え: B<free>(3) を使うこと。"
1221 #: build/C/man3/cfree.3:95
1223 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1224 "iBCSe2 standard and simply calls free. The num and size arguments to cfree "
1227 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1228 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1229 "num と size 引き数は使用されない。」"
1232 #: build/C/man3/cfree.3:111
1234 "The SunOS version of B<cfree>() (which is a synonym for B<free>(3)) "
1235 "returns 1 on success and 0 on failure. In case of error, I<errno> is set to "
1236 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1237 "allocated by one of the routines in the B<malloc>(3) family."
1239 "SunOS 版の B<cfree>() (B<free>(3) の別名) は、成功した場合に 1 を返し、失敗"
1240 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1241 "I<ptr> の値が B<malloc>() 系のルーチンの 1 つで以前に割り当てられた ブロック"
1245 #: build/C/man3/cfree.3:116
1247 "The 3-argument version of B<cfree>() as used by SCO conforms to the iBCSe2 "
1248 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1250 "SCO で用いられている引き数が 3 つの B<cfree>() は、iBCSe2 規格: Intel386 "
1251 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1255 #: build/C/man3/cfree.3:117
1256 msgid "B<malloc>(3)"
1257 msgstr "B<malloc>(3)"
1260 #: build/C/man3/clearenv.3:24
1266 #: build/C/man3/clearenv.3:24
1272 #: build/C/man3/clearenv.3:27
1273 msgid "clearenv - clear the environment"
1274 msgstr "clearenv - 環境 (environment) をクリアする"
1277 #: build/C/man3/clearenv.3:32
1279 msgid "B<int clearenv(void);>\n"
1280 msgstr "B<int clearenv(void);>\n"
1283 #: build/C/man3/clearenv.3:41
1284 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1285 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1288 #: build/C/man3/clearenv.3:48
1290 "The B<clearenv>() function clears the environment of all name-value pairs "
1291 "and sets the value of the external variable I<environ> to NULL."
1293 "B<clearenv>() 関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1294 "部変数 I<environ> の値を NULL にする。"
1296 #. Most versions of UNIX return -1 on error, or do not even have errors.
1297 #. Glibc info and the Watcom C library document "a nonzero value".
1299 #: build/C/man3/clearenv.3:55
1301 "The B<clearenv>() function returns zero on success, and a nonzero value on "
1304 "B<clearenv>() 関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1308 #: build/C/man3/clearenv.3:55 build/C/man3/getloadavg.3:61
1309 #: build/C/man3/mkdtemp.3:82 build/C/man3/mkstemp.3:169
1315 #: build/C/man3/clearenv.3:58
1316 msgid "Not in libc4, libc5. In glibc since glibc 2.0."
1317 msgstr "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
1320 #: build/C/man3/clearenv.3:72
1322 "Various UNIX variants (DG/UX, HP-UX, QNX, ...). POSIX.9 (bindings for "
1323 "FORTRAN77). POSIX.1-1996 did not accept B<clearenv>() and B<putenv>(3), "
1324 "but changed its mind and scheduled these functions for some later issue of "
1325 "this standard (cf. B.4.6.1). However, POSIX.1-2001 only adds B<putenv>(3), "
1326 "and rejected B<clearenv>()."
1328 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1329 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>() と B<putenv>(3) は採用さ"
1330 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1331 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) しか追加され"
1332 "ず、 B<clearenv>() の追加は否決された。"
1335 #: build/C/man3/clearenv.3:76
1337 "Used in security-conscious applications. If it is unavailable the assignment"
1339 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1343 #: build/C/man3/clearenv.3:79
1345 msgid " environ = NULL;\n"
1346 msgstr " environ = NULL;\n"
1349 #: build/C/man3/clearenv.3:82
1350 msgid "will probably do."
1351 msgstr "というように変数 environ を設定すればよい。"
1354 #. HP-UX has a ENOMEM error return.
1356 #: build/C/man3/clearenv.3:95
1358 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1359 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>() "
1360 "functions, then B<clearenv>() will return an error and the process "
1361 "environment will remain unchanged."
1363 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が B<putenv>"
1364 "(3), B<getenv>(3), B<clearenv>() 関数以外で変更された場合、 B<clearenv>() "
1365 "はエラーを返し、プロセス環境は変更前のままにされる。"
1368 #: build/C/man3/clearenv.3:100
1369 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1371 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1374 #: build/C/man3/drand48.3:28
1380 #: build/C/man3/drand48.3:32
1382 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1383 "lcong48 - generate uniformly distributed pseudo-random numbers"
1385 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1386 "lcong48 - 一様分布する疑似乱数を生成する関数"
1389 #: build/C/man3/drand48.3:37
1391 msgid "B<double drand48(void);>\n"
1392 msgstr "B<double drand48(void);>\n"
1395 #: build/C/man3/drand48.3:39
1397 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1398 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1401 #: build/C/man3/drand48.3:41
1403 msgid "B<long int lrand48(void);>\n"
1404 msgstr "B<long int lrand48(void);>\n"
1407 #: build/C/man3/drand48.3:43
1409 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1410 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1413 #: build/C/man3/drand48.3:45
1415 msgid "B<long int mrand48(void);>\n"
1416 msgstr "B<long int mrand48(void);>\n"
1419 #: build/C/man3/drand48.3:47
1421 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1422 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1425 #: build/C/man3/drand48.3:49
1427 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1428 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1431 #: build/C/man3/drand48.3:51
1433 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1434 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1437 #: build/C/man3/drand48.3:53
1439 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1440 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1452 #: build/C/man3/drand48.3:72
1453 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1454 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1457 #: build/C/man3/drand48.3:76
1459 "These functions generate pseudo-random numbers using the linear congruential "
1460 "algorithm and 48-bit integer arithmetic."
1462 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1466 #: build/C/man3/drand48.3:84
1468 "The B<drand48>() and B<erand48>() functions return nonnegative double-"
1469 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1471 "関数 B<drand48>() と B<erand48>() は、区間 [0.0, 1.0) で 一様分布する非負の"
1475 #: build/C/man3/drand48.3:91
1477 "The B<lrand48>() and B<nrand48>() functions return nonnegative long "
1478 "integers uniformly distributed between 0 and 2^31."
1480 "関数 B<lrand48>() と B<nrand48>() は 0 と 2^31 の間で一様分布する 非負のロ"
1484 #: build/C/man3/drand48.3:98
1486 "The B<mrand48>() and B<jrand48>() functions return signed long integers "
1487 "uniformly distributed between -2^31 and 2^31."
1489 "関数 B<mrand48>() と B<jrand48>() は -2^31 と 2^31 の間で一様分布する符号付"
1493 #: build/C/man3/drand48.3:117
1495 "The B<srand48>(), B<seed48>() and B<lcong48>() functions are "
1496 "initialization functions, one of which should be called before using "
1497 "B<drand48>(), B<lrand48>() or B<mrand48>(). The functions B<erand48>(), "
1498 "B<nrand48>() and B<jrand48>() do not require an initialization function to "
1501 "関数 B<srand48>(), B<seed48>(), B<lcong48>() は初期化関数 である。 関数 "
1502 "B<drand48>(), B<lrand48>(), B<mrand48>() を 使用する前に、これらの初期化関数"
1503 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>() "
1504 "は初めに 初期化関数を呼ぶことを必要としない。"
1507 #: build/C/man3/drand48.3:120
1509 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1510 "according to the linear congruential formula:"
1512 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1513 "ることで 機能している。生成方法は以下の線形合同の式による。"
1516 #: build/C/man3/drand48.3:124
1518 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1519 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1522 #: build/C/man3/drand48.3:131
1524 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed. "
1525 "Unless B<lcong48>() is called, I<a> and I<c> are given by:"
1527 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1528 "演算が行われている。 B<lcong48>() が呼ばれていない場合、I<a> と I<c> は以下"
1532 #: build/C/man3/drand48.3:136
1535 "B<a = 0x5DEECE66D>\n"
1538 "B<a = 0x5DEECE66D>\n"
1542 #: build/C/man3/drand48.3:152
1544 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1545 "B<lrand48>(), B<nrand48>(), B<mrand48>() or B<jrand48>() is computed by "
1546 "first generating the next 48-bit I<Xi> in the sequence. Then the "
1547 "appropriate number of bits, according to the type of data item to be "
1548 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1549 "the returned value."
1551 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1552 "B<jrand48>() で返される値は次のようにして計算される。 はじめに、次の48ビット"
1553 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1554 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1557 #: build/C/man3/drand48.3:171
1559 "The functions B<drand48>(), B<lrand48>() and B<mrand48>() store the last "
1560 "48-bit I<Xi> generated in an internal buffer. The functions B<erand48>(), "
1561 "B<nrand48>() and B<jrand48>() require the calling program to provide "
1562 "storage for the successive I<Xi> values in the array argument I<xsubi>. The "
1563 "functions are initialized by placing the initial value of I<Xi> into the "
1564 "array before calling the function for the first time."
1566 "関数 B<drand48>(), B<lrand48>(), B<mrand48>() は 最後に生成された48ビットの "
1567 "I<Xi> を内部バッファに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値"
1568 "を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1569 "B<jrand48>() は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1570 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1573 #: build/C/man3/drand48.3:178
1575 "The initializer function B<srand48>() sets the high order 32-bits of I<Xi> "
1576 "to the argument I<seedval>. The low order 16-bits are set to the arbitrary "
1579 "初期化関数 B<srand48>() は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1580 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1583 #: build/C/man3/drand48.3:187
1585 "The initializer function B<seed48>() sets the value of I<Xi> to the 48-bit "
1586 "value specified in the array argument I<seed16v>. The previous value of "
1587 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1588 "returned by B<seed48>()."
1590 "初期化関数 B<seed48>() は、I<Xi> の値を、 配列の形をした引数である "
1591 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1592 "ファにコピーされ、このバッファへのポインタが B<seed48>() によって返される。"
1595 #: build/C/man3/drand48.3:202
1597 "The initialization function B<lcong48>() allows the user to specify initial "
1598 "values for I<Xi>, I<a> and I<c>. Array argument elements I<param[0-2]> "
1599 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>. "
1600 "After B<lcong48>() has been called, a subsequent call to either B<srand48>"
1601 "() or B<seed48>() will restore the standard values of I<a> and I<c>."
1603 "初期化関数 B<lcong48>() は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1604 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1605 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1606 "B<lcong48>() が呼ばれた後で、 B<srand48>() か B<seed48>() を呼ぶと、前述"
1607 "の I<a> と I<c> の 標準値が再び設定される。"
1610 #: build/C/man3/drand48.3:204
1611 msgid "SVr4, POSIX.1-2001."
1612 msgstr "SVr4, POSIX.1-2001."
1615 #: build/C/man3/drand48.3:208
1617 "These functions are declared obsolete by SVID 3, which states that B<rand>"
1618 "(3) should be used instead."
1620 "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では B<rand>(3) "
1621 "が代わりに使用されるべきだと記述されている。"
1624 #: build/C/man3/drand48.3:210
1625 msgid "B<rand>(3), B<random>(3)"
1626 msgstr "B<rand>(3), B<random>(3)"
1629 #: build/C/man3/drand48_r.3:25
1635 #: build/C/man3/drand48_r.3:30
1637 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1638 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1641 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1642 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1646 #: build/C/man3/drand48_r.3:35
1648 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1649 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1652 #: build/C/man3/drand48_r.3:37
1654 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1655 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1658 #: build/C/man3/drand48_r.3:39
1660 msgid "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1661 msgstr "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1664 #: build/C/man3/drand48_r.3:41
1666 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1667 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1670 #: build/C/man3/drand48_r.3:43
1672 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1673 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1676 #: build/C/man3/drand48_r.3:45 build/C/man3/drand48_r.3:51
1678 msgid "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1679 msgstr "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1682 #: build/C/man3/drand48_r.3:47
1684 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1685 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1688 #: build/C/man3/drand48_r.3:49
1690 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1691 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1694 #: build/C/man3/drand48_r.3:53
1696 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1697 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1700 #: build/C/man3/drand48_r.3:55
1702 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1703 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1706 #: build/C/man3/drand48_r.3:57
1708 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1709 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1712 #: build/C/man3/drand48_r.3:59
1714 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1715 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1718 #: build/C/man3/drand48_r.3:61
1720 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1721 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1723 #. .BR drand48_r (),
1724 #. .BR erand48_r (),
1725 #. .BR lrand48_r (),
1726 #. .BR nrand48_r (),
1727 #. .BR mrand48_r (),
1728 #. .BR jrand48_r (),
1729 #. .BR srand48_r (),
1731 #. .BR lcong48_r ():
1733 #: build/C/man3/drand48_r.3:80
1734 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1735 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1738 #: build/C/man3/drand48_r.3:87
1740 "These functions are the reentrant analogs of the functions described in "
1741 "B<drand48>(3). Instead of modifying the global random generator state, they "
1742 "use the supplied data I<buffer>."
1744 "これらの関数は B<drand48>(3) で説明されている関数に類似するリエントラントな"
1745 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1746 "れたデータ I<buffer> を使う。"
1749 #: build/C/man3/drand48_r.3:94
1751 "Before the first use, this struct must be initialized, for example, by "
1752 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1753 "B<seed48_r>(), or B<lcong48_r>()."
1755 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1756 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>() のいずれ"
1760 #: build/C/man3/drand48_r.3:96
1761 msgid "The return value is 0."
1762 msgstr "返り値は 0 である。"
1765 #: build/C/man3/drand48_r.3:98
1766 msgid "These functions are GNU extensions and are not portable."
1767 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1770 #: build/C/man3/drand48_r.3:101 build/C/man3/random_r.3:130
1771 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1772 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1775 #: build/C/man3/ecvt.3:30
1781 #: build/C/man3/ecvt.3:33
1782 msgid "ecvt, fcvt - convert a floating-point number to a string"
1783 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1786 #: build/C/man3/ecvt.3:38
1788 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1789 "B<int *>I<sign>B<);>"
1791 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1792 "B<int *>I<sign>B<);>"
1795 #: build/C/man3/ecvt.3:41
1797 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1798 "B<int *>I<sign>B<);>"
1800 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1801 "B<int *>I<sign>B<);>"
1804 #: build/C/man3/ecvt.3:49
1805 msgid "B<ecvt>(), B<fcvt>():"
1806 msgstr "B<ecvt>(), B<fcvt>():"
1809 #: build/C/man3/ecvt.3:52 build/C/man3/gcvt.3:47 build/C/man3/mktemp.3:51
1811 msgid "Since glibc 2.12:"
1812 msgstr "glibc 2.12 以降:"
1815 #: build/C/man3/ecvt.3:59 build/C/man3/gcvt.3:54
1819 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1820 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1821 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1824 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1825 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1826 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1829 #: build/C/man3/ecvt.3:60 build/C/man3/gcvt.3:55 build/C/man3/mktemp.3:57
1831 msgid "Before glibc 2.12:"
1832 msgstr "glibc 2.12 より前:"
1835 #: build/C/man3/ecvt.3:90
1837 "The B<ecvt>() function converts I<number> to a null-terminated string of "
1838 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
1839 "determined by the precision of a I<double>), and returns a pointer to the "
1840 "string. The high-order digit is nonzero, unless I<number> is zero. The low "
1841 "order digit is rounded. The string itself does not contain a decimal point; "
1842 "however, the position of the decimal point relative to the start of the "
1843 "string is stored in I<*decpt>. A negative value for I<*decpt> means that "
1844 "the decimal point is to the left of the start of the string. If the sign of "
1845 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
1846 "set to 0. If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
1849 "関数 B<ecvt>() は I<number> を NUL 文字で終端された I<ndigits> 文字の文字列"
1850 "へ変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によっ"
1851 "て決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の"
1852 "値となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁"
1853 "は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの"
1854 "小数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文"
1855 "字列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
1856 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
1857 "ら、I<*decpt> が 0 か 1 かは未規定である。"
1860 #: build/C/man3/ecvt.3:97
1862 "The B<fcvt>() function is identical to B<ecvt>(), except that I<ndigits> "
1863 "specifies the number of digits after the decimal point."
1865 "関数 B<fcvt>() は B<ecvt>() と同じ機能を持つが、I<ndigits> は小数点以下の文"
1869 #: build/C/man3/ecvt.3:108
1871 "Both the B<ecvt>() and B<fcvt>() functions return a pointer to a static "
1872 "string containing the ASCII representation of I<number>. The static string "
1873 "is overwritten by each call to B<ecvt>() or B<fcvt>()."
1875 "関数 B<ecvt>() と B<fcvt>() は I<number> の ASCII 表現を含む 静的な領域内の"
1876 "文字列へのポインタを返す。 この文字列は B<ecvt>() や B<fcvt>() の呼び出しの"
1880 #: build/C/man3/ecvt.3:120
1882 "SVr2; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the "
1883 "specifications of B<ecvt>() and B<fcvt>(), recommending the use of "
1884 "B<sprintf>(3) instead (though B<snprintf>(3) may be preferable)."
1886 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
1887 "POSIX.1-2008 では B<ecvt>() と B<fcvt>() の仕様が削除され、代わりに "
1888 "B<sprintf>(3) の使用が推奨されている(しかし B<snprintf>(3) がより適切かもし"
1892 #: build/C/man3/ecvt.3:126
1894 "Linux libc4 and libc5 specified the type of I<ndigits> as I<size_t>. Not "
1895 "all locales use a point as the radix character (\"decimal point\")."
1897 "Linux libc4 と libc5 では I<ndigits> の型は I<size_t> となっていた。 小数点に"
1901 #: build/C/man3/ecvt.3:131
1902 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
1903 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
1906 #: build/C/man3/ecvt_r.3:28
1912 #: build/C/man3/ecvt_r.3:31
1914 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
1916 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
1919 #: build/C/man3/ecvt_r.3:37
1922 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1923 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1925 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1926 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1929 #: build/C/man3/ecvt_r.3:40
1932 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1933 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1935 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1936 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1939 #: build/C/man3/ecvt_r.3:43
1942 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1943 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1945 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1946 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1949 #: build/C/man3/ecvt_r.3:46
1952 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1953 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1955 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1956 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1959 #: build/C/man3/ecvt_r.3:58
1960 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
1961 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
1964 #: build/C/man3/ecvt_r.3:60
1965 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
1966 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
1969 #: build/C/man3/ecvt_r.3:84
1971 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>() and B<qfcvt_r>() are "
1972 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3) and B<qfcvt>(3), "
1973 "respectively, except that they do not return their result in a static "
1974 "buffer, but instead use the supplied I<buf> of size I<len>. See B<ecvt>(3) "
1977 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>() は、それぞれ "
1978 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3) と同じであるが、 静的バッ"
1979 "ファの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 "
1980 "B<ecvt>(3), B<qecvt>(3) を参照のこと。"
1983 #: build/C/man3/ecvt_r.3:86
1984 msgid "These functions return 0 on success, and -1 otherwise."
1985 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
1988 #: build/C/man3/ecvt_r.3:88
1989 msgid "These functions are GNU extensions."
1990 msgstr "これらの関数は GNU による拡張である。"
1993 #: build/C/man3/ecvt_r.3:93 build/C/man3/qecvt.3:81
1994 msgid "These functions are obsolete. Instead, B<sprintf>(3) is recommended."
1995 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3) の使用を推奨する。"
1998 #: build/C/man3/ecvt_r.3:96
1999 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2000 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2003 #: build/C/man3/exit.3:23
2009 #: build/C/man3/exit.3:23 build/C/man3/setenv.3:35
2015 #: build/C/man3/exit.3:26
2016 msgid "exit - cause normal process termination"
2017 msgstr "exit - プロセスの正常終了"
2020 #: build/C/man3/exit.3:31
2022 msgid "B<void exit(int >I<status>B<);>\n"
2023 msgstr "B<void exit(int >I<status>B<);>\n"
2026 #: build/C/man3/exit.3:39
2028 "The B<exit>() function causes normal process termination and the value of "
2029 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2031 "B<exit>() 関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2032 "ロセスへ返す (B<wait>(2) を参照)。"
2035 #: build/C/man3/exit.3:66
2037 "All functions registered with B<atexit>(3) and B<on_exit>(3) are called, "
2038 "in the reverse order of their registration. (It is possible for one of "
2039 "these functions to use B<atexit>(3) or B<on_exit>(3) to register an "
2040 "additional function to be executed during exit processing; the new "
2041 "registration is added to the front of the list of functions that remain to "
2042 "be called.) If one of these functions does not return (e.g., it calls "
2043 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2044 "functions is called, and further exit processing (in particular, flushing of "
2045 "B<stdio>(3) streams) is abandoned. If a function has been registered "
2046 "multiple times using B<atexit>(3) or B<on_exit>(3), then it is called as "
2047 "many times as it was registered."
2049 "B<atexit>(3) や B<on_exit>(3) によって 登録された全ての関数は、それらが登録"
2050 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3) or "
2051 "B<on_exit>(3) を使って exit 処理中に実行される追加の関数を登録することができ"
2052 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2053 "る。) これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2) "
2054 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2055 "出されず、それ以降の exit 処理 (特に B<stdio>(3) ストリームのフラッシュな"
2056 "ど) は中止される。 ある関数が B<atexit>(3) や B<on_exit>(3) を使って複数回"
2057 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2060 #: build/C/man3/exit.3:73
2062 "All open B<stdio>(3) streams are flushed and closed. Files created by "
2063 "B<tmpfile>(3) are removed."
2065 "オープン中の B<stdio>(3) ストリームは全てフラッシュされて、クローズされる。 "
2066 "B<tmpfile>(3) によって作成されたファイルは削除される。"
2069 #: build/C/man3/exit.3:80
2071 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2072 "that may be passed to B<exit>() to indicate successful or unsuccessful "
2073 "termination, respectively."
2075 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2076 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>() として渡すことができ"
2080 #: build/C/man3/exit.3:84
2081 msgid "The B<exit>() function does not return."
2082 msgstr "B<exit>() 関数は返らない。"
2085 #: build/C/man3/exit.3:86
2086 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2087 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2090 #: build/C/man3/exit.3:97
2092 "It is undefined what happens if one of the functions registered using "
2093 "B<atexit>(3) and B<on_exit>(3) calls either B<exit>() or B<longjmp>(3)."
2095 "B<atexit>(3) や B<on_exit>(3) を使って登録された関数の中で B<exit>() か "
2096 "B<longjmp>(3) が呼び出された場合、 何が起こるかは未定義である。"
2099 #: build/C/man3/exit.3:106
2101 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2102 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2103 "-1. In particular, VMS uses a different convention."
2105 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2106 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2110 #: build/C/man3/exit.3:109
2112 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2115 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2119 #: build/C/man3/exit.3:134
2121 "After B<exit>(), the exit status must be transmitted to the parent process. "
2122 "There are three cases. If the parent has set B<SA_NOCLDWAIT>, or has set "
2123 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded. If the "
2124 "parent was waiting on the child it is notified of the exit status. In both "
2125 "cases the exiting process dies immediately. If the parent has not indicated "
2126 "that it is not interested in the exit status, but is not waiting, the "
2127 "exiting process turns into a \"zombie\" process (which is nothing but a "
2128 "container for the single byte representing the exit status) so that the "
2129 "parent can learn the exit status when it later calls one of the B<wait>(2) "
2132 "B<exit>() の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2133 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2134 "た場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータス"
2135 "は破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終"
2136 "了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2137 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2138 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2139 "る) 「ゾンビ」プロセスになる。 これにより、後から B<wait>(2) 関数を呼び出す"
2140 "ことで、 親プロセスは終了ステータスを知ることができる。"
2143 #: build/C/man3/exit.3:144
2145 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2146 "the parent. If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2147 "a B<SIGCHLD> signal is sent."
2149 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2150 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2151 "ルが送られるかどうかは定義されていない。"
2154 #: build/C/man3/exit.3:153
2156 "If the process is a session leader and its controlling terminal is the "
2157 "controlling terminal of the session, then each process in the foreground "
2158 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2159 "the terminal is disassociated from this session, allowing it to be acquired "
2160 "by a new controlling process."
2162 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2163 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2164 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2165 "これにより新しい制御プロセスを取得することができる。"
2168 #: build/C/man3/exit.3:165
2170 "If the exit of the process causes a process group to become orphaned, and if "
2171 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2172 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2173 "process group. See B<setpgid>(2) for an explanation of orphaned process "
2176 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2177 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2178 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2179 "(orphaned) プロセスグループの説明は B<setpgid>(2) を参照。"
2182 #: build/C/man3/exit.3:171
2184 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2187 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2191 #: build/C/man3/gcvt.3:28
2197 #: build/C/man3/gcvt.3:31
2198 msgid "gcvt - convert a floating-point number to a string"
2199 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2202 #: build/C/man3/gcvt.3:36
2204 msgid "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
2205 msgstr "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
2208 #: build/C/man3/gcvt.3:44
2213 #: build/C/man3/gcvt.3:59
2215 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2216 "_XOPEN_SOURCE_EXTENDED"
2218 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2219 "_XOPEN_SOURCE_EXTENDED"
2222 #: build/C/man3/gcvt.3:70
2224 "The B<gcvt>() function converts I<number> to a minimal length null-"
2225 "terminated ASCII string and stores the result in I<buf>. It produces "
2226 "I<ndigit> significant digits in either B<printf>(3) F format or E format."
2228 "関数 B<gcvt>() は、 I<number> を、最短の長さの NULL 終端された ASCII 文字列"
2229 "へ変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3) の F フォーマッ"
2230 "トや E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2233 #: build/C/man3/gcvt.3:75
2235 "The B<gcvt>() function returns the address of the string pointed to by "
2237 msgstr "関数 B<gcvt>() は文字列 I<buf> へのポインタを返す。"
2240 #: build/C/man3/gcvt.3:84
2242 "Marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the specification of "
2243 "B<gcvt>(), recommending the use of B<sprintf>(3) instead (though B<snprintf>"
2244 "(3) may be preferable)."
2246 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2247 "POSIX.1-2008 では、 B<gcvt>() の仕様は削除され、 代わりに B<sprintf>(3) を"
2248 "使用することが推奨されている (B<snprintf>(3) の方が適切かもしれないが)。"
2251 #: build/C/man3/gcvt.3:87
2252 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2253 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2256 #: build/C/man3/getenv.3:31
2262 #: build/C/man3/getenv.3:31
2268 #: build/C/man3/getenv.3:34
2269 msgid "getenv - get an environment variable"
2270 msgstr "getenv - 環境変数を得る"
2273 #: build/C/man3/getenv.3:39
2275 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2276 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2279 #: build/C/man3/getenv.3:49
2281 "The B<getenv>() function searches the environment list to find the "
2282 "environment variable I<name>, and returns a pointer to the corresponding "
2285 "関数 B<getenv>() は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2286 "る I<value> 文字列へのポインタを返す。"
2289 #: build/C/man3/getenv.3:54
2291 "The B<getenv>() function returns a pointer to the value in the environment, "
2292 "or NULL if there is no match."
2294 "関数 B<getenv>() は、環境における値 value へのポインタを返す。 I<name> に"
2295 "マッチする環境変数が存在しないときには NULL を返す。"
2298 #: build/C/man3/getenv.3:58
2299 msgid "The strings in the environment list are of the form I<name=value>."
2300 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
2303 #: build/C/man3/getenv.3:64
2305 "As typically implemented, B<getenv>() returns a pointer to a string within "
2306 "the environment list. The caller must take care not to modify this string, "
2307 "since that would change the environment of the process."
2309 "通常の実装では、 B<getenv>() は環境リスト内の文字列へのポインタを返す。 呼び"
2310 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
2311 "すると、そのプロセスの環境を変化させることになるからである。"
2314 #: build/C/man3/getenv.3:77
2316 "The implementation of B<getenv>() is not required to be reentrant. The "
2317 "string pointed to by the return value of B<getenv>() may be statically "
2318 "allocated, and can be modified by a subsequent call to B<getenv>(), B<putenv>"
2319 "(3), B<setenv>(3), or B<unsetenv>(3)."
2321 "B<getenv>() の実装はリエントラント (再入可能) であることを要求されていな"
2322 "い。 B<getenv>() の返り値により参照される文字列は静的に割り当てられてもよ"
2323 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
2324 "B<unsetenv>(3) の呼び出しにより変更されることがある。"
2327 #: build/C/man3/getenv.3:82
2329 "B<clearenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
2331 "B<clearenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
2334 #: build/C/man3/getloadavg.3:32
2340 #: build/C/man3/getloadavg.3:32
2346 #: build/C/man3/getloadavg.3:35
2347 msgid "getloadavg - get system load averages"
2348 msgstr "getloadavg - get system load averages"
2351 #: build/C/man3/getloadavg.3:39
2354 "B<#define _BSD_SOURCE> /* See feature_test_macros(7) */\n"
2355 "B<#include E<lt>stdlib.hE<gt>>\n"
2357 "B<#define _BSD_SOURCE> /* feature_test_macros(7) 参照 */\n"
2358 "B<#include E<lt>stdlib.hE<gt>>\n"
2361 #: build/C/man3/getloadavg.3:41
2363 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
2364 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
2367 #: build/C/man3/getloadavg.3:53
2369 "The B<getloadavg>() function returns the number of processes in the system "
2370 "run queue averaged over various periods of time. Up to I<nelem> samples are "
2371 "retrieved and assigned to successive elements of I<loadavg>[]. The system "
2372 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
2373 "and 15 minutes, respectively."
2375 "B<getloadavg>() 関数はシステムの実行キューに入っているプロセスの数を、 様々"
2376 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
2377 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
2378 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
2383 #. function appeared in
2386 #: build/C/man3/getloadavg.3:61
2388 "If the load average was unobtainable, -1 is returned; otherwise, the number "
2389 "of samples actually retrieved is returned."
2391 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
2395 #: build/C/man3/getloadavg.3:63
2396 msgid "This function is available in glibc since version 2.2."
2397 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
2399 #. mdoc seems to have a bug - there must be no newline here
2401 #: build/C/man3/getloadavg.3:67
2402 msgid "Not in POSIX.1-2001. Present on the BSDs and Solaris."
2403 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
2406 #: build/C/man3/getloadavg.3:69
2407 msgid "B<uptime>(1), B<proc>(5)"
2408 msgstr "B<uptime>(1), B<proc>(5)"
2411 #: build/C/man3/getsubopt.3:23
2417 #: build/C/man3/getsubopt.3:23 build/C/man3/mkdtemp.3:24
2418 #: build/C/man3/mkstemp.3:33
2424 #: build/C/man3/getsubopt.3:26
2425 msgid "getsubopt - parse suboption arguments from a string"
2426 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
2429 #: build/C/man3/getsubopt.3:31
2431 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
2434 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
2438 #: build/C/man3/getsubopt.3:38
2439 msgid "B<getsubopt>():"
2440 msgstr "B<getsubopt>():"
2443 #: build/C/man3/getsubopt.3:43
2445 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2447 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2450 #: build/C/man3/getsubopt.3:45
2451 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2452 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2455 #: build/C/man3/getsubopt.3:62
2457 "B<getsubopt>() parses the list of comma-separated suboptions provided in "
2458 "I<optionp>. (Such a suboption list is typically produced when B<getopt>(3) "
2459 "is used to parse a command line; see for example the I<-o> option of B<mount>"
2460 "(8).) Each suboption may include an associated value, which is separated "
2461 "from the suboption name by an equal sign. The following is an example of "
2462 "the kind of string that might be passed in I<optionp>:"
2464 "B<getsubopt>() は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
2465 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3) を使ってコ"
2466 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8) の I<-"
2467 "o> オプションを見るとよい。) それぞれのサブオプションには対応する値を指定す"
2468 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
2469 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
2472 #: build/C/man3/getsubopt.3:65
2473 msgid "B<ro,name=xyz>"
2474 msgstr "B<ro,name=xyz>"
2477 #: build/C/man3/getsubopt.3:75
2479 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
2480 "to the tokens that B<getsubopt>() will look for in I<optionp>. The tokens "
2481 "should be distinct, null-terminated strings containing at least one "
2482 "character, with no embedded equal signs or commas."
2484 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
2485 "端される。 B<getsubopt>() はこのトークンを I<optionp> 内で探す。 それぞれの"
2486 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
2487 "要がある。 また、等号とカンマを含んではならない。"
2490 #: build/C/man3/getsubopt.3:96
2492 "Each call to B<getsubopt>() returns information about the next unprocessed "
2493 "suboption in I<optionp>. The first equal sign in a suboption (if any) is "
2494 "interpreted as a separator between the name and the value of that "
2495 "suboption. The value extends to the next comma, or (for the last suboption) "
2496 "to the end of the string. If the name of the suboption matches a known name "
2497 "from I<tokens>, and a value string was found, B<getsubopt>() sets "
2498 "I<*valuep> to the address of that string. The first comma in I<optionp> is "
2499 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
2500 "\" for that suboption."
2502 "B<getsubopt>() は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
2503 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
2504 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
2505 "オプションの場合、文字列の末尾) までが、サブオプションの値となる。 サブオプ"
2506 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
2507 "B<getsubopt>() は I<*valuep> を値を表す文字列のアドレスに設定する。 "
2508 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
2509 "はそのサブオプションの「値の文字列」そのものとなる。"
2512 #: build/C/man3/getsubopt.3:100
2514 "If the suboption is recognized, but no value string was found, I<*valuep> is "
2517 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
2518 "*I<valuep> は NULL に設定される。"
2521 #: build/C/man3/getsubopt.3:108
2523 "When B<getsubopt>() returns, I<optionp> points to the next suboption, or to "
2524 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
2525 "suboption was just processed."
2527 "B<getsubopt>() が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
2528 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
2529 "\\e0\\(aq) を指している。"
2532 #: build/C/man3/getsubopt.3:120
2534 "If the first suboption in I<optionp> is recognized, B<getsubopt>() returns "
2535 "the index of the matching suboption element in I<tokens>. Otherwise, -1 is "
2536 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
2538 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>() は最初のサブ"
2539 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
2540 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
2544 #: build/C/man3/getsubopt.3:127
2546 "Since I<*optionp> is changed, the first suboption before the call to "
2547 "B<getsubopt>() is not (necessarily) the same as the first suboption after "
2550 "I<*optionp> は変更されるので、 B<getsubopt>() を呼び出す前の最初のサブオプ"
2551 "ションは B<getsubopt>() を呼び出し後のサブオプションと必ずしも同じとは限らな"
2555 #: build/C/man3/getsubopt.3:136
2557 "Since B<getsubopt>() overwrites any commas it finds in the string "
2558 "I<*optionp>, that string must be writable; it cannot be a string constant."
2560 "B<getsubopt>() は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
2561 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
2565 #: build/C/man3/getsubopt.3:138
2566 msgid "The following program expects suboptions following a \"-o\" option."
2568 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
2572 #: build/C/man3/getsubopt.3:144
2575 "#define _XOPEN_SOURCE 500\n"
2576 "#include E<lt>stdlib.hE<gt>\n"
2577 "#include E<lt>assert.hE<gt>\n"
2578 "#include E<lt>stdio.hE<gt>\n"
2580 "#define _XOPEN_SOURCE 500\n"
2581 "#include E<lt>stdlib.hE<gt>\n"
2582 "#include E<lt>assert.hE<gt>\n"
2583 "#include E<lt>stdio.hE<gt>\n"
2586 #: build/C/man3/getsubopt.3:161
2589 "int main(int argc, char **argv)\n"
2596 " char *const token[] = {\n"
2597 " [RO_OPT] = \"ro\",\n"
2598 " [RW_OPT] = \"rw\",\n"
2599 " [NAME_OPT] = \"name\",\n"
2606 "int main(int argc, char **argv)\n"
2613 " char *const token[] = {\n"
2614 " [RO_OPT] = \"ro\",\n"
2615 " [RW_OPT] = \"rw\",\n"
2616 " [NAME_OPT] = \"name\",\n"
2624 #: build/C/man3/getsubopt.3:166
2627 " int readonly = 0;\n"
2628 " int readwrite = 0;\n"
2629 " char *name = NULL;\n"
2630 " int errfnd = 0;\n"
2632 " int readonly = 0;\n"
2633 " int readwrite = 0;\n"
2634 " char *name = NULL;\n"
2635 " int errfnd = 0;\n"
2638 #: build/C/man3/getsubopt.3:172
2641 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2643 " case \\(aqo\\(aq:\n"
2644 " subopts = optarg;\n"
2645 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2647 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2649 " case \\(aqo\\(aq:\n"
2650 " subopts = optarg;\n"
2651 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2654 #: build/C/man3/getsubopt.3:177
2657 " switch (getsubopt(&subopts, token, &value)) {\n"
2662 " switch (getsubopt(&subopts, token, &value)) {\n"
2668 #: build/C/man3/getsubopt.3:181
2680 #: build/C/man3/getsubopt.3:189
2684 " if (value == NULL) {\n"
2685 " fprintf(stderr, \"Missing value for \"\n"
2686 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
2692 " if (value == NULL) {\n"
2693 " fprintf(stderr, \"Missing value for \"\n"
2694 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
2700 #: build/C/man3/getsubopt.3:192
2710 #: build/C/man3/getsubopt.3:206
2714 " fprintf(stderr, \"No match found \"\n"
2715 " \"for token: /%s/\\en\", value);\n"
2720 " if (readwrite && readonly) {\n"
2721 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
2722 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
2728 " fprintf(stderr, \"No match found \"\n"
2729 " \"for token: /%s/\\en\", value);\n"
2734 " if (readwrite && readonly) {\n"
2735 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
2736 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
2742 #: build/C/man3/getsubopt.3:211
2756 #: build/C/man3/getsubopt.3:218
2759 " if (errfnd || argc == 1) {\n"
2760 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
2761 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
2762 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
2763 " exit(EXIT_FAILURE);\n"
2766 " if (errfnd || argc == 1) {\n"
2767 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
2768 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
2769 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
2770 " exit(EXIT_FAILURE);\n"
2774 #: build/C/man3/getsubopt.3:220
2776 msgid " /* Remainder of program... */\n"
2777 msgstr " /* Remainder of program... */\n"
2780 #: build/C/man3/getsubopt.3:225
2781 msgid "B<getopt>(3)"
2782 msgstr "B<getopt>(3)"
2785 #: build/C/man3/malloc.3:28
2791 #: build/C/man3/malloc.3:28
2797 #: build/C/man3/malloc.3:31
2798 msgid "malloc, free, calloc, realloc - Allocate and free dynamic memory"
2799 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
2802 #: build/C/man3/malloc.3:39
2805 "B<void *malloc(size_t >I<size>B<);>\n"
2806 "B<void free(void >I<*ptr>B<);>\n"
2807 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
2808 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
2810 "B<void *malloc(size_t >I<size>B<);>\n"
2811 "B<void free(void >I<*ptr>B<);>\n"
2812 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
2813 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
2817 #: build/C/man3/malloc.3:56
2819 "The B<malloc>() function allocates I<size> bytes and returns a pointer to "
2820 "the allocated memory. I<The memory is not initialized>. If I<size> is 0, "
2821 "then B<malloc>() returns either NULL, or a unique pointer value that can "
2822 "later be successfully passed to B<free>()."
2824 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
2825 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
2826 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
2830 #: build/C/man3/malloc.3:72
2832 "The B<free>() function frees the memory space pointed to by I<ptr>, which "
2833 "must have been returned by a previous call to B<malloc>(), B<calloc>() or "
2834 "B<realloc>(). Otherwise, or if I<free(ptr)> has already been called before, "
2835 "undefined behavior occurs. If I<ptr> is NULL, no operation is performed."
2837 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタは、\n"
2838 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した値で\n"
2839 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実行\n"
2840 "されていたりした場合の動作は定義されていない。\n"
2841 "I<ptr> が NULL の場合には、何の動作も行われない。"
2845 #: build/C/man3/malloc.3:91
2847 "The B<calloc>() function allocates memory for an array of I<nmemb> elements "
2848 "of I<size> bytes each and returns a pointer to the allocated memory. The "
2849 "memory is set to zero. If I<nmemb> or I<size> is 0, then B<calloc>() "
2850 "returns either NULL, or a unique pointer value that can later be "
2851 "successfully passed to B<free>()."
2853 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
2854 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ\n"
2855 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
2856 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
2860 #: build/C/man3/malloc.3:127
2862 "The B<realloc>() function changes the size of the memory block pointed to "
2863 "by I<ptr> to I<size> bytes. The contents will be unchanged in the range "
2864 "from the start of the region up to the minimum of the old and new sizes. If "
2865 "the new size is larger than the old size, the added memory will I<not> be "
2866 "initialized. If I<ptr> is NULL, then the call is equivalent to I<malloc"
2867 "(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> "
2868 "is not NULL, then the call is equivalent to I<free(ptr)>. Unless I<ptr> is "
2869 "NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>"
2870 "() or B<realloc>(). If the area pointed to was moved, a I<free(ptr)> is "
2873 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイト\n"
2874 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
2875 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
2877 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
2878 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
2879 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), B<calloc>(),\n"
2880 "B<realloc>() のいずれかが返した値でなければならない。\n"
2881 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
2884 #: build/C/man3/malloc.3:147
2886 "The B<malloc>() and B<calloc>() functions return a pointer to the "
2887 "allocated memory that is suitably aligned for any kind of variable. On "
2888 "error, these functions return NULL. NULL may also be returned by a "
2889 "successful call to B<malloc>() with a I<size> of zero, or by a successful "
2890 "call to B<calloc>() with I<nmemb> or I<size> equal to zero."
2892 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。\n"
2893 "割り当てられたメモリは、あらゆる種類の変数に対応できるようにアラインメントされる。\n"
2894 "エラーの場合、これらの関数は NULL を返す。\n"
2895 "I<size> が 0 で呼び出した B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した\n"
2896 "B<calloc>() が成功した場合にも NULL が返される。"
2899 #: build/C/man3/malloc.3:151
2900 msgid "The B<free>() function returns no value."
2901 msgstr "B<free>() 関数は値を返さない。"
2904 #: build/C/man3/malloc.3:166
2906 "The B<realloc>() function returns a pointer to the newly allocated memory, "
2907 "which is suitably aligned for any kind of variable and may be different from "
2908 "I<ptr>, or NULL if the request fails. If I<size> was equal to 0, either "
2909 "NULL or a pointer suitable to be passed to B<free>() is returned. If "
2910 "B<realloc>() fails the original block is left untouched; it is not freed or "
2913 "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。\n"
2914 "これはあらゆる種類の変数に対応できるようにアラインメントされており、\n"
2915 "I<ptr> とは異なることもある。割り当て要求に失敗した場合は NULL が返る。\n"
2916 "I<size> が 0 の場合には、NULL もしくは B<free>() に渡すことができるポインタが返る。\n"
2917 "B<realloc>() が失敗した場合には、元のブロックは変更されない。\n"
2918 "つまり、解放されたり移動されたりはしない。"
2921 #: build/C/man3/malloc.3:168
2926 #: build/C/man3/malloc.3:184
2928 "By default, Linux follows an optimistic memory allocation strategy. This "
2929 "means that when B<malloc>() returns non-NULL there is no guarantee that the "
2930 "memory really is available. In case it turns out that the system is out of "
2931 "memory, one or more processes will be killed by the OOM killer. For more "
2932 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
2933 "proc/sys/vm/oom_adj> in B<proc>(5), and the kernel source file "
2934 "I<Documentation/vm/overcommit-accounting>."
2936 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
2937 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であること\n"
2938 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
2939 "killer) によって一つまたは複数のプロセスが削除される。\n"
2940 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
2941 "I<proc/sys/vm/oom_adj>、およびカーネルのソースファイルの\n"
2942 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
2945 #: build/C/man3/malloc.3:205
2947 "Normally, B<malloc>() allocates memory from the heap, and adjusts the size "
2948 "of the heap as required, using B<sbrk>(2). When allocating blocks of memory "
2949 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>() implementation "
2950 "allocates the memory as a private anonymous mapping using B<mmap>(2). "
2951 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using B<mallopt>"
2952 "(3). Allocations performed using B<mmap>(2) are unaffected by the "
2953 "B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
2955 "通常、 B<malloc>() は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
2956 "ズを B<sbrk>(2) を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
2957 "リブロックを割り当てる場合、 glibc の B<malloc>() 実装は B<mmap>(2) を使っ"
2958 "てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
2959 "る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3) を使っ"
2960 "て調整できる。 B<mmap>(2) を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
2961 "ソース上限の影響を受けない (B<getrlimit>(2) 参照)。"
2964 #: build/C/man3/malloc.3:223
2966 "To avoid corruption in multithreaded applications, mutexes are used "
2967 "internally to protect the memory-management data structures employed by "
2968 "these functions. In a multithreaded application in which threads "
2969 "simultaneously allocate and free memory, there could be contention for these "
2970 "mutexes. To scalably handle memory allocation in multithreaded "
2971 "applications, glibc creates additional I<memory allocation arenas> if mutex "
2972 "contention is detected. Each arena is a large region of memory that is "
2973 "internally allocated by the system (using B<brk>(2) or B<mmap>(2)), and "
2974 "managed with its own mutexes."
2976 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutexを\n"
2977 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
2978 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリケー\n"
2979 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーション\n"
2980 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex の\n"
2981 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
2982 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
2983 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
2986 #: build/C/man3/malloc.3:241
2988 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>() to "
2989 "set I<errno> to B<ENOMEM> upon failure. Glibc assumes that this is done "
2990 "(and the glibc versions of these routines do this); if you use a private "
2991 "malloc implementation that does not set I<errno>, then certain library "
2992 "routines may fail without having a reason in I<errno>."
2994 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
2995 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
2996 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
2997 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
2998 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
2999 "いライブラリルーチンがあるかもしれない。"
3002 #: build/C/man3/malloc.3:250
3004 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>() are almost "
3005 "always related to heap corruption, such as overflowing an allocated chunk or "
3006 "freeing the same pointer twice."
3008 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>() における事故は、 ほとんど"
3009 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3010 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3013 #: build/C/man3/malloc.3:257
3015 "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x) include a "
3016 "B<malloc>() implementation which is tunable via environment variables. For "
3017 "details, see B<mallopt>(3)."
3019 "Linux libc の新しいバージョン (5.4.23 より後) と glibc (2.x) には、\n"
3020 "環境変数で動作を調整できる B<malloc>() 実装が含まれている。\n"
3021 "詳細は B<mallopt>(3) を参照のこと。"
3023 #. http://g.oswego.edu/dl/html/malloc.html
3024 #. A Memory Allocator - by Doug Lea
3025 #. http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html
3026 #. Linux Heap, Contention in free() - David Boreham
3027 #. http://www.citi.umich.edu/projects/linux-scalability/reports/malloc.html
3028 #. malloc() Performance in a Multithreaded Linux Environment -
3029 #. Check Lever, David Boreham
3031 #: build/C/man3/malloc.3:276
3033 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_trim>"
3034 "(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mtrace>(3), B<posix_memalign>"
3037 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3),\n"
3038 "B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mtrace>(3),\n"
3039 "B<posix_memalign>(3)"
3042 #: build/C/man3/mblen.3:14
3048 #: build/C/man3/mblen.3:14 build/C/man3/wctomb.3:14
3054 #: build/C/man3/mblen.3:17
3055 msgid "mblen - determine number of bytes in next multibyte character"
3056 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3059 #: build/C/man3/mblen.3:22
3061 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3062 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3065 #: build/C/man3/mblen.3:36
3067 "If I<s> is not a NULL pointer, the B<mblen>() function inspects at most "
3068 "I<n> bytes of the multibyte string starting at I<s> and extracts the next "
3069 "complete multibyte character. It uses a static anonymous shift state only "
3070 "known to the B<mblen>() function. If the multibyte character is not the "
3071 "null wide character, it returns the number of bytes that were consumed from "
3072 "I<s>. If the multibyte character is the null wide character, it returns 0."
3074 "I<s> が NULL ポインターでなければ、 B<mblen>() 関数は I<s> から始まる最大 "
3075 "I<n> バイトのマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り"
3076 "出す。これには B<mblen>() 関数のみが使用する静的で名前のないシフト状態が使用"
3077 "される。 マルチバイト文字がナルワイド文字でなければ I<s> から消費される バイ"
3078 "ト数を返す。マルチバイト文字がナルワイド文字ならば 0 を返す。"
3081 #: build/C/man3/mblen.3:44
3083 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3084 "character, B<mblen>() returns -1. This can happen even if I<n> is greater "
3085 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3088 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3089 "B<mblen>() は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3090 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3093 #: build/C/man3/mblen.3:49
3095 "If the multibyte string starting at I<s> contains an invalid multibyte "
3096 "sequence before the next complete character, B<mblen>() also returns -1."
3098 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3099 "を含んでいる場合にも、 B<mblen>() は -1 を返す。"
3101 #. The Dinkumware doc and the Single UNIX specification say this, but
3102 #. glibc doesn't implement this.
3104 #: build/C/man3/mblen.3:58
3106 "If I<s> is a NULL pointer, the B<mblen>() function resets the shift state, "
3107 "only known to this function, to the initial state, and returns nonzero if "
3108 "the encoding has nontrivial shift state, or zero if the encoding is "
3111 "I<s> が NULL ポインターならば、 B<mblen>() 関数はこの関数のみが 使用するシフ"
3112 "ト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、"
3113 "文字符号がシフト状態を持たない場合にはゼロを返す。"
3116 #: build/C/man3/mblen.3:68
3118 "The B<mblen>() function returns the number of bytes parsed from the "
3119 "multibyte sequence starting at I<s>, if a non-null wide character was "
3120 "recognized. It returns 0, if a null wide character was recognized. It "
3121 "returns -1, if an invalid multibyte sequence was encountered or if it "
3122 "couldn't parse a complete multibyte character."
3124 "B<mblen>() 関数は I<s> から始まるマルチバイト列を検査して ナルワイド文字以外"
3125 "を確認した場合にはそのバイト数を返す。 ナルワイド文字を確認した場合にはゼロを"
3126 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3130 #: build/C/man3/mblen.3:70 build/C/man3/mbstowcs.3:70 build/C/man3/mbtowc.3:78
3131 #: build/C/man3/wcstombs.3:70 build/C/man3/wctomb.3:66
3136 #: build/C/man3/mblen.3:77
3138 "The behavior of B<mblen>() depends on the B<LC_CTYPE> category of the "
3141 "B<mblen>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3144 #: build/C/man3/mblen.3:82
3146 "The function B<mbrlen>(3) provides a better interface to the same "
3148 msgstr "B<mbrlen>(3) 関数は同じ機能のより良いインタフェースを提供する。"
3151 #: build/C/man3/mblen.3:83
3152 msgid "B<mbrlen>(3)"
3153 msgstr "B<mbrlen>(3)"
3156 #: build/C/man3/mbstowcs.3:14
3162 #: build/C/man3/mbstowcs.3:14 build/C/man3/mbtowc.3:14
3168 #: build/C/man3/mbstowcs.3:17
3169 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3170 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3173 #: build/C/man3/mbstowcs.3:22
3175 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3176 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3179 #: build/C/man3/mbstowcs.3:33
3181 "If I<dest> is not a NULL pointer, the B<mbstowcs>() function converts the "
3182 "multibyte string I<src> to a wide-character string starting at I<dest>. At "
3183 "most I<n> wide characters are written to I<dest>. The conversion starts in "
3184 "the initial state. The conversion can stop for three reasons:"
3186 "I<dest> が NULL ポインターでなければ B<mbstowcs>() 関数は マルチバイト文字"
3187 "列 I<*src> を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で "
3188 "I<n> 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つの"
3192 #: build/C/man3/mbstowcs.3:33
3198 #: build/C/man3/mbstowcs.3:38
3200 "An invalid multibyte sequence has been encountered. In this case I<"
3201 "(size_t)\\ -1> is returned."
3202 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3205 #: build/C/man3/mbstowcs.3:38
3211 #: build/C/man3/mbstowcs.3:43
3213 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>. In "
3214 "this case the number of wide characters written to I<dest> is returned, but "
3215 "the shift state at this point is lost."
3217 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
3218 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
3219 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
3223 #: build/C/man3/mbstowcs.3:43
3229 #: build/C/man3/mbstowcs.3:48
3231 "The multibyte string has been completely converted, including the "
3232 "terminating null wide character (\\(aq\\e0\\(aq). In this case the number "
3233 "of wide characters written to I<dest>, excluding the terminating null wide "
3234 "character, is returned."
3236 "マルチバイト文字列が終端の NULL ワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に "
3237 "変換された場合。この場合は終端の NULL ワイド文字を除いて I<dest> に書き込まれ"
3241 #: build/C/man3/mbstowcs.3:51
3243 "The programmer must ensure that there is room for at least I<n> wide "
3244 "characters at I<dest>."
3246 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
3247 "があることを保証しなければならない。"
3250 #: build/C/man3/mbstowcs.3:55
3252 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
3253 "except that the converted wide characters are not written out to memory, and "
3254 "that no length limit exists."
3256 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
3257 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
3260 #: build/C/man3/mbstowcs.3:58
3262 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
3263 "greater or equal to I<mbstowcs(NULL,src,0)+1>."
3265 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
3266 "src,0)+1> 以上であることを保証すべきである。"
3269 #: build/C/man3/mbstowcs.3:68
3271 "The B<mbstowcs>() function returns the number of wide characters that make "
3272 "up the converted part of the wide-character string, not including the "
3273 "terminating null wide character. If an invalid multibyte sequence was "
3274 "encountered, I<(size_t)\\ -1> is returned."
3276 "B<mbstowcs>() 関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
3277 "ナルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には I<"
3278 "(size_t)\\ -1> を返す。"
3281 #: build/C/man3/mbstowcs.3:77
3283 "The behavior of B<mbstowcs>() depends on the B<LC_CTYPE> category of the "
3286 "B<mbstowcs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3289 #: build/C/man3/mbstowcs.3:82
3291 "The function B<mbsrtowcs>(3) provides a better interface to the same "
3293 msgstr "B<mbsrtowcs>(3) 関数は同じ機能のより良いインターフェースを提供する。"
3296 #: build/C/man3/mbstowcs.3:84
3297 msgid "B<mbsrtowcs>(3), B<wcstombs(3)>"
3298 msgstr "B<mbsrtowcs>(3), B<wcstombs(3)>"
3301 #: build/C/man3/mbtowc.3:14
3307 #: build/C/man3/mbtowc.3:17
3308 msgid "mbtowc - convert a multibyte sequence to a wide character"
3309 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
3312 #: build/C/man3/mbtowc.3:22
3314 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
3315 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
3318 #: build/C/man3/mbtowc.3:37
3320 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
3321 "NULL. In this case, the B<mbtowc>() function inspects at most I<n> bytes "
3322 "of the multibyte string starting at I<s>, extracts the next complete "
3323 "multibyte character, converts it to a wide character and stores it at "
3324 "I<*pwc>. It updates an internal shift state only known to the mbtowc "
3325 "function. If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
3326 "returns the number of bytes that were consumed from I<s>, otherwise it "
3329 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
3330 "の場合は B<mbtowc>() 関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
3331 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
3332 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
3333 "る。I<s> が NULL バイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消"
3334 "費するバイト数を返す。 I<s> が NULL バイトを指している場合には 0 を返す。"
3337 #: build/C/man3/mbtowc.3:44
3339 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3340 "character, or if they contain an invalid multibyte sequence, B<mbtowc>() "
3341 "returns -1. This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
3342 "multibyte string contains redundant shift sequences."
3344 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
3345 "なマルチバイト列を含んでいる場合には B<mbtowc>() は -1 を返す。マルチバイト"
3346 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
3347 "場合もこのようなことが 起こりえる。"
3350 #: build/C/man3/mbtowc.3:51
3352 "A different case is when I<s> is not NULL but I<pwc> is NULL. In this case "
3353 "the B<mbtowc>() function behaves as above, except that it does not store "
3354 "the converted wide character in memory."
3356 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>() 関数は 上記と同様に"
3357 "動作するが、変換したワイド文字はメモリには書き込まれない。"
3359 #. The Dinkumware doc and the Single UNIX specification say this, but
3360 #. glibc doesn't implement this.
3362 #: build/C/man3/mbtowc.3:64
3364 "A third case is when I<s> is NULL. In this case, I<pwc> and I<n> are "
3365 "ignored. The B<mbtowc>() function resets the shift state, only known to "
3366 "this function, to the initial state, and returns nonzero if the encoding has "
3367 "nontrivial shift state, or zero if the encoding is stateless."
3369 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
3370 "B<mbtowc>() 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
3371 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
3375 #: build/C/man3/mbtowc.3:70
3377 "If I<s> is not NULL, the B<mbtowc>() function returns the number of "
3378 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
3381 "I<s> が NULL でなければ B<mbtowc>() 関数は I<s> から消費した バイト数を、"
3382 "I<s> がナル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
3385 #: build/C/man3/mbtowc.3:76
3387 "If I<s> is NULL, the B<mbtowc>() function returns nonzero if the encoding "
3388 "has nontrivial shift state, or zero if the encoding is stateless."
3390 "I<s> が NULL ならば B<mbtowc>() 関数は文字符号がシフト状態に依存 していれば"
3391 "ゼロ以外を、状態によらなければゼロを返す。"
3394 #: build/C/man3/mbtowc.3:85
3396 "The behavior of B<mbtowc>() depends on the B<LC_CTYPE> category of the "
3399 "B<mbtowc>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3402 #: build/C/man3/mbtowc.3:91
3404 "This function is not multithread safe. The function B<mbrtowc>(3) provides "
3405 "a better interface to the same functionality."
3407 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3) 関数は 同じ機能のよ"
3411 #: build/C/man3/mbtowc.3:94
3412 msgid "B<MB_CUR_MAX>(3), B<mbrtowc>(3), B<mbstowcs>(3)"
3413 msgstr "B<MB_CUR_MAX>(3), B<mbrtowc>(3), B<mbstowcs>(3)"
3416 #: build/C/man3/mkdtemp.3:24
3422 #: build/C/man3/mkdtemp.3:27
3423 msgid "mkdtemp - create a unique temporary directory"
3424 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
3427 #: build/C/man3/mkdtemp.3:32
3429 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
3430 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
3433 #: build/C/man3/mkdtemp.3:40
3434 msgid "B<mkdtemp>():"
3435 msgstr "B<mkdtemp>():"
3438 #: build/C/man3/mkdtemp.3:45
3440 msgstr "_BSD_SOURCE"
3443 #: build/C/man3/mkdtemp.3:47
3444 msgid "|| /* Since glibc 2.10: */"
3445 msgstr "|| /* Since glibc 2.10: */"
3448 #: build/C/man3/mkdtemp.3:49
3449 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
3450 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
3453 #: build/C/man3/mkdtemp.3:66
3455 "The B<mkdtemp>() function generates a uniquely named temporary directory "
3456 "from I<template>. The last six characters of I<template> must be XXXXXX and "
3457 "these are replaced with a string that makes the directory name unique. The "
3458 "directory is then created with permissions 0700. Since it will be modified, "
3459 "I<template> must not be a string constant, but should be declared as a "
3462 "B<mkdtemp>() 関数は、他と重ならない名前の一時的なディレクトリを I<template> "
3463 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
3464 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
3465 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
3466 "字列定数にしてはならず、文字配列にすべきである。"
3469 #: build/C/man3/mkdtemp.3:73
3471 "The B<mkdtemp>() function returns a pointer to the modified template string "
3472 "on success, and NULL on failure, in which case I<errno> is set appropriately."
3474 "成功した場合、 B<mkdtemp>() 関数は 変更された template 文字列へのポインタを"
3475 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
3478 #: build/C/man3/mkdtemp.3:73 build/C/man3/mkstemp.3:142
3479 #: build/C/man3/mktemp.3:84 build/C/man3/putenv.3:70 build/C/man3/random.3:130
3480 #: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:71
3481 #: build/C/man3/setenv.3:98 build/C/man3/strtod.3:154
3482 #: build/C/man3/strtol.3:124 build/C/man3/strtoul.3:127
3488 #: build/C/man3/mkdtemp.3:74 build/C/man3/mkstemp.3:147
3489 #: build/C/man3/mktemp.3:85 build/C/man3/random.3:131
3490 #: build/C/man3/random_r.3:101 build/C/man3/random_r.3:105
3491 #: build/C/man3/random_r.3:114 build/C/man3/setenv.3:99
3492 #: build/C/man3/strtol.3:125 build/C/man3/strtoul.3:128
3498 #: build/C/man3/mkdtemp.3:78
3500 "The last six characters of I<template> were not XXXXXX. Now I<template> is "
3503 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
3507 #: build/C/man3/mkdtemp.3:82
3508 msgid "Also see B<mkdir>(2) for other possible values for I<errno>."
3509 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2) を参照すること。"
3512 #: build/C/man3/mkdtemp.3:84
3513 msgid "Available since glibc 2.1.91."
3514 msgstr "OpenBSD 2.2 で導入された。"
3516 #. As at 2006, this function is being considered for a revision of POSIX.1
3517 #. Also in NetBSD 1.4.
3519 #: build/C/man3/mkdtemp.3:89
3520 msgid "POSIX.1-2008. This function is present on the BSDs."
3521 msgstr "POSIX.1-2008. この関数は BSD に存在する。"
3524 #: build/C/man3/mkdtemp.3:95
3526 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
3529 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
3533 #: build/C/man3/mkstemp.3:33
3539 #: build/C/man3/mkstemp.3:36
3540 msgid "mkstemp, mkostemp - create a unique temporary file"
3541 msgstr "mkstemp, mkostemp - 他と重ならない名前を持つ一時ファイルを作成する"
3544 #: build/C/man3/mkstemp.3:41
3546 msgid "B<int mkstemp(char *>I<template>B<);>\n"
3547 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
3550 #: build/C/man3/mkstemp.3:43
3552 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
3553 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
3556 #: build/C/man3/mkstemp.3:45
3558 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
3559 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
3562 #: build/C/man3/mkstemp.3:47
3564 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
3565 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
3568 #: build/C/man3/mkstemp.3:55
3569 msgid "B<mkstemp>():"
3570 msgstr "B<mkstemp>():"
3573 #: build/C/man3/mkstemp.3:60 build/C/man3/mktemp.3:61
3575 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
3576 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3578 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
3579 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3582 #: build/C/man3/mkstemp.3:62
3583 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
3584 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
3587 #: build/C/man3/mkstemp.3:68
3588 msgid "B<mkostemp>(): _GNU_SOURCE"
3589 msgstr "B<mkostemp>(): _GNU_SOURCE"
3592 #: build/C/man3/mkstemp.3:71
3593 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3594 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3597 #: build/C/man3/mkstemp.3:74
3598 msgid "B<mkostemps>(): _GNU_SOURCE"
3599 msgstr "B<mkostemps>(): _GNU_SOURCE"
3602 #: build/C/man3/mkstemp.3:81
3604 "The B<mkstemp>() function generates a unique temporary filename from "
3605 "I<template>, creates and opens the file, and returns an open file descriptor "
3608 "関数 B<mkstemp>() は引数 I<template> から他と重ならない一時ファイル名を生成"
3609 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
3613 #: build/C/man3/mkstemp.3:89
3615 "The last six characters of I<template> must be \"XXXXXX\" and these are "
3616 "replaced with a string that makes the filename unique. Since it will be "
3617 "modified, I<template> must not be a string constant, but should be declared "
3618 "as a character array."
3620 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
3621 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
3622 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
3626 #: build/C/man3/mkstemp.3:99
3628 "The file is created with permissions 0600, that is, read plus write for "
3629 "owner only. (In glibc versions 2.06 and earlier, the file is created with "
3630 "permissions 0666, that is, read and write for all users.) The returned file "
3631 "descriptor provides both read and write access to the file. The file is "
3632 "opened with the B<open>(2) B<O_EXCL> flag, guaranteeing that the caller is "
3633 "the process that creates the file."
3635 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である (glibc "
3636 "バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、 全てのユーザ"
3637 "が読み書き可能であった)。 返されるファイルディスクリプタで、このファイルへの"
3638 "読み書き両方のアクセスが 可能である。 呼び出し者がそのファイルを作成するプロ"
3639 "セスであることを保証するために、 ファイルは B<open>(2) の B<O_EXCL> フラグ付"
3643 #: build/C/man3/mkstemp.3:111
3645 "The B<mkostemp>() function is like B<mkstemp>(), with the difference that "
3646 "flags as for B<open>(2) may be specified in I<flags> (e.g., B<O_APPEND>, "
3649 "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
3650 "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
3653 #: build/C/man3/mkstemp.3:127
3655 "The B<mkstemps>() function is like B<mkstemp>(), except that the string in "
3656 "I<template> contains a suffix of I<suffixlen> characters. Thus, I<template> "
3657 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
3660 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
3661 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
3662 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
3663 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
3666 #: build/C/man3/mkstemp.3:136
3668 "The B<mkostemps>() function is to B<mkstemps>() as B<mkostemp>() is to "
3671 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
3672 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
3675 #: build/C/man3/mkstemp.3:142
3677 "On success, these functions return the file descriptor of the temporary "
3678 "file. On error, -1 is returned, and I<errno> is set appropriately."
3680 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
3681 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
3684 #: build/C/man3/mkstemp.3:143
3690 #: build/C/man3/mkstemp.3:147
3692 "Could not create a unique temporary filename. Now the contents of "
3693 "I<template> are undefined."
3695 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
3698 #: build/C/man3/mkstemp.3:155
3700 "For B<mkstemp>() and B<mkostemp>(): The last six characters of I<template> "
3701 "were not XXXXXX; now I<template> is unchanged."
3703 "B<mkstemp>() と B<mkostemp>() の場合:\n"
3704 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
3705 "この場合、I<template> は変更されない。"
3708 #: build/C/man3/mkstemp.3:166
3710 "For B<mkstemps>() and B<mkostemps>(): I<template> is less than I<(6 + "
3711 "suffixlen)> characters long, or the last 6 characters before the suffix in "
3712 "I<template> were not XXXXXX."
3714 "B<mkstemps>() と B<mkostemps>() の場合:\n"
3715 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
3716 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
3719 #: build/C/man3/mkstemp.3:169
3721 "These functions may also fail with any of the errors described for B<open>"
3723 msgstr "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもある。"
3726 #: build/C/man3/mkstemp.3:176
3728 "B<mkostemp>() is available since glibc 2.7. B<mkstemps>() and B<mkostemps>"
3729 "() are available since glibc 2.11."
3731 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
3732 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
3735 #: build/C/man3/mkstemp.3:179
3736 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
3737 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
3739 #. mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
3742 #: build/C/man3/mkstemp.3:184
3743 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
3744 msgstr "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
3747 #: build/C/man3/mkstemp.3:189
3748 msgid "B<mkostemp>() and B<mkostemps>(): are glibc extensions."
3749 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
3752 #: build/C/man3/mkstemp.3:193
3754 "The old behavior of creating a file with mode 0666 may be a security risk, "
3755 "especially since other UNIX flavors use 0600, and somebody might overlook "
3756 "this detail when porting programs."
3758 "許可モード 0666 でファイルを作成するという古い動作は、 セキュリティ上のリスク\n"
3759 "になる場合がある。 特に他の UNIX では許可モードとして 0600 を使うため、\n"
3760 "プログラムを移植する際、この細かな違いを見落とす可能性があるからだ。"
3763 #: build/C/man3/mkstemp.3:204
3765 "More generally, the POSIX specification of B<mkstemp>() does not say "
3766 "anything about file modes, so the application should make sure its file mode "
3767 "creation mask (see B<umask>(2)) is set appropriately before calling "
3768 "B<mkstemp>() (and B<mkostemp>())."
3770 "より一般的には、 B<mkstemp>() の POSIX 規定ではファイルモードについて何も述"
3771 "べていない。 従って、アプリケーションは B<mkstemp>() (や B<mkostemp>()) を"
3772 "呼び出す前にファイルモード生成マスク (B<umask>(2) 参照) が適切に設定されてい"
3776 #: build/C/man3/mkstemp.3:211
3778 "The prototype for B<mktemp>() is in I<E<lt>unistd.hE<gt>> for libc4, libc5, "
3779 "glibc1; glibc2 follows POSIX.1 and has the prototype in I<E<lt>stdlib."
3782 "B<mktemp>() のプロトタイプ宣言は、libc4, libc5, glibc1 では I<E<lt>unistd."
3783 "hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し I<E<lt>stdlib.hE<gt>> に含ま"
3787 #: build/C/man3/mkstemp.3:216
3788 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3790 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3793 #: build/C/man3/mktemp.3:32
3799 #: build/C/man3/mktemp.3:35
3800 msgid "mktemp - make a unique temporary filename"
3801 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
3804 #: build/C/man3/mktemp.3:40
3806 msgid "B<char *mktemp(char *>I<template>B<);>\n"
3807 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
3810 #: build/C/man3/mktemp.3:48
3811 msgid "B<mktemp>():"
3812 msgstr "B<mktemp>():"
3815 #: build/C/man3/mktemp.3:57
3818 "_BSD_SOURCE || _SVID_SOURCE ||\n"
3819 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
3820 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
3821 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
3823 "_BSD_SOURCE || _SVID_SOURCE ||\n"
3824 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
3825 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
3826 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
3829 #: build/C/man3/mktemp.3:75
3831 "The B<mktemp>() function generates a unique temporary filename from "
3832 "I<template>. The last six characters of I<template> must be XXXXXX and "
3833 "these are replaced with a string that makes the filename unique. Since it "
3834 "will be modified, I<template> must not be a string constant, but should be "
3835 "declared as a character array."
3837 "関数 B<mktemp>() は引数 I<template> から他と重ならない テンポラリファイル名"
3838 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
3839 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
3840 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
3844 #: build/C/man3/mktemp.3:84
3846 "The B<mktemp>() function always returns I<template>. If a unique name was "
3847 "created, the last six bytes of I<template> will have been modified in such a "
3848 "way that the resulting name is unique (i.e., does not exist already) If a "
3849 "unique name could not be created, I<template> is made an empty string."
3851 "関数 B<mktemp>() は常に I<template> を戻す。 一意な名前が作成された場合、 "
3852 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
3853 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
3854 "I<template> には空文字列がセットされる。"
3857 #: build/C/man3/mktemp.3:88
3858 msgid "The last six characters of I<template> were not XXXXXX."
3859 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
3862 #: build/C/man3/mktemp.3:92
3864 "4.3BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of B<mktemp>()."
3866 "4.3BSD, POSIX.1-2001. POSIX.1-2008 では B<mktemp>() の仕様が削除されてい"
3870 #: build/C/man3/mktemp.3:98
3872 "The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; glibc2 "
3873 "follows the Single UNIX Specification and has the prototype in I<E<lt>stdlib."
3876 "libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
3877 "る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> に含"
3881 #: build/C/man3/mktemp.3:98 build/C/man3/rpmatch.3:90
3882 #: build/C/man3/setenv.3:121
3888 #: build/C/man3/mktemp.3:111
3890 "Never use B<mktemp>(). Some implementations follow 4.3BSD and replace "
3891 "XXXXXX by the current process ID and a single letter, so that at most 26 "
3892 "different names can be returned. Since on the one hand the names are easy "
3893 "to guess, and on the other hand there is a race between testing whether the "
3894 "name exists and opening the file, every use of B<mktemp>() is a security "
3895 "risk. The race is avoided by B<mkstemp>(3)."
3897 "B<mktemp>() を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
3898 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
3899 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
3900 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>() を使うの"
3901 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3) を使う"
3905 #: build/C/man3/mktemp.3:115
3906 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3907 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3910 #: build/C/man3/on_exit.3:29
3916 #: build/C/man3/on_exit.3:32
3918 "on_exit - register a function to be called at normal process termination"
3919 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
3922 #: build/C/man3/on_exit.3:37
3924 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
3925 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
3928 #: build/C/man3/on_exit.3:46
3929 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
3930 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
3933 #: build/C/man3/on_exit.3:57
3935 "The B<on_exit>() function registers the given I<function> to be called at "
3936 "normal process termination, whether via B<exit>(3) or via return from the "
3937 "program's I<main>(). The I<function> is passed the status argument given to "
3938 "the last call to B<exit>(3) and the I<arg> argument from B<on_exit>()."
3940 "B<on_exit>() 関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
3941 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3) またはプログラ"
3942 "ムの I<main>() 関数の中の return 命令による終了である。 関数 I<function> に"
3943 "は、直近の B<exit>(3) の呼び出しで渡された status 引数と B<on_exit>() の "
3947 #: build/C/man3/on_exit.3:72
3949 "The B<on_exit>() function returns the value 0 if successful; otherwise it "
3950 "returns a nonzero value."
3951 msgstr "B<on_exit>() 関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
3954 #: build/C/man3/on_exit.3:79
3956 "This function comes from SunOS 4, but is also present in libc4, libc5 and "
3957 "glibc. It no longer occurs in Solaris (SunOS 5). Avoid this function, and "
3958 "use the standard B<atexit>(3) instead."
3960 "この関数は SunOS 4 由来であるが、libc4, libc5, glibc にも存在する。 Solaris "
3961 "(SunOS 5) にはもはや存在しない。 この関数の使用は避け、代わりに標準の "
3962 "B<atexit>(3) を使うこと。"
3965 #: build/C/man3/on_exit.3:82
3966 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
3967 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
3970 #: build/C/man3/putenv.3:34
3976 #: build/C/man3/putenv.3:37
3977 msgid "putenv - change or add an environment variable"
3978 msgstr "putenv - 環境変数の変更または追加"
3980 #. Not: const char *
3982 #: build/C/man3/putenv.3:43
3984 msgid "B<int putenv(char *>I<string>B<);>\n"
3985 msgstr "B<int putenv(char *>I<string>B<);>\n"
3988 #: build/C/man3/putenv.3:52
3989 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3990 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3993 #: build/C/man3/putenv.3:65
3995 "The B<putenv>() function adds or changes the value of environment "
3996 "variables. The argument I<string> is of the form I<name>=I<value>. If "
3997 "I<name> does not already exist in the environment, then I<string> is added "
3998 "to the environment. If I<name> does exist, then the value of I<name> in the "
3999 "environment is changed to I<value>. The string pointed to by I<string> "
4000 "becomes part of the environment, so altering the string changes the "
4003 "B<putenv>() 関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
4004 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
4005 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
4006 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
4007 "文字列を変更すると環境も変更される。"
4010 #: build/C/man3/putenv.3:70
4012 "The B<putenv>() function returns zero on success, or nonzero if an error "
4015 "B<putenv>() 関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返す。"
4018 #: build/C/man3/putenv.3:71 build/C/man3/setenv.3:104
4024 #: build/C/man3/putenv.3:74
4025 msgid "Insufficient space to allocate new environment."
4026 msgstr "新しい環境を割り当てるのに十分な空きがない。"
4029 #: build/C/man3/putenv.3:76
4030 msgid "SVr4, POSIX.1-2001, 4.3BSD."
4031 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
4034 #: build/C/man3/putenv.3:81
4036 "The B<putenv>() function is not required to be reentrant, and the one in "
4037 "libc4, libc5 and glibc 2.0 is not, but the glibc 2.1 version is."
4039 "B<putenv>() はリエントラントであることを求められていない。 libc4, libc5, "
4040 "glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
4043 #: build/C/man3/putenv.3:94
4045 "Description for libc4, libc5, glibc: If the argument I<string> is of the "
4046 "form I<name>, and does not contain an \\(aq=\\(aq character, then the "
4047 "variable I<name> is removed from the environment. If B<putenv>() has to "
4048 "allocate a new array I<environ>, and the previous array was also allocated "
4049 "by B<putenv>(), then it will be freed. In no case will the old storage "
4050 "associated to the environment variable itself be freed."
4052 "libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
4053 "\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去される。 "
4054 "もし B<putenv>() が新しい I<environ> 配列を確保しなければならない時、 以前"
4055 "の I<environ> 配列も B<putenv>() によって確保されたものならば、 それは解放さ"
4056 "れる。 環境変数そのものに割り当てられた古い記憶領域が解放されることはない。"
4059 #: build/C/man3/putenv.3:110
4061 "The libc4 and libc5 and glibc 2.1.2 versions conform to SUSv2: the pointer "
4062 "I<string> given to B<putenv>() is used. In particular, this string becomes "
4063 "part of the environment; changing it later will change the environment. "
4064 "(Thus, it is an error is to call B<putenv>() with an automatic variable as "
4065 "the argument, then return from the calling function while I<string> is still "
4066 "part of the environment.) However, glibc 2.0-2.1.1 differs: a copy of the "
4067 "string is used. On the one hand this causes a memory leak, and on the other "
4068 "hand it violates SUSv2. This has been fixed in glibc 2.1.2."
4070 "libc4 と libc5 と glibc 2.1.2 では SUSv2 に準拠している。 B<putenv>() で与え"
4071 "られたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更"
4072 "すると環境も変わる。 (従って、 B<putenv>() を自動変数を引数として呼び出し、 "
4073 "I<string>が環境の一部のままで呼び出した関数から return するとエラーになる) "
4074 "しかし、glibc 2.0-2.1.1 では異なり、文字列のコピーが使われる。 これはメモリ"
4075 "リークを引き起こすだけでなく、 SUSv2 に違反している。 これは glibc2.1.2 で修"
4079 #: build/C/man3/putenv.3:112
4080 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
4081 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
4084 #: build/C/man3/putenv.3:114
4085 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
4087 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
4091 #: build/C/man3/putenv.3:119
4093 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
4095 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
4098 #: build/C/man3/qecvt.3:26
4104 #: build/C/man3/qecvt.3:29
4105 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
4106 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
4109 #: build/C/man3/qecvt.3:34
4111 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
4112 "> B<int *>I<sign>B<);>"
4114 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
4115 "> B<int *>I<sign>B<);>"
4118 #: build/C/man3/qecvt.3:37
4120 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
4121 "> B<int *>I<sign>B<);>"
4123 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
4124 "> B<int *>I<sign>B<);>"
4127 #: build/C/man3/qecvt.3:39
4129 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
4131 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
4134 #: build/C/man3/qecvt.3:50
4135 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
4136 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
4139 #: build/C/man3/qecvt.3:70
4141 "The functions B<qecvt>(), B<qfcvt>() and B<qgcvt>() are identical to "
4142 "B<ecvt>(3), B<fcvt>(3) and B<gcvt>(3) respectively, except that they use a "
4143 "I<long double> argument I<number>. See B<ecvt>(3) and B<gcvt>(3)."
4145 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>() は、それぞれ B<ecvt>(3), B<fcvt>"
4146 "(3), B<gcvt>(3) と同じである。 引き数 I<number> が I<long double> 型である点"
4150 #: build/C/man3/qecvt.3:76
4152 "SVr4. Not seen in most common UNIX implementations, but occurs in SunOS. "
4153 "Not supported by libc4 and libc5. Supported by glibc."
4155 "SVr4. 多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
4156 "る。 libc4 と libc5 ではサポートされていないが、 glibc ではサポートされてい"
4160 #: build/C/man3/qecvt.3:85
4161 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
4162 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
4165 #: build/C/man3/rand.3:39
4171 #: build/C/man3/rand.3:39
4177 #: build/C/man3/rand.3:42
4178 msgid "rand, rand_r, srand - pseudo-random number generator"
4179 msgstr "rand, srand - 乱数を生成する関数"
4182 #: build/C/man3/rand.3:47
4184 msgid "B<int rand(void);>\n"
4185 msgstr "B<int rand(void);>\n"
4188 #: build/C/man3/rand.3:49
4190 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4191 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4194 #: build/C/man3/rand.3:51
4196 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
4197 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
4200 #: build/C/man3/rand.3:60
4202 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
4204 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
4207 #: build/C/man3/rand.3:66
4209 "The B<rand>() function returns a pseudo-random integer in the range 0 to "
4210 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
4212 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
4213 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
4216 #: build/C/man3/rand.3:75
4218 "The B<srand>() function sets its argument as the seed for a new sequence of "
4219 "pseudo-random integers to be returned by B<rand>(). These sequences are "
4220 "repeatable by calling B<srand>() with the same seed value."
4222 "B<srand>() 関数は、 B<rand>() 関数で作られる疑似乱数整数系列の新しい種とし"
4223 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
4224 "は、 同じ値を引き数として B<srand>() を呼ぶことで、 再現することが可能であ"
4228 #: build/C/man3/rand.3:79
4230 "If no seed value is provided, the B<rand>() function is automatically "
4231 "seeded with a value of 1."
4233 "種の値が与えられない場合には、 B<rand>() 関数は 自動的に 1 を種とする。"
4236 #: build/C/man3/rand.3:90
4238 "The function B<rand>() is not reentrant or thread-safe, since it uses "
4239 "hidden state that is modified on each call. This might just be the seed "
4240 "value to be used by the next call, or it might be something more elaborate. "
4241 "In order to get reproducible behavior in a threaded application, this state "
4242 "must be made explicit; this can be done using the reentrant function "
4245 "B<rand>() 関数はリ再入可能 (reentrant) ではない、つまりスレッド・セーフではない。\n"
4246 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからである。\n"
4247 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものである。\n"
4248 "実際にはもう少し複雑かもしれないが。\n"
4249 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
4250 "この状態を明示的に指定できなければならない。これを行うには、\n"
4251 "再入可能な B<rand_r>() 関数を使用する。"
4254 #: build/C/man3/rand.3:106
4256 "Like B<rand>(), B<rand_r>() returns a pseudo-random integer in the range [0,"
4257 "\\ B<RAND_MAX>]. The I<seedp> argument is a pointer to an I<unsigned int> "
4258 "that is used to store state between calls. If B<rand_r>() is called with "
4259 "the same initial value for the integer pointed to by I<seedp>, and that "
4260 "value is not modified between calls, then the same pseudo-random sequence "
4263 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返す。\n"
4264 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
4265 "I<unsigned int> へのポインタである。\n"
4266 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
4267 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
4270 #: build/C/man3/rand.3:116
4272 "The value pointed to by the I<seedp> argument of B<rand_r>() provides only "
4273 "a very small amount of state, so this function will be a weak pseudo-random "
4274 "generator. Try B<drand48_r>(3) instead."
4276 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空間\n"
4277 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
4278 "代わりに B<drand48_r>(3) を使ってみるとよい。"
4281 #: build/C/man3/rand.3:127
4283 "The B<rand>() and B<rand_r>() functions return a value between 0 and "
4284 "B<RAND_MAX> (inclusive). The B<srand>() function returns no value."
4286 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
4287 "関数 B<srand>() は値を返さない。"
4290 #: build/C/man3/rand.3:139
4292 "The functions B<rand>() and B<srand>() conform to SVr4, 4.3BSD, C89, C99, "
4293 "POSIX.1-2001. The function B<rand_r>() is from POSIX.1-2001. POSIX.1-2008 "
4294 "marks B<rand_r>() as obsolete."
4296 "関数 B<rand>() と B<srand>() は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
4297 "している。 関数 B<rand_r>() は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
4298 "B<rand_r>() を廃止予定としている。"
4301 #: build/C/man3/rand.3:158
4303 "The versions of B<rand>() and B<srand>() in the Linux C Library use the "
4304 "same random number generator as B<random>(3) and B<srandom>(3), so the "
4305 "lower-order bits should be as random as the higher-order bits. However, on "
4306 "older B<rand>() implementations, and on current implementations on "
4307 "different systems, the lower-order bits are much less random than the higher-"
4308 "order bits. Do not use this function in applications intended to be "
4309 "portable when good randomness is needed. (Use B<random>(3) instead.)"
4311 "B<rand>() と B<srand>() の Linux C Library 版は、 B<random>(3) と "
4312 "B<srandom>(3) の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
4313 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
4314 "B<rand>() の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
4315 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
4316 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3) を使"
4320 #: build/C/man3/rand.3:164
4322 "POSIX.1-2001 gives the following example of an implementation of B<rand>() "
4323 "and B<srand>(), possibly useful when one needs the same sequence on two "
4324 "different machines."
4326 "POSIX 1003.1-2003 では、 B<rand>() と B<srand>() の実装例として以下を挙げて"
4327 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
4330 #: build/C/man3/rand.3:168
4332 msgid "static unsigned long next = 1;\n"
4333 msgstr "static unsigned long next = 1;\n"
4336 #: build/C/man3/rand.3:174
4339 "/* RAND_MAX assumed to be 32767 */\n"
4340 "int myrand(void) {\n"
4341 " next = next * 1103515245 + 12345;\n"
4342 " return((unsigned)(next/65536) % 32768);\n"
4345 "/* RAND_MAX を 32767 と仮定 */\n"
4346 "int myrand(void) {\n"
4347 " next = next * 1103515245 + 12345;\n"
4348 " return((unsigned)(next/65536) % 32768);\n"
4352 #: build/C/man3/rand.3:178
4355 "void mysrand(unsigned seed) {\n"
4359 "void mysrand(unsigned seed) {\n"
4364 #: build/C/man3/rand.3:185
4366 "The following program can be used to display the pseudo-random sequence "
4367 "produced by B<rand>() when given a particular seed."
4369 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
4370 "B<rand>() が生成する疑似乱数系列を表示することができる。"
4373 #: build/C/man3/rand.3:190
4376 "#include E<lt>stdlib.hE<gt>\n"
4377 "#include E<lt>stdio.hE<gt>\n"
4379 "#include E<lt>stdlib.hE<gt>\n"
4380 "#include E<lt>stdio.hE<gt>\n"
4383 #: build/C/man3/rand.3:196
4387 "main(int argc, char *argv[])\n"
4389 " int j, r, nloops;\n"
4390 " unsigned int seed;\n"
4393 "main(int argc, char *argv[])\n"
4395 " int j, r, nloops;\n"
4396 " unsigned int seed;\n"
4399 #: build/C/man3/rand.3:201
4402 " if (argc != 3) {\n"
4403 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
4404 " exit(EXIT_FAILURE);\n"
4407 " if (argc != 3) {\n"
4408 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
4409 " exit(EXIT_FAILURE);\n"
4413 #: build/C/man3/rand.3:204
4416 " seed = atoi(argv[1]);\n"
4417 " nloops = atoi(argv[2]);\n"
4419 " seed = atoi(argv[1]);\n"
4420 " nloops = atoi(argv[2]);\n"
4423 #: build/C/man3/rand.3:210
4427 " for (j = 0; j E<lt> nloops; j++) {\n"
4429 " printf(\"%d\\en\", r);\n"
4433 " for (j = 0; j E<lt> nloops; j++) {\n"
4435 " printf(\"%d\\en\", r);\n"
4439 #: build/C/man3/rand.3:217
4440 msgid "B<drand48>(3), B<random>(3)"
4441 msgstr "B<drand48>(3), B<random>(3)"
4444 #: build/C/man3/random.3:31
4450 #: build/C/man3/random.3:34
4451 msgid "random, srandom, initstate, setstate - random number generator"
4452 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
4455 #: build/C/man3/random.3:39
4457 msgid "B<long int random(void);>\n"
4458 msgstr "B<long int random(void);>\n"
4461 #: build/C/man3/random.3:41
4463 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
4464 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
4467 #: build/C/man3/random.3:43
4469 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
4470 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
4473 #: build/C/man3/random.3:45
4475 msgid "B<char *setstate(char *>I<state>B<);>\n"
4476 msgstr "B<char *setstate(char *>I<state>B<);>\n"
4479 #: build/C/man3/random.3:57
4480 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
4481 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
4484 #: build/C/man3/random.3:60
4486 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4487 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4489 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4490 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4493 #: build/C/man3/random.3:71
4495 "The B<random>() function uses a nonlinear additive feedback random number "
4496 "generator employing a default table of size 31 long integers to return "
4497 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>. The "
4498 "period of this random number generator is very large, approximately I<16\\ *"
4499 "\\ ((2^31)\\ -\\ 1)>."
4501 "B<random>() 関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
4502 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
4503 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
4504 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
4507 #: build/C/man3/random.3:85
4509 "The B<srandom>() function sets its argument as the seed for a new sequence "
4510 "of pseudo-random integers to be returned by B<random>(). These sequences "
4511 "are repeatable by calling B<srandom>() with the same seed value. If no "
4512 "seed value is provided, the B<random>() function is automatically seeded "
4513 "with a value of 1."
4515 "B<srandom>() 関数は、 B<random>() で返される疑似乱数整数系列の種を設定す"
4516 "る。 そのためには新しい種を引数にして B<srandom>() を呼べばよい。 B<random>"
4517 "() で生成される系列は、 引数に同じ種の値を用いて B<srandom>() を呼ぶことで"
4518 "再現可能である。 種の値が与えられない場合には B<random>() 関数は、自動的に "
4522 #: build/C/man3/random.3:100
4524 "The B<initstate>() function allows a state array I<state> to be initialized "
4525 "for use by B<random>(). The size of the state array I<n> is used by "
4526 "B<initstate>() to decide how sophisticated a random number generator it "
4527 "should use\\(emthe larger the state array, the better the random numbers "
4528 "will be. I<seed> is the seed for the initialization, which specifies a "
4529 "starting point for the random number sequence, and provides for restarting "
4530 "at the same point."
4532 "B<initstate>() 関数は、 B<random>() で使用される状態配列 I<state> を初期化"
4533 "する。 B<initstate>() では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
4534 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
4535 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
4536 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
4540 #: build/C/man3/random.3:116
4542 "The B<setstate>() function changes the state array used by the B<random>() "
4543 "function. The state array I<state> is used for random number generation "
4544 "until the next call to B<initstate>() or B<setstate>(). I<state> must "
4545 "first have been initialized using B<initstate>() or be the result of a "
4546 "previous call of B<setstate>()."
4548 "B<setstate>() 関数は、 B<random>() で使用される状態配列を変更する。 状態配"
4549 "列 I<state> は、 B<initstate>() または B<setstate>() が 次に呼び出されるま"
4550 "で、乱数の生成に使用される。 I<state> は B<initstate>() を用いて最初に初期化"
4551 "されているか、 以前に呼び出した B<setstate>() の結果でなければならない。"
4554 #: build/C/man3/random.3:130
4556 "The B<random>() function returns a value between 0 and B<RAND_MAX>. The "
4557 "B<srandom>() function returns no value. The B<initstate>() function "
4558 "returns a pointer to the previous state array. The B<setstate>() function "
4559 "returns a pointer to the previous state array, or NULL on error."
4561 "B<random>() 関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>() 関数は値"
4562 "を返さない。 B<initstate>() 関数は直前の状態配列へのポインタを返す。 "
4563 "B<setstate>() 関数は直前の状態配列へのポインタを返し、 エラーの場合は NULL "
4567 #: build/C/man3/random.3:135
4568 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
4569 msgstr "B<initstate>() で8バイトよりも小さい状態配列を指定した。"
4572 #: build/C/man3/random.3:137 build/C/man3/setenv.3:109
4573 msgid "4.3BSD, POSIX.1-2001."
4574 msgstr "4.3BSD, POSIX.1-2001."
4577 #: build/C/man3/random.3:143
4579 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
4580 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
4581 "known amount. Using less than 8 bytes will cause an error."
4583 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
4584 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
4585 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
4588 #: build/C/man3/random.3:150
4590 "This function should not be used in cases where multiple threads use "
4591 "B<random>() and the behavior should be reproducible. Use B<random_r>(3) "
4594 "複数のスレッドが B<random>() を使うような状況では、この関数を使用すべきでは"
4595 "ない。 その場合には B<random_r>(3) を使うこと。"
4598 #: build/C/man3/random.3:157
4600 "Random-number generation is a complex topic. I<Numerical Recipes in C: The "
4601 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
4602 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
4603 "2007, 3rd ed.) provides an excellent discussion of practical random-number "
4604 "generation issues in Chapter 7 (Random Numbers)."
4606 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
4607 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
4608 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
4609 "2007, 3rd ed.) では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
4613 #: build/C/man3/random.3:163
4615 "For a more theoretical discussion which also covers many practical issues in "
4616 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
4617 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
4618 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
4620 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
4621 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
4622 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
4623 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
4626 #: build/C/man3/random.3:167
4627 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
4628 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
4631 #: build/C/man3/random_r.3:24
4637 #: build/C/man3/random_r.3:24
4643 #: build/C/man3/random_r.3:28
4645 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
4648 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
4651 #: build/C/man3/random_r.3:33
4653 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
4654 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
4657 #: build/C/man3/random_r.3:35
4659 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
4660 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
4663 #: build/C/man3/random_r.3:38
4666 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
4667 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
4669 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
4670 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
4673 #: build/C/man3/random_r.3:40
4675 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
4676 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
4679 #: build/C/man3/random_r.3:52
4680 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
4681 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
4684 #: build/C/man3/random_r.3:54
4685 msgid "_SVID_SOURCE || _BSD_SOURCE"
4686 msgstr "_SVID_SOURCE || _BSD_SOURCE"
4689 #: build/C/man3/random_r.3:62
4691 "These functions are the reentrant equivalents of the functions described in "
4692 "B<random>(3). They are suitable for use in multithreaded programs where "
4693 "each thread needs to obtain an independent, reproducible sequence of random "
4696 "これらの関数は、 B<random>(3) で説明されている関数のリエントラント版で、等価"
4697 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
4698 "ような マルチスレッド・プログラムでの使用に適している。"
4701 #: build/C/man3/random_r.3:73
4703 "The B<random_r>() function is like B<random>(3), except that instead of "
4704 "using state information maintained in a global variable, it uses the state "
4705 "information in the argument pointed to by I<buf>. The generated random "
4706 "number is returned in the argument I<result>."
4708 "B<random_r>() 関数は B<random>(3) と同様だが、 大域変数 (global variable) "
4709 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
4710 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
4713 #: build/C/man3/random_r.3:82
4715 "The B<srandom_r>() function is like B<srandom>(3), except that it "
4716 "initializes the seed for the random number generator whose state is "
4717 "maintained in the object pointed to by I<buf>, instead of the seed "
4718 "associated with the global state variable."
4720 "B<srandom_r>() 関数は B<srandom>(3) と同様だが、 大域変数で管理される状態に"
4721 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
4722 "対応する乱数生成器の種を 初期化する。"
4725 #: build/C/man3/random_r.3:90
4727 "The B<initstate_r>() function is like B<initstate>(3) except that it "
4728 "initializes the state in the object pointed to by I<buf>, rather than "
4729 "initializing the global state variable."
4731 "B<initstate_r>() 関数は B<initstate>(3) と同様だが、大域変数で管理される状"
4732 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
4735 #: build/C/man3/random_r.3:98
4737 "The B<setstate_r>() function is like B<setstate>(3) except that it "
4738 "modifies the state in the object pointer to by I<buf>, rather than modifying "
4739 "the global state variable."
4741 "B<setstate_r>() 関数は B<setstate>(3) と同様だが、大域変数で管理される状態"
4742 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
4745 #: build/C/man3/random_r.3:100
4746 msgid "All of these functions return 0 on success, or -1 on error."
4747 msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
4750 #: build/C/man3/random_r.3:105
4751 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
4752 msgstr "8 バイトより小さい状態配列が B<initstate_r>() に指定された。"
4755 #: build/C/man3/random_r.3:114
4756 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>() was NULL."
4757 msgstr "B<setstate_r>() の引き数 I<statebuf> か I<buf> が NULL であった。"
4760 #: build/C/man3/random_r.3:123
4761 msgid "The I<buf> or I<result> argument to B<random_r>() was NULL."
4762 msgstr "B<random_r>() の引き数 I<buf> か I<result> が NULL であった。"
4764 #. These functions appear to be on Tru64, but don't seem to be on
4765 #. Solaris, HP-UX, or FreeBSD.
4767 #: build/C/man3/random_r.3:127
4768 msgid "These functions are nonstandard glibc extensions."
4769 msgstr "これらの関数は非標準で glibc による拡張である。"
4772 #: build/C/man3/rpmatch.3:27
4778 #: build/C/man3/rpmatch.3:30
4780 "rpmatch - determine if the answer to a question is affirmative or negative"
4781 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
4784 #: build/C/man3/rpmatch.3:35
4786 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
4787 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
4790 #: build/C/man3/rpmatch.3:44
4791 msgid "B<rpmatch>(): _SVID_SOURCE"
4792 msgstr "B<rpmatch>(): _SVID_SOURCE"
4795 #: build/C/man3/rpmatch.3:48
4797 "B<rpmatch>() handles a user response to yes or no questions, with support "
4798 "for internationalization."
4800 "B<rpmatch>() は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
4804 #: build/C/man3/rpmatch.3:54
4806 "I<response> should be a null-terminated string containing a user-supplied "
4807 "response, perhaps obtained with B<fgets>(3) or B<getline>(3)."
4809 "I<response> にはユーザからの応答を格納した NULL 終端文字列が入っている必要が"
4810 "ある。 たいていは、 B<fgets>(3) や B<getline>(3) で取り込んだものであろう。"
4813 #: build/C/man3/rpmatch.3:60
4815 "The user's language preference is taken into account per the environment "
4816 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
4817 "B<setlocale>(3) to effect their changes."
4819 "プログラムが B<setlocale>(3) を呼び出して環境変数の変更を有効にした場合、 環"
4820 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
4824 #: build/C/man3/rpmatch.3:64
4826 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
4827 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
4829 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 B<^[Nn]"
4830 "> にマッチする応答は常に否定だと解釈される。"
4833 #: build/C/man3/rpmatch.3:71
4835 "After examining I<response>, B<rpmatch>() returns 0 for a recognized "
4836 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
4837 "and -1 when the value of I<response> is unrecognized."
4839 "I<response> を検査した後、 B<rpmatch>() は否定的な応答 (\"no\") と認識した場"
4840 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
4841 "I<response> の値を解釈できなかった場合は -1 を返す。"
4844 #: build/C/man3/rpmatch.3:75
4846 "A return value of -1 may indicate either an invalid input, or some other "
4847 "error. It is incorrect to only test if the return value is nonzero."
4849 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
4850 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
4853 #: build/C/man3/rpmatch.3:85
4855 "B<rpmatch>() can fail for any of the reasons that B<regcomp>(3) or "
4856 "B<regexec>(3) can fail; the cause of the error is not available from "
4857 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
4858 "this case is indistinguishable from that of an unrecognized value of "
4861 "B<rpmatch>() は、 B<regcomp>(3) や B<regexec>(3) が失敗する理由のどれかで"
4862 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
4863 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
4864 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
4866 #. It is available on at least AIX 5.1 and FreeBSD 6.0.
4868 #: build/C/man3/rpmatch.3:90
4870 "B<rpmatch>() is not required by any standard, but is available on a few "
4873 "B<rpmatch>() はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
4877 #: build/C/man3/rpmatch.3:102
4879 "The B<rpmatch>() implementation looks at only the first character of "
4880 "I<response>. As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
4881 "million years\" returns 1. It would be preferable to accept input strings "
4882 "much more strictly, for example (using the extended regular expression "
4883 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
4886 "B<rpmatch>() の実装は I<response> の最初の 1 文字だけを見ているようである。"
4887 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
4888 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
4889 "(B<regex>(7) で説明されている拡張正規表現を使って) B<^([yY]|yes|YES)$> や "
4890 "B<^([nN]|no|NO)$> で解釈するなど。"
4893 #: build/C/man3/rpmatch.3:106
4895 "The following program displays the results when B<rpmatch>() is applied to "
4896 "the string given in the program's command-line argument."
4898 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>() "
4902 #: build/C/man3/rpmatch.3:113
4905 "#define _SVID_SOURCE\n"
4906 "#include E<lt>locale.hE<gt>\n"
4907 "#include E<lt>stdlib.hE<gt>\n"
4908 "#include E<lt>string.hE<gt>\n"
4909 "#include E<lt>stdio.hE<gt>\n"
4911 "#define _SVID_SOURCE\n"
4912 "#include E<lt>locale.hE<gt>\n"
4913 "#include E<lt>stdlib.hE<gt>\n"
4914 "#include E<lt>string.hE<gt>\n"
4915 "#include E<lt>stdio.hE<gt>\n"
4918 #: build/C/man3/rpmatch.3:121
4922 "main(int argc, char *argv[])\n"
4924 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
4925 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
4926 " exit(EXIT_FAILURE);\n"
4930 "main(int argc, char *argv[])\n"
4932 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
4933 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
4934 " exit(EXIT_FAILURE);\n"
4938 #: build/C/man3/rpmatch.3:126
4941 " setlocale(LC_ALL, \"\");\n"
4942 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4943 " exit(EXIT_SUCCESS);\n"
4946 " setlocale(LC_ALL, \"\");\n"
4947 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4948 " exit(EXIT_SUCCESS);\n"
4952 #: build/C/man3/rpmatch.3:132
4954 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
4956 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
4959 #: build/C/man3/setenv.3:35
4965 #: build/C/man3/setenv.3:38
4966 msgid "setenv - change or add an environment variable"
4967 msgstr "setenv - 環境変数を変更または追加する"
4970 #: build/C/man3/setenv.3:43
4972 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
4973 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
4976 #: build/C/man3/setenv.3:45
4978 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
4979 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
4982 #: build/C/man3/setenv.3:55
4983 msgid "B<setenv>(), B<unsetenv>():"
4984 msgstr "B<setenv>(), B<unsetenv>():"
4987 #: build/C/man3/setenv.3:57
4989 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
4992 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
4996 #: build/C/man3/setenv.3:75
4998 "The B<setenv>() function adds the variable I<name> to the environment with "
4999 "the value I<value>, if I<name> does not already exist. If I<name> does "
5000 "exist in the environment, then its value is changed to I<value> if "
5001 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
5002 "is not changed. This function makes copies of the strings pointed to by "
5003 "I<name> and I<value> (by contrast with B<putenv>(3))."
5005 "B<setenv>() 関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
5006 "を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
5007 "外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
5008 "変更しない。 この関数は、 (B<putenv>(3) と違い) I<name> と I<value> により"
5012 #: build/C/man3/setenv.3:84
5014 "The B<unsetenv>() function deletes the variable I<name> from the "
5015 "environment. If I<name> does not exist in the environment, then the "
5016 "function succeeds, and the environment is unchanged."
5018 "B<unsetenv>() 関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
5019 "場合、この関数は成功し、環境は変更されない。"
5022 #: build/C/man3/setenv.3:91
5024 "The B<setenv>() function returns zero on success, or -1 on error, with "
5025 "I<errno> set to indicate the cause of the error."
5027 "B<setenv>() 関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5028 "I<errno> にエラーの原因を示す値がセットされる。"
5031 #: build/C/man3/setenv.3:98
5033 "The B<unsetenv>() function returns zero on success, or -1 on error, with "
5034 "I<errno> set to indicate the cause of the error."
5036 "B<unsetenv>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
5037 "I<errno> を設定してエラーの原因を示す。"
5040 #: build/C/man3/setenv.3:104
5042 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
5045 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
5049 #: build/C/man3/setenv.3:107
5050 msgid "Insufficient memory to add a new variable to the environment."
5051 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
5054 #: build/C/man3/setenv.3:115
5056 "POSIX.1-2001 does not require B<setenv>() or B<unsetenv>() to be reentrant."
5058 "POSIX.1-2001 は、 B<setenv>() や B<unsetenv>() がリエントラント (再入可能) "
5062 #: build/C/man3/setenv.3:121
5064 "Prior to glibc 2.2.2, B<unsetenv>() was prototyped as returning I<void>; "
5065 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
5068 "glibc 2.2.2 以前では、 B<unsetenv>() は 返り値が I<void> のプロトタイプで"
5069 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
5070 "POSIX.1-2001 互換のプロトタイプである。"
5073 #: build/C/man3/setenv.3:130
5075 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
5076 "then B<setenv>() should fail with the error B<EINVAL>; however, versions of "
5077 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
5079 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>() "
5080 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
5081 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
5085 #: build/C/man3/setenv.3:134
5086 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
5087 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
5090 #: build/C/man3/strtod.3:43
5096 #: build/C/man3/strtod.3:46
5097 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
5098 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
5101 #: build/C/man3/strtod.3:50
5102 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5103 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5106 #: build/C/man3/strtod.3:52
5107 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5108 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5111 #: build/C/man3/strtod.3:54
5112 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5113 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5116 #: build/C/man3/strtod.3:63
5117 msgid "B<strtof>(), B<strtold>():"
5118 msgstr "B<strtof>(), B<strtold>():"
5121 #: build/C/man3/strtod.3:85
5123 "The B<strtod>(), B<strtof>(), and B<strtold>() functions convert the "
5124 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
5125 "and I<long double> representation, respectively."
5127 "B<strtod>(), B<strtof>(), B<strtold>() 関数は、 I<nptr> が指し示す文字列のは"
5128 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
5131 #: build/C/man3/strtod.3:92
5133 "The expected form of the (initial portion of the) string is optional leading "
5134 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
5135 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
5136 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
5138 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
5139 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
5140 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
5141 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
5142 "は B<isspace>(3) で識別される)。"
5145 #: build/C/man3/strtod.3:101
5147 "A I<decimal number> consists of a nonempty sequence of decimal digits "
5148 "possibly containing a radix character (decimal point, locale-dependent, "
5149 "usually \\(aq.\\(aq), optionally followed by a decimal exponent. A decimal "
5150 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
5151 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
5152 "indicates multiplication by a power of 10."
5154 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
5155 "charater) (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
5156 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
5157 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
5158 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
5161 #: build/C/man3/strtod.3:112
5163 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
5164 "nonempty sequence of hexadecimal digits possibly containing a radix "
5165 "character, optionally followed by a binary exponent. A binary exponent "
5166 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
5167 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
5168 "multiplication by a power of 2. At least one of radix character and binary "
5169 "exponent must be present."
5171 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
5172 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
5173 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
5174 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
5175 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
5179 #: build/C/man3/strtod.3:116
5180 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
5182 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
5184 #. From glibc 2.8's stdlib/strtod_l.c:
5185 #. We expect it to be a number which is put in the
5186 #. mantissa of the number.
5188 #: build/C/man3/strtod.3:126
5190 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by \\(aq(\\(aq, "
5191 "a sequence of characters, followed by \\(aq)\\(aq. The character string "
5192 "specifies in an implementation-dependent way the type of NAN."
5194 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に \\(aq"
5195 "(\\(aq 文字列 \\(aq)\\(aq が続く場合もある。 この文字列は実装に依存する NAN "
5199 #: build/C/man3/strtod.3:128
5200 msgid "These functions return the converted value, if any."
5201 msgstr "これらの関数は、変換された値があれば、それを返す。"
5204 #: build/C/man3/strtod.3:135
5206 "If I<endptr> is not NULL, a pointer to the character after the last "
5207 "character used in the conversion is stored in the location referenced by "
5210 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
5211 "ターが I<endptr> で参照される場所へ保存される。"
5214 #: build/C/man3/strtod.3:140
5216 "If no conversion is performed, zero is returned and the value of I<nptr> is "
5217 "stored in the location referenced by I<endptr>."
5219 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
5220 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
5223 #: build/C/man3/strtod.3:154
5225 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
5226 "(B<HUGE_VALF>, B<HUGE_VALL>) is returned (according to the sign of the "
5227 "value), and B<ERANGE> is stored in I<errno>. If the correct value would "
5228 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
5230 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
5231 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>) が返り (値の"
5232 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
5233 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
5236 #: build/C/man3/strtod.3:155 build/C/man3/strtol.3:131
5237 #: build/C/man3/strtoul.3:134
5243 #: build/C/man3/strtod.3:158
5244 msgid "Overflow or underflow occurred."
5245 msgstr "オーバーフローまたはアンダーフローが起こった。"
5248 #: build/C/man3/strtod.3:163
5249 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
5250 msgstr "C89 では B<strtod>() が、C99 では残りの 2 つの関数が記述されている。"
5253 #: build/C/man3/strtod.3:172
5255 "Since 0 can legitimately be returned on both success and failure, the "
5256 "calling program should set I<errno> to 0 before the call, and then determine "
5257 "if an error occurred by checking whether I<errno> has a nonzero value after "
5260 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
5261 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
5262 "しエラーが発生したかどうかを判断する 必要がある。"
5265 #: build/C/man3/strtod.3:177 build/C/man3/strtoul.3:188
5267 "See the example on the B<strtol>(3) manual page; the use of the functions "
5268 "described in this manual page is similar."
5270 "B<strtol>(3) のマニュアルページの例を参照。 このページで説明した関数の使用方"
5274 #: build/C/man3/strtod.3:182
5275 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
5276 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
5279 #: build/C/man3/strtoimax.3:23
5285 #: build/C/man3/strtoimax.3:23
5291 #: build/C/man3/strtoimax.3:26
5292 msgid "strtoimax, strtoumax - convert string to integer"
5293 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
5296 #: build/C/man3/strtoimax.3:29
5298 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
5299 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
5302 #: build/C/man3/strtoimax.3:31
5304 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5305 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5308 #: build/C/man3/strtoimax.3:33
5310 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5311 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5314 #: build/C/man3/strtoimax.3:44
5316 "These functions are just like B<strtol>(3) and B<strtoul>(3), except that "
5317 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
5319 "これらの関数はちょうど B<strtol>(3) と B<strtoul>(3) に似ているが、それぞ"
5320 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
5323 #: build/C/man3/strtoimax.3:57
5325 "On success, the converted value is returned. If nothing was found to "
5326 "convert, zero is returned. On overflow or underflow B<INTMAX_MAX> or "
5327 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
5330 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
5331 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
5332 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
5336 #: build/C/man3/strtoimax.3:64
5338 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
5340 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
5343 #: build/C/man3/strtol.3:29
5349 #: build/C/man3/strtol.3:32
5350 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
5351 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
5354 #: build/C/man3/strtol.3:37
5356 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5357 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5360 #: build/C/man3/strtol.3:40
5362 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5363 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5366 #: build/C/man3/strtol.3:49
5367 msgid "B<strtoll>():"
5368 msgstr "B<strtoll>():"
5371 #: build/C/man3/strtol.3:52 build/C/man3/strtoul.3:55
5373 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
5374 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
5376 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
5377 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
5380 #: build/C/man3/strtol.3:63
5382 "The B<strtol>() function converts the initial part of the string in I<nptr> "
5383 "to a long integer value according to the given I<base>, which must be "
5384 "between 2 and 36 inclusive, or be the special value 0."
5386 "B<strtol>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
5387 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
5391 #: build/C/man3/strtol.3:72 build/C/man3/strtoul.3:79
5393 "The string may begin with an arbitrary amount of white space (as determined "
5394 "by B<isspace>(3)) followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
5395 "sign. If I<base> is zero or 16, the string may then include a \"0x\" "
5396 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
5397 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
5398 "case it is taken as 8 (octal)."
5400 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
5401 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
5402 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
5403 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
5404 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
5408 #: build/C/man3/strtol.3:81
5410 "The remainder of the string is converted to a I<long int> value in the "
5411 "obvious manner, stopping at the first character which is not a valid digit "
5412 "in the given base. (In bases above 10, the letter \\(aqA\\(aq in either "
5413 "upper or lower case represents 10, \\(aqB\\(aq represents 11, and so forth, "
5414 "with \\(aqZ\\(aq representing 35.)"
5416 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
5417 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
5418 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
5422 #: build/C/man3/strtol.3:93
5424 "If I<endptr> is not NULL, B<strtol>() stores the address of the first "
5425 "invalid character in I<*endptr>. If there were no digits at all, B<strtol>"
5426 "() stores the original value of I<nptr> in I<*endptr> (and returns 0). In "
5427 "particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
5428 "\\e0\\(aq on return, the entire string is valid."
5430 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が B<strtol>"
5431 "() によって I<*endptr> に保存されている。 文字列に有効な数字がひとつもなけれ"
5432 "ば、 B<strtol>() は I<nptr> の元の値を I<*endptr> に代入する (そして 0 を返"
5433 "す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
5434 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
5437 #: build/C/man3/strtol.3:99
5439 "The B<strtoll>() function works just like the B<strtol>() function but "
5440 "returns a long long integer value."
5442 "B<strtoll>() 関数は B<strtol>() と同様だが、long long int 型の値を返す。"
5445 #: build/C/man3/strtol.3:124
5447 "The B<strtol>() function returns the result of the conversion, unless the "
5448 "value would underflow or overflow. If an underflow occurs, B<strtol>() "
5449 "returns B<LONG_MIN>. If an overflow occurs, B<strtol>() returns "
5450 "B<LONG_MAX>. In both cases, I<errno> is set to B<ERANGE>. Precisely the "
5451 "same holds for B<strtoll>() (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
5452 "B<LONG_MIN> and B<LONG_MAX>)."
5454 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>() 関数は 変換さ"
5455 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
5456 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
5457 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>() も同様で"
5458 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
5462 #: build/C/man3/strtol.3:131 build/C/man3/strtoul.3:134
5463 msgid "(not in C99) The given I<base> contains an unsupported value."
5464 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
5467 #: build/C/man3/strtol.3:134 build/C/man3/strtoul.3:137
5468 msgid "The resulting value was out of range."
5469 msgstr "結果の値が範囲外である。"
5472 #: build/C/man3/strtol.3:137 build/C/man3/strtoul.3:140
5474 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
5475 "was performed (no digits seen, and 0 returned)."
5477 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
5478 "I<errno> に B<EINVAL> が設定される場合がある。"
5481 #: build/C/man3/strtol.3:142
5483 "B<strtol>() conforms to SVr4, 4.3BSD, C89, C99 and POSIX.1-2001, and "
5484 "B<strtoll>() to C99 and POSIX.1-2001."
5486 "B<strtol>() は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
5487 "B<strtoll>() は C99 と POSIX.1-2001 に準拠している。"
5490 #: build/C/man3/strtol.3:160
5492 "Since B<strtol>() can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
5493 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>()) on both success and "
5494 "failure, the calling program should set I<errno> to 0 before the call, and "
5495 "then determine if an error occurred by checking whether I<errno> has a "
5496 "nonzero value after the call."
5498 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
5499 "(B<strtoll>() では B<LLONG_MAX>, B<LLONG_MIN>) が返る可能性があるので、 プ"
5500 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
5501 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
5504 #: build/C/man3/strtol.3:164
5506 "In locales other than the \"C\" locale, other strings may also be accepted. "
5507 "(For example, the thousands separator of the current locale may be "
5510 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
5511 "えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれない。)"
5514 #: build/C/man3/strtol.3:166 build/C/man3/strtoul.3:165
5515 msgid "BSD also has"
5519 #: build/C/man3/strtol.3:170
5521 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5522 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5525 #: build/C/man3/strtol.3:179
5527 "with completely analogous definition. Depending on the wordsize of the "
5528 "current architecture, this may be equivalent to B<strtoll>() or to B<strtol>"
5531 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
5532 "であるが、この関数は B<strtoll>() か B<strtol>() と等価となることもある。"
5535 #: build/C/man3/strtol.3:193
5537 "The program shown below demonstrates the use of B<strtol>(). The first "
5538 "command-line argument specifies a string from which B<strtol>() should "
5539 "parse a number. The second (optional) argument specifies the base to be "
5540 "used for the conversion. (This argument is converted to numeric form using "
5541 "B<atoi>(3), a function that performs no error checking and has a simpler "
5542 "interface than B<strtol>().) Some examples of the results produced by this "
5543 "program are the following:"
5545 "以下のプログラムは B<strtol>() の使用例である。 最初のコマンドライン引き数に"
5546 "は B<strtol>() が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
5547 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3) を使って"
5548 "数値に変換される。 B<atoi>(3) は B<strtol>() よりも簡単なインタフェースを持"
5549 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
5553 #: build/C/man3/strtol.3:209
5556 "$B< ./a.out 123>\n"
5557 "strtol() returned 123\n"
5558 "$B< ./a.out \\(aq 123\\(aq>\n"
5559 "strtol() returned 123\n"
5560 "$B< ./a.out 123abc>\n"
5561 "strtol() returned 123\n"
5562 "Further characters after number: abc\n"
5563 "$B< ./a.out 123abc 55>\n"
5564 "strtol: Invalid argument\n"
5565 "$B< ./a.out \\(aq\\(aq>\n"
5566 "No digits were found\n"
5567 "$B< ./a.out 4000000000>\n"
5568 "strtol: Numerical result out of range\n"
5570 "$B< ./a.out 123>\n"
5571 "strtol() returned 123\n"
5572 "$B< ./a.out \\(aq 123\\(aq>\n"
5573 "strtol() returned 123\n"
5574 "$B< ./a.out 123abc>\n"
5575 "strtol() returned 123\n"
5576 "Further characters after number: abc\n"
5577 "$B< ./a.out 123abc 55>\n"
5578 "strtol: Invalid argument\n"
5579 "$B< ./a.out \\(aq\\(aq>\n"
5580 "No digits were found\n"
5581 "$B< ./a.out 4000000000>\n"
5582 "strtol: Numerical result out of range\n"
5585 #: build/C/man3/strtol.3:211
5587 msgid "Program source"
5591 #: build/C/man3/strtol.3:218
5594 "#include E<lt>stdlib.hE<gt>\n"
5595 "#include E<lt>limits.hE<gt>\n"
5596 "#include E<lt>stdio.hE<gt>\n"
5597 "#include E<lt>errno.hE<gt>\n"
5599 "#include E<lt>stdlib.hE<gt>\n"
5600 "#include E<lt>limits.hE<gt>\n"
5601 "#include E<lt>stdio.hE<gt>\n"
5602 "#include E<lt>errno.hE<gt>\n"
5605 #: build/C/man3/strtol.3:225
5609 "main(int argc, char *argv[])\n"
5612 " char *endptr, *str;\n"
5616 "main(int argc, char *argv[])\n"
5619 " char *endptr, *str;\n"
5623 #: build/C/man3/strtol.3:230
5626 " if (argc E<lt> 2) {\n"
5627 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5628 " exit(EXIT_FAILURE);\n"
5631 " if (argc E<lt> 2) {\n"
5632 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5633 " exit(EXIT_FAILURE);\n"
5637 #: build/C/man3/strtol.3:233
5641 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5644 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5647 #: build/C/man3/strtol.3:236
5650 " errno = 0; /* To distinguish success/failure after call */\n"
5651 " val = strtol(str, &endptr, base);\n"
5653 " errno = 0; /* To distinguish success/failure after call */\n"
5654 " val = strtol(str, &endptr, base);\n"
5657 #: build/C/man3/strtol.3:238
5659 msgid " /* Check for various possible errors */\n"
5660 msgstr " /* Check for various possible errors */\n"
5663 #: build/C/man3/strtol.3:244
5666 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
5667 " || (errno != 0 && val == 0)) {\n"
5668 " perror(\"strtol\");\n"
5669 " exit(EXIT_FAILURE);\n"
5672 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
5673 " || (errno != 0 && val == 0)) {\n"
5674 " perror(\"strtol\");\n"
5675 " exit(EXIT_FAILURE);\n"
5679 #: build/C/man3/strtol.3:249
5682 " if (endptr == str) {\n"
5683 " fprintf(stderr, \"No digits were found\\en\");\n"
5684 " exit(EXIT_FAILURE);\n"
5687 " if (endptr == str) {\n"
5688 " fprintf(stderr, \"No digits were found\\en\");\n"
5689 " exit(EXIT_FAILURE);\n"
5693 #: build/C/man3/strtol.3:251
5695 msgid " /* If we got here, strtol() successfully parsed a number */\n"
5696 msgstr " /* If we got here, strtol() successfully parsed a number */\n"
5699 #: build/C/man3/strtol.3:253
5701 msgid " printf(\"strtol() returned %ld\\en\", val);\n"
5702 msgstr " printf(\"strtol() returned %ld\\en\", val);\n"
5705 #: build/C/man3/strtol.3:256
5708 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
5709 " printf(\"Further characters after number: %s\\en\", endptr);\n"
5711 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
5712 " printf(\"Further characters after number: %s\\en\", endptr);\n"
5715 #: build/C/man3/strtol.3:265
5716 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
5717 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
5720 #: build/C/man3/strtoul.3:31
5726 #: build/C/man3/strtoul.3:31
5732 #: build/C/man3/strtoul.3:34
5734 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
5735 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
5738 #: build/C/man3/strtoul.3:40
5740 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5741 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5744 #: build/C/man3/strtoul.3:43
5747 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5748 "B< int >I<base>B<);>\n"
5750 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5751 "B< int >I<base>B<);>\n"
5754 #: build/C/man3/strtoul.3:52
5755 msgid "B<strtoull>():"
5756 msgstr "B<strtoull>():"
5759 #: build/C/man3/strtoul.3:69
5761 "The B<strtoul>() function converts the initial part of the string in "
5762 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
5763 "which must be between 2 and 36 inclusive, or be the special value 0."
5765 "B<strtoul>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
5766 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
5767 "特別な意味を持つ値 0 でなければならない。"
5770 #: build/C/man3/strtoul.3:88
5772 "The remainder of the string is converted to an I<unsigned long int> value in "
5773 "the obvious manner, stopping at the first character which is not a valid "
5774 "digit in the given base. (In bases above 10, the letter \\(aqA\\(aq in "
5775 "either upper or lower case represents 10, \\(aqB\\(aq represents 11, and so "
5776 "forth, with \\(aqZ\\(aq representing 35.)"
5778 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
5779 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
5780 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
5784 #: build/C/man3/strtoul.3:100
5786 "If I<endptr> is not NULL, B<strtoul>() stores the address of the first "
5787 "invalid character in I<*endptr>. If there were no digits at all, B<strtoul>"
5788 "() stores the original value of I<nptr> in I<*endptr> (and returns 0). In "
5789 "particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
5790 "\\e0\\(aq on return, the entire string is valid."
5792 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>() は最初に不正な文字が現れ"
5793 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
5794 "ば、 B<strtoul>() は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
5795 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
5796 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
5799 #: build/C/man3/strtoul.3:108
5801 "The B<strtoull>() function works just like the B<strtoul>() function but "
5802 "returns an I<unsigned long long int> value."
5804 "B<strtoull>() 関数は B<strtoul>() 関数と同様だが、 I<unsigned long long "
5808 #: build/C/man3/strtoul.3:127
5810 "The B<strtoul>() function returns either the result of the conversion or, "
5811 "if there was a leading minus sign, the negation of the result of the "
5812 "conversion represented as an unsigned value, unless the original "
5813 "(nonnegated) value would overflow; in the latter case, B<strtoul>() returns "
5814 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>. Precisely the same holds for "
5815 "B<strtoull>() (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
5817 "B<strtoul>() 関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
5818 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
5819 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
5820 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
5821 "替えれば) B<strtoull>() は B<strtoul>() と全く同じである。"
5824 #: build/C/man3/strtoul.3:145
5826 "B<strtoul>() conforms to SVr4, C89, C99 and POSIX-2001, and B<strtoull>() "
5827 "to C99 and POSIX.1-2001."
5829 "B<strtoul>() は SVr4, C89, C99 と POSIX-2001 に準拠している。 B<strtoull>"
5830 "() は C99 と POSIX.1-2001 に準拠している。"
5833 #: build/C/man3/strtoul.3:159
5835 "Since B<strtoul>() can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
5836 "for B<strtoull>()) on both success and failure, the calling program should "
5837 "set I<errno> to 0 before the call, and then determine if an error occurred "
5838 "by checking whether I<errno> has a nonzero value after the call."
5840 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> (B<strtoull>"
5841 "() では B<ULLONG_MAX>) が返る可能性があるので、 プログラムは関数を呼び出す"
5842 "前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確"
5843 "認しエラーが発生したかどうかを判断する 必要がある。"
5846 #: build/C/man3/strtoul.3:163
5848 "In locales other than the \"C\" locale, other strings may be accepted. (For "
5849 "example, the thousands separator of the current locale may be supported.)"
5851 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
5852 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
5855 #: build/C/man3/strtoul.3:169
5857 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5858 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5861 #: build/C/man3/strtoul.3:178
5863 "with completely analogous definition. Depending on the wordsize of the "
5864 "current architecture, this may be equivalent to B<strtoull>() or to "
5867 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
5868 "であるが、この関数は B<strtoull>() や B<stroul>() と等価な場合もありえる。"
5871 #: build/C/man3/strtoul.3:183
5873 "Negative values are considered valid input and are silently converted to the "
5874 "equivalent I<unsigned long int> value."
5876 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
5880 #: build/C/man3/strtoul.3:193
5881 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
5882 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
5885 #: build/C/man3/system.3:28
5891 #: build/C/man3/system.3:28
5897 #: build/C/man3/system.3:31
5898 msgid "system - execute a shell command"
5899 msgstr "system - シェルコマンドの実行"
5902 #: build/C/man3/system.3:36
5904 msgid "B<int system(const char *>I<command>B<);>\n"
5905 msgstr "B<int system(const char *>I<command>B<);>\n"
5908 #: build/C/man3/system.3:52
5910 "B<system>() executes a command specified in I<command> by calling B</bin/sh "
5911 "-c> I<command>, and returns after the command has been completed. During "
5912 "execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> and "
5913 "B<SIGQUIT> will be ignored."
5915 "B<system>() は I<command> で指定したコマンドを B</bin/sh -c> I<command> の形"
5916 "で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド実行中"
5917 "は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視される。"
5920 #: build/C/man3/system.3:67
5922 "The value returned is -1 on error (e.g. B<fork>(2) failed), and the return "
5923 "status of the command otherwise. This latter return status is in the format "
5924 "specified in B<wait>(2). Thus, the exit code of the command will be "
5925 "I<WEXITSTATUS(status)>. In case I</bin/sh> could not be executed, the exit "
5926 "status will be that of a command that does I<exit(127)>."
5928 "エラーが発生した場合 (B<fork>(2) に失敗した場合など)、-1 を返す。 そうでなけ"
5929 "れば、コマンドのステータスを返す。 後者の場合、ステータスは B<wait>(2) で定"
5930 "義されているフォーマットで返ってくる。 従って、コマンドの終了コードは "
5931 "I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行出来なかった場"
5932 "合、 終了ステータスはコマンドが I<exit(127)> を実行した場合と同じになる。"
5935 #: build/C/man3/system.3:73
5937 "If the value of I<command> is NULL, B<system>() returns nonzero if the "
5938 "shell is available, and zero if not."
5940 "I<command> の値が NULL のときは、 B<system>() はシェルが利用可能ならゼロ以外"
5941 "の値を返し、利用不可ならゼロを返す。"
5944 #: build/C/man3/system.3:76
5945 msgid "B<system>() does not affect the wait status of any other children."
5946 msgstr "B<system>() は他の子プロセスのウエイトステータスには影響を与えない。"
5949 #: build/C/man3/system.3:78
5950 msgid "C89, C99, POSIX.1-2001."
5951 msgstr "C89, C99, POSIX.1-2001."
5954 #: build/C/man3/system.3:91
5956 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
5957 "I<any> header files), then the macros described in B<wait>(2) "
5958 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
5961 "(「どの」ヘッダファイルをインクルードするよりも前に) 機能検査マクロ "
5962 "B<_XOPEN_SOURCE> が定義された場合には、 B<wait>(2) で説明されているマクロ群 "
5963 "(B<WEXITSTATUS>() 等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可能"
5967 #: build/C/man3/system.3:102
5969 "As mentioned, B<system>() ignores B<SIGINT> and B<SIGQUIT>. This may make "
5970 "programs that call it from a loop uninterruptible, unless they take care "
5971 "themselves to check the exit status of the child. E.g."
5973 "既に述べたように、 B<system>() は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
5974 "てループから B<system>() を呼ぶプログラムは、 以下の例のように子プロセスの終"
5975 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
5978 #: build/C/man3/system.3:107
5981 " while (something) {\n"
5982 " int ret = system(\"foo\");\n"
5984 " while (something) {\n"
5985 " int ret = system(\"foo\");\n"
5988 #: build/C/man3/system.3:112
5991 " if (WIFSIGNALED(ret) &&\n"
5992 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5996 " if (WIFSIGNALED(ret) &&\n"
5997 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
6002 #: build/C/man3/system.3:132
6004 "Do not use B<system>() from a program with set-user-ID or set-group-ID "
6005 "privileges, because strange values for some environment variables might be "
6006 "used to subvert system integrity. Use the B<exec>(3) family of functions "
6007 "instead, but not B<execlp>(3) or B<execvp>(3). B<system>() will not, in "
6008 "fact, work properly from programs with set-user-ID or set-group-ID "
6009 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
6010 "drops privileges on startup. (Debian uses a modified bash which does not do "
6011 "this when invoked as B<sh>.)"
6013 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>() を"
6014 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
6015 "なわれるからである。代わりに B<exec>(3) 関連の関数群の中で B<execlp>(3) と "
6016 "B<execvp>(3) 以外の関数を使用すべきである。 実際のところ、 B<system>() は "
6017 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
6018 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
6019 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
6020 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
6024 #: build/C/man3/system.3:146
6026 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
6027 "sh> was not actually performed if I<command> was NULL; instead it was always "
6028 "assumed to be available, and B<system>() always returned 1 in this case. "
6029 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
6030 "requires a conforming implementation to provide a shell, that shell may not "
6031 "be available or executable if the calling program has previously called "
6032 "B<chroot>(2) (which is not specified by POSIX.1-2001)."
6034 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
6035 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
6036 "ていた。 B<system>() はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
6037 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
6038 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
6039 "B<system>() を呼び出すより前に (POSIX.1-2001 では規定されていない) "
6040 "B<chroot>(2) を呼び出していた時には、シェルが利用可能でない場合や実行可能"
6041 "ファイル でない場合があるからである。"
6044 #: build/C/man3/system.3:151
6046 "It is possible for the shell command to return 127, so that code is not a "
6047 "sure indication that the B<execve>(2) call failed."
6049 "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) を返"
6050 "すことも考えられる。 そのため、プログラムは (リターンコードを見るだけでは) "
6051 "B<execve>(2) の呼び出しが失敗したことを確実に知ることはできない。"
6054 #: build/C/man3/system.3:155
6055 msgid "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
6056 msgstr "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
6059 #: build/C/man3/wcstombs.3:14
6065 #: build/C/man3/wcstombs.3:14
6071 #: build/C/man3/wcstombs.3:17
6072 msgid "wcstombs - convert a wide-character string to a multibyte string"
6073 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
6076 #: build/C/man3/wcstombs.3:22
6078 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
6079 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
6082 #: build/C/man3/wcstombs.3:33
6084 "If I<dest> is not a NULL pointer, the B<wcstombs>() function converts the "
6085 "wide-character string I<src> to a multibyte string starting at I<dest>. At "
6086 "most I<n> bytes are written to I<dest>. The conversion starts in the "
6087 "initial state. The conversion can stop for three reasons:"
6089 "I<dest> が NULL ポインタでない場合、 B<wcstombs>() 関数は ワイド文字列 "
6090 "I<src> を I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大"
6091 "で I<n> バイトが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの"
6095 #: build/C/man3/wcstombs.3:39
6097 "1. A wide character has been encountered that can not be represented as a "
6098 "multibyte sequence (according to the current locale). In this case I<"
6099 "(size_t)\\ -1> is returned."
6101 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
6102 "場合。この場合には I<(size_t)\\ -1> が返される。"
6105 #: build/C/man3/wcstombs.3:43
6107 "2. The length limit forces a stop. In this case the number of bytes written "
6108 "to I<dest> is returned, but the shift state at this point is lost."
6110 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
6111 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
6114 #: build/C/man3/wcstombs.3:49
6116 "3. The wide-character string has been completely converted, including the "
6117 "terminating null wide character (L\\(aq\\e0\\(aq). In this case the "
6118 "conversion ends in the initial state. The number of bytes written to "
6119 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
6121 "3. ワイド文字列が終端の NULL ワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換された場合。\n"
6122 "この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト数を返す\n"
6123 "(終端の NULL バイト (\\(aq\\e0\\(aq) は含まれない)。"
6126 #: build/C/man3/wcstombs.3:52
6128 "The programmer must ensure that there is room for at least I<n> bytes at "
6131 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
6135 #: build/C/man3/wcstombs.3:56
6137 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
6138 "except that the converted bytes are not written out to memory, and that no "
6139 "length limit exists."
6141 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
6142 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
6145 #: build/C/man3/wcstombs.3:59
6147 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
6148 "greater or equal to I<wcstombs(NULL,src,0)+1>."
6150 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
6151 "src,0)+1> 以上であることを保証しなければならない。"
6154 #: build/C/man3/wcstombs.3:68
6156 "The B<wcstombs>() function returns the number of bytes that make up the "
6157 "converted part of multibyte sequence, not including the terminating null "
6158 "byte. If a wide character was encountered which could not be converted, I<"
6159 "(size_t)\\ -1> is returned."
6161 "B<wcstombs>() 関数は生成したマルチバイト列のバイト数を返す。終端の ナル文字"
6162 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
6166 #: build/C/man3/wcstombs.3:77
6168 "The behavior of B<wcstombs>() depends on the B<LC_CTYPE> category of the "
6171 "B<wcstombs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
6174 #: build/C/man3/wcstombs.3:82
6176 "The function B<wcsrtombs>(3) provides a thread safe interface to the same "
6179 "B<wcsrtombs>() 関数は同じ機能のためのスレッド・セーフな インターフェースを提"
6183 #: build/C/man3/wcstombs.3:84
6184 msgid "B<mbstowcs>(3), B<wcsrtombs>(3)"
6185 msgstr "B<mbstowcs>(3), B<wcsrtombs>(3)"
6188 #: build/C/man3/wctomb.3:14
6194 #: build/C/man3/wctomb.3:17
6195 msgid "wctomb - convert a wide character to a multibyte sequence"
6196 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
6199 #: build/C/man3/wctomb.3:22
6201 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
6202 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
6205 #: build/C/man3/wctomb.3:36
6207 "If I<s> is not NULL, the B<wctomb>() function converts the wide character "
6208 "I<wc> to its multibyte representation and stores it at the beginning of the "
6209 "character array pointed to by I<s>. It updates the shift state, which is "
6210 "stored in a static anonymous variable only known to the wctomb function, and "
6211 "returns the length of said multibyte representation, that is, the number of "
6212 "bytes written at I<s>."
6214 "I<s> が NULL でなければ、 B<wctomb>() 関数はワイド文字 I<wc> を マルチバイト"
6215 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
6216 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
6217 "なわち I<s> に書き込まれた バイト数を返す。"
6220 #: build/C/man3/wctomb.3:40
6222 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
6225 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
6228 #. The Dinkumware doc and the Single UNIX specification say this, but
6229 #. glibc doesn't implement this.
6231 #: build/C/man3/wctomb.3:50
6233 "If I<s> is NULL, the B<wctomb>() function resets the shift state, only "
6234 "known to this function, to the initial state, and returns nonzero if the "
6235 "encoding has nontrivial shift state, or zero if the encoding is stateless."
6237 "I<s> が NULL ならば、 B<wctomb>() 関数は自分のみが使用するシフト状態を 初期"
6238 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
6242 #: build/C/man3/wctomb.3:59
6244 "If I<s> is not NULL, the B<wctomb>() function returns the number of bytes "
6245 "that have been written to the byte array at I<s>. If I<wc> can not be "
6246 "represented as a multibyte sequence (according to the current locale), -1 is "
6249 "I<s> が NULL でない場合 B<wctomb>() 関数はバイト配列 I<s> に 書き込まれたバ"
6250 "イト数を返す。I<wc> が(現在のロケールにおいて) マルチバイト列で表現できない"
6254 #: build/C/man3/wctomb.3:64
6256 "If I<s> is NULL, the B<wctomb>() function returns nonzero if the encoding "
6257 "has nontrivial shift state, or zero if the encoding is stateless."
6259 "I<s> が NULL の場合 B<wctomb>() 関数は文字符号がシフト状態に 依存している場"
6260 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
6263 #: build/C/man3/wctomb.3:73
6265 "The behavior of B<wctomb>() depends on the B<LC_CTYPE> category of the "
6268 "B<wctomb>() 関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
6272 #: build/C/man3/wctomb.3:79
6274 "This function is not multithread safe. The function B<wcrtomb>(3) provides "
6275 "a better interface to the same functionality."
6277 "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3) 関数は 同じ機能のよ"
6281 #: build/C/man3/wctomb.3:82
6282 msgid "B<MB_CUR_MAX>(3), B<wcrtomb>(3), B<wcstombs>(3)"
6283 msgstr "B<MB_CUR_MAX>(3), B<wcrtomb>(3), B<wcstombs>(3)"
6286 #~ msgstr "この文書について"
6290 #~| "This page is part of release 3.37 of the Linux I<man-pages> project. A "
6291 #~| "description of the project, and information about reporting bugs, can be "
6292 #~| "found at http://www.kernel.org/doc/man-pages/."
6294 #~ "This page is part of release 3.38 of the Linux I<man-pages> project. A "
6295 #~ "description of the project, and information about reporting bugs, can be "
6296 #~ "found at http://www.kernel.org/doc/man-pages/."
6298 #~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部で"
6300 #~ "プロジェクトの説明とバグ報告に関する情報は\n"
6301 #~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
6304 #~ "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x) "
6305 #~ "include a B<malloc>() implementation which is tunable via environment "
6306 #~ "variables. When B<MALLOC_CHECK_> is set, a special (less efficient) "
6307 #~ "implementation is used which is designed to be tolerant against simple "
6308 #~ "errors, such as double calls of B<free>() with the same argument, or "
6309 #~ "overruns of a single byte (off-by-one bugs). Not all such errors can be "
6310 #~ "protected against, however, and memory leaks can result. If "
6311 #~ "B<MALLOC_CHECK_> is set to 0, any detected heap corruption is silently "
6312 #~ "ignored; if set to 1, a diagnostic message is printed on I<stderr>; if "
6313 #~ "set to 2, B<abort>(3) is called immediately; if set to 3, a diagnostic "
6314 #~ "message is printed on I<stderr> and the program is aborted. Using a "
6315 #~ "nonzero B<MALLOC_CHECK_> value can be useful because otherwise a crash "
6316 #~ "may happen much later, and the true cause for the problem is then very "
6317 #~ "hard to track down."
6319 #~ "最近のバージョンの Linux libc (5.4.23 以降) と glibc (2.x) では、 "
6320 #~ "B<malloc>() の動作を環境変数によって制御できるような実装がされている。 "
6321 #~ "B<MALLOC_CHECK_> が設定されていると、特殊な実装が用いられ、 単純なエラーに"
6322 #~ "は耐えることができるようになる (効率は悪くなる)。例えば、 B<free>() を同"
6323 #~ "じ引き数で二度呼び出してしまう、 1 バイトだけ行きすぎてしまう (off-by-one "
6324 #~ "バグ) などがこれに当たる。 しかし、これらのエラーの全てを防ぐことができる"
6325 #~ "わけではなく、 その場合にはメモリリークが起こってしまう。 "
6326 #~ "B<MALLOC_CHECK_> が 0 にセットされていると、ヒープの破壊を黙って無視す"
6327 #~ "る。 1 にセットされていると、診断メッセージが標準エラー出力に表示される。 "
6328 #~ "2 にセットされていると、ただちに B<abort>(3) が呼び出される。 3 にセット"
6329 #~ "されていると、診断メッセージが標準エラー出力に表示され、 プログラムは強制"
6330 #~ "終了 (abort) される。 B<MALLOC_CHECK_> に 0 以外の値をセットして役に立つ状"
6331 #~ "況としては、 実際のプロセスのクラッシュがずっと後に起こり、 本当の原因を探"
6332 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"
6334 #~ msgid "2009-01-13"
6335 #~ msgstr "2009-01-13"
6337 #~ msgid "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
6338 #~ msgstr "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
6340 #~ msgid "B<void *malloc(size_t >I<size>B<);>\n"
6341 #~ msgstr "B<void *malloc(size_t >I<size>B<);>\n"
6343 #~ msgid "B<void free(void >I<*ptr>B<);>\n"
6344 #~ msgstr "B<void free(void >I<*ptr>B<);>\n"
6346 #~ msgid "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
6347 #~ msgstr "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
6349 #~ msgid "#B< echo 2 E<gt> /proc/sys/vm/overcommit_memory>\n"
6350 #~ msgstr "#B< echo 2 E<gt> /proc/sys/vm/overcommit_memory>\n"
6353 #~ "See also the kernel Documentation directory, files I<vm/overcommit-"
6354 #~ "accounting> and I<sysctl/vm.txt>."
6356 #~ "カーネルの付属文書の I<vm/overcommit-accounting> と I<sysctl/vm.txt> も参"
6359 #~ msgid "2008-06-19"
6360 #~ msgstr "2008-06-19"
6363 #~ "B<mkstemp>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
6365 #~ "B<mkstemp>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
6367 #~ msgid "B<mkostemp>() is available since glibc 2.7."
6368 #~ msgstr "B<mkostemp>() は glibc 2.7 以降で利用可能である。"
6370 #~ msgid "2008-08-29"
6371 #~ msgstr "2008-08-29"