OSDN Git Service

Unwrap ja.po to simplify upcoming replacements
[linuxjm/LDP_man-pages.git] / po4a / string / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10 "PO-Revision-Date: 2015-01-23 22:37+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/bcmp.3:31
20 #, no-wrap
21 msgid "BCMP"
22 msgstr "BCMP"
23
24 #. type: TH
25 #: build/C/man3/bcmp.3:31
26 #, no-wrap
27 msgid "2013-10-21"
28 msgstr "2013-10-21"
29
30 #. type: TH
31 #: build/C/man3/bcmp.3:31 build/C/man3/bcopy.3:33 build/C/man3/bzero.3:31
32 #, no-wrap
33 msgid "Linux"
34 msgstr "Linux"
35
36 #. type: TH
37 #: build/C/man3/bcmp.3:31 build/C/man3/bcopy.3:33 build/C/man3/bstring.3:32
38 #: build/C/man3/bzero.3:31 build/C/man3/ffs.3:33 build/C/man3/index.3:31
39 #: build/C/man3/memccpy.3:30 build/C/man3/memchr.3:32 build/C/man3/memcmp.3:30
40 #: build/C/man3/memcpy.3:30 build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30
41 #: build/C/man3/memmove.3:30 build/C/man3/mempcpy.3:10
42 #: build/C/man3/memset.3:30 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14
43 #: build/C/man3/strcasecmp.3:30 build/C/man3/strcat.3:32
44 #: build/C/man3/strchr.3:33 build/C/man3/strcmp.3:32 build/C/man3/strcoll.3:30
45 #: build/C/man3/strcpy.3:35 build/C/man3/strdup.3:31
46 #: build/C/man3/strerror.3:39 build/C/man3/strfry.3:30
47 #: build/C/man3/string.3:30 build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13
48 #: build/C/man3/strpbrk.3:30 build/C/man3/strsep.3:33
49 #: build/C/man3/strsignal.3:30 build/C/man3/strspn.3:30
50 #: build/C/man3/strstr.3:33 build/C/man3/strtok.3:32
51 #: build/C/man3/strverscmp.3:25 build/C/man3/strxfrm.3:30
52 #, no-wrap
53 msgid "Linux Programmer's Manual"
54 msgstr "Linux Programmer's Manual"
55
56 #. type: SH
57 #: build/C/man3/bcmp.3:32 build/C/man3/bcopy.3:34 build/C/man3/bstring.3:33
58 #: build/C/man3/bzero.3:32 build/C/man3/ffs.3:34 build/C/man3/index.3:32
59 #: build/C/man3/memccpy.3:31 build/C/man3/memchr.3:33 build/C/man3/memcmp.3:31
60 #: build/C/man3/memcpy.3:31 build/C/man3/memfrob.3:31 build/C/man3/memmem.3:31
61 #: build/C/man3/memmove.3:31 build/C/man3/mempcpy.3:11
62 #: build/C/man3/memset.3:31 build/C/man3/stpcpy.3:26 build/C/man3/stpncpy.3:15
63 #: build/C/man3/strcasecmp.3:31 build/C/man3/strcat.3:33
64 #: build/C/man3/strchr.3:34 build/C/man3/strcmp.3:33 build/C/man3/strcoll.3:31
65 #: build/C/man3/strcpy.3:36 build/C/man3/strdup.3:32
66 #: build/C/man3/strerror.3:40 build/C/man3/strfry.3:31
67 #: build/C/man3/string.3:31 build/C/man3/strlen.3:31 build/C/man3/strnlen.3:14
68 #: build/C/man3/strpbrk.3:31 build/C/man3/strsep.3:34
69 #: build/C/man3/strsignal.3:31 build/C/man3/strspn.3:31
70 #: build/C/man3/strstr.3:34 build/C/man3/strtok.3:33
71 #: build/C/man3/strverscmp.3:26 build/C/man3/strxfrm.3:31
72 #, no-wrap
73 msgid "NAME"
74 msgstr "名前"
75
76 #. type: Plain text
77 #: build/C/man3/bcmp.3:34
78 msgid "bcmp - compare byte sequences"
79 msgstr "bcmp - バイト列を比較する"
80
81 #. type: SH
82 #: build/C/man3/bcmp.3:34 build/C/man3/bcopy.3:36 build/C/man3/bstring.3:36
83 #: build/C/man3/bzero.3:34 build/C/man3/ffs.3:36 build/C/man3/index.3:34
84 #: build/C/man3/memccpy.3:33 build/C/man3/memchr.3:35 build/C/man3/memcmp.3:33
85 #: build/C/man3/memcpy.3:33 build/C/man3/memfrob.3:33 build/C/man3/memmem.3:33
86 #: build/C/man3/memmove.3:33 build/C/man3/mempcpy.3:13
87 #: build/C/man3/memset.3:33 build/C/man3/stpcpy.3:28 build/C/man3/stpncpy.3:17
88 #: build/C/man3/strcasecmp.3:33 build/C/man3/strcat.3:35
89 #: build/C/man3/strchr.3:36 build/C/man3/strcmp.3:35 build/C/man3/strcoll.3:33
90 #: build/C/man3/strcpy.3:38 build/C/man3/strdup.3:34
91 #: build/C/man3/strerror.3:42 build/C/man3/strfry.3:33
92 #: build/C/man3/string.3:36 build/C/man3/strlen.3:33 build/C/man3/strnlen.3:16
93 #: build/C/man3/strpbrk.3:33 build/C/man3/strsep.3:36
94 #: build/C/man3/strsignal.3:33 build/C/man3/strspn.3:33
95 #: build/C/man3/strstr.3:36 build/C/man3/strtok.3:35
96 #: build/C/man3/strverscmp.3:28 build/C/man3/strxfrm.3:33
97 #, no-wrap
98 msgid "SYNOPSIS"
99 msgstr "書式"
100
101 #. type: Plain text
102 #: build/C/man3/bcmp.3:37 build/C/man3/bcopy.3:39 build/C/man3/bzero.3:37
103 #: build/C/man3/ffs.3:39 build/C/man3/index.3:37 build/C/man3/strcasecmp.3:36
104 #, no-wrap
105 msgid "B<#include E<lt>strings.hE<gt>>\n"
106 msgstr "B<#include E<lt>strings.hE<gt>>\n"
107
108 #. type: Plain text
109 #: build/C/man3/bcmp.3:39 build/C/man3/bstring.3:41
110 #, no-wrap
111 msgid "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
112 msgstr "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
113
114 #. type: SH
115 #: build/C/man3/bcmp.3:40 build/C/man3/bcopy.3:42 build/C/man3/bstring.3:63
116 #: build/C/man3/bzero.3:40 build/C/man3/ffs.3:74 build/C/man3/index.3:42
117 #: build/C/man3/memccpy.3:39 build/C/man3/memchr.3:54 build/C/man3/memcmp.3:39
118 #: build/C/man3/memcpy.3:39 build/C/man3/memfrob.3:40 build/C/man3/memmem.3:41
119 #: build/C/man3/memmove.3:39 build/C/man3/mempcpy.3:27
120 #: build/C/man3/memset.3:39 build/C/man3/stpcpy.3:53 build/C/man3/stpncpy.3:42
121 #: build/C/man3/strcasecmp.3:41 build/C/man3/strcat.3:43
122 #: build/C/man3/strchr.3:49 build/C/man3/strcmp.3:43 build/C/man3/strcoll.3:39
123 #: build/C/man3/strcpy.3:46 build/C/man3/strdup.3:77
124 #: build/C/man3/strerror.3:72 build/C/man3/strfry.3:41
125 #: build/C/man3/string.3:204 build/C/man3/strlen.3:39
126 #: build/C/man3/strnlen.3:41 build/C/man3/strpbrk.3:39
127 #: build/C/man3/strsep.3:50 build/C/man3/strsignal.3:60
128 #: build/C/man3/strspn.3:41 build/C/man3/strstr.3:48 build/C/man3/strtok.3:54
129 #: build/C/man3/strverscmp.3:36 build/C/man3/strxfrm.3:39
130 #, no-wrap
131 msgid "DESCRIPTION"
132 msgstr "説明"
133
134 #. type: Plain text
135 #: build/C/man3/bcmp.3:56
136 msgid "The B<bcmp>()  function compares the two byte sequences I<s1> and I<s2> of length I<n> each.  If they are equal, and in particular if I<n> is zero, B<bcmp>()  returns 0.  Otherwise, it returns a nonzero result."
137 msgstr "B<bcmp>()  は、2 つのバイト列 I<s1> と I<s2> の先頭 I<n> バイトを 比較する。2 つが等しいか、特に I<n> が 0 の場合 B<bcmp>()  は 0 を返す。 さもなければ 0 以外を返す。"
138
139 #. type: SH
140 #: build/C/man3/bcmp.3:56 build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48
141 #: build/C/man3/ffs.3:87 build/C/man3/index.3:55 build/C/man3/memccpy.3:55
142 #: build/C/man3/memchr.3:105 build/C/man3/memcmp.3:45 build/C/man3/memcpy.3:48
143 #: build/C/man3/memfrob.3:53 build/C/man3/memmem.3:54
144 #: build/C/man3/memmove.3:57 build/C/man3/mempcpy.3:53
145 #: build/C/man3/memset.3:49 build/C/man3/stpcpy.3:63 build/C/man3/stpncpy.3:82
146 #: build/C/man3/strcasecmp.3:63 build/C/man3/strcat.3:123
147 #: build/C/man3/strchr.3:81 build/C/man3/strcmp.3:66 build/C/man3/strcoll.3:58
148 #: build/C/man3/strcpy.3:108 build/C/man3/strdup.3:111
149 #: build/C/man3/strerror.3:160 build/C/man3/strfry.3:52
150 #: build/C/man3/strlen.3:45 build/C/man3/strnlen.3:58
151 #: build/C/man3/strpbrk.3:47 build/C/man3/strsep.3:73
152 #: build/C/man3/strsignal.3:77 build/C/man3/strspn.3:57
153 #: build/C/man3/strstr.3:62 build/C/man3/strtok.3:162
154 #: build/C/man3/strverscmp.3:81 build/C/man3/strxfrm.3:62
155 #, no-wrap
156 msgid "RETURN VALUE"
157 msgstr "返り値"
158
159 #. type: Plain text
160 #: build/C/man3/bcmp.3:61
161 msgid "The B<bcmp>()  function returns 0 if the byte sequences are equal, otherwise a nonzero result is returned."
162 msgstr "バイト列が等しい場合は 0 、等しくない場合は 0 以外を返す。"
163
164 #. type: SH
165 #: build/C/man3/bcmp.3:61 build/C/man3/bcopy.3:54 build/C/man3/bzero.3:50
166 #: build/C/man3/ffs.3:91 build/C/man3/index.3:62 build/C/man3/memccpy.3:70
167 #: build/C/man3/memchr.3:124 build/C/man3/memcmp.3:64 build/C/man3/memcpy.3:52
168 #: build/C/man3/memfrob.3:58 build/C/man3/memmem.3:59
169 #: build/C/man3/memmove.3:62 build/C/man3/mempcpy.3:60
170 #: build/C/man3/memset.3:54 build/C/man3/stpcpy.3:71 build/C/man3/stpncpy.3:91
171 #: build/C/man3/strcat.3:130 build/C/man3/strchr.3:107
172 #: build/C/man3/strcmp.3:79 build/C/man3/strcpy.3:116
173 #: build/C/man3/strerror.3:202 build/C/man3/strlen.3:50
174 #: build/C/man3/strnlen.3:71 build/C/man3/strpbrk.3:56
175 #: build/C/man3/strsep.3:79 build/C/man3/strspn.3:74 build/C/man3/strstr.3:65
176 #: build/C/man3/strtok.3:169
177 #, no-wrap
178 msgid "ATTRIBUTES"
179 msgstr "属性"
180
181 #. type: SS
182 #: build/C/man3/bcmp.3:62 build/C/man3/bcopy.3:55 build/C/man3/bzero.3:51
183 #: build/C/man3/ffs.3:92 build/C/man3/index.3:63 build/C/man3/memccpy.3:71
184 #: build/C/man3/memchr.3:125 build/C/man3/memcmp.3:65 build/C/man3/memcpy.3:53
185 #: build/C/man3/memfrob.3:59 build/C/man3/memmem.3:60
186 #: build/C/man3/memmove.3:63 build/C/man3/mempcpy.3:61
187 #: build/C/man3/memset.3:55 build/C/man3/stpcpy.3:72 build/C/man3/stpncpy.3:92
188 #: build/C/man3/strcat.3:131 build/C/man3/strchr.3:108
189 #: build/C/man3/strcmp.3:80 build/C/man3/strcpy.3:117
190 #: build/C/man3/strerror.3:203 build/C/man3/strlen.3:51
191 #: build/C/man3/strnlen.3:72 build/C/man3/strpbrk.3:57
192 #: build/C/man3/strsep.3:80 build/C/man3/strspn.3:75 build/C/man3/strstr.3:66
193 #: build/C/man3/strtok.3:170
194 #, no-wrap
195 msgid "Multithreading (see pthreads(7))"
196 msgstr "マルチスレッディング (pthreads(7) 参照)"
197
198 #. type: Plain text
199 #: build/C/man3/bcmp.3:66
200 msgid "The B<bcmp>()  function is thread-safe."
201 msgstr "B<bcmp>() 関数はスレッドセーフである。"
202
203 #. type: SH
204 #: build/C/man3/bcmp.3:66 build/C/man3/bcopy.3:59 build/C/man3/bzero.3:55
205 #: build/C/man3/ffs.3:99 build/C/man3/index.3:69 build/C/man3/memccpy.3:75
206 #: build/C/man3/memchr.3:132 build/C/man3/memcmp.3:69 build/C/man3/memcpy.3:57
207 #: build/C/man3/memfrob.3:63 build/C/man3/memmem.3:64
208 #: build/C/man3/memmove.3:67 build/C/man3/mempcpy.3:67
209 #: build/C/man3/memset.3:59 build/C/man3/stpcpy.3:76 build/C/man3/stpncpy.3:96
210 #: build/C/man3/strcasecmp.3:76 build/C/man3/strcat.3:137
211 #: build/C/man3/strchr.3:115 build/C/man3/strcmp.3:86
212 #: build/C/man3/strcoll.3:69 build/C/man3/strcpy.3:123
213 #: build/C/man3/strdup.3:123 build/C/man3/strerror.3:216
214 #: build/C/man3/strfry.3:57 build/C/man3/strlen.3:55 build/C/man3/strnlen.3:76
215 #: build/C/man3/strpbrk.3:61 build/C/man3/strsep.3:84
216 #: build/C/man3/strsignal.3:84 build/C/man3/strspn.3:81
217 #: build/C/man3/strstr.3:77 build/C/man3/strtok.3:178
218 #: build/C/man3/strverscmp.3:90 build/C/man3/strxfrm.3:76
219 #, no-wrap
220 msgid "CONFORMING TO"
221 msgstr "準拠"
222
223 #. type: Plain text
224 #: build/C/man3/bcmp.3:73
225 msgid "4.3BSD.  This function is deprecated (marked as LEGACY in POSIX.1-2001): use B<memcmp>(3)  in new programs.  POSIX.1-2008 removes the specification of B<bcmp>()."
226 msgstr "4.3BSD.  この関数は廃止予定である (POSIX.1-2001 では 過去の名残 (LEGACY) とされている)。新しいプログラムでは B<memcmp>(3)  を使うべきである。 POSIX.1-2008 では B<bcmp>()  の仕様が削除されている。"
227
228 #. type: SH
229 #: build/C/man3/bcmp.3:73 build/C/man3/bcopy.3:73 build/C/man3/bstring.3:82
230 #: build/C/man3/bzero.3:62 build/C/man3/ffs.3:111 build/C/man3/index.3:80
231 #: build/C/man3/memccpy.3:77 build/C/man3/memchr.3:144
232 #: build/C/man3/memcmp.3:82 build/C/man3/memcpy.3:59 build/C/man3/memfrob.3:68
233 #: build/C/man3/memmem.3:91 build/C/man3/memmove.3:69
234 #: build/C/man3/mempcpy.3:80 build/C/man3/memset.3:61
235 #: build/C/man3/stpcpy.3:115 build/C/man3/stpncpy.3:100
236 #: build/C/man3/strcasecmp.3:92 build/C/man3/strcat.3:176
237 #: build/C/man3/strchr.3:122 build/C/man3/strcmp.3:88
238 #: build/C/man3/strcoll.3:80 build/C/man3/strcpy.3:226
239 #: build/C/man3/strdup.3:133 build/C/man3/strerror.3:248
240 #: build/C/man3/strfry.3:62 build/C/man3/string.3:208 build/C/man3/strlen.3:57
241 #: build/C/man3/strnlen.3:78 build/C/man3/strpbrk.3:63
242 #: build/C/man3/strsep.3:104 build/C/man3/strsignal.3:87
243 #: build/C/man3/strspn.3:83 build/C/man3/strstr.3:96 build/C/man3/strtok.3:268
244 #: build/C/man3/strverscmp.3:92 build/C/man3/strxfrm.3:88
245 #, no-wrap
246 msgid "SEE ALSO"
247 msgstr "関連項目"
248
249 #. type: Plain text
250 #: build/C/man3/bcmp.3:80
251 msgid "B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>(3), B<strncmp>(3)"
252 msgstr "B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>(3), B<strncmp>(3)"
253
254 #. type: SH
255 #: build/C/man3/bcmp.3:80 build/C/man3/bcopy.3:79 build/C/man3/bstring.3:94
256 #: build/C/man3/bzero.3:65 build/C/man3/ffs.3:113 build/C/man3/index.3:90
257 #: build/C/man3/memccpy.3:83 build/C/man3/memchr.3:156
258 #: build/C/man3/memcmp.3:90 build/C/man3/memcpy.3:67 build/C/man3/memfrob.3:70
259 #: build/C/man3/memmem.3:93 build/C/man3/memmove.3:76
260 #: build/C/man3/mempcpy.3:85 build/C/man3/memset.3:65
261 #: build/C/man3/stpcpy.3:124 build/C/man3/stpncpy.3:103
262 #: build/C/man3/strcasecmp.3:101 build/C/man3/strcat.3:185
263 #: build/C/man3/strchr.3:135 build/C/man3/strcmp.3:98
264 #: build/C/man3/strcoll.3:88 build/C/man3/strcpy.3:237
265 #: build/C/man3/strdup.3:141 build/C/man3/strerror.3:255
266 #: build/C/man3/strfry.3:65 build/C/man3/string.3:233 build/C/man3/strlen.3:62
267 #: build/C/man3/strnlen.3:80 build/C/man3/strpbrk.3:74
268 #: build/C/man3/strsep.3:114 build/C/man3/strsignal.3:90
269 #: build/C/man3/strspn.3:95 build/C/man3/strstr.3:109
270 #: build/C/man3/strtok.3:279 build/C/man3/strverscmp.3:97
271 #: build/C/man3/strxfrm.3:96
272 #, no-wrap
273 msgid "COLOPHON"
274 msgstr "この文書について"
275
276 #. type: Plain text
277 #: build/C/man3/bcmp.3:88 build/C/man3/bcopy.3:87 build/C/man3/bstring.3:102
278 #: build/C/man3/bzero.3:73 build/C/man3/ffs.3:121 build/C/man3/index.3:98
279 #: build/C/man3/memccpy.3:91 build/C/man3/memchr.3:164
280 #: build/C/man3/memcmp.3:98 build/C/man3/memcpy.3:75 build/C/man3/memfrob.3:78
281 #: build/C/man3/memmem.3:101 build/C/man3/memmove.3:84
282 #: build/C/man3/mempcpy.3:93 build/C/man3/memset.3:73
283 #: build/C/man3/stpcpy.3:132 build/C/man3/stpncpy.3:111
284 #: build/C/man3/strcasecmp.3:109 build/C/man3/strcat.3:193
285 #: build/C/man3/strchr.3:143 build/C/man3/strcmp.3:106
286 #: build/C/man3/strcoll.3:96 build/C/man3/strcpy.3:245
287 #: build/C/man3/strdup.3:149 build/C/man3/strerror.3:263
288 #: build/C/man3/strfry.3:73 build/C/man3/string.3:241 build/C/man3/strlen.3:70
289 #: build/C/man3/strnlen.3:88 build/C/man3/strpbrk.3:82
290 #: build/C/man3/strsep.3:122 build/C/man3/strsignal.3:98
291 #: build/C/man3/strspn.3:103 build/C/man3/strstr.3:117
292 #: build/C/man3/strtok.3:287 build/C/man3/strverscmp.3:105
293 #: build/C/man3/strxfrm.3:104
294 msgid "This page is part of release 3.78 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
295 msgstr ""
296 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
297 "である。プロジェクトの説明とバグ報告に関する情報は\n"
298 "http://www.kernel.org/doc/man-pages/ に書かれている。"
299
300 #. type: TH
301 #: build/C/man3/bcopy.3:33
302 #, no-wrap
303 msgid "BCOPY"
304 msgstr "BCOPY"
305
306 #. type: TH
307 #: build/C/man3/bcopy.3:33 build/C/man3/bzero.3:31
308 #, no-wrap
309 msgid "2013-10-22"
310 msgstr "2013-10-22"
311
312 #. type: Plain text
313 #: build/C/man3/bcopy.3:36
314 msgid "bcopy - copy byte sequence"
315 msgstr "bcopy - バイト列をコピーする"
316
317 #. type: Plain text
318 #: build/C/man3/bcopy.3:41 build/C/man3/bstring.3:43
319 #, no-wrap
320 msgid "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, size_t >I<n>B<);>\n"
321 msgstr "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, size_t >I<n>B<);>\n"
322
323 #. type: Plain text
324 #: build/C/man3/bcopy.3:52
325 msgid "The B<bcopy>()  function copies I<n> bytes from I<src> to I<dest>.  The result is correct, even when both areas overlap."
326 msgstr "B<bcopy>()  は I<src> から先頭 I<n> バイトを I<dest> にコピーする。 領域が重なっていても、結果は正しいものである。"
327
328 #. type: Plain text
329 #: build/C/man3/bcopy.3:54 build/C/man3/bzero.3:50
330 msgid "None."
331 msgstr "なし。"
332
333 #. type: Plain text
334 #: build/C/man3/bcopy.3:59
335 msgid "The B<bcopy>()  function is thread-safe."
336 msgstr "B<bcopy>() 関数はスレッドセーフである。"
337
338 #. type: Plain text
339 #: build/C/man3/bcopy.3:73
340 msgid "4.3BSD.  This function is deprecated (marked as LEGACY in POSIX.1-2001): use B<memcpy>(3)  or B<memmove>(3)  in new programs.  Note that the first two arguments are interchanged for B<memcpy>(3)  and B<memmove>(3).  POSIX.1-2008 removes the specification of B<bcopy>()."
341 msgstr "4.3BSD.  この関数は廃止予定である (POSIX.1-2001 では 過去の名残 (LEGACY) とされている)。新しいプログラムでは B<memcpy>()  や B<memmove>()  を使用すべきである。 B<memcpy>()  や B<memmove>()  では、最初の 2 つの引数の順序が入れ替わっていることに注意すること。 POSIX.1-2008 では、 B<bcopy>()  の仕様が削除されている。"
342
343 #. type: Plain text
344 #: build/C/man3/bcopy.3:79
345 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
346 msgstr "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
347
348 #. type: TH
349 #: build/C/man3/bstring.3:32
350 #, no-wrap
351 msgid "BSTRING"
352 msgstr "BSTRING"
353
354 #. type: TH
355 #: build/C/man3/bstring.3:32
356 #, no-wrap
357 msgid "2014-05-28"
358 msgstr "2014-05-28"
359
360 #. type: Plain text
361 #: build/C/man3/bstring.3:36
362 msgid "bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem, memmove, memset - byte string operations"
363 msgstr "bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem, memmove, memset - バイト列の操作を行なう"
364
365 #. type: Plain text
366 #: build/C/man3/bstring.3:39 build/C/man3/ffs.3:43 build/C/man3/memccpy.3:36
367 #: build/C/man3/memchr.3:38 build/C/man3/memcmp.3:36 build/C/man3/memcpy.3:36
368 #: build/C/man3/memmove.3:36 build/C/man3/mempcpy.3:18
369 #: build/C/man3/memset.3:36 build/C/man3/stpcpy.3:31 build/C/man3/stpncpy.3:20
370 #: build/C/man3/strcat.3:38 build/C/man3/strchr.3:39 build/C/man3/strcmp.3:38
371 #: build/C/man3/strcoll.3:36 build/C/man3/strcpy.3:41 build/C/man3/strdup.3:37
372 #: build/C/man3/strerror.3:45 build/C/man3/strfry.3:38
373 #: build/C/man3/strlen.3:36 build/C/man3/strnlen.3:19
374 #: build/C/man3/strpbrk.3:36 build/C/man3/strsep.3:39
375 #: build/C/man3/strsignal.3:36 build/C/man3/strspn.3:36
376 #: build/C/man3/strstr.3:39 build/C/man3/strstr.3:45 build/C/man3/strtok.3:38
377 #: build/C/man3/strverscmp.3:33 build/C/man3/strxfrm.3:36
378 #, no-wrap
379 msgid "B<#include E<lt>string.hE<gt>>\n"
380 msgstr "B<#include E<lt>string.hE<gt>>\n"
381
382 #. type: Plain text
383 #: build/C/man3/bstring.3:45 build/C/man3/bzero.3:39
384 #, no-wrap
385 msgid "B<void bzero(void *>I<s>B<, size_t >I<n>B<);>\n"
386 msgstr "B<void bzero(void *>I<s>B<, size_t >I<n>B<);>\n"
387
388 #. type: Plain text
389 #: build/C/man3/bstring.3:47 build/C/man3/memccpy.3:38
390 #, no-wrap
391 msgid "B<void *memccpy(void *>I<dest>B<, const void *>I<src>B<, int >I<c>B<, size_t >I<n>B<);>\n"
392 msgstr "B<void *memccpy(void *>I<dest>B<, const void *>I<src>B<, int >I<c>B<, size_t >I<n>B<);>\n"
393
394 #. type: Plain text
395 #: build/C/man3/bstring.3:49 build/C/man3/memchr.3:40
396 #, no-wrap
397 msgid "B<void *memchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
398 msgstr "B<void *memchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
399
400 #. type: Plain text
401 #: build/C/man3/bstring.3:51 build/C/man3/memcmp.3:38
402 #, no-wrap
403 msgid "B<int memcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
404 msgstr "B<int memcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
405
406 #. type: Plain text
407 #: build/C/man3/bstring.3:53 build/C/man3/memcpy.3:38
408 #, no-wrap
409 msgid "B<void *memcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
410 msgstr "B<void *memcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
411
412 #. type: Plain text
413 #: build/C/man3/bstring.3:55 build/C/man3/memfrob.3:39
414 #, no-wrap
415 msgid "B<void *memfrob(void *>I<s>B<, size_t >I<n>B<);>\n"
416 msgstr "B<void *memfrob(void *>I<s>B<, size_t >I<n>B<);>\n"
417
418 #. type: Plain text
419 #: build/C/man3/bstring.3:58
420 #, no-wrap
421 msgid ""
422 "B<void *memmem(const void *>I<needle>B<, size_t >I<needlelen>B<,>\n"
423 "B<             const void *>I<haystack>B<, size_t >I<haystacklen>B<);>\n"
424 msgstr ""
425 "B<void *memmem(const void *>I<needle>B<, size_t >I<needlelen>B<,>\n"
426 "B<             const void *>I<haystack>B<, size_t >I<haystacklen>B<);>\n"
427
428 #. type: Plain text
429 #: build/C/man3/bstring.3:60 build/C/man3/memmove.3:38
430 #, no-wrap
431 msgid "B<void *memmove(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
432 msgstr "B<void *memmove(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
433
434 #. type: Plain text
435 #: build/C/man3/bstring.3:62 build/C/man3/memset.3:38
436 #, no-wrap
437 msgid "B<void *memset(void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
438 msgstr "B<void *memset(void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
439
440 #. type: Plain text
441 #: build/C/man3/bstring.3:68
442 msgid "The byte string functions perform operations on strings (byte arrays)  that are not necessarily null-terminated.  See the individual man pages for descriptions of each function."
443 msgstr "これらの関数はヌル終端する必要のない文字列 (バイト配列) の操作を行う。 関数の詳しい説明は、それぞれの man ページを参照すること。"
444
445 #. type: SH
446 #: build/C/man3/bstring.3:68 build/C/man3/ffs.3:108 build/C/man3/memcmp.3:71
447 #: build/C/man3/strcasecmp.3:78 build/C/man3/strcat.3:139
448 #: build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:125
449 #: build/C/man3/strsep.3:86 build/C/man3/strxfrm.3:78
450 #, no-wrap
451 msgid "NOTES"
452 msgstr "注意"
453
454 #.  The old functions are not even available on some non-GNU/Linux systems.
455 #. type: Plain text
456 #: build/C/man3/bstring.3:82
457 msgid "The functions B<bcmp>(), B<bcopy>()  and B<bzero>()  are obsolete.  Use B<memcmp>(), B<memcpy>()  and B<memset>()  instead."
458 msgstr "B<bcmp>(), B<bcopy>(), B<bzero>()  関数は古いものである。代わりに B<memcmp>(), B<memcpy>()  B<memset>()  を使うこと。"
459
460 #. type: Plain text
461 #: build/C/man3/bstring.3:94
462 msgid "B<bcmp>(3), B<bcopy>(3), B<bzero>(3), B<memccpy>(3), B<memchr>(3), B<memcmp>(3), B<memcpy>(3), B<memfrob>(3), B<memmem>(3), B<memmove>(3), B<memset>(3)"
463 msgstr "B<bcmp>(3), B<bcopy>(3), B<bzero>(3), B<memccpy>(3), B<memchr>(3), B<memcmp>(3), B<memcpy>(3), B<memfrob>(3), B<memmem>(3), B<memmove>(3), B<memset>(3)"
464
465 #. type: TH
466 #: build/C/man3/bzero.3:31
467 #, no-wrap
468 msgid "BZERO"
469 msgstr "BZERO"
470
471 #. type: Plain text
472 #: build/C/man3/bzero.3:34
473 msgid "bzero - write zero-valued bytes"
474 msgstr "bzero - 値 0 のバイトで埋める"
475
476 #. type: Plain text
477 #: build/C/man3/bzero.3:48
478 msgid "The B<bzero>()  function sets the first I<n> bytes of the area starting at I<s> to zero (bytes containing \\(aq\\e0\\(aq)."
479 msgstr "B<bzero>()  関数は バイト列 I<s> から始まる領域の先頭 I<n> バイトを 数値ゼロ (値が \\(aq\\e0\\(aq のバイト) で埋める。"
480
481 #. type: Plain text
482 #: build/C/man3/bzero.3:55
483 msgid "The B<bzero>()  function is thread-safe."
484 msgstr "B<bzero>() 関数はスレッドセーフである。"
485
486 #. type: Plain text
487 #: build/C/man3/bzero.3:62
488 msgid "4.3BSD.  This function is deprecated (marked as LEGACY in POSIX.1-2001): use B<memset>(3)  in new programs.  POSIX.1-2008 removes the specification of B<bzero>()."
489 msgstr "4.3BSD.  この関数は廃止予定である (POSIX.1-2001 では 過去の名残 (LEGACY) とされている)。新しいプログラムでは B<memset>(3)  を使用すべきである。 POSIX.1-2008 では B<bzero>()  の仕様が削除されている。"
490
491 #. type: Plain text
492 #: build/C/man3/bzero.3:65
493 msgid "B<memset>(3), B<swab>(3)"
494 msgstr "B<memset>(3), B<swab>(3)"
495
496 #. type: TH
497 #: build/C/man3/ffs.3:33
498 #, no-wrap
499 msgid "FFS"
500 msgstr "FFS"
501
502 #. type: TH
503 #: build/C/man3/ffs.3:33
504 #, no-wrap
505 msgid "2014-04-14"
506 msgstr "2014-04-14"
507
508 #. type: TH
509 #: build/C/man3/ffs.3:33 build/C/man3/index.3:31 build/C/man3/memccpy.3:30
510 #: build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30
511 #: build/C/man3/memmove.3:30 build/C/man3/mempcpy.3:10
512 #: build/C/man3/memset.3:30 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14
513 #: build/C/man3/strcat.3:32 build/C/man3/strchr.3:33 build/C/man3/strcoll.3:30
514 #: build/C/man3/strcpy.3:35 build/C/man3/strdup.3:31 build/C/man3/strfry.3:30
515 #: build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13 build/C/man3/strsep.3:33
516 #: build/C/man3/strsignal.3:30 build/C/man3/strstr.3:33
517 #: build/C/man3/strtok.3:32 build/C/man3/strverscmp.3:25
518 #: build/C/man3/strxfrm.3:30
519 #, no-wrap
520 msgid "GNU"
521 msgstr "GNU"
522
523 #. type: Plain text
524 #: build/C/man3/ffs.3:36
525 msgid "ffs, ffsl, ffsll - find first bit set in a word"
526 msgstr "ffs, ffsl, ffsll - ワードの中で最初にセットされているビットの検出"
527
528 #. type: Plain text
529 #: build/C/man3/ffs.3:41
530 #, no-wrap
531 msgid "B<int ffs(int >I<i>B<);>\n"
532 msgstr "B<int ffs(int >I<i>B<);>\n"
533
534 #. type: Plain text
535 #: build/C/man3/ffs.3:45
536 #, no-wrap
537 msgid "B<int ffsl(long int >I<i>B<);>\n"
538 msgstr "B<int ffsl(long int >I<i>B<);>\n"
539
540 #. type: Plain text
541 #: build/C/man3/ffs.3:47
542 #, no-wrap
543 msgid "B<int ffsll(long long int >I<i>B<);>\n"
544 msgstr "B<int ffsll(long long int >I<i>B<);>\n"
545
546 #. type: Plain text
547 #: build/C/man3/ffs.3:52 build/C/man3/memchr.3:49 build/C/man3/stpcpy.3:38
548 #: build/C/man3/stpncpy.3:27 build/C/man3/strdup.3:50
549 #: build/C/man3/strerror.3:60 build/C/man3/strnlen.3:26
550 #: build/C/man3/strsep.3:46 build/C/man3/strsignal.3:45
551 #: build/C/man3/strtok.3:47
552 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
553 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
554
555 #. type: Plain text
556 #: build/C/man3/ffs.3:57
557 msgid "B<ffs>():"
558 msgstr "B<ffs>():"
559
560 #. type: TP
561 #: build/C/man3/ffs.3:58
562 #, no-wrap
563 msgid "Since glibc 2.12:"
564 msgstr "glibc 2.10 以降:"
565
566 #. type: Plain text
567 #: build/C/man3/ffs.3:62
568 msgid "_SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700 ||"
569 msgstr "_SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700 ||"
570
571 #. type: TP
572 #: build/C/man3/ffs.3:62
573 #, no-wrap
574 msgid "Before glibc 2.12:"
575 msgstr "glibc 2.10 より前:"
576
577 #. type: Plain text
578 #: build/C/man3/ffs.3:65
579 msgid "none"
580 msgstr "none"
581
582 #. type: Plain text
583 #: build/C/man3/ffs.3:69
584 msgid "B<ffsl>(), B<ffsll>():"
585 msgstr "B<ffsl>(), B<ffsll>():"
586
587 #. type: Plain text
588 #: build/C/man3/ffs.3:71 build/C/man3/stpcpy.3:50 build/C/man3/stpncpy.3:39
589 #: build/C/man3/strdup.3:70 build/C/man3/strnlen.3:38
590 #: build/C/man3/strsignal.3:57
591 msgid "_GNU_SOURCE"
592 msgstr "_GNU_SOURCE"
593
594 #. type: Plain text
595 #: build/C/man3/ffs.3:87
596 msgid "The B<ffs>()  function returns the position of the first (least significant) bit set in the word I<i>.  The least significant bit is position 1 and the most significant position is, for example, 32 or 64.  The functions B<ffsll>()  and B<ffsl>()  do the same but take arguments of possibly different size."
597 msgstr "B<ffs>()  関数は、ワード I<i> の中で最初にセットされている (最下位)ビットの位置を返す。 最下位ビットの位置は 1、最上位ビットの位置は例えば 32 や 64 である。 B<ffsll>()  関数と B<ffsl>()  関数も同様だが、 異なったサイズの引数をとる。"
598
599 #. type: Plain text
600 #: build/C/man3/ffs.3:91
601 msgid "These functions return the position of the first bit set, or 0 if no bits are set in I<i>."
602 msgstr "これらの関数は、最初にセットされているビットの位置を返し、 I<i> のどのビットもセットされていなければ 0 を返す。"
603
604 #. type: Plain text
605 #: build/C/man3/ffs.3:99
606 msgid "The B<ffs>(), B<ffsl>(), and B<ffsll>()  functions are thread-safe."
607 msgstr "関数 B<ffs>(), B<ffsl>(), B<ffsll>() はスレッドセーフである。"
608
609 #. type: Plain text
610 #: build/C/man3/ffs.3:102
611 msgid "B<ffs>(): 4.3BSD, POSIX.1-2001."
612 msgstr "B<ffs>(): 4.3BSD, POSIX.1-2001."
613
614 #. type: Plain text
615 #: build/C/man3/ffs.3:108
616 msgid "The B<ffsl>()  and B<ffsll>()  functions are glibc extensions."
617 msgstr "関数 B<ffsl>()  と B<ffsll>()  は glibc による拡張である。"
618
619 #. type: Plain text
620 #: build/C/man3/ffs.3:111
621 msgid "BSD systems have a prototype in I<E<lt>string.hE<gt>>."
622 msgstr "BSD システムでは I<E<lt>string.hE<gt>> にプロトタイプがある。"
623
624 #. type: Plain text
625 #: build/C/man3/ffs.3:113
626 msgid "B<memchr>(3)"
627 msgstr "B<memchr>(3)"
628
629 #. type: TH
630 #: build/C/man3/index.3:31
631 #, no-wrap
632 msgid "INDEX"
633 msgstr "INDEX"
634
635 #. type: TH
636 #: build/C/man3/index.3:31
637 #, no-wrap
638 msgid "2014-04-01"
639 msgstr "2014-04-01"
640
641 #. type: Plain text
642 #: build/C/man3/index.3:34
643 msgid "index, rindex - locate character in string"
644 msgstr "index, rindex - 文字列中の文字の位置を示す"
645
646 #. type: Plain text
647 #: build/C/man3/index.3:39
648 #, no-wrap
649 msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
650 msgstr "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
651
652 #. type: Plain text
653 #: build/C/man3/index.3:41
654 #, no-wrap
655 msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
656 msgstr "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
657
658 #. type: Plain text
659 #: build/C/man3/index.3:47
660 msgid "The B<index>()  function returns a pointer to the first occurrence of the character I<c> in the string I<s>."
661 msgstr "B<index>()  関数は、文字列 I<s> 中に最初に文字 I<c> が 現れた位置へのポインタを返す。"
662
663 #. type: Plain text
664 #: build/C/man3/index.3:52
665 msgid "The B<rindex>()  function returns a pointer to the last occurrence of the character I<c> in the string I<s>."
666 msgstr "B<rindex>()  関数は、文字列 I<s> 中に最後に文字 I<c> が 現れた位置へのポインタを返す。"
667
668 #. type: Plain text
669 #: build/C/man3/index.3:55
670 msgid "The terminating null byte (\\(aq\\e0\\(aq) is considered to be a part of the strings."
671 msgstr "文字列を終端するヌルバイト (\\(aq\\e0\\(aq) は、文字列の一部とみなされる。"
672
673 #. type: Plain text
674 #: build/C/man3/index.3:62
675 msgid "The B<index>()  and B<rindex>()  functions return a pointer to the matched character or NULL if the character is not found."
676 msgstr "B<index>()  と B<rindex>()  関数は、一致した文字へのポインタか、 もし文字が見つからない場合は NULL を返す。"
677
678 #. type: Plain text
679 #: build/C/man3/index.3:69
680 msgid "The B<index>()  and B<rindex>()  functions are thread-safe."
681 msgstr "関数 B<index>() と B<rindex>() はスレッドセーフである。"
682
683 #. type: Plain text
684 #: build/C/man3/index.3:80
685 msgid "4.3BSD; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specifications of B<index>()  and B<rindex>(), recommending B<strchr>(3)  and B<strrchr>(3)  instead."
686 msgstr "4.3BSD; POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 POSIX.1-2008 では B<index>()  と B<rindex>()  の仕様が削除されている。 代わりに、 B<strchr>(3)  と B<strrchr>(3)  の使用が推奨されている。"
687
688 #. type: Plain text
689 #: build/C/man3/index.3:90
690 msgid "B<memchr>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
691 msgstr "B<memchr>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
692
693 #. type: TH
694 #: build/C/man3/memccpy.3:30
695 #, no-wrap
696 msgid "MEMCCPY"
697 msgstr "MEMCCPY"
698
699 #. type: TH
700 #: build/C/man3/memccpy.3:30
701 #, no-wrap
702 msgid "2014-03-10"
703 msgstr "2014-03-10"
704
705 #. type: Plain text
706 #: build/C/man3/memccpy.3:33
707 msgid "memccpy - copy memory area"
708 msgstr "memccpy - メモリ領域をコピーする"
709
710 #. type: Plain text
711 #: build/C/man3/memccpy.3:53
712 msgid "The B<memccpy>()  function copies no more than I<n> bytes from memory area I<src> to memory area I<dest>, stopping when the character I<c> is found."
713 msgstr "B<memccpy>()  は、メモリ領域 I<src> からメモリ領域 I<dest> に 最大で I<n> バイトのコピーを行う。 I<n> バイトコピーする前に文字 I<c> が見つかると、 そこでコピーを中止する。"
714
715 #. type: Plain text
716 #: build/C/man3/memccpy.3:55
717 msgid "If the memory areas overlap, the results are undefined."
718 msgstr "コピー元とコピー先のメモリ領域が重なっている場合、 結果は不定である。"
719
720 #. type: Plain text
721 #: build/C/man3/memccpy.3:70
722 msgid "The B<memccpy>()  function returns a pointer to the next character in I<dest> after I<c>, or NULL if I<c> was not found in the first I<n> characters of I<src>."
723 msgstr "B<memccpy>()  は、I<dest> 中に見つかった I<c> の 次にあるキャラクター型の変数を指すポインタを返す。 見つからなかった場合、NULL を返す。"
724
725 #. type: Plain text
726 #: build/C/man3/memccpy.3:75
727 msgid "The B<memccpy>()  function is thread-safe."
728 msgstr "B<memccpy>() 関数はスレッドセーフである。"
729
730 #. type: Plain text
731 #: build/C/man3/memccpy.3:77
732 msgid "SVr4, 4.3BSD, POSIX.1-2001."
733 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
734
735 #. type: Plain text
736 #: build/C/man3/memccpy.3:83
737 msgid "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
738 msgstr "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
739
740 #. type: TH
741 #: build/C/man3/memchr.3:32
742 #, no-wrap
743 msgid "MEMCHR"
744 msgstr "MEMCHR"
745
746 #. type: TH
747 #: build/C/man3/memchr.3:32 build/C/man3/strstr.3:33
748 #, no-wrap
749 msgid "2015-01-10"
750 msgstr "2015-01-10"
751
752 #. type: Plain text
753 #: build/C/man3/memchr.3:35
754 msgid "memchr, memrchr, rawmemchr - scan memory for a character"
755 msgstr "memchr, memrchr, rawmemchr - 文字を探すためにメモリをスキャンする"
756
757 #. type: Plain text
758 #: build/C/man3/memchr.3:42
759 #, no-wrap
760 msgid "B<void *memrchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
761 msgstr "B<void *memrchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
762
763 #. type: Plain text
764 #: build/C/man3/memchr.3:44
765 #, no-wrap
766 msgid "B<void *rawmemchr(const void *>I<s>B<, int >I<c>B<);>\n"
767 msgstr "B<void *rawmemchr(const void *>I<s>B<, int >I<c>B<);>\n"
768
769 #. type: Plain text
770 #: build/C/man3/memchr.3:54
771 msgid "B<memrchr>(), B<rawmemchr>(): _GNU_SOURCE"
772 msgstr "B<memrchr>(): B<rawmemchr>(): _GNU_SOURCE"
773
774 #. type: Plain text
775 #: build/C/man3/memchr.3:70
776 msgid "The B<memchr>()  function scans the initial I<n> bytes of the memory area pointed to by I<s> for the first instance of I<c>.  Both I<c> and the bytes of the memory area pointed to by I<s> are interpreted as I<unsigned char>."
777 msgstr ""
778 "B<memchr>() 関数は、ポインタ I<s> が指し示すメモリ領域の先頭の\n"
779 "I<n> バイトから最初に登場する文字 I<c> を探す。\n"
780 "I<c> と I<s> が指し示すメモリ領域の各バイトは両方とも\n"
781 "I<unsigned char> と解釈される。"
782
783 #. type: Plain text
784 #: build/C/man3/memchr.3:81
785 msgid "The B<memrchr>()  function is like the B<memchr>()  function, except that it searches backward from the end of the I<n> bytes pointed to by I<s> instead of forward from the beginning."
786 msgstr "B<memrchr>()  関数は B<memchr>()  関数に似ているが、 先頭から順方向に探すのではなく、 ポインタ I<s> が指し示す I<n> バイトのメモリブロックの 末尾から逆向きに探す。"
787
788 #. type: Plain text
789 #: build/C/man3/memchr.3:99
790 msgid "The B<rawmemchr>()  function is similar to B<memchr>(): it assumes (i.e., the programmer knows for certain)  that an instance of I<c> lies somewhere in the memory area starting at the location pointed to by I<s>, and so performs an optimized search for I<c> (i.e., no use of a count argument to limit the range of the search).  If an instance of I<c> is not found, the results are unpredictable.  The following call is a fast means of locating a string's terminating null byte:"
791 msgstr ""
792 "B<rawmemchr>() 関数は B<memchr>() と同様だが、 I<c> が I<s> が指す場所\n"
793 "から始まるメモリ領域のどこかにあることを前提にして (つまり、プログラマ\n"
794 "はそのことを知っている)、最適化した方法で I<c> の検索を実行する (すなわ\n"
795 "ち、検索範囲の上限を示す引き数も使用されない)。I<c> が見つからなかった\n"
796 "場合、その結果はどうなるか分からない。次に示す呼び出しは、文字列終端の\n"
797 "ヌルバイトの位置を特定する高速な手段である。"
798
799 #. type: Plain text
800 #: build/C/man3/memchr.3:103
801 #, no-wrap
802 msgid "char *p = rawmemchr(s,\\ \\(aq\\e0\\(aq);\n"
803 msgstr "char *p = rawmemchr(s,\\ \\(aq\\e0\\(aq);\n"
804
805 #. type: Plain text
806 #: build/C/man3/memchr.3:113
807 msgid "The B<memchr>()  and B<memrchr>()  functions return a pointer to the matching byte or NULL if the character does not occur in the given memory area."
808 msgstr "B<memchr>()  関数と B<memrchr>()  関数は一致する文字へのポインタを返し、 もし文字が指定メモリ領域に現れない場合は NULL を返す。"
809
810 #. type: Plain text
811 #: build/C/man3/memchr.3:118
812 msgid "The B<rawmemchr>()  function returns a pointer to the matching byte, if one is found.  If no matching byte is found, the result is unspecified."
813 msgstr "B<rawmemchr>()  関数はマッチするバイトが見つかった場合はマッチしたバイトへのポインタを返す。 マッチするバイトが見つからなかった場合、結果は不定である。"
814
815 #. type: SH
816 #: build/C/man3/memchr.3:118 build/C/man3/mempcpy.3:57
817 #: build/C/man3/strchr.3:104 build/C/man3/strerror.3:212
818 #, no-wrap
819 msgid "VERSIONS"
820 msgstr "バージョン"
821
822 #. type: Plain text
823 #: build/C/man3/memchr.3:121
824 msgid "B<rawmemchr>()  first appeared in glibc in version 2.1."
825 msgstr "B<rawmemchr>()  は glibc バージョン 2.1 で初めて登場した。"
826
827 #. type: Plain text
828 #: build/C/man3/memchr.3:124
829 msgid "B<memrchr>()  first appeared in glibc in version 2.2."
830 msgstr "B<memrchr>()  は glibc バージョン 2.2 で初めて登場した。"
831
832 #. type: Plain text
833 #: build/C/man3/memchr.3:132
834 msgid "The B<memchr>(), B<memrchr>(), and B<rawmemchr>()  functions are thread-safe."
835 msgstr "関数 B<memchr>(), B<memrchr>(), B<rawmemchr>() はスレッドセーフである。"
836
837 #. type: Plain text
838 #: build/C/man3/memchr.3:136
839 msgid "The B<memchr>()  function conforms to SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
840 msgstr "B<memchr>()  関数は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠する。"
841
842 #. type: Plain text
843 #: build/C/man3/memchr.3:140
844 msgid "The B<memrchr>()  function is a GNU extension, available since glibc 2.1.91."
845 msgstr "B<memrchr>()  関数は GNU 拡張であり、glibc 2.1.91 から使用可能である。"
846
847 #. type: Plain text
848 #: build/C/man3/memchr.3:144
849 msgid "The B<rawmemchr>()  function is a GNU extension, available since glibc 2.1."
850 msgstr "B<rawmemchr>()  関数は GNU 拡張であり、glibc 2.1 から使用可能である。"
851
852 #. type: Plain text
853 #: build/C/man3/memchr.3:156
854 msgid "B<ffs>(3), B<index>(3), B<memmem>(3), B<rindex>(3), B<strchr>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
855 msgstr "B<ffs>(3), B<index>(3), B<memmem>(3), B<rindex>(3), B<strchr>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
856
857 #. type: TH
858 #: build/C/man3/memcmp.3:30
859 #, no-wrap
860 msgid "MEMCMP"
861 msgstr "MEMCMP"
862
863 #. type: TH
864 #: build/C/man3/memcmp.3:30
865 #, no-wrap
866 msgid "2014-12-31"
867 msgstr "2014-12-31"
868
869 #. type: Plain text
870 #: build/C/man3/memcmp.3:33
871 msgid "memcmp - compare memory areas"
872 msgstr "memcmp - メモリ領域を比較する"
873
874 #. type: Plain text
875 #: build/C/man3/memcmp.3:45
876 msgid "The B<memcmp>()  function compares the first I<n> bytes (each interpreted as I<unsigned char>)  of the memory areas I<s1> and I<s2>."
877 msgstr "B<memcmp>()  関数は、メモリ領域 I<s1> とI<s2> の最初の I<n> バイトを比較する (各バイトは I<unsigned char> として解釈される)。"
878
879 #. type: Plain text
880 #: build/C/man3/memcmp.3:52
881 msgid "The B<memcmp>()  function returns an integer less than, equal to, or greater than zero if the first I<n> bytes of I<s1> is found, respectively, to be less than, to match, or be greater than the first I<n> bytes of I<s2>."
882 msgstr "B<memcmp>()  関数は、I<s1> の最初の I<n> バイトが I<s2> の最初の I<n> バイトよりも 小さいか、同じか、あるいは大きいかによってそれぞれ、負の整数、0、 正の整数を返す。"
883
884 #. type: Plain text
885 #: build/C/man3/memcmp.3:60
886 msgid "For a nonzero return value, the sign is determined by the sign of the difference between the first pair of bytes (interpreted as I<unsigned char>)  that differ in I<s1> and I<s2>."
887 msgstr "0 でない値の場合、 I<s1> と I<s2> で値が異なった最初のバイトの値の差で符号は決定される (バイトは I<unsigned char> で解釈される)。"
888
889 #. type: Plain text
890 #: build/C/man3/memcmp.3:64
891 msgid "If I<n> is zero, the return value is zero."
892 msgstr "I<n> が 0 の場合、返り値は 0 となる。"
893
894 #. type: Plain text
895 #: build/C/man3/memcmp.3:69
896 msgid "The B<memcmp>()  function is thread-safe."
897 msgstr "B<memcmp>() 関数はスレッドセーフである。"
898
899 #. type: Plain text
900 #: build/C/man3/memcmp.3:71 build/C/man3/memcpy.3:59 build/C/man3/memmove.3:69
901 #: build/C/man3/memset.3:61
902 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
903 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
904
905 #. type: Plain text
906 #: build/C/man3/memcmp.3:82
907 msgid "Do not use B<memcmp>()  to compare security critical data, such as cryptographic secrets, because the required CPU time depends on the number of equal bytes.  Instead, a function that performs comparisons in constant time is required.  Some operating systems provide such a function (e.g., NetBSD's B<consttime_memequal>()), but no such function is specified in POSIX.  On Linux, it may be necessary to implement such a function oneself."
908 msgstr "暗号化された秘密などセキュリティ的に重要なデータの比較には B<memcmp>() を使用しないこと。 必要な CPU 時間は値が等しいバイトの量に依存するからである。 その代わり、 一定時間で比較を実行する関数が必要である。 いくつかのオペレーティングシステムでは (例えば NetBSD の B<consttime_memequal>() などの) 関数が提供されているが、 このような関数は POSIX では規定されていない。 Linux では、 このような関数自体を実装する必要があるかもしれない。"
909
910 #. type: Plain text
911 #: build/C/man3/memcmp.3:90
912 msgid "B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>(3), B<strncmp>(3), B<wmemcmp>(3)"
913 msgstr "B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>(3), B<strncmp>(3), B<wmemcmp>(3)"
914
915 #. type: TH
916 #: build/C/man3/memcpy.3:30
917 #, no-wrap
918 msgid "MEMCPY"
919 msgstr "MEMCPY"
920
921 #. type: TH
922 #: build/C/man3/memcpy.3:30 build/C/man3/memfrob.3:30
923 #: build/C/man3/memmove.3:30
924 #, no-wrap
925 msgid "2014-03-17"
926 msgstr "2014-03-17"
927
928 #. type: Plain text
929 #: build/C/man3/memcpy.3:33
930 msgid "memcpy - copy memory area"
931 msgstr "memcpy - メモリ領域をコピーする。"
932
933 #. type: Plain text
934 #: build/C/man3/memcpy.3:48
935 msgid "The B<memcpy>()  function copies I<n> bytes from memory area I<src> to memory area I<dest>.  The memory areas must not overlap.  Use B<memmove>(3)  if the memory areas do overlap."
936 msgstr "B<memcpy>()  はメモリ領域 I<src> の先頭 I<n> バイトを メモリ領域 I<dest> にコピーする。コピー元の領域と コピー先の領域が重なってはならない。重なっている場合は B<memmove>(3)  を使うこと。"
937
938 #. type: Plain text
939 #: build/C/man3/memcpy.3:52
940 msgid "The B<memcpy>()  function returns a pointer to I<dest>."
941 msgstr "B<memcpy>()  は I<dest> へのポインタを返す。"
942
943 #. type: Plain text
944 #: build/C/man3/memcpy.3:57
945 msgid "The B<memcpy>()  function is thread-safe."
946 msgstr "B<memcpy>() 関数はスレッドセーフである。"
947
948 #. type: Plain text
949 #: build/C/man3/memcpy.3:67
950 msgid "B<bcopy>(3), B<memccpy>(3), B<memmove>(3), B<mempcpy>(3), B<strcpy>(3), B<strncpy>(3), B<wmemcpy>(3)"
951 msgstr "B<bcopy>(3), B<memccpy>(3), B<memmove>(3), B<mempcpy>(3), B<strcpy>(3), B<strncpy>(3), B<wmemcpy>(3)"
952
953 #. type: TH
954 #: build/C/man3/memfrob.3:30
955 #, no-wrap
956 msgid "MEMFROB"
957 msgstr "MEMFROB"
958
959 #. type: Plain text
960 #: build/C/man3/memfrob.3:33
961 msgid "memfrob - frobnicate (encrypt) a memory area"
962 msgstr "memfrob - メモリエリアの操作 (暗号化)"
963
964 #. type: Plain text
965 #: build/C/man3/memfrob.3:37
966 #, no-wrap
967 msgid ""
968 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
969 "B<#include E<lt>string.hE<gt>>\n"
970 msgstr ""
971 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
972 "B<#include E<lt>string.hE<gt>>\n"
973
974 #. type: Plain text
975 #: build/C/man3/memfrob.3:50
976 msgid "The B<memfrob>()  function encrypts the first I<n> bytes of the memory area I<s> by exclusive-ORing each character with the number 42.  The effect can be reversed by using B<memfrob>()  on the encrypted memory area."
977 msgstr "B<memfrob>()  関数は、メモリエリア I<s> の最初の I<n> バイトの それぞれの文字を 42 との排他的論理をとることによって暗号化する。 変換後のデータは、暗号化されているメモリエリアに (再度)  B<memfrob>()  関数を施すことで、元に戻すことができる。"
978
979 #. type: Plain text
980 #: build/C/man3/memfrob.3:53
981 msgid "Note that this function is not a proper encryption routine as the XOR constant is fixed, and is suitable only for hiding strings."
982 msgstr "この関数は妥当な暗号化ルーチンであるとは言えないことに注意して欲しい。 XOR をとる定数を固定しているので、せいぜい、文字列を隠す程度の用途にしか向いていない。"
983
984 #. type: Plain text
985 #: build/C/man3/memfrob.3:58
986 msgid "The B<memfrob>()  function returns a pointer to the encrypted memory area."
987 msgstr "B<memfrob>()  関数は、暗号化されたメモリエリアへのポインタを返す。"
988
989 #. type: Plain text
990 #: build/C/man3/memfrob.3:63
991 msgid "The B<memfrob>()  function is thread-safe."
992 msgstr "B<memfrob>() 関数はスレッドセーフである。"
993
994 #. type: Plain text
995 #: build/C/man3/memfrob.3:68
996 msgid "The B<memfrob>()  function is unique to the GNU C Library."
997 msgstr "B<memfrob>()  関数は GNU C ライブラリに固有である。"
998
999 #. type: Plain text
1000 #: build/C/man3/memfrob.3:70
1001 msgid "B<strfry>(3)"
1002 msgstr "B<strfry>(3)"
1003
1004 #. type: TH
1005 #: build/C/man3/memmem.3:30
1006 #, no-wrap
1007 msgid "MEMMEM"
1008 msgstr "MEMMEM"
1009
1010 #. type: TH
1011 #: build/C/man3/memmem.3:30
1012 #, no-wrap
1013 msgid "2014-08-19"
1014 msgstr "2014-08-19"
1015
1016 #. type: Plain text
1017 #: build/C/man3/memmem.3:33
1018 msgid "memmem - locate a substring"
1019 msgstr "memmem - 部分文字列の位置を示す"
1020
1021 #. type: Plain text
1022 #: build/C/man3/memmem.3:37 build/C/man3/strchr.3:46
1023 #, no-wrap
1024 msgid ""
1025 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
1026 "B<#include E<lt>string.hE<gt>>\n"
1027 msgstr ""
1028 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
1029 "B<#include E<lt>string.hE<gt>>\n"
1030
1031 #. type: Plain text
1032 #: build/C/man3/memmem.3:40
1033 #, no-wrap
1034 msgid ""
1035 "B<void *memmem(const void *>I<haystack>B<, size_t >I<haystacklen>B<,>\n"
1036 "B<             const void *>I<needle>B<, size_t >I<needlelen>B<);>\n"
1037 msgstr ""
1038 "B<void *memmem(const void *>I<haystack>B<, size_t >I<haystacklen>B<,>\n"
1039 "B<             const void *>I<needle>B<, size_t >I<needlelen>B<);>\n"
1040
1041 #. type: Plain text
1042 #: build/C/man3/memmem.3:54
1043 msgid "The B<memmem>()  function finds the start of the first occurrence of the substring I<needle> of length I<needlelen> in the memory area I<haystack> of length I<haystacklen>."
1044 msgstr "B<memmem>()  関数は、 I<haystacklen> の大きさを持つメモリ領域 I<haystack> の中で I<needlelen> の大きさを持つ部分文字列 I<needle> が 最初に現れる位置を見つける。"
1045
1046 #. type: Plain text
1047 #: build/C/man3/memmem.3:59
1048 msgid "The B<memmem>()  function returns a pointer to the beginning of the substring, or NULL if the substring is not found."
1049 msgstr "B<memmem>()  関数は、部分文字列の開始を指すポインタを返し、もし部分文字列が 見つからない場合は NULL を返す。"
1050
1051 #. type: Plain text
1052 #: build/C/man3/memmem.3:64
1053 msgid "The B<memmem>()  function is thread-safe."
1054 msgstr "B<memmem>() 関数はスレッドセーフである。"
1055
1056 #. type: Plain text
1057 #: build/C/man3/memmem.3:66 build/C/man3/mempcpy.3:69
1058 #: build/C/man3/strverscmp.3:92
1059 msgid "This function is a GNU extension."
1060 msgstr "この関数は GNU による拡張である。"
1061
1062 #. type: SH
1063 #: build/C/man3/memmem.3:66 build/C/man3/stpcpy.3:85 build/C/man3/strcpy.3:215
1064 #: build/C/man3/strsep.3:95 build/C/man3/strtok.3:185
1065 #, no-wrap
1066 msgid "BUGS"
1067 msgstr "バグ"
1068
1069 #.  This function was broken in Linux libraries up to and including libc 5.0.9;
1070 #.  there the
1071 #.  .IR needle
1072 #.  and
1073 #.  .I haystack
1074 #.  arguments were interchanged,
1075 #.  and a pointer to the end of the first occurrence of
1076 #.  .I needle
1077 #.  was returned.
1078 #.  Both old and new libc's have the bug that if
1079 #.  .I needle
1080 #.  is empty,
1081 #.  .I haystack\-1
1082 #.  (instead of
1083 #.  .IR haystack )
1084 #.  is returned.
1085 #. type: Plain text
1086 #: build/C/man3/memmem.3:91
1087 msgid "In glibc 2.0, if I<needle> is empty, B<memmem>()  returns a pointer to the last byte of I<haystack>.  This is fixed in glibc 2.1."
1088 msgstr "glibc 2.0 では、 I<needle> が空の場合、 B<memmem>() は I<haystack> の最後のバイトへのポインタを返す。 これは glibc 2.1 で修正されている。"
1089
1090 #. type: Plain text
1091 #: build/C/man3/memmem.3:93
1092 msgid "B<strstr>(3)"
1093 msgstr "B<strstr>(3)"
1094
1095 #. type: TH
1096 #: build/C/man3/memmove.3:30
1097 #, no-wrap
1098 msgid "MEMMOVE"
1099 msgstr "MEMMOVE"
1100
1101 #. type: Plain text
1102 #: build/C/man3/memmove.3:33
1103 msgid "memmove - copy memory area"
1104 msgstr "memmove - メモリ領域をコピーする"
1105
1106 #. type: Plain text
1107 #: build/C/man3/memmove.3:57
1108 msgid "The B<memmove>()  function copies I<n> bytes from memory area I<src> to memory area I<dest>.  The memory areas may overlap: copying takes place as though the bytes in I<src> are first copied into a temporary array that does not overlap I<src> or I<dest>, and the bytes are then copied from the temporary array to I<dest>."
1109 msgstr "B<memmove>()  は、メモリ領域 I<src> の先頭 I<n> バイトを メモリ領域 I<dest> にコピーする。コピー元とコピー先の 領域が重なっていてもよい。 最初に I<src> のバイトが I<src> とも I<dest> とも重ならない一時的な配列にコピーされてから、一時的な配列から I<dest> にバイトのコピーが行われたかのように、コピーが行われる。"
1110
1111 #. type: Plain text
1112 #: build/C/man3/memmove.3:62
1113 msgid "The B<memmove>()  function returns a pointer to I<dest>."
1114 msgstr "B<memmove>()  は I<dest> へのポインタを返す。"
1115
1116 #. type: Plain text
1117 #: build/C/man3/memmove.3:67
1118 msgid "The B<memmove>()  function is thread-safe."
1119 msgstr "B<memmove>() 関数はスレッドセーフである。"
1120
1121 #. type: Plain text
1122 #: build/C/man3/memmove.3:76
1123 msgid "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<strncpy>(3), B<wmemmove>(3)"
1124 msgstr "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<strncpy>(3), B<wmemmove>(3)"
1125
1126 #. type: TH
1127 #: build/C/man3/mempcpy.3:10
1128 #, no-wrap
1129 msgid "MEMPCPY"
1130 msgstr "MEMPCPY"
1131
1132 #. type: TH
1133 #: build/C/man3/mempcpy.3:10 build/C/man3/memset.3:30
1134 #: build/C/man3/strerror.3:39
1135 #, no-wrap
1136 msgid "2014-03-18"
1137 msgstr "2014-03-18"
1138
1139 #. type: Plain text
1140 #: build/C/man3/mempcpy.3:13
1141 msgid "mempcpy, wmempcpy - copy memory area"
1142 msgstr "mempcpy, wmempcpy - メモリ領域をコピーする"
1143
1144 #. type: Plain text
1145 #: build/C/man3/mempcpy.3:16 build/C/man3/mempcpy.3:22
1146 #: build/C/man3/strfry.3:36 build/C/man3/strstr.3:43
1147 #: build/C/man3/strverscmp.3:31
1148 #, no-wrap
1149 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
1150 msgstr "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
1151
1152 #. type: Plain text
1153 #: build/C/man3/mempcpy.3:20
1154 #, no-wrap
1155 msgid "B<void *mempcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
1156 msgstr "B<void *mempcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
1157
1158 #. type: Plain text
1159 #: build/C/man3/mempcpy.3:24
1160 #, no-wrap
1161 msgid "B<#include E<lt>wchar.hE<gt>>\n"
1162 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
1163
1164 #. type: Plain text
1165 #: build/C/man3/mempcpy.3:26
1166 #, no-wrap
1167 msgid "B<wchar_t *wmempcpy(wchar_t *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
1168 msgstr "B<wchar_t *wmempcpy(wchar_t *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
1169
1170 #. type: Plain text
1171 #: build/C/man3/mempcpy.3:42
1172 msgid "The B<mempcpy>()  function is nearly identical to the B<memcpy>(3)  function.  It copies I<n> bytes from the object beginning at I<src> into the object pointed to by I<dest>.  But instead of returning the value of I<dest> it returns a pointer to the byte following the last written byte."
1173 msgstr "B<mempcpy>()  関数は B<memcpy>(3)  関数とほぼ同一である。 この関数は、 I<src> で始まるオブジェクトから I<n> バイトを、 I<dest> で指されるオブジェクトにコピーする。 ただし I<dest> の値を返すのではなく、 最後に書き込まれたバイトの後に続くバイトへのポインタを返す。"
1174
1175 #. type: Plain text
1176 #: build/C/man3/mempcpy.3:45
1177 msgid "This function is useful in situations where a number of objects shall be copied to consecutive memory positions."
1178 msgstr "この関数はいくつかのオブジェクトが 連続的なメモリの場所にコピーされるような状況で役に立つ。"
1179
1180 #. type: Plain text
1181 #: build/C/man3/mempcpy.3:53
1182 msgid "The B<wmempcpy>()  function is identical but takes I<wchar_t> type arguments and copies I<n> wide characters."
1183 msgstr "B<wmempcpy>()  関数はこの関数と同じであるが、 I<wchar_t> 型の引き数をとり、 I<n> ワイド文字列をコピーする。"
1184
1185 #. type: Plain text
1186 #: build/C/man3/mempcpy.3:57
1187 msgid "I<dest> + I<n>."
1188 msgstr "I<dest> + I<n>."
1189
1190 #. type: Plain text
1191 #: build/C/man3/mempcpy.3:60
1192 msgid "B<mempcpy>()  first appeared in glibc in version 2.1."
1193 msgstr "B<mempcpy>()  は glibc バージョン 2.1 で初めて登場した。"
1194
1195 #. type: Plain text
1196 #: build/C/man3/mempcpy.3:67
1197 msgid "The B<mempcpy>()  and B<wmempcpy>()  functions are thread-safe."
1198 msgstr "関数 B<mempcpy>() と B<wmempcpy>() はスレッドセーフである。"
1199
1200 #. type: SH
1201 #: build/C/man3/mempcpy.3:69 build/C/man3/stpcpy.3:88
1202 #: build/C/man3/strtok.3:201
1203 #, no-wrap
1204 msgid "EXAMPLE"
1205 msgstr "例"
1206
1207 #. type: Plain text
1208 #: build/C/man3/mempcpy.3:79
1209 #, no-wrap
1210 msgid ""
1211 "void *\n"
1212 "combine(void *o1, size_t s1, void *o2, size_t s2)\n"
1213 "{\n"
1214 "    void *result = malloc(s1 + s2);\n"
1215 "    if (result != NULL)\n"
1216 "        mempcpy(mempcpy(result, o1, s1), o2, s2);\n"
1217 "    return result;\n"
1218 "}\n"
1219 msgstr ""
1220 "void *\n"
1221 "combine (void *o1, size_t s1, void *o2, size_t s2)\n"
1222 "{\n"
1223 "    void *result = malloc(s1 + s2);\n"
1224 "    if (result != NULL)\n"
1225 "        mempcpy(mempcpy(result, o1, s1), o2, s2);\n"
1226 "    return result;\n"
1227
1228 #. type: Plain text
1229 #: build/C/man3/mempcpy.3:85
1230 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
1231 msgstr "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
1232
1233 #. type: TH
1234 #: build/C/man3/memset.3:30
1235 #, no-wrap
1236 msgid "MEMSET"
1237 msgstr "MEMSET"
1238
1239 #. type: Plain text
1240 #: build/C/man3/memset.3:33
1241 msgid "memset - fill memory with a constant byte"
1242 msgstr "memset - ある一定のバイトでメモリ領域を埋める。"
1243
1244 #. type: Plain text
1245 #: build/C/man3/memset.3:49
1246 msgid "The B<memset>()  function fills the first I<n> bytes of the memory area pointed to by I<s> with the constant byte I<c>."
1247 msgstr "B<memset>()  は I<s> で示されるメモリ領域の先頭から I<n> バイトを I<c> で埋める。"
1248
1249 #. type: Plain text
1250 #: build/C/man3/memset.3:54
1251 msgid "The B<memset>()  function returns a pointer to the memory area I<s>."
1252 msgstr "B<memset>()  は I<s> へのポインタを返す。"
1253
1254 #. type: Plain text
1255 #: build/C/man3/memset.3:59
1256 msgid "The B<memset>()  function is thread-safe."
1257 msgstr "B<memset>() 関数はスレッドセーフである。"
1258
1259 #. type: Plain text
1260 #: build/C/man3/memset.3:65
1261 msgid "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
1262 msgstr "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
1263
1264 #. type: TH
1265 #: build/C/man3/stpcpy.3:25
1266 #, no-wrap
1267 msgid "STPCPY"
1268 msgstr "STPCPY"
1269
1270 #. type: TH
1271 #: build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14
1272 #: build/C/man3/strcasecmp.3:30
1273 #, no-wrap
1274 msgid "2014-05-10"
1275 msgstr "2014-05-10"
1276
1277 #. type: Plain text
1278 #: build/C/man3/stpcpy.3:28
1279 msgid "stpcpy - copy a string returning a pointer to its end"
1280 msgstr "stpcpy - 文字列をコピーし、コピーした文字列の終りへのポインタを返す"
1281
1282 #. type: Plain text
1283 #: build/C/man3/stpcpy.3:33
1284 #, no-wrap
1285 msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1286 msgstr "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1287
1288 #. type: Plain text
1289 #: build/C/man3/stpcpy.3:41
1290 msgid "B<stpcpy>():"
1291 msgstr "B<stpcpy>():"
1292
1293 #. type: TP
1294 #: build/C/man3/stpcpy.3:44 build/C/man3/stpncpy.3:33 build/C/man3/strdup.3:64
1295 #: build/C/man3/strnlen.3:32 build/C/man3/strsignal.3:51
1296 #, no-wrap
1297 msgid "Since glibc 2.10:"
1298 msgstr "glibc 2.10 以降:"
1299
1300 #. type: Plain text
1301 #: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:36
1302 #: build/C/man3/strnlen.3:35 build/C/man3/strsignal.3:54
1303 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1304 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1305
1306 #. type: TP
1307 #: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:36 build/C/man3/strdup.3:67
1308 #: build/C/man3/strnlen.3:35 build/C/man3/strsignal.3:54
1309 #, no-wrap
1310 msgid "Before glibc 2.10:"
1311 msgstr "glibc 2.10 より前:"
1312
1313 #. type: Plain text
1314 #: build/C/man3/stpcpy.3:63
1315 msgid "The B<stpcpy>()  function copies the string pointed to by I<src> (including the terminating null byte (\\(aq\\e0\\(aq)) to the array pointed to by I<dest>.  The strings may not overlap, and the destination string I<dest> must be large enough to receive the copy."
1316 msgstr "B<stpcpy>()  関数は、I<src> で指された文字列を (文字列を終端するヌルバイト (\\(aq\\e0\\(aq) を含めて) I<dest> で指された配列にコピーする。 文字列は重複してはならず、コピー先の文字列 I<dest> はコピーを受け取る のに十分大きくなくてはならない。"
1317
1318 #. type: Plain text
1319 #: build/C/man3/stpcpy.3:71
1320 msgid "B<stpcpy>()  returns a pointer to the B<end> of the string I<dest> (that is, the address of the terminating null byte)  rather than the beginning."
1321 msgstr "B<stpcpy>()  は、文字列 I<dest> の始まりではなく B<終り>を指すポインタ (すなわち、文字列を終端するヌルバイト) を返す。"
1322
1323 #. type: Plain text
1324 #: build/C/man3/stpcpy.3:76
1325 msgid "The B<stpcpy>()  function is thread-safe."
1326 msgstr "B<stpcpy>() 関数はスレッドセーフである。"
1327
1328 #. type: Plain text
1329 #: build/C/man3/stpcpy.3:85
1330 msgid "This function was added to POSIX.1-2008.  Before that, it was not part of the C or POSIX.1 standards, nor customary on UNIX systems.  It first appeared at least as early as 1986, in the Lattice C AmigaDOS compiler, then in the GNU fileutils and GNU textutils in 1989, and in the GNU C library by 1992.  It is also present on the BSDs."
1331 msgstr "この関数は POSIX.1-2008 に追加された。 それ以前は、この関数は C や POSIX.1 標準の一部でも UNIX システムの慣習的なものでもなかった。 この関数は Lattice C AmigaDOS コンパイラで初めて登場し、それは少なくとも 1986 年時点ではそうであった。 その後、 1989 年に GNU fileutils と GNU textutils に登場し、 1992 年までには GNU C ライブラリにも存在していた。 この関数は BSD 系にも存在する。"
1332
1333 #. type: Plain text
1334 #: build/C/man3/stpcpy.3:88
1335 msgid "This function may overrun the buffer I<dest>."
1336 msgstr "この関数はバッファ I<dest> の範囲を行き過ぎてしまう可能性がある。"
1337
1338 #. type: Plain text
1339 #: build/C/man3/stpcpy.3:98
1340 msgid "For example, this program uses B<stpcpy>()  to concatenate B<foo> and B<bar> to produce B<foobar>, which it then prints."
1341 msgstr "例として、このプログラムは B<foo> と B<bar> を連結して B<foobar> を作るために B<stpcpy>()  を使用し、その後表示する。"
1342
1343 #. type: Plain text
1344 #: build/C/man3/stpcpy.3:103
1345 #, no-wrap
1346 msgid ""
1347 "#define _GNU_SOURCE\n"
1348 "#include E<lt>string.hE<gt>\n"
1349 "#include E<lt>stdio.hE<gt>\n"
1350 msgstr ""
1351 "#define _GNU_SOURCE\n"
1352 "#include E<lt>string.hE<gt>\n"
1353 "#include E<lt>stdio.hE<gt>\n"
1354
1355 #. type: Plain text
1356 #: build/C/man3/stpcpy.3:109
1357 #, no-wrap
1358 msgid ""
1359 "int\n"
1360 "main(void)\n"
1361 "{\n"
1362 "    char buffer[20];\n"
1363 "    char *to = buffer;\n"
1364 msgstr ""
1365 "int\n"
1366 "main(void)\n"
1367 "{\n"
1368 "    char buffer[20];\n"
1369 "    char *to = buffer;\n"
1370
1371 #. type: Plain text
1372 #: build/C/man3/stpcpy.3:114
1373 #, no-wrap
1374 msgid ""
1375 "    to = stpcpy(to, \"foo\");\n"
1376 "    to = stpcpy(to, \"bar\");\n"
1377 "    printf(\"%s\\en\", buffer);\n"
1378 "}\n"
1379 msgstr ""
1380 "    to = stpcpy(to, \"foo\");\n"
1381 "    to = stpcpy(to, \"bar\");\n"
1382 "    printf(\"%s\\en\", buffer);\n"
1383 "}\n"
1384
1385 #. type: Plain text
1386 #: build/C/man3/stpcpy.3:124
1387 msgid "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpncpy>(3), B<strcpy>(3), B<string>(3), B<wcpcpy>(3)"
1388 msgstr "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpncpy>(3), B<strcpy>(3), B<string>(3), B<wcpcpy>(3)"
1389
1390 #. type: TH
1391 #: build/C/man3/stpncpy.3:14
1392 #, no-wrap
1393 msgid "STPNCPY"
1394 msgstr "STPNCPY"
1395
1396 #. type: Plain text
1397 #: build/C/man3/stpncpy.3:17
1398 msgid "stpncpy - copy a fixed-size string, returning a pointer to its end"
1399 msgstr "stpncpy - 固定長の文字列をコピーして、その最後へのポインターを返す"
1400
1401 #. type: Plain text
1402 #: build/C/man3/stpncpy.3:22
1403 #, no-wrap
1404 msgid "B<char *stpncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1405 msgstr "B<char *stpncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1406
1407 #. type: Plain text
1408 #: build/C/man3/stpncpy.3:30
1409 msgid "B<stpncpy>():"
1410 msgstr "B<stpncpy>():"
1411
1412 #. type: Plain text
1413 #: build/C/man3/stpncpy.3:74
1414 msgid "The B<stpncpy>()  function copies at most I<n> characters from the string pointed to by I<src>, including the terminating null byte (\\(aq\\e0\\(aq), to the array pointed to by I<dest>.  Exactly I<n> characters are written at I<dest>.  If the length I<strlen(src)> is smaller than I<n>, the remaining characters in the array pointed to by I<dest> are filled with null bytes (\\(aq\\e0\\(aq), If the length I<strlen(src)> is greater than or equal to I<n>, the string pointed to by I<dest> will not be null-terminated."
1415 msgstr "B<stpncpy>()  関数は I<src> が指している文字列から終端のヌルバイト (\\(aq\\e0\\(aq)  を含めて最大 I<n> バイトを I<dest> にコピーする。長さ I<strlen(src)> が I<n> より小さい場合には I<dest> の残りの 部分にはヌルバイト (\\(aq\\e0\\(aq) 文字が埋められる。 長さ I<strlen(src)> が I<n> 以上ならば、 I<dest> が指す文字列はヌルで終端されていない。"
1416
1417 #. type: Plain text
1418 #: build/C/man3/stpncpy.3:76
1419 msgid "The strings may not overlap."
1420 msgstr "二つの文字列は重なってはならない。"
1421
1422 #. type: Plain text
1423 #: build/C/man3/stpncpy.3:82
1424 msgid "The programmer must ensure that there is room for at least I<n> characters at I<dest>."
1425 msgstr "プログラマーは I<dest> に少なくとも I<n> バイトの空きがあることを 保証しなければならない。"
1426
1427 #. type: Plain text
1428 #: build/C/man3/stpncpy.3:91
1429 msgid "B<stpncpy>()  returns a pointer to the terminating null byte in I<dest>, or, if I<dest> is not null-terminated, I<dest>+I<n>."
1430 msgstr "B<stpncpy>()  は I<dest> の終端のヌルバイトを指すポインターを返すか、 I<dest> がヌルバイトで終端されていない場合には I<dest>+I<n> を返す。"
1431
1432 #. type: Plain text
1433 #: build/C/man3/stpncpy.3:96
1434 msgid "The B<stpncpy>()  function is thread-safe."
1435 msgstr "B<stpncpy>() 関数はスレッドセーフである。"
1436
1437 #. type: Plain text
1438 #: build/C/man3/stpncpy.3:100
1439 msgid "This function was added to POSIX.1-2008.  Before that, it was a GNU extension.  It first appeared in version 1.07 of the GNU C library in 1993."
1440 msgstr "この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。 この関数は 1993 年に GNU C ライブラリのバージョン 1.07 で初めて登場した。"
1441
1442 #. type: Plain text
1443 #: build/C/man3/stpncpy.3:103
1444 msgid "B<strncpy>(3), B<wcpncpy>(3)"
1445 msgstr "B<strncpy>(3), B<wcpncpy>(3)"
1446
1447 #. type: TH
1448 #: build/C/man3/strcasecmp.3:30
1449 #, no-wrap
1450 msgid "STRCASECMP"
1451 msgstr "STRCASECMP"
1452
1453 #. type: Plain text
1454 #: build/C/man3/strcasecmp.3:33
1455 msgid "strcasecmp, strncasecmp - compare two strings ignoring case"
1456 msgstr "strcasecmp, strncasecmp - 二つの文字列を大文字小文字を区別せず比較する"
1457
1458 #. type: Plain text
1459 #: build/C/man3/strcasecmp.3:38
1460 #, no-wrap
1461 msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1462 msgstr "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1463
1464 #. type: Plain text
1465 #: build/C/man3/strcasecmp.3:40
1466 #, no-wrap
1467 msgid "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
1468 msgstr "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
1469
1470 #. type: Plain text
1471 #: build/C/man3/strcasecmp.3:55
1472 msgid "The B<strcasecmp>()  function compares the two strings I<s1> and I<s2>, ignoring the case of the characters.  It returns an integer less than, equal to, or greater than zero if I<s1> is found, respectively, to be less than, to match, or be greater than I<s2>."
1473 msgstr "B<strcasecmp>()  関数は、二つの文字列 I<s1> と I<s2> を、 大文字小文字を区別せずに比較する。 I<s1> が I<s2> よりも小さいか、同じか、大きいかによってそれぞれ 負の整数、0、正の整数を返す。"
1474
1475 #. type: Plain text
1476 #: build/C/man3/strcasecmp.3:63
1477 msgid "The B<strncasecmp>()  function is similar, except it compares the only first I<n> bytes of I<s1>."
1478 msgstr ""
1479 "B<strncasecmp>() 関数も同様であるが、 I<s1> の最初の I<n> バイトだけを\n"
1480 "比較する点だけが異なる。"
1481
1482 #. type: Plain text
1483 #: build/C/man3/strcasecmp.3:76
1484 msgid "The B<strcasecmp>()  and B<strncasecmp>()  functions return an integer less than, equal to, or greater than zero if I<s1> (or the first I<n> bytes thereof) is found, respectively, to be less than, to match, or be greater than I<s2>."
1485 msgstr "B<strcasecmp>()  と B<strncasecmp>()  関数は、I<s1> (または、その最初の I<n> バイト)が I<s2> よりも小さいか、 同じか、大きいかにより、それぞれ負の整数、0、正の整数を返す。"
1486
1487 #. type: Plain text
1488 #: build/C/man3/strcasecmp.3:78
1489 msgid "4.4BSD, POSIX.1-2001."
1490 msgstr "4.4BSD, POSIX.1-2001."
1491
1492 #. type: Plain text
1493 #: build/C/man3/strcasecmp.3:92
1494 msgid "The B<strcasecmp>()  and B<strncasecmp>()  functions first appeared in 4.4BSD, where they were declared in I<E<lt>string.hE<gt>>.  Thus, for reasons of historical compatibility, the glibc I<E<lt>string.hE<gt>> header file also declares these functions, if the B<_DEFAULT_SOURCE> (or, in glibc 2.19 and earlier, B<_BSD_SOURCE>)  feature test macro is defined."
1495 msgstr "関数 B<strcasecmp>() と B<strncasecmp>() は 4.4BSD で初めて登場し、 そのときは I<E<lt>string.hE<gt>> に宣言があった。 このような、過去との互換性確保のため、 機能検査マクロ B<_DEFAULT_SOURCE> (glibc 2.19 以前では B<_BSD_SOURCE>) が定義された際に、 glibc のヘッダーファイル I<E<lt>string.hE<gt>> でもこれらの関数が宣言されている。"
1496
1497 #. type: Plain text
1498 #: build/C/man3/strcasecmp.3:101
1499 msgid "B<bcmp>(3), B<memcmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3), B<strncmp>(3), B<wcscasecmp>(3), B<wcsncasecmp>(3)"
1500 msgstr "B<bcmp>(3), B<memcmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3), B<strncmp>(3), B<wcscasecmp>(3), B<wcsncasecmp>(3)"
1501
1502 #. type: TH
1503 #: build/C/man3/strcat.3:32
1504 #, no-wrap
1505 msgid "STRCAT"
1506 msgstr "STRCAT"
1507
1508 #. type: TH
1509 #: build/C/man3/strcat.3:32 build/C/man3/strchr.3:33 build/C/man3/strcmp.3:32
1510 #, no-wrap
1511 msgid "2014-01-20"
1512 msgstr "2014-01-20"
1513
1514 #. type: Plain text
1515 #: build/C/man3/strcat.3:35
1516 msgid "strcat, strncat - concatenate two strings"
1517 msgstr "strcat, strncat - 二つの文字列を連結する"
1518
1519 #. type: Plain text
1520 #: build/C/man3/strcat.3:40
1521 #, no-wrap
1522 msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
1523 msgstr "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
1524
1525 #. type: Plain text
1526 #: build/C/man3/strcat.3:42
1527 #, no-wrap
1528 msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1529 msgstr "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1530
1531 #. type: Plain text
1532 #: build/C/man3/strcat.3:62
1533 msgid "The B<strcat>()  function appends the I<src> string to the I<dest> string, overwriting the terminating null byte (\\(aq\\e0\\(aq) at the end of I<dest>, and then adds a terminating null byte.  The strings may not overlap, and the I<dest> string must have enough space for the result.  If I<dest> is not large enough, program behavior is unpredictable; I<buffer overruns are a favorite avenue for attacking secure programs>."
1534 msgstr "B<strcat>()  関数は、I<dest> 文字列の後に I<src> 文字列を付け加える。 その際に、I<dest> の最後にある終端のヌルバイト (\\(aq\\e0\\(aq)  は上書きされ、新たに生成された文字列の末尾に終端のヌルバイトが付与される。 二つの文字列 I<src> と I<dest> は重なってはならない。 また、文字列 I<dest> は、連結後の結果を格納するのに 十分な大きさでなければならない。 I<dest> が十分な大きさでない場合、プログラムがどのような動作をするか分からない。 バッファオーバーランはセキュアなプログラムを攻撃する際に好んで使われる方法である。"
1535
1536 #. type: Plain text
1537 #: build/C/man3/strcat.3:66
1538 msgid "The B<strncat>()  function is similar, except that"
1539 msgstr "B<strncat>()  も同様だが、以下の点が異なる。"
1540
1541 #. type: IP
1542 #: build/C/man3/strcat.3:66 build/C/man3/strcat.3:72 build/C/man3/strsep.3:98
1543 #: build/C/man3/strsep.3:100 build/C/man3/strsep.3:102
1544 #: build/C/man3/strtok.3:188 build/C/man3/strtok.3:190
1545 #: build/C/man3/strtok.3:192 build/C/man3/strtok.3:194
1546 #, no-wrap
1547 msgid "*"
1548 msgstr "*"
1549
1550 #. type: Plain text
1551 #: build/C/man3/strcat.3:72
1552 msgid "it will use at most I<n> bytes from I<src>; and"
1553 msgstr "I<src> のうち最大 I<n> バイトが使用される。"
1554
1555 #. type: Plain text
1556 #: build/C/man3/strcat.3:77
1557 msgid "I<src> does not need to be null-terminated if it contains I<n> or more bytes."
1558 msgstr ""
1559 "I<src> が I<n> バイト以上の場合、 \n"
1560 "I<src> はヌル終端されている必要はない。"
1561
1562 #. type: Plain text
1563 #: build/C/man3/strcat.3:83
1564 msgid "As with B<strcat>(), the resulting string in I<dest> is always null-terminated."
1565 msgstr "B<strcat>()  と同じく、I<dest> に格納される結果の文字列は常にヌル終端される。"
1566
1567 #. type: Plain text
1568 #: build/C/man3/strcat.3:102
1569 msgid "If I<src> contains I<n> or more bytes, B<strncat>()  writes I<n+1> bytes to I<dest> (I<n> from I<src> plus the terminating null byte).  Therefore, the size of I<dest> must be at least I<strlen(dest)+n+1>."
1570 msgstr ""
1571 "I<src> が I<n> バイト以上の場合、 B<strncat>() は I<dest> に I<n+1> \n"
1572 "バイトを書き込む (I<src> からの I<n> バイトと終端のヌルバイトである)。\n"
1573 "したがって、I<dest> の大きさは最低でも I<strlen(dest)+n+1> でなければ\n"
1574 "ならない。"
1575
1576 #. type: Plain text
1577 #: build/C/man3/strcat.3:106
1578 msgid "A simple implementation of B<strncat>()  might be:"
1579 msgstr "B<strncat>()  の簡単な実装は以下のような感じであろう:"
1580
1581 #. type: Plain text
1582 #: build/C/man3/strcat.3:114
1583 #, no-wrap
1584 msgid ""
1585 "char*\n"
1586 "strncat(char *dest, const char *src, size_t n)\n"
1587 "{\n"
1588 "    size_t dest_len = strlen(dest);\n"
1589 "    size_t i;\n"
1590 msgstr ""
1591 "char*\n"
1592 "strncat(char *dest, const char *src, size_t n)\n"
1593 "{\n"
1594 "    size_t dest_len = strlen(dest);\n"
1595 "    size_t i;\n"
1596
1597 #. type: Plain text
1598 #: build/C/man3/strcat.3:118
1599 #, no-wrap
1600 msgid ""
1601 "    for (i = 0 ; i E<lt> n && src[i] != \\(aq\\e0\\(aq ; i++)\n"
1602 "        dest[dest_len + i] = src[i];\n"
1603 "    dest[dest_len + i] = \\(aq\\e0\\(aq;\n"
1604 msgstr ""
1605 "    for (i = 0 ; i E<lt> n && src[i] != \\(aq\\e0\\(aq ; i++)\n"
1606 "        dest[dest_len + i] = src[i];\n"
1607 "    dest[dest_len + i] = \\(aq\\e0\\(aq;\n"
1608
1609 #. type: Plain text
1610 #: build/C/man3/strcat.3:121 build/C/man3/strcpy.3:106
1611 #, no-wrap
1612 msgid ""
1613 "    return dest;\n"
1614 "}\n"
1615 msgstr ""
1616 "    return dest;\n"
1617 "}\n"
1618
1619 #. type: Plain text
1620 #: build/C/man3/strcat.3:130
1621 msgid "The B<strcat>()  and B<strncat>()  functions return a pointer to the resulting string I<dest>."
1622 msgstr "B<strcat>()  関数と B<strncat>()  関数は、結果としてできる文字列 I<dest> へのポインタを返す。"
1623
1624 #. type: Plain text
1625 #: build/C/man3/strcat.3:137
1626 msgid "The B<strcat>()  and B<strncat>()  functions are thread-safe."
1627 msgstr "関数 B<strcat>() と B<strncat>() はスレッドセーフである。"
1628
1629 #. type: Plain text
1630 #: build/C/man3/strcat.3:139 build/C/man3/strcmp.3:88
1631 #: build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:125
1632 #: build/C/man3/strlen.3:57 build/C/man3/strpbrk.3:63 build/C/man3/strspn.3:83
1633 #: build/C/man3/strxfrm.3:78
1634 msgid "SVr4, 4.3BSD, C89, C99."
1635 msgstr "SVr4, 4.3BSD, C89, C99."
1636
1637 #. type: Plain text
1638 #: build/C/man3/strcat.3:141 build/C/man3/strcpy.3:178
1639 msgid "Some systems (the BSDs, Solaris, and others) provide the following function:"
1640 msgstr "いくつかのシステム (BSD、Solaris など) では以下の関数が提供されている。"
1641
1642 #. type: Plain text
1643 #: build/C/man3/strcat.3:143
1644 #, no-wrap
1645 msgid "    size_t strlcat(char *dest, const char *src, size_t size);\n"
1646 msgstr "    size_t strlcat(char *dest, const char *src, size_t size);\n"
1647
1648 #.  https://lwn.net/Articles/506530/
1649 #. type: Plain text
1650 #: build/C/man3/strcat.3:176
1651 msgid "This function appends the null-terminated string I<src> to the string I<dest>, copying at most I<size-strlen(dest)-1> from I<src>, and adds a terminating null byte to the result, I<unless> I<size> is less than I<strlen(dest)>.  This function fixes the buffer overrun problem of B<strcat>(), but the caller must still handle the possibility of data loss if I<size> is too small.  The function returns the length of the string B<strlcat>()  tried to create; if the return value is greater than or equal to I<size>, data loss occurred.  If data loss matters, the caller I<must> either check the arguments before the call, or test the function return value.  B<strlcat>()  is not present in glibc and is not standardized by POSIX, but is available on Linux via the I<libbsd> library."
1652 msgstr "この関数は、ヌル終端された文字列 I<src> を文字列 I<dest> に追加する。 具体例には、 I<size> が I<strlen(dest)> より大きい場合には最大で I<size-strlen(dest)-1> バイトを I<src> からコピーし、 結果の末尾に終端のヌルバイトを追加する。 この関数では B<strcat>() のバッファオーバーランが発生するという問題が修正されているが、  I<size> が小さすぎた場合にはデータが失われる問題には、 依然として呼び出し側で対処する必要がある。 この関数は B<strlcat>() が作成しようとした文字列の長さを返す。 返り値が I<size> 以上の場合、 データロスが発生している。 データロスが問題となる場合は、 呼び出し側で、 呼び出し前に引き数をチェックするか、 この関数の返り値を検査するかのいずれかをしなければならない。 B<strlcat>() は glibc には存在せず、 POSIX による標準化もされていないが、 Linux では I<libbsd> ライブラリ経由で利用できる。"
1653
1654 #. type: Plain text
1655 #: build/C/man3/strcat.3:185
1656 msgid "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<string>(3), B<strncpy>(3), B<wcscat>(3), B<wcsncat>(3)"
1657 msgstr "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<string>(3), B<strncpy>(3), B<wcscat>(3), B<wcsncat>(3)"
1658
1659 #. type: TH
1660 #: build/C/man3/strchr.3:33
1661 #, no-wrap
1662 msgid "STRCHR"
1663 msgstr "STRCHR"
1664
1665 #. type: Plain text
1666 #: build/C/man3/strchr.3:36
1667 msgid "strchr, strrchr, strchrnul - locate character in string"
1668 msgstr "strchr, strrchr, strchrnul - 文字列中の文字の位置を特定する"
1669
1670 #. type: Plain text
1671 #: build/C/man3/strchr.3:41
1672 #, no-wrap
1673 msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
1674 msgstr "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
1675
1676 #. type: Plain text
1677 #: build/C/man3/strchr.3:43
1678 #, no-wrap
1679 msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
1680 msgstr "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
1681
1682 #. type: Plain text
1683 #: build/C/man3/strchr.3:48
1684 #, no-wrap
1685 msgid "B<char *strchrnul(const char *>I<s>B<, int >I<c>B<);>\n"
1686 msgstr "B<char *strchrnul(const char *>I<s>B<, int >I<c>B<);>\n"
1687
1688 #. type: Plain text
1689 #: build/C/man3/strchr.3:57
1690 msgid "The B<strchr>()  function returns a pointer to the first occurrence of the character I<c> in the string I<s>."
1691 msgstr "B<strchr>()  関数は、文字列 I<s> 中に最初に文字 I<c> が現れた位置へのポインタを返す。"
1692
1693 #. type: Plain text
1694 #: build/C/man3/strchr.3:65
1695 msgid "The B<strrchr>()  function returns a pointer to the last occurrence of the character I<c> in the string I<s>."
1696 msgstr "B<strrchr>()  関数は、文字列 I<s> 中に最後に文字 I<c> が現れた位置へのポインタを返す。"
1697
1698 #. type: Plain text
1699 #: build/C/man3/strchr.3:78
1700 msgid "The B<strchrnul>()  function is like B<strchr>()  except that if I<c> is not found in I<s>, then it returns a pointer to the null byte at the end of I<s>, rather than NULL."
1701 msgstr "B<strchrnul>()  関数は B<strchr>()  と同様だが、 I<c> が I<s> 中に見つからなかった場合に、返り値として NULL でなく、I<s> の末尾のヌルバイトへのポインタを返す点が異なる。"
1702
1703 #. type: Plain text
1704 #: build/C/man3/strchr.3:81
1705 msgid "Here \"character\" means \"byte\"; these functions do not work with wide or multibyte characters."
1706 msgstr "ここでいう「文字」は「バイト」の意味なので、 これらの関数はワイド文字やマルチバイト文字では動作しない。"
1707
1708 #. type: Plain text
1709 #: build/C/man3/strchr.3:93
1710 msgid "The B<strchr>()  and B<strrchr>()  functions return a pointer to the matched character or NULL if the character is not found.  The terminating null byte is considered part of the string, so that if I<c> is specified as \\(aq\\e0\\(aq, these functions return a pointer to the terminator."
1711 msgstr ""
1712 "B<strchr>() と B<strrchr>() 関数は一致した文字へのポインタを返し、もし\n"
1713 "文字が見つからない場合は NULL を返す。終端のヌルバイトは文字列の一部と\n"
1714 "みなされ、I<c> に \\(aq\\e0\\(aq が指定された場合には、これらの関数は\n"
1715 "終端のヌルバイトへのポインタを返す。"
1716
1717 #. type: Plain text
1718 #: build/C/man3/strchr.3:104
1719 msgid "The B<strchrnul>()  function returns a pointer to the matched character, or a pointer to the null byte at the end of I<s> (i.e., I<s+strlen(s)>)  if the character is not found."
1720 msgstr "B<strchrnul>()  関数は一致した文字へのポインタを返す。 文字が見つからない場合は、I<s> の末尾のヌルバイトへの ポインタ (つまり I<s+strlen(s)>) を返す。"
1721
1722 #. type: Plain text
1723 #: build/C/man3/strchr.3:107
1724 msgid "B<strchrnul>()  first appeared in glibc in version 2.1.1."
1725 msgstr "B<strchrnul>()  は glibc バージョン 2.1.1 で初めて登場した。"
1726
1727 #. type: Plain text
1728 #: build/C/man3/strchr.3:115
1729 msgid "The B<strchr>(), B<strrchr>(), and B<strchrnul>()  functions are thread-safe."
1730 msgstr "関数 B<strchr>(), B<strrchr>(), B<strchrnul>() はスレッドセーフである。"
1731
1732 #. type: Plain text
1733 #: build/C/man3/strchr.3:122
1734 msgid "B<strchr>()  and B<strrchr>()  are in SVr4, 4.3BSD, C89, C99.  B<strchrnul>()  is a GNU extension."
1735 msgstr "B<strchr>()  と B<strrchr>()  は SVr4, 4.3BSD, C89, C99 に準拠している。 B<strchrnul>()  は GNU 拡張である。"
1736
1737 #. type: Plain text
1738 #: build/C/man3/strchr.3:135
1739 msgid "B<index>(3), B<memchr>(3), B<rindex>(3), B<string>(3), B<strlen>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcschr>(3), B<wcsrchr>(3)"
1740 msgstr "B<index>(3), B<memchr>(3), B<rindex>(3), B<string>(3), B<strlen>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcschr>(3), B<wcsrchr>(3)"
1741
1742 #. type: TH
1743 #: build/C/man3/strcmp.3:32
1744 #, no-wrap
1745 msgid "STRCMP"
1746 msgstr "STRCMP"
1747
1748 #. type: Plain text
1749 #: build/C/man3/strcmp.3:35
1750 msgid "strcmp, strncmp - compare two strings"
1751 msgstr "strcmp, strncmp - 二つの文字列を比べる"
1752
1753 #. type: Plain text
1754 #: build/C/man3/strcmp.3:40
1755 #, no-wrap
1756 msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1757 msgstr "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1758
1759 #. type: Plain text
1760 #: build/C/man3/strcmp.3:42
1761 #, no-wrap
1762 msgid "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
1763 msgstr "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
1764
1765 #. type: Plain text
1766 #: build/C/man3/strcmp.3:56
1767 msgid "The B<strcmp>()  function compares the two strings I<s1> and I<s2>.  It returns an integer less than, equal to, or greater than zero if I<s1> is found, respectively, to be less than, to match, or be greater than I<s2>."
1768 msgstr "B<strcmp>()  関数は二つの文字列 I<s1> と I<s2> を較べる。 この関数は、 I<s1> が I<s2> に較べて 1)小さい、2)等しい、3)大きい場合に、 ゼロよりも 1)小さい、2)等しい、3)大きい整数を返す。"
1769
1770 #. type: Plain text
1771 #: build/C/man3/strcmp.3:66
1772 msgid "The B<strncmp>()  function is similar, except it compares the only first (at most)  I<n> bytes of I<s1> and I<s2>."
1773 msgstr ""
1774 "B<strncmp>() 関数は、I<s1> と I<s2> の最初の I<n> バイトだけを比較する\n"
1775 "ことを除けば、strcmp()と同様である。"
1776
1777 #. type: Plain text
1778 #: build/C/man3/strcmp.3:79
1779 msgid "The B<strcmp>()  and B<strncmp>()  functions return an integer less than, equal to, or greater than zero if I<s1> (or the first I<n> bytes thereof) is found, respectively, to be less than, to match, or be greater than I<s2>."
1780 msgstr "B<strcmp>()  関数と B<strncmp>()  関数は整数を返す。 この整数は、ゼロよりも、1)小さい、2)等しい、3)大きいのいずれかである。 それぞれは、I<s1>(または、この文字列の最初の I<n> バイト)が I<s2> よりも、1)小さい、2)等しい、3)大きいに対応している。"
1781
1782 #. type: Plain text
1783 #: build/C/man3/strcmp.3:86
1784 msgid "The B<strcmp>()  and B<strncmp>()  functions are thread-safe."
1785 msgstr "関数 B<strcmp>() と B<strncmp>() はスレッドセーフである。"
1786
1787 #. type: Plain text
1788 #: build/C/man3/strcmp.3:98
1789 msgid "B<bcmp>(3), B<memcmp>(3), B<strcasecmp>(3), B<strcoll>(3), B<string>(3), B<strncasecmp>(3), B<strverscmp>(3), B<wcscmp>(3), B<wcsncmp>(3)"
1790 msgstr "B<bcmp>(3), B<memcmp>(3), B<strcasecmp>(3), B<strcoll>(3), B<string>(3), B<strncasecmp>(3), B<strverscmp>(3), B<wcscmp>(3), B<wcsncmp>(3)"
1791
1792 #. type: TH
1793 #: build/C/man3/strcoll.3:30
1794 #, no-wrap
1795 msgid "STRCOLL"
1796 msgstr "STRCOLL"
1797
1798 #. type: TH
1799 #: build/C/man3/strcoll.3:30 build/C/man3/strfry.3:30
1800 #, no-wrap
1801 msgid "2010-09-20"
1802 msgstr "2010-09-20"
1803
1804 #. type: Plain text
1805 #: build/C/man3/strcoll.3:33
1806 msgid "strcoll - compare two strings using the current locale"
1807 msgstr "strcoll - 現在のロケールを使用して二つの文字列を比較する"
1808
1809 #. type: Plain text
1810 #: build/C/man3/strcoll.3:38
1811 #, no-wrap
1812 msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1813 msgstr "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1814
1815 #. type: Plain text
1816 #: build/C/man3/strcoll.3:58
1817 msgid "The B<strcoll>()  function compares the two strings I<s1> and I<s2>.  It returns an integer less than, equal to, or greater than zero if I<s1> is found, respectively, to be less than, to match, or be greater than I<s2>.  The comparison is based on strings interpreted as appropriate for the program's current locale for category B<LC_COLLATE>.  (See B<setlocale>(3).)"
1818 msgstr "B<strcoll>() 関数は二つの文字列 I<s1> と I<s2> を比較する。 この関数は、I<s1> が I<s2> よりも小さいか、等しいか、大きいかによって それぞれ負の整数、0、正の整数を返す。 比較は、プログラムの現在のロケールの B<LC_COLLATE> カテゴリに応じて 解釈された文字列に基づいて行われる (B<setlocale>(3)  参照)。"
1819
1820 #. type: Plain text
1821 #: build/C/man3/strcoll.3:69
1822 msgid "The B<strcoll>()  function returns an integer less than, equal to, or greater than zero if I<s1> is found, respectively, to be less than, to match, or be greater than I<s2>, when both are interpreted as appropriate for the current locale."
1823 msgstr "B<strcoll>()  関数は、I<s1> が I<s2> よりも小さいか、等しいか、 大きいかによって、それぞれ負の整数、0、正の整数を返す。 どちらの文字列も現在のロケールに応じて解釈されたものが使用される。"
1824
1825 #. type: Plain text
1826 #: build/C/man3/strcoll.3:80
1827 msgid "In the I<POSIX> or I<C> locales B<strcoll>()  is equivalent to B<strcmp>(3)."
1828 msgstr "I<POSIX> および I<C> ロケールにおいては、 B<strcoll>()  は B<strcmp>(3)  と等価である。"
1829
1830 #. type: Plain text
1831 #: build/C/man3/strcoll.3:88
1832 msgid "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), B<string>(3), B<strxfrm>(3)"
1833 msgstr "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), B<string>(3), B<strxfrm>(3)"
1834
1835 #. type: TH
1836 #: build/C/man3/strcpy.3:35
1837 #, no-wrap
1838 msgid "STRCPY"
1839 msgstr "STRCPY"
1840
1841 #. type: TH
1842 #: build/C/man3/strcpy.3:35
1843 #, no-wrap
1844 msgid "2014-05-21"
1845 msgstr "2014-05-21"
1846
1847 #. type: Plain text
1848 #: build/C/man3/strcpy.3:38
1849 msgid "strcpy, strncpy - copy a string"
1850 msgstr "strcpy, strncpy - 文字列をコピーする"
1851
1852 #. type: Plain text
1853 #: build/C/man3/strcpy.3:43
1854 #, no-wrap
1855 msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1856 msgstr "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1857
1858 #. type: Plain text
1859 #: build/C/man3/strcpy.3:45
1860 #, no-wrap
1861 msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1862 msgstr "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1863
1864 #. type: Plain text
1865 #: build/C/man3/strcpy.3:59
1866 msgid "The B<strcpy>()  function copies the string pointed to by I<src>, including the terminating null byte (\\(aq\\e0\\(aq), to the buffer pointed to by I<dest>.  The strings may not overlap, and the destination string I<dest> must be large enough to receive the copy.  I<Beware of buffer overruns!> (See BUGS.)"
1867 msgstr "B<strcpy>()  関数は I<src> が指す文字列を末尾のヌルバイト (\\(aq\\e0\\(aq) も含めて I<dest> が指すバッファにコピーする。 二つの文字列は重なってはならない。受け側の文字列 I<dest> は コピーを受け取るのに十分な大きさでなければならない。 I<バッファオーバーランに気を付けること!> (「バグ」の節を参照)"
1868
1869 #. type: Plain text
1870 #: build/C/man3/strcpy.3:76
1871 msgid "The B<strncpy>()  function is similar, except that at most I<n> bytes of I<src> are copied.  B<Warning>: If there is no null byte among the first I<n> bytes of I<src>, the string placed in I<dest> will not be null-terminated."
1872 msgstr "B<strncpy>()  関数も同様だが、 I<src> のうち最大でも I<n> バイトしかコピーされない点が異なる。 B<警告>: I<src> の最初の I<n> バイトの中にヌルバイトがない場合、 I<dest> に格納される文字列はヌルで終端されないことになる。"
1873
1874 #. type: Plain text
1875 #: build/C/man3/strcpy.3:87
1876 msgid "If the length of I<src> is less than I<n>, B<strncpy>()  writes additional null bytes to I<dest> to ensure that a total of I<n> bytes are written."
1877 msgstr "I<src> の長さが I<n> よりも短い場合、 B<strncpy>() は I<dest> に追加のヌルバイトを書き込み、全部で I<n> バイトが書き込まれるようにする。"
1878
1879 #. type: Plain text
1880 #: build/C/man3/strcpy.3:91
1881 msgid "A simple implementation of B<strncpy>()  might be:"
1882 msgstr "B<strncpy>()  の簡単な実装は以下のような感じであろう:"
1883
1884 #. type: Plain text
1885 #: build/C/man3/strcpy.3:98
1886 #, no-wrap
1887 msgid ""
1888 "char *\n"
1889 "strncpy(char *dest, const char *src, size_t n)\n"
1890 "{\n"
1891 "    size_t i;\n"
1892 msgstr ""
1893 "char *\n"
1894 "strncpy(char *dest, const char *src, size_t n)\n"
1895 "{\n"
1896 "    size_t i;\n"
1897
1898 #. type: Plain text
1899 #: build/C/man3/strcpy.3:103
1900 #, no-wrap
1901 msgid ""
1902 "    for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
1903 "        dest[i] = src[i];\n"
1904 "    for ( ; i E<lt> n; i++)\n"
1905 "        dest[i] = \\(aq\\e0\\(aq;\n"
1906 msgstr ""
1907 "    for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
1908 "        dest[i] = src[i];\n"
1909 "    for ( ; i E<lt> n; i++)\n"
1910 "        dest[i] = \\(aq\\e0\\(aq;\n"
1911
1912 #. type: Plain text
1913 #: build/C/man3/strcpy.3:116
1914 msgid "The B<strcpy>()  and B<strncpy>()  functions return a pointer to the destination string I<dest>."
1915 msgstr "B<strcpy>()  関数と B<strncpy>()  関数は 受け側の文字列I<dest>へのポインタを返す。"
1916
1917 #. type: Plain text
1918 #: build/C/man3/strcpy.3:123
1919 msgid "The B<strcpy>()  and B<strncpy>()  functions are thread-safe."
1920 msgstr "関数 B<strcpy>() と B<strncpy>() はスレッドセーフである。"
1921
1922 #. type: Plain text
1923 #: build/C/man3/strcpy.3:138
1924 msgid "Some programmers consider B<strncpy>()  to be inefficient and error prone.  If the programmer knows (i.e., includes code to test!)  that the size of I<dest> is greater than the length of I<src>, then B<strcpy>()  can be used."
1925 msgstr "B<strncpy>()  は効率的でなく間違いを起こしやすいと考えるプログラマもいるだろう。 プログラマが I<dest> の大きさが I<src> の長さよりも 大きいことを知っている (つまり、そのことをチェックするコードを 書いている) 場合は、 B<strcpy()> を使うことができる。"
1926
1927 #. type: Plain text
1928 #: build/C/man3/strcpy.3:147
1929 msgid "One valid (and intended) use of B<strncpy>()  is to copy a C string to a fixed-length buffer while ensuring both that the buffer is not overflowed and that unused bytes in the target buffer are zeroed out (perhaps to prevent information leaks if the buffer is to be written to media or transmitted to another process via an interprocess communication technique)."
1930 msgstr "B<strncpy>() の正しい (かつ意図された) 用途は、 C 文字列の固定長バッファへのコピーを、 バッファがオーバーフローしないことと、 宛先バッファの未使用バイトが 0 で埋められることの両方を保証しつつ行うことである。 (宛先バッファを 0 で埋めるのは、 たいていの場合、 バッファを媒体に書き込んだり、別のプロセスにプロセス間通信を用いて送信したりした場合に情報洩れを防ぐためである)。"
1931
1932 #. type: Plain text
1933 #: build/C/man3/strcpy.3:160
1934 msgid "If there is no terminating null byte in the first I<n> bytes of I<src>, B<strncpy>()  produces an unterminated string in I<dest>.  If I<buf> has length I<buflen>, you can force termination using something like the following:"
1935 msgstr "I<src> の最初の I<n> バイトに終端のヌルバイトがない場合、 B<strncpy>() は I<dest> に終端されていない文字列を生成する。 I<buf> の長さが I<buflen> の場合、以下のようにして強制的に終端することができる。"
1936
1937 #. type: Plain text
1938 #: build/C/man3/strcpy.3:166
1939 #, no-wrap
1940 msgid ""
1941 "strncpy(buf, str, buflen - 1);\n"
1942 "if (buflen E<gt> 0)\n"
1943 "    buf[buflen - 1]= \\(aq\\e0\\(aq;\n"
1944 msgstr ""
1945 "strncpy(buf, str, buflen - 1);\n"
1946 "if (buflen E<gt> 0)\n"
1947 "    buf[buflen - 1]= \\(aq\\e0\\(aq;\n"
1948
1949 #. type: Plain text
1950 #: build/C/man3/strcpy.3:176
1951 msgid "(Of course, the above technique ignores the fact that, if I<src> contains more than I<buflen\\ -\\ 1> bytes, information is lost in the copying to I<dest>.)"
1952 msgstr "(もちろん、上記の方法では、 I<src> に入っている情報が I<buflen\\ -\\ 1> バイトよりも多い場合には、 I<dest> へのコピー時に情報が失われるという事実は無視している。)"
1953
1954 #. type: SS
1955 #: build/C/man3/strcpy.3:176
1956 #, no-wrap
1957 msgid "strlcpy()"
1958 msgstr "strlcpy()"
1959
1960 #. type: Plain text
1961 #: build/C/man3/strcpy.3:180
1962 #, no-wrap
1963 msgid "    size_t strlcpy(char *dest, const char *src, size_t size);\n"
1964 msgstr "    size_t strlcpy(char *dest, const char *src, size_t size);\n"
1965
1966 #.  http://static.usenix.org/event/usenix99/full_papers/millert/millert_html/index.html
1967 #.      "strlcpy and strlcat - consistent, safe, string copy and concatenation"
1968 #.      1999 USENIX Annual Technical Conference
1969 #.  https://lwn.net/Articles/506530/
1970 #. type: Plain text
1971 #: build/C/man3/strcpy.3:215
1972 msgid "This function is similar to B<strncpy>(), but it copies at most I<size-1> bytes to I<dest>, always adds a terminating null byte, and does not pad the target with (further) null bytes.  This function fixes some of the problems of B<strcpy>()  and B<strncpy>(), but the caller must still handle the possibility of data loss if I<size> is too small.  The return value of the function is the length of I<src>, which allows truncation to be easily detected: if the return value is greater than or equal to I<size>, truncation occurred.  If loss of data matters, the caller I<must> either check the arguments before the call, or test the function return value.  B<strlcpy>()  is not present in glibc and is not standardized by POSIX, but is available on Linux via the I<libbsd> library."
1973 msgstr "この関数は B<strncpy>() と同様だが、 最大でも I<size-1> バイトしか I<dest> にコピーをせず、 末尾への終端のヌルバイトの追加が必ず行われ、 宛先バッファ (の未使用部分) へのヌルバイトの書き込みが行われない。 この関数では B<strcpy>() や B<strncpy>() の持つ問題のいくつかが修正されているが、 I<size> が小さすぎた場合にはデータが失われる問題には、 依然として呼び出し側で対処する必要がある。 この関数の返り値は I<src> の長さである。 これにより、 末尾の切り詰めが行われたかを簡単に検出することができる。 返り値が I<size> 以上の場合には、 末尾の切り詰めが発生している。 データロスが問題となる場合は、 呼び出し側で、 呼び出し前に引き数をチェックするか、 この関数の返り値を検査するかのいずれかをしなければならない。 B<strlcpy>() は glibc  には存在せず、 POSIX による標準化もされていないが、 Linux では I<libbsd> ライブラリ経由で利用できる。"
1974
1975 #. type: Plain text
1976 #: build/C/man3/strcpy.3:226
1977 msgid "If the destination string of a B<strcpy>()  is not large enough, then anything might happen.  Overflowing fixed-length string buffers is a favorite cracker technique for taking complete control of the machine.  Any time a program reads or copies data into a buffer, the program first needs to check that there's enough space.  This may be unnecessary if you can show that overflow is impossible, but be careful: programs can get changed over time, in ways that may make the impossible possible."
1978 msgstr "B<strcpy>()  の受け側の文字列が十分な大きさでない場合、何が起こるかわからない。 固定長文字列を溢れさせるのは、マシンの制御を掌中に収めるために クラッカーが好んで使うテクニックである。 プログラムでデータをバッファに読み込んだりコピーしたりする場合には、 必ずまず最初に十分な大きさがあるかどうかをチェックする必要がある。 プログラマがオーバーフローが不可能だと示せる場合には このチェックは不要かもしれないが、十分注意すること。 長い間には、不可能だったことが可能になるような方法でプログラムが 変更されることもあるからだ。"
1979
1980 #. type: Plain text
1981 #: build/C/man3/strcpy.3:237
1982 msgid "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpcpy>(3), B<stpncpy>(3), B<strdup>(3), B<string>(3), B<wcscpy>(3), B<wcsncpy>(3)"
1983 msgstr "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpcpy>(3), B<stpncpy>(3), B<strdup>(3), B<string>(3), B<wcscpy>(3), B<wcsncpy>(3)"
1984
1985 #. type: TH
1986 #: build/C/man3/strdup.3:31
1987 #, no-wrap
1988 msgid "STRDUP"
1989 msgstr "STRDUP"
1990
1991 #. type: TH
1992 #: build/C/man3/strdup.3:31
1993 #, no-wrap
1994 msgid "2013-04-19"
1995 msgstr "2013-04-19"
1996
1997 #. type: Plain text
1998 #: build/C/man3/strdup.3:34
1999 msgid "strdup, strndup, strdupa, strndupa - duplicate a string"
2000 msgstr "strdup, strndup, strdupa, strndupa - 文字列を複製する"
2001
2002 #. type: Plain text
2003 #: build/C/man3/strdup.3:39
2004 #, no-wrap
2005 msgid "B<char *strdup(const char *>I<s>B<);>\n"
2006 msgstr "B<char *strdup(const char *>I<s>B<);>\n"
2007
2008 #. type: Plain text
2009 #: build/C/man3/strdup.3:41
2010 #, no-wrap
2011 msgid "B<char *strndup(const char *>I<s>B<, size_t >I<n>B<);>\n"
2012 msgstr "B<char *strndup(const char *>I<s>B<, size_t >I<n>B<);>\n"
2013
2014 #. type: Plain text
2015 #: build/C/man3/strdup.3:43
2016 #, no-wrap
2017 msgid "B<char *strdupa(const char *>I<s>B<);>\n"
2018 msgstr "B<char *strdupa(const char *>I<s>B<);>\n"
2019
2020 #. type: Plain text
2021 #: build/C/man3/strdup.3:45
2022 #, no-wrap
2023 msgid "B<char *strndupa(const char *>I<s>B<, size_t >I<n>B<);>\n"
2024 msgstr "B<char *strndupa(const char *>I<s>B<, size_t >I<n>B<);>\n"
2025
2026 #. type: Plain text
2027 #: build/C/man3/strdup.3:55
2028 msgid "B<strdup>():"
2029 msgstr "B<strdup>():"
2030
2031 #. type: Plain text
2032 #: build/C/man3/strdup.3:58
2033 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2034 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2035
2036 #. type: Plain text
2037 #: build/C/man3/strdup.3:60
2038 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2039 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2040
2041 #. type: Plain text
2042 #: build/C/man3/strdup.3:63
2043 msgid "B<strndup>():"
2044 msgstr "B<strndup>():"
2045
2046 #. type: Plain text
2047 #: build/C/man3/strdup.3:67
2048 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
2049 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
2050
2051 #. type: Plain text
2052 #: build/C/man3/strdup.3:75
2053 msgid "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
2054 msgstr "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
2055
2056 #. type: Plain text
2057 #: build/C/man3/strdup.3:88
2058 msgid "The B<strdup>()  function returns a pointer to a new string which is a duplicate of the string I<s>.  Memory for the new string is obtained with B<malloc>(3), and can be freed with B<free>(3)."
2059 msgstr "B<strdup>()  関数は、文字列 I<s>の複製である 新しい文字列へのポインタを返す。 新しい文字列のためのメモリは B<malloc>(3)  で得ている。 そして、 B<free>(3)  で解放することができる。"
2060
2061 #. type: Plain text
2062 #: build/C/man3/strdup.3:101
2063 msgid "The B<strndup>()  function is similar, but copies at most I<n> bytes.  If I<s> is longer than I<n>, only I<n> bytes are copied, and a terminating null byte (\\(aq\\e0\\(aq) is added."
2064 msgstr ""
2065 "B<strndup>() 関数は同様であるが、最大で I<n> バイトを複製する。\n"
2066 "I<s> が I<n> よりも長い場合、I<n> バイトだけが複製され、\n"
2067 "終端のヌルバイト (\\(aq\\e0\\(aq)) が追加される。"
2068
2069 #. type: Plain text
2070 #: build/C/man3/strdup.3:111
2071 msgid "B<strdupa>()  and B<strndupa>()  are similar, but use B<alloca>(3)  to allocate the buffer.  They are available only when using the GNU GCC suite, and suffer from the same limitations described in B<alloca>(3)."
2072 msgstr ""
2073 "B<strdupa>() と B<strndupa>() も同様だが、バッファの確保に\n"
2074 "B<alloca>(3) を使用する点が異なる。\n"
2075 "これらが使用できるのは GNU GCC ツール群を使う場合だけであり、\n"
2076 "B<alloca>(3) で説明されているのと同じ制限がある。"
2077
2078 #. type: Plain text
2079 #: build/C/man3/strdup.3:119
2080 msgid "On success, the B<strdup>()  function returns a pointer to the duplicated string.  It returns NULL if insufficient memory was available, with I<errno> set to indicate the cause of the error."
2081 msgstr "成功すると、 B<strdup>() 関数は複製された文字列へのポインタを返す。 十分なメモリが確保できなかった場合には、 NULL を返し、 I<errno> にエラーの原因を示す値を設定する。"
2082
2083 #. type: SH
2084 #: build/C/man3/strdup.3:119 build/C/man3/strerror.3:193
2085 #, no-wrap
2086 msgid "ERRORS"
2087 msgstr "エラー"
2088
2089 #. type: TP
2090 #: build/C/man3/strdup.3:120
2091 #, no-wrap
2092 msgid "B<ENOMEM>"
2093 msgstr "B<ENOMEM>"
2094
2095 #. type: Plain text
2096 #: build/C/man3/strdup.3:123
2097 msgid "Insufficient memory available to allocate duplicate string."
2098 msgstr "複製された文字列を割り当てる十分なメモリが確保できなかった。"
2099
2100 #.  4.3BSD-Reno, not (first) 4.3BSD.
2101 #. type: Plain text
2102 #: build/C/man3/strdup.3:133
2103 msgid "B<strdup>()  conforms to SVr4, 4.3BSD, POSIX.1-2001.  B<strndup>()  conforms to POSIX.1-2008.  B<strdupa>()  and B<strndupa>()  are GNU extensions."
2104 msgstr "B<strdup>()  は SVr4, 4.3BSD, POSIX.1-2001 準拠である。 B<strndup>()  は POSIX.1-2008 準拠である。 B<strdupa>(), B<strndupa>()  は GNU 拡張である。"
2105
2106 #. type: Plain text
2107 #: build/C/man3/strdup.3:141
2108 msgid "B<alloca>(3), B<calloc>(3), B<free>(3), B<malloc>(3), B<realloc>(3), B<string>(3), B<wcsdup>(3)"
2109 msgstr "B<alloca>(3), B<calloc>(3), B<free>(3), B<malloc>(3), B<realloc>(3), B<string>(3), B<wcsdup>(3)"
2110
2111 #. type: TH
2112 #: build/C/man3/strerror.3:39
2113 #, no-wrap
2114 msgid "STRERROR"
2115 msgstr "STRERROR"
2116
2117 #. type: Plain text
2118 #: build/C/man3/strerror.3:42
2119 msgid "strerror, strerror_r, strerror_l - return string describing error number"
2120 msgstr "strerror, strerror_r, strerror_l - エラー番号を説明する文字列を返す。"
2121
2122 #. type: Plain text
2123 #: build/C/man3/strerror.3:47
2124 #, no-wrap
2125 msgid "B<char *strerror(int >I<errnum>B<);>\n"
2126 msgstr "B<char *strerror(int >I<errnum>B<);>\n"
2127
2128 #. type: Plain text
2129 #: build/C/man3/strerror.3:50
2130 #, no-wrap
2131 msgid ""
2132 "B<int strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
2133 "            /* XSI-compliant */\n"
2134 msgstr ""
2135 "B<int strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
2136 "            /* XSI-compliant */\n"
2137
2138 #. type: Plain text
2139 #: build/C/man3/strerror.3:53
2140 #, no-wrap
2141 msgid ""
2142 "B<char *strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
2143 "            /* GNU-specific */\n"
2144 msgstr ""
2145 "B<char *strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
2146 "            /* GNU-specific */\n"
2147
2148 #. type: Plain text
2149 #: build/C/man3/strerror.3:55
2150 #, no-wrap
2151 msgid "B<char *strerror_l(int >I<errnum>B<, locale_t >I<locale>B<);>\n"
2152 msgstr "B<char *strerror_l(int >I<errnum>B<, locale_t >I<locale>B<);>\n"
2153
2154 #. type: Plain text
2155 #: build/C/man3/strerror.3:64
2156 msgid "B<strerror_r>():"
2157 msgstr "B<strerror_r>():"
2158
2159 #. type: Plain text
2160 #: build/C/man3/strerror.3:66
2161 msgid "The XSI-compliant version is provided if:"
2162 msgstr "次の場合には XSI 準拠のバージョンが提供される:"
2163
2164 #. type: Plain text
2165 #: build/C/man3/strerror.3:68
2166 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ _GNU_SOURCE"
2167 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ _GNU_SOURCE"
2168
2169 #. type: Plain text
2170 #: build/C/man3/strerror.3:70
2171 msgid "Otherwise, the GNU-specific version is provided."
2172 msgstr "それ以外の場合、GNU バージョンが提供される。"
2173
2174 #. type: Plain text
2175 #: build/C/man3/strerror.3:95
2176 msgid "The B<strerror>()  function returns a pointer to a string that describes the error code passed in the argument I<errnum>, possibly using the B<LC_MESSAGES> part of the current locale to select the appropriate language.  (For example, if I<errnum> is B<EINVAL>, the returned description will be \"Invalid argument\".)  This string must not be modified by the application, but may be modified by a subsequent call to B<strerror>()  or B<strerror_l>().  No other library function, including B<perror>(3), will modify this string."
2177 msgstr "B<strerror>() 関数は、引き数 I<errnum> で渡されたエラーコードについての説明が入った文字列へのポインタを返す。 可能であるならば、適切な言語を選択するために、 現在のロケールの B<LC_MESSAGES> を使う。(例えば、 I<errnum> が B<EINVAL> の場合、説明として \"Invalid argument\" が返される。) この文字列は、アプリケーションで変更してはならないが、 これ以降に行われる B<strerror>() や B<strerror_l>() の呼び出しで変更されても構わない。 B<perror>(3) などの、これ以外のライブラリ関数ではこの文字列は変更されない。"
2178
2179 #. type: SS
2180 #: build/C/man3/strerror.3:95
2181 #, no-wrap
2182 msgid "strerror_r()"
2183 msgstr "strerror_r()"
2184
2185 #. type: Plain text
2186 #: build/C/man3/strerror.3:116
2187 msgid "The B<strerror_r>()  function is similar to B<strerror>(), but is thread safe.  This function is available in two versions: an XSI-compliant version specified in POSIX.1-2001 (available since glibc 2.3.4, but not POSIX-compliant until glibc 2.13), and a GNU-specific version (available since glibc 2.0).  The XSI-compliant version is provided with the feature test macros settings shown in the SYNOPSIS; otherwise the GNU-specific version is provided.  If no feature test macros are explicitly defined, then (since glibc 2.4)  B<_POSIX_SOURCE> is defined by default with the value 200112L, so that the XSI-compliant version of B<strerror_r>()  is provided by default."
2188 msgstr ""
2189 "B<strerror_r>() 関数は B<strerror>() と似ているが、スレッドセーフである。\n"
2190 "この関数には二種類のバージョンが存在し、 POSIX.1-2001 で規定された XSI\n"
2191 "準拠のバージョン (glibc 2.3.4 以降で利用可能だが、glibc 2.13 までは\n"
2192 "POSIX 準拠ではない) と、 GNU 仕様のバージョン (glibc 2.0 以降で利用可能)\n"
2193 "である。 「書式」の節に記載された機能検査マクロの場合には、 XSI 準拠の\n"
2194 "バージョンが提供される。それ以外の場合には GNU 仕様のバージョンが提供さ\n"
2195 "れる。機能検査マクロが一つも明示的に定義されない場合、 (glibc 2.4 以降\n"
2196 "では) デフォルトで B<_POSIX_SOURCE> は値 200112l で定義され、その結果\n"
2197 "XSI 準拠のバージョンの B<strerror_r>() がデフォルトで提供される。"
2198
2199 #. type: Plain text
2200 #: build/C/man3/strerror.3:124
2201 msgid "The XSI-compliant B<strerror_r>()  is preferred for portable applications.  It returns the error string in the user-supplied buffer I<buf> of length I<buflen>."
2202 msgstr "移植性が必要なアプリケーションでは、 XSI 準拠の B<strerror_r>()  を使う方がよい。 この関数は、ユーザーから提供される長さ I<buflen> のバッファ I<buf> にエラー文字列を返す。"
2203
2204 #. type: Plain text
2205 #: build/C/man3/strerror.3:145
2206 msgid "The GNU-specific B<strerror_r>()  returns a pointer to a string containing the error message.  This may be either a pointer to a string that the function stores in I<buf>, or a pointer to some (immutable) static string (in which case I<buf> is unused).  If the function stores a string in I<buf>, then at most I<buflen> bytes are stored (the string may be truncated if I<buflen> is too small and I<errnum> is unknown).  The string always includes a terminating null byte (\\(aq\\e0\\(aq)."
2207 msgstr "GNU 仕様の B<strerror_r>() は、 エラーメッセージを格納した文字列へのポインタを返す。 返り値は、 この関数が I<buf> に格納した文字列へのポインタか、 何らかの (不変な) 静的な文字列へのポインタ、 のいずれかとなる (後者の場合は I<buf> は使用されない)。 I<buf> に文字列が格納される場合は、 最大で I<buflen> バイトが格納される (I<buflen> が小さ過ぎたときには文字列は切り詰められ、 I<errnum> は不定である)。 文字列には必ず終端ヌル文字 (\\(aq\\e0\\(aq) が含まれる。"
2208
2209 #. type: SS
2210 #: build/C/man3/strerror.3:145
2211 #, no-wrap
2212 msgid "strerror_l()"
2213 msgstr "strerror_l()"
2214
2215 #. type: Plain text
2216 #: build/C/man3/strerror.3:160
2217 msgid "B<strerror_l>()  is like B<strerror>(), but maps I<errnum> to a locale-dependent error message in the locale specified by I<locale>.  The behavior of B<strerror_l>()  is undefined if I<locale> is the special locale object B<LC_GLOBAL_LOCALE> or is not a valid locale object handle."
2218 msgstr "B<strerror_l>() は B<strerror>() と同様だが、 I<errnum> を I<locale> で指定されたロケールのロケール依存のエラーメッセージにマッピングする。 I<locale> が特別なロケールオブジェクト B<LC_GLOBAL_LOCALE> の場合、もしくは I<locale> が有効なロケールオブジェクトハンドルでない場合は、 B<strerror_l>() の動作は未定義である。"
2219
2220 #. type: Plain text
2221 #: build/C/man3/strerror.3:169
2222 msgid "The B<strerror>(), B<strerror_l>(), and the GNU-specific B<strerror_r>()  functions return the appropriate error description string, or an \"Unknown error nnn\" message if the error number is unknown."
2223 msgstr "関数 B<strerror>(), B<strerror_l>() と GNU 固有の関数 B<strerror_r>() はエラー内容を説明する文字列を返す。 エラー番号が未知の場合は \"Unknown error nnn\" という メッセージを返す。"
2224
2225 #. type: Plain text
2226 #: build/C/man3/strerror.3:178
2227 msgid "The XSI-compliant B<strerror_r>()  function returns 0 on success.  On error, a (positive) error number is returned (since glibc 2.13), or -1 is returned and I<errno> is set to indicate the error (glibc versions before 2.13)."
2228 msgstr ""
2229 "XSI 準拠の B<strerror_r>() 関数は成功すると 0 を返す。エラーの場合には、\n"
2230 "(glibc 2.13 以降では) (正の) エラー番号が返され、(バージョン 2.13 より前\n"
2231 "の glibc では) -1 が返され、 I<errno> にエラーを示す値がセットされる。"
2232
2233 #. type: Plain text
2234 #: build/C/man3/strerror.3:193
2235 msgid "POSIX.1-2001 and POSIX.1-2008 require that a successful call to B<strerror>()  or B<strerror_l>()  shall leave I<errno> unchanged, and note that, since no function return value is reserved to indicate an error, an application that wishes to check for errors should initialize I<errno> to zero before the call, and then check I<errno> after the call."
2236 msgstr "POSIX.1-2001 と POSIX.1-2008 では、 B<strerror>() や B<strerror_l>() が成功した場合は I<errno> を変更せずに元のままにしなければならないとされている。関数のどの返り値もエラーを示すために予約されていないので、エラーをチェックしたいアプリケーションは呼び出しを行う前に I<errno> を 0 に初期化し、呼び出しの後で I<errno> をチェックすべき点に注意すること。"
2237
2238 #. type: TP
2239 #: build/C/man3/strerror.3:194
2240 #, no-wrap
2241 msgid "B<EINVAL>"
2242 msgstr "B<EINVAL>"
2243
2244 #. type: Plain text
2245 #: build/C/man3/strerror.3:199
2246 msgid "The value of I<errnum> is not a valid error number."
2247 msgstr "I<errnum> の値が有効なエラー番号ではない。"
2248
2249 #. type: TP
2250 #: build/C/man3/strerror.3:199
2251 #, no-wrap
2252 msgid "B<ERANGE>"
2253 msgstr "B<ERANGE>"
2254
2255 #. type: Plain text
2256 #: build/C/man3/strerror.3:202
2257 msgid "Insufficient storage was supplied to contain the error description string."
2258 msgstr "エラーコードを説明する文字列のために、充分な領域が確保できなかった。"
2259
2260 #. type: Plain text
2261 #: build/C/man3/strerror.3:207
2262 msgid "The B<strerror>()  function is not thread-safe."
2263 msgstr "B<strerror>() 関数はスレッドセーフではない。"
2264
2265 #.  FIXME . Need a thread-safety statement about strerror_l()
2266 #. type: Plain text
2267 #: build/C/man3/strerror.3:212
2268 msgid "The B<strerror_r>()  function is thread-safe."
2269 msgstr "B<strerror_r>() 関数はスレッドセーフである。"
2270
2271 #. type: Plain text
2272 #: build/C/man3/strerror.3:216
2273 msgid "The B<strerror_l>()  function first appeared in glibc 2.6."
2274 msgstr "B<strerror_l>() 関数は glibc 2.6 で初めて登場した。"
2275
2276 #. type: Plain text
2277 #: build/C/man3/strerror.3:221
2278 msgid "B<strerror>()  is specified by POSIX.1-2001, POSIX.1-2008, C89, and C99.  B<strerror_r>()  is specified by POSIX.1-2001 and POSIX.1-2008."
2279 msgstr "B<strerror>()  は POSIX.1-2001, POSIX.1-2008, C89, C99 で規定されている。 B<strerror_r>()  は POSIX.1-2001 と POSIX.1-2008 で規定されている。"
2280
2281 #. type: Plain text
2282 #: build/C/man3/strerror.3:224
2283 msgid "B<strerror_l>()  is specified in POSIX.1-2008."
2284 msgstr "B<strerror_l>() は POSIX.1-2008 で規定されている。"
2285
2286 #. type: Plain text
2287 #: build/C/man3/strerror.3:228
2288 msgid "The GNU-specific B<strerror_r>()  function is a nonstandard extension."
2289 msgstr "GNU 仕様の B<strerror_r>()  関数は非標準の拡張である。"
2290
2291 #.  e.g., Solaris 8, HP-UX 11
2292 #.  e.g., FreeBSD 5.4, Tru64 5.1B
2293 #. type: Plain text
2294 #: build/C/man3/strerror.3:248
2295 msgid "POSIX.1-2001 permits B<strerror>()  to set I<errno> if the call encounters an error, but does not specify what value should be returned as the function result in the event of an error.  On some systems, B<strerror>()  returns NULL if the error number is unknown.  On other systems, B<strerror>()  returns a string something like \"Error nnn occurred\" and sets I<errno> to B<EINVAL> if the error number is unknown.  C99 and POSIX.1-2008 require the return value to be non-NULL."
2296 msgstr ""
2297 "POSIX.1-2001 は、 B<strerror>() がエラーに遭遇した場合に I<errno> をセッ\n"
2298 "トすることを認めているが、エラー発生時に関数の結果として どんな値を返す\n"
2299 "べきかを規定してない。 あるシステムでは、 エラー番号が未知の場合、\n"
2300 "B<strerror>() は NULL を返す。 他のシステムでは、 エラー番号が未知の場\n"
2301 "合、 B<strerror>() は \"Error nnn occurred\" といった文字列を返し、\n"
2302 "I<errno> に B<EINVAL> をセットする。 C99 と POSIX.1-2008 では、返り値が\n"
2303 "NULL 以外になることが求められている。"
2304
2305 #. type: Plain text
2306 #: build/C/man3/strerror.3:255
2307 msgid "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3), B<locale>(7)"
2308 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3), B<locale>(7)"
2309
2310 #. type: TH
2311 #: build/C/man3/strfry.3:30
2312 #, no-wrap
2313 msgid "STRFRY"
2314 msgstr "STRFRY"
2315
2316 #. type: Plain text
2317 #: build/C/man3/strfry.3:33
2318 msgid "strfry - randomize a string"
2319 msgstr "strfry - 文字列をランダムに並べ変える"
2320
2321 #. type: Plain text
2322 #: build/C/man3/strfry.3:40
2323 #, no-wrap
2324 msgid "B<char *strfry(char *>I<string>B<);>\n"
2325 msgstr "B<char *strfry(char *>I<string>B<);>\n"
2326
2327 #. type: Plain text
2328 #: build/C/man3/strfry.3:52
2329 msgid "The B<strfry>()  function randomizes the contents of I<string> by using B<rand>(3)  to randomly swap characters in the string.  The result is an anagram of I<string>."
2330 msgstr "B<strfry>()  関数は、文字列 I<string> の内容をランダムに並び換える。 並び換えは、 B<rand>(3)  関数を用いて、文字列中の各文字を無作為に 交換することで実現される。結果は、文字列 I<string> のアナグラムである。"
2331
2332 #. type: Plain text
2333 #: build/C/man3/strfry.3:57
2334 msgid "The B<strfry>()  functions returns a pointer to the randomized string."
2335 msgstr "B<strfry>()  関数は、ランダムに並び換えられた文字列へのポインタを返す。"
2336
2337 #. type: Plain text
2338 #: build/C/man3/strfry.3:62
2339 msgid "The B<strfry>()  function is unique to the GNU C Library."
2340 msgstr "B<strfry>()  関数は GNU C ライブラリに特有である。"
2341
2342 #. type: Plain text
2343 #: build/C/man3/strfry.3:65
2344 msgid "B<memfrob>(3), B<string>(3)"
2345 msgstr "B<memfrob>(3), B<string>(3)"
2346
2347 #. type: TH
2348 #: build/C/man3/string.3:30
2349 #, no-wrap
2350 msgid "STRING"
2351 msgstr "STRING"
2352
2353 #. type: TH
2354 #: build/C/man3/string.3:30
2355 #, no-wrap
2356 msgid "2014-01-04"
2357 msgstr "2014-01-04"
2358
2359 #. type: Plain text
2360 #: build/C/man3/string.3:36
2361 msgid "stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk, strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex - string operations"
2362 msgstr "stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk, strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex - 文字列を操作する関数"
2363
2364 #. type: Plain text
2365 #: build/C/man3/string.3:38
2366 msgid "B<#include E<lt>strings.hE<gt>>"
2367 msgstr "B<#include E<lt>strings.hE<gt>>"
2368
2369 #. type: TP
2370 #: build/C/man3/string.3:38
2371 #, no-wrap
2372 msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
2373 msgstr "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
2374
2375 #. type: Plain text
2376 #: build/C/man3/string.3:45
2377 msgid "Compare the strings I<s1> and I<s2> ignoring case."
2378 msgstr "文字列 I<s1> と I<s2> を大文字小文字の違いを無視して比較する。"
2379
2380 #. type: TP
2381 #: build/C/man3/string.3:45
2382 #, no-wrap
2383 msgid "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
2384 msgstr "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
2385
2386 #. type: Plain text
2387 #: build/C/man3/string.3:54
2388 msgid "Compare the first I<n> characters of the strings I<s1> and I<s2> ignoring case."
2389 msgstr "文字列 I<s1> と I<s2> の最初の I<n> 文字を、大文字小文字の違いを無視して比較する。"
2390
2391 #. type: TP
2392 #: build/C/man3/string.3:54
2393 #, no-wrap
2394 msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>"
2395 msgstr "B<char *index(const char *>I<s>B<, int >I<c>B<);>"
2396
2397 #. type: Plain text
2398 #: build/C/man3/string.3:60 build/C/man3/string.3:90
2399 msgid "Return a pointer to the first occurrence of the character I<c> in the string I<s>."
2400 msgstr "文字列 I<s> 中に最初に文字 I<c> が 現れた位置へのポインタを返す。"
2401
2402 #. type: TP
2403 #: build/C/man3/string.3:60
2404 #, no-wrap
2405 msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>"
2406 msgstr "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>"
2407
2408 #. type: Plain text
2409 #: build/C/man3/string.3:66 build/C/man3/string.3:171
2410 msgid "Return a pointer to the last occurrence of the character I<c> in the string I<s>."
2411 msgstr "文字列 I<s> 中に最後に文字 I<c> が 現れた位置へのポインタを返す。"
2412
2413 #. type: TP
2414 #: build/C/man3/string.3:66
2415 #, no-wrap
2416 msgid "B<#include E<lt>string.hE<gt>>"
2417 msgstr "B<#include E<lt>string.hE<gt>>"
2418
2419 #. type: TP
2420 #: build/C/man3/string.3:68
2421 #, no-wrap
2422 msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>"
2423 msgstr "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>"
2424
2425 #. type: Plain text
2426 #: build/C/man3/string.3:76
2427 msgid "Copy a string from I<src> to I<dest>, returning a pointer to the end of the resulting string at I<dest>."
2428 msgstr "文字列を I<src> から I<dest> にコピーし、 I<dest> に格納された文字列の末尾へのポインターを返す。"
2429
2430 #. type: TP
2431 #: build/C/man3/string.3:76
2432 #, no-wrap
2433 msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>"
2434 msgstr "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>"
2435
2436 #. type: Plain text
2437 #: build/C/man3/string.3:84
2438 msgid "Append the string I<src> to the string I<dest>, returning a pointer I<dest>."
2439 msgstr "文字列 I<src> を文字列 I<dest> に追加し、 I<dest> へのポインターを返す。"
2440
2441 #. type: TP
2442 #: build/C/man3/string.3:84
2443 #, no-wrap
2444 msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>"
2445 msgstr "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>"
2446
2447 #. type: TP
2448 #: build/C/man3/string.3:90
2449 #, no-wrap
2450 msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
2451 msgstr "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
2452
2453 #. type: Plain text
2454 #: build/C/man3/string.3:96
2455 msgid "Compare the strings I<s1> with I<s2>."
2456 msgstr "文字列 I<s1> と I<s2> を比較する。"
2457
2458 #. type: TP
2459 #: build/C/man3/string.3:96
2460 #, no-wrap
2461 msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>"
2462 msgstr "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>"
2463
2464 #. type: Plain text
2465 #: build/C/man3/string.3:103
2466 msgid "Compare the strings I<s1> with I<s2> using the current locale."
2467 msgstr "現在のロケールを使用して、文字列 I<s1> を I<s2> と比較する"
2468
2469 #. type: TP
2470 #: build/C/man3/string.3:103
2471 #, no-wrap
2472 msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>"
2473 msgstr "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>"
2474
2475 #. type: Plain text
2476 #: build/C/man3/string.3:111
2477 msgid "Copy the string I<src> to I<dest>, returning a pointer to the start of I<dest>."
2478 msgstr "文字列 I<src> を I<dest> にコピーし、 I<dest> の先頭へのポインタを返す。"
2479
2480 #. type: TP
2481 #: build/C/man3/string.3:111
2482 #, no-wrap
2483 msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>"
2484 msgstr "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>"
2485
2486 #. type: Plain text
2487 #: build/C/man3/string.3:117
2488 msgid "Calculate the length of the initial segment of the string I<s> which does not contain any of bytes in the string I<reject>,"
2489 msgstr "文字列 I<s> の、文字列 I<reject> に含まれないバイトだけで構成される最初の部分文字列の長さを計算する。"
2490
2491 #. type: TP
2492 #: build/C/man3/string.3:117
2493 #, no-wrap
2494 msgid "B<char *strdup(const char *>I<s>B<);>"
2495 msgstr "B<char *strdup(const char *>I<s>B<);>"
2496
2497 #. type: Plain text
2498 #: build/C/man3/string.3:123
2499 msgid "Return a duplicate of the string I<s> in memory allocated using B<malloc>(3)."
2500 msgstr "文字列 I<s> を、B<malloc>(3) を使って確保したメモリに複製して返す。"
2501
2502 #. type: TP
2503 #: build/C/man3/string.3:123
2504 #, no-wrap
2505 msgid "B<char *strfry(char *>I<string>B<);>"
2506 msgstr "B<char *strfry(char *>I<string>B<);>"
2507
2508 #. type: Plain text
2509 #: build/C/man3/string.3:127
2510 msgid "Randomly swap the characters in I<string>."
2511 msgstr "I<string> 中の文字をランダムに並び替える。"
2512
2513 #. type: TP
2514 #: build/C/man3/string.3:127
2515 #, no-wrap
2516 msgid "B<size_t strlen(const char *>I<s>B<);>"
2517 msgstr "B<size_t strlen(const char *>I<s>B<);>"
2518
2519 #. type: Plain text
2520 #: build/C/man3/string.3:131
2521 msgid "Return the length of the string I<s>."
2522 msgstr "文字列 I<s> の長さを返す。"
2523
2524 #. type: TP
2525 #: build/C/man3/string.3:131
2526 #, no-wrap
2527 msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2528 msgstr "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2529
2530 #. type: Plain text
2531 #: build/C/man3/string.3:141
2532 msgid "Append at most I<n> characters from the string I<src> to the string I<dest>, returning a pointer to I<dest>."
2533 msgstr "文字列 I<src> の最大 I<n> 文字を文字列 I<dest> に追加し、I<dest> へのポインターを返す。"
2534
2535 #. type: TP
2536 #: build/C/man3/string.3:141
2537 #, no-wrap
2538 msgid "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
2539 msgstr "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
2540
2541 #. type: Plain text
2542 #: build/C/man3/string.3:149
2543 msgid "Compare at most I<n> bytes of the strings I<s1> and I<s2>."
2544 msgstr "文字列 I<s1> と I<s2> を最大 I<n> バイトまで比較する。"
2545
2546 #. type: TP
2547 #: build/C/man3/string.3:149
2548 #, no-wrap
2549 msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2550 msgstr "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2551
2552 #. type: Plain text
2553 #: build/C/man3/string.3:159
2554 msgid "Copy at most I<n> bytes from string I<src> to I<dest>, returning a pointer to the start of I<dest>."
2555 msgstr "文字列 I<src> から I<dest> へ最大 I<n> バイトをコピーし、 I<dest> の先頭へのポインターを返す。"
2556
2557 #. type: TP
2558 #: build/C/man3/string.3:159
2559 #, no-wrap
2560 msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>"
2561 msgstr "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>"
2562
2563 #. type: Plain text
2564 #: build/C/man3/string.3:165
2565 msgid "Return a pointer to the first occurrence in the string I<s> of one of the bytes in the string I<accept>."
2566 msgstr "文字列 I<accept> に含まれるバイトのいずれかが、文字列 I<s> 内で最初に現れる位置を特定する。"
2567
2568 #. type: TP
2569 #: build/C/man3/string.3:165
2570 #, no-wrap
2571 msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>"
2572 msgstr "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>"
2573
2574 #. type: TP
2575 #: build/C/man3/string.3:171
2576 #, no-wrap
2577 msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>"
2578 msgstr "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>"
2579
2580 #. type: Plain text
2581 #: build/C/man3/string.3:177
2582 msgid "Extract the initial token in I<stringp> that is delimited by one of the bytes in I<delim>."
2583 msgstr "文字列 I<s> から、I<delim> のいずれかのバイトで区切った最初のトークンを取り出す。"
2584
2585 #. type: TP
2586 #: build/C/man3/string.3:177
2587 #, no-wrap
2588 msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>"
2589 msgstr "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>"
2590
2591 #. type: Plain text
2592 #: build/C/man3/string.3:183
2593 msgid "Calculate the length of the starting segment in the string I<s> that consists entirely of bytes in I<accept>."
2594 msgstr "文字列 I<s> 中の I<accept> に含まれる文字だけで構成される最初の部分文字列の長さを計算する。"
2595
2596 #. type: TP
2597 #: build/C/man3/string.3:183
2598 #, no-wrap
2599 msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>"
2600 msgstr "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>"
2601
2602 #. type: Plain text
2603 #: build/C/man3/string.3:190
2604 msgid "Find the first occurrence of the substring I<needle> in the string I<haystack>, returning a pointer to the found substring."
2605 msgstr "部分文字列 I<needle> が文字列 I<haystack> 中 で最初に現れる位置を探し、その部分文字列へのポインターを返す。"
2606
2607 #. type: TP
2608 #: build/C/man3/string.3:190
2609 #, no-wrap
2610 msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>"
2611 msgstr "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>"
2612
2613 #. type: Plain text
2614 #: build/C/man3/string.3:196
2615 msgid "Extract tokens from the string I<s> that are delimited by one of the bytes in I<delim>."
2616 msgstr "文字列 I<s> から、I<delim> のいずれかのバイトで区切ったトークンを取り出す。"
2617
2618 #. type: TP
2619 #: build/C/man3/string.3:196
2620 #, no-wrap
2621 msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2622 msgstr "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
2623
2624 #. type: Plain text
2625 #: build/C/man3/string.3:204
2626 msgid "Transforms I<src> to the current locale and copies the first I<n> characters to I<dest>."
2627 msgstr "I<src> を現在のロケールに変換し、最初の I<n> 文字を I<dest> にコピーする。"
2628
2629 #. type: Plain text
2630 #: build/C/man3/string.3:208
2631 msgid "The string functions perform string operations on null-terminated strings.  See the individual man pages for descriptions of each function."
2632 msgstr "文字列関数は、ヌル終端された文字列に 対して、文字列操作を実行する。 それぞれの関数の説明については個々のmanページを見よ。"
2633
2634 #. type: Plain text
2635 #: build/C/man3/string.3:233
2636 msgid "B<index>(3), B<rindex>(3), B<stpcpy>(3), B<strcasecmp>(3), B<strcat>(3), B<strchr>(3), B<strcmp>(3), B<strcoll>(3), B<strcpy>(3), B<strcspn>(3), B<strdup>(3), B<strfry>(3), B<strlen>(3), B<strncasecmp>(3), B<strncat>(3), B<strncmp>(3), B<strncpy>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<strxfrm>(3)"
2637 msgstr "B<index>(3), B<rindex>(3), B<stpcpy>(3), B<strcasecmp>(3), B<strcat>(3), B<strchr>(3), B<strcmp>(3), B<strcoll>(3), B<strcpy>(3), B<strcspn>(3), B<strdup>(3), B<strfry>(3), B<strlen>(3), B<strncasecmp>(3), B<strncat>(3), B<strncmp>(3), B<strncpy>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<strxfrm>(3)"
2638
2639 #. type: TH
2640 #: build/C/man3/strlen.3:30
2641 #, no-wrap
2642 msgid "STRLEN"
2643 msgstr "STRLEN"
2644
2645 #. type: TH
2646 #: build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13
2647 #: build/C/man3/strpbrk.3:30 build/C/man3/strsep.3:33
2648 #, no-wrap
2649 msgid "2014-02-25"
2650 msgstr "2014-02-25"
2651
2652 #. type: Plain text
2653 #: build/C/man3/strlen.3:33
2654 msgid "strlen - calculate the length of a string"
2655 msgstr "strlen - 文字列の長さを計算する"
2656
2657 #. type: Plain text
2658 #: build/C/man3/strlen.3:38
2659 #, no-wrap
2660 msgid "B<size_t strlen(const char *>I<s>B<);>\n"
2661 msgstr "B<size_t strlen(const char *>I<s>B<);>\n"
2662
2663 #. type: Plain text
2664 #: build/C/man3/strlen.3:45
2665 msgid "The B<strlen>()  function calculates the length of the string I<s>, excluding the terminating null byte (\\(aq\\e0\\(aq)."
2666 msgstr "B<strlen>()  関数は文字列 I<s> の長さを計算する。 このとき、終端ヌルバイト (\\(aq\\e0\\(aq) は計算に含まれない。"
2667
2668 #. type: Plain text
2669 #: build/C/man3/strlen.3:50
2670 msgid "The B<strlen>()  function returns the number of bytes in the string I<s>."
2671 msgstr "B<strlen>() 関数は文字列 I<s> のバイト数を返す。"
2672
2673 #. type: Plain text
2674 #: build/C/man3/strlen.3:55
2675 msgid "The B<strlen>()  function is thread-safe."
2676 msgstr "B<strlen>() 関数はスレッドセーフである。"
2677
2678 #. type: Plain text
2679 #: build/C/man3/strlen.3:62
2680 msgid "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
2681 msgstr "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
2682
2683 #. type: TH
2684 #: build/C/man3/strnlen.3:13
2685 #, no-wrap
2686 msgid "STRNLEN"
2687 msgstr "STRNLEN"
2688
2689 #. type: Plain text
2690 #: build/C/man3/strnlen.3:16
2691 msgid "strnlen - determine the length of a fixed-size string"
2692 msgstr "strnlen - 固定長の文字列の長さを調べる"
2693
2694 #. type: Plain text
2695 #: build/C/man3/strnlen.3:21
2696 #, no-wrap
2697 msgid "B<size_t strnlen(const char *>I<s>B<, size_t >I<maxlen>B<);>\n"
2698 msgstr "B<size_t strnlen(const char *>I<s>B<, size_t >I<maxlen>B<);>\n"
2699
2700 #. type: Plain text
2701 #: build/C/man3/strnlen.3:29
2702 msgid "B<strnlen>():"
2703 msgstr "B<strnlen>():"
2704
2705 #. type: Plain text
2706 #: build/C/man3/strnlen.3:58
2707 msgid "The B<strnlen>()  function returns the number of bytes in the string pointed to by I<s>, excluding the terminating null byte (\\(aq\\e0\\(aq), but at most I<maxlen>.  In doing this, B<strnlen>()  looks only at the first I<maxlen> bytes at I<s> and never beyond I<s+maxlen>."
2708 msgstr ""
2709 "B<strnlen>() 関数は I<s> が指す文字列の長さをバイト数で返す。 長さには\n"
2710 "終端のヌルバイト (\\(aq\\e0\\(aq) は含まない。 また長さは最大で\n"
2711 "I<maxlen> までであり、 B<strnlen>() は I<s> の最初の I<maxlen> バイト\n"
2712 "のみを検査し I<s+maxlen> より先を検査することはない。"
2713
2714 #. type: Plain text
2715 #: build/C/man3/strnlen.3:71
2716 msgid "The B<strnlen>()  function returns I<strlen(s)>, if that is less than I<maxlen>, or I<maxlen> if there is no null byte (\\(aq\\e0\\(aq) among the first I<maxlen> bytes pointed to by I<s>."
2717 msgstr ""
2718 "B<strnlen>() 関数は I<maxlen> 以下ならば I<strlen(s)> と同じ値を返す。\n"
2719 "I<s> の指す文字列が最大 I<maxlen> バイトまでにヌルバイト\n"
2720 "(\\(aq\\e0\\(aq) 文字を含まない場合には I<maxlen> を返す。"
2721
2722 #. type: Plain text
2723 #: build/C/man3/strnlen.3:76
2724 msgid "The B<strnlen>()  function is thread-safe."
2725 msgstr "B<strnlen>() 関数はスレッドセーフである。"
2726
2727 #. type: Plain text
2728 #: build/C/man3/strnlen.3:78
2729 msgid "POSIX.1-2008."
2730 msgstr "POSIX.1-2008."
2731
2732 #. type: Plain text
2733 #: build/C/man3/strnlen.3:80
2734 msgid "B<strlen>(3)"
2735 msgstr "B<strlen>(3)"
2736
2737 #. type: TH
2738 #: build/C/man3/strpbrk.3:30
2739 #, no-wrap
2740 msgid "STRPBRK"
2741 msgstr "STRPBRK"
2742
2743 #. type: Plain text
2744 #: build/C/man3/strpbrk.3:33
2745 msgid "strpbrk - search a string for any of a set of bytes"
2746 msgstr "strpbrk - 文字列からバイト集合に含まれるバイトを探す"
2747
2748 #. type: Plain text
2749 #: build/C/man3/strpbrk.3:38
2750 #, no-wrap
2751 msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2752 msgstr "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2753
2754 #. type: Plain text
2755 #: build/C/man3/strpbrk.3:47
2756 msgid "The B<strpbrk>()  function locates the first occurrence in the string I<s> of any of the bytes in the string I<accept>."
2757 msgstr ""
2758 "B<strpbrk>() 関数は、文字列 I<accept> に含まれるバイトのいずれかが、\n"
2759 "文字列 I<s> 内で最初に現れる位置を特定する。"
2760
2761 #. type: Plain text
2762 #: build/C/man3/strpbrk.3:56
2763 msgid "The B<strpbrk>()  function returns a pointer to the byte in I<s> that matches one of the bytes in I<accept>, or NULL if no such byte is found."
2764 msgstr ""
2765 "B<strpbrk>() 関数は、I<s> 内のバイトで、I<accept> に含まれる\n"
2766 "バイトのいずれかに一致したバイトへのポインタを返す。\n"
2767 "I<accept> に含まれるバイトが見つからなかった場合は NULL を返す。"
2768
2769 #. type: Plain text
2770 #: build/C/man3/strpbrk.3:61
2771 msgid "The B<strpbrk>()  function is thread-safe."
2772 msgstr "B<strpbrk>() 関数はスレッドセーフである。"
2773
2774 #. type: Plain text
2775 #: build/C/man3/strpbrk.3:74
2776 msgid "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcspbrk>(3)"
2777 msgstr "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcspbrk>(3)"
2778
2779 #. type: TH
2780 #: build/C/man3/strsep.3:33
2781 #, no-wrap
2782 msgid "STRSEP"
2783 msgstr "STRSEP"
2784
2785 #. type: Plain text
2786 #: build/C/man3/strsep.3:36
2787 msgid "strsep - extract token from string"
2788 msgstr "strsep - 文字列からトークンを取り出す"
2789
2790 #. type: Plain text
2791 #: build/C/man3/strsep.3:41
2792 #, no-wrap
2793 msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
2794 msgstr "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
2795
2796 #. type: Plain text
2797 #: build/C/man3/strsep.3:50
2798 msgid "B<strsep>(): _BSD_SOURCE"
2799 msgstr "B<strsep>(): _BSD_SOURCE"
2800
2801 #. type: Plain text
2802 #: build/C/man3/strsep.3:73
2803 msgid "If I<*stringp> is NULL, the B<strsep>()  function returns NULL and does nothing else.  Otherwise, this function finds the first token in the string I<*stringp>, that is delimited by one of the bytes in the string I<delim>.  This token is terminated by overwriting the delimiter with a null byte (\\(aq\\e0\\(aq), and I<*stringp> is updated to point past the token.  In case no delimiter was found, the token is taken to be the entire string I<*stringp>, and I<*stringp> is made NULL."
2804 msgstr "I<*stringp> が NULL の場合、 B<strsep>()  関数は何もせずに NULL を返す。 さもなければ、文字列 I<stringp> を I<delim> に含まれるいずれかのバイトで区切ったトークンのうち最初のものを返す。 トークンは、区切り文字をヌルバイト (\\(aq\\e0\\(aq) で上書きすることで 終端される。 I<*stringp> は切り出されたトークンの次の位置を示すように更新される。 区切り文字が見つからない場合、I<*stringp> 文字列全体がトークンとして 扱われ、I<*stringp> は NULL となる。"
2805
2806 #. type: Plain text
2807 #: build/C/man3/strsep.3:79
2808 msgid "The B<strsep>()  function returns a pointer to the token, that is, it returns the original value of I<*stringp>."
2809 msgstr "B<strsep>()  関数は、トークンへのポインタを返す。 つまり、元の I<*stringp> の値を返す。"
2810
2811 #. type: Plain text
2812 #: build/C/man3/strsep.3:84
2813 msgid "The B<strsep>()  function is thread-safe."
2814 msgstr "B<strsep>() 関数はスレッドセーフである。"
2815
2816 #. type: Plain text
2817 #: build/C/man3/strsep.3:86
2818 msgid "4.4BSD."
2819 msgstr "4.4BSD."
2820
2821 #. type: Plain text
2822 #: build/C/man3/strsep.3:95
2823 msgid "The B<strsep>()  function was introduced as a replacement for B<strtok>(3), since the latter cannot handle empty fields.  However, B<strtok>(3)  conforms to C89/C99 and hence is more portable."
2824 msgstr "B<strsep>()  関数は、 B<strtok>(3)  関数が空のフィールドを 扱えないために、その代替品として導入された。 しかしながら、 B<strtok>(3)  関数は C89/C99 に準拠しており、より移植性がある。"
2825
2826 #. type: Plain text
2827 #: build/C/man3/strsep.3:98
2828 msgid "Be cautious when using this function.  If you do use it, note that:"
2829 msgstr "この関数を使う時は注意すること。 もし使うなら、以下のことに注意すること。"
2830
2831 #. type: Plain text
2832 #: build/C/man3/strsep.3:100
2833 msgid "This function modifies its first argument."
2834 msgstr "この関数は最初の引数を変更する。"
2835
2836 #. type: Plain text
2837 #: build/C/man3/strsep.3:102
2838 msgid "This function cannot be used on constant strings."
2839 msgstr "この関数は定数文字列には使えない。"
2840
2841 #. type: Plain text
2842 #: build/C/man3/strsep.3:104
2843 msgid "The identity of the delimiting character is lost."
2844 msgstr "区切り文字自体は失われてしまう。"
2845
2846 #. type: Plain text
2847 #: build/C/man3/strsep.3:114
2848 msgid "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
2849 msgstr "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
2850
2851 #. type: TH
2852 #: build/C/man3/strsignal.3:30
2853 #, no-wrap
2854 msgid "STRSIGNAL"
2855 msgstr "STRSIGNAL"
2856
2857 #. type: TH
2858 #: build/C/man3/strsignal.3:30
2859 #, no-wrap
2860 msgid "2010-09-15"
2861 msgstr "2010-09-15"
2862
2863 #. type: Plain text
2864 #: build/C/man3/strsignal.3:33
2865 msgid "strsignal - return string describing signal"
2866 msgstr "strsignal - シグナルを説明する文字列を返す"
2867
2868 #. type: Plain text
2869 #: build/C/man3/strsignal.3:38
2870 #, no-wrap
2871 msgid "B<char *strsignal(int >I<sig>B<);>\n"
2872 msgstr "B<char *strsignal(int >I<sig>B<);>\n"
2873
2874 #. type: Plain text
2875 #: build/C/man3/strsignal.3:40
2876 #, no-wrap
2877 msgid "B<extern const char * const >I<sys_siglist>B<[];>\n"
2878 msgstr "B<extern const char * const >I<sys_siglist>B<[];>\n"
2879
2880 #. type: Plain text
2881 #: build/C/man3/strsignal.3:48
2882 msgid "B<strsignal>():"
2883 msgstr "B<strsignal>():"
2884
2885 #. type: Plain text
2886 #: build/C/man3/strsignal.3:68
2887 msgid "The B<strsignal>()  function returns a string describing the signal number passed in the argument I<sig>.  The string can be used only until the next call to B<strsignal>()."
2888 msgstr "B<strsignal>()  関数は、引数 I<sig> で渡されたシグナル番号を 説明する文字列を返す。 文字列は、次の B<strsignal>()  が呼ばれるまでの間だけ使用できる。"
2889
2890 #. type: Plain text
2891 #: build/C/man3/strsignal.3:77
2892 msgid "The array I<sys_siglist> holds the signal description strings indexed by signal number.  The B<strsignal>()  function should be used if possible instead of this array."
2893 msgstr "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセスにはシグナル番号を添え字として用いる事ができる。 出来るだけこの配列の代わりに B<strsignal>()  関数を 使うべきである。"
2894
2895 #. type: Plain text
2896 #: build/C/man3/strsignal.3:84
2897 msgid "The B<strsignal>()  function returns the appropriate description string, or an unknown signal message if the signal number is invalid.  On some systems (but not on Linux), NULL may instead be returned for an invalid signal number."
2898 msgstr "B<strsignal>()  関数は、シグナルの適切な説明を返す。 もしシグナル番号が不正な場合は、未知のシグナル (unknown signal) を示す メッセージを返す。 (Linux はそうではないが)不正なシグナル番号に対して、 NULL を返すシステムもある。"
2899
2900 #. type: Plain text
2901 #: build/C/man3/strsignal.3:87
2902 msgid "POSIX.1-2008.  Present on Solaris and the BSDs."
2903 msgstr "POSIX.1-2008.  Solaris と BSD 系にも存在する。"
2904
2905 #. type: Plain text
2906 #: build/C/man3/strsignal.3:90
2907 msgid "B<psignal>(3), B<strerror>(3)"
2908 msgstr "B<psignal>(3), B<strerror>(3)"
2909
2910 #. type: TH
2911 #: build/C/man3/strspn.3:30
2912 #, no-wrap
2913 msgid "STRSPN"
2914 msgstr "STRSPN"
2915
2916 #. type: TH
2917 #: build/C/man3/strspn.3:30
2918 #, no-wrap
2919 msgid "2014-02-28"
2920 msgstr "2014-02-28"
2921
2922 #. type: Plain text
2923 #: build/C/man3/strspn.3:33
2924 msgid "strspn, strcspn - get length of a prefix substring"
2925 msgstr "strspn, strcspn - プレフィックス部分文字列の長さを返す"
2926
2927 #. type: Plain text
2928 #: build/C/man3/strspn.3:38
2929 #, no-wrap
2930 msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2931 msgstr "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2932
2933 #. type: Plain text
2934 #: build/C/man3/strspn.3:40
2935 #, no-wrap
2936 msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
2937 msgstr "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
2938
2939 #. type: Plain text
2940 #: build/C/man3/strspn.3:49
2941 msgid "The B<strspn>()  function calculates the length (in bytes) of the initial segment of I<s> which consists entirely of bytes in I<accept>."
2942 msgstr ""
2943 "B<strspn>() 関数は、 I<s> から、I<accept> に含まれる文字だけで\n"
2944 "構成される最初の部分文字列を探し、\n"
2945 "その部分の (バイト単位の) 長さを計算する。"
2946
2947 #. type: Plain text
2948 #: build/C/man3/strspn.3:57
2949 msgid "The B<strcspn>()  function calculates the length of the initial segment of I<s> which consists entirely of bytes not in I<reject>."
2950 msgstr ""
2951 "B<strcspn>() 関数は、 I<s> から、I<reject> に含まれない文字だけで\n"
2952 "構成される最初の部分文字列を探し、\n"
2953 "その部分の (バイト単位の) 長さを計算する。"
2954
2955 #. type: Plain text
2956 #: build/C/man3/strspn.3:66
2957 msgid "The B<strspn>()  function returns the number of bytes in the initial segment of I<s> which consist only of bytes from I<accept>."
2958 msgstr ""
2959 "B<strspn>() 関数は、 I<s> 内の、I<accept> からの文字だけで\n"
2960 "構成される最初の部分文字列のバイト数を返す。"
2961
2962 #. type: Plain text
2963 #: build/C/man3/strspn.3:74
2964 msgid "The B<strcspn>()  function returns the number of bytes in the initial segment of I<s> which are not in the string I<reject>."
2965 msgstr ""
2966 "B<strcspn>() 関数は、I<s> 内の、文字列 I<reject> に含まれない\n"
2967 "文字だけで構成される最初の部分文字列のバイト数を返す。"
2968
2969 #. type: Plain text
2970 #: build/C/man3/strspn.3:81
2971 msgid "The B<strspn>()  and B<strcspn>()  functions are thread-safe."
2972 msgstr "関数 B<strspn>() と B<strcspn>() はスレッドセーフである。"
2973
2974 #. type: Plain text
2975 #: build/C/man3/strspn.3:95
2976 msgid "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strstr>(3), B<strtok>(3), B<wcscspn>(3), B<wcsspn>(3)"
2977 msgstr "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strstr>(3), B<strtok>(3), B<wcscspn>(3), B<wcsspn>(3)"
2978
2979 #. type: TH
2980 #: build/C/man3/strstr.3:33
2981 #, no-wrap
2982 msgid "STRSTR"
2983 msgstr "STRSTR"
2984
2985 #. type: Plain text
2986 #: build/C/man3/strstr.3:36
2987 msgid "strstr, strcasestr - locate a substring"
2988 msgstr "strstr, strcasestr - 部分文字列の位置を示す"
2989
2990 #. type: Plain text
2991 #: build/C/man3/strstr.3:41
2992 #, no-wrap
2993 msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
2994 msgstr "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
2995
2996 #. type: Plain text
2997 #: build/C/man3/strstr.3:47
2998 #, no-wrap
2999 msgid "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
3000 msgstr "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
3001
3002 #. type: Plain text
3003 #: build/C/man3/strstr.3:56
3004 msgid "The B<strstr>()  function finds the first occurrence of the substring I<needle> in the string I<haystack>.  The terminating null bytes (\\(aq\\e0\\(aq) are not compared."
3005 msgstr "B<strstr>()  関数は、部分文字列 I<needle> が文字列 I<haystack> 中 で最初に現れる位置を見つける。 文字列を終端ヌルバイト (\\(aq\\e0\\(aq) は比較されない。"
3006
3007 #. type: Plain text
3008 #: build/C/man3/strstr.3:62
3009 msgid "The B<strcasestr>()  function is like B<strstr>(), but ignores the case of both arguments."
3010 msgstr "B<strcasestr>()  関数は B<strstr>()  関数と同様だが、 両方の引数に対して大文字小文字を無視する。"
3011
3012 #. type: Plain text
3013 #: build/C/man3/strstr.3:65
3014 msgid "These functions return a pointer to the beginning of the located substring, or NULL if the substring is not found."
3015 msgstr "これらの関数は、見つかった部分文字列の開始を指すポインタを返し、 もし部分文字列が見つからない場合は NULL を返す。"
3016
3017 #. type: Plain text
3018 #: build/C/man3/strstr.3:70
3019 msgid "The B<strstr>()  function is thread-safe."
3020 msgstr "B<strstr>() 関数はスレッドセーフである。"
3021
3022 #. type: Plain text
3023 #: build/C/man3/strstr.3:77
3024 msgid "The B<strcasestr>()  function is thread-safe with exceptions.  It can be safely used in multithreaded applications, as long as B<setlocale>(3)  is not called to change the locale during its execution."
3025 msgstr "B<strcasestr>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
3026
3027 #.  .SH BUGS
3028 #.  Early versions of Linux libc (like 4.5.26) would not allow
3029 #.  an empty
3030 #.  .I needle
3031 #.  argument for
3032 #.  .BR strstr ().
3033 #.  Later versions (like 4.6.27) work correctly,
3034 #.  and return
3035 #.  .IR haystack
3036 #.  when
3037 #.  .I needle
3038 #.  is empty.
3039 #. type: Plain text
3040 #: build/C/man3/strstr.3:96
3041 msgid "The B<strstr>()  function conforms to C89 and C99.  The B<strcasestr>()  function is a nonstandard extension."
3042 msgstr "B<strstr>()  関数は C89 と C99 に準拠している。 B<strcasestr>()  関数は非標準拡張である。"
3043
3044 #. type: Plain text
3045 #: build/C/man3/strstr.3:109
3046 msgid "B<index>(3), B<memchr>(3), B<memmem>(3), B<rindex>(3), B<strcasecmp>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strtok>(3), B<wcsstr>(3)"
3047 msgstr "B<index>(3), B<memchr>(3), B<memmem>(3), B<rindex>(3), B<strcasecmp>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strtok>(3), B<wcsstr>(3)"
3048
3049 #. type: TH
3050 #: build/C/man3/strtok.3:32
3051 #, no-wrap
3052 msgid "STRTOK"
3053 msgstr "STRTOK"
3054
3055 #. type: TH
3056 #: build/C/man3/strtok.3:32
3057 #, no-wrap
3058 msgid "2013-05-19"
3059 msgstr "2013-05-19"
3060
3061 #. type: Plain text
3062 #: build/C/man3/strtok.3:35
3063 msgid "strtok, strtok_r - extract tokens from strings"
3064 msgstr "strtok, strtok_r - 文字列からトークンを取り出す"
3065
3066 #. type: Plain text
3067 #: build/C/man3/strtok.3:40
3068 #, no-wrap
3069 msgid "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
3070 msgstr "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
3071
3072 #. type: Plain text
3073 #: build/C/man3/strtok.3:42
3074 #, no-wrap
3075 msgid "B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char **>I<saveptr>B<);>\n"
3076 msgstr "B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char **>I<saveptr>B<);>\n"
3077
3078 #. type: Plain text
3079 #: build/C/man3/strtok.3:53
3080 msgid "B<strtok_r>(): _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
3081 msgstr "B<strtok_r>(): _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
3082
3083 #. type: Plain text
3084 #: build/C/man3/strtok.3:66
3085 msgid "The B<strtok>()  function breaks a string into a sequence of zero or more nonempty tokens.  On the first call to B<strtok>()  the string to be parsed should be specified in I<str>.  In each subsequent call that should parse the same string, I<str> must be NULL."
3086 msgstr "B<strtok>()  関数は文字列を 0 個以上の空でないトークンの列に分割する。 B<strtok>()  を最初に呼び出す際には、解析対象の文字列を I<str> に 指定する。同じ文字列の解析を行うその後の呼び出しでは、 I<str> は NULL にしなければならない。"
3087
3088 #. type: Plain text
3089 #: build/C/man3/strtok.3:75
3090 msgid "The I<delim> argument specifies a set of bytes that delimit the tokens in the parsed string.  The caller may specify different strings in I<delim> in successive calls that parse the same string."
3091 msgstr ""
3092 "I<delim> 引き数には、解析対象の文字列をトークンに区切るのに使用する\n"
3093 "バイト集合を指定する。同じ文字列を解析する一連の呼び出しにおいて、\n"
3094 "I<delim> に違う文字列を指定してもよい。"
3095
3096 #. type: Plain text
3097 #: build/C/man3/strtok.3:84
3098 msgid "Each call to B<strtok>()  returns a pointer to a null-terminated string containing the next token.  This string does not include the delimiting byte.  If no more tokens are found, B<strtok>()  returns NULL."
3099 msgstr ""
3100 "B<strtok>() のそれぞれの呼び出しでは、次のトークンを格納したヌル終端\n"
3101 "された文字列へのポインタが返される。この文字列には区切りバイトは含まれ\n"
3102 "ない。これ以上トークンが見つからなかった場合には、NULL が返される。"
3103
3104 #. type: Plain text
3105 #: build/C/man3/strtok.3:104
3106 msgid "A sequence of calls to B<strtok>()  that operate on the same string maintains a pointer that determines the point from which to start searching for the next token.  The first call to B<strtok>()  sets this pointer to point to the first byte of the string.  The start of the next token is determined by scanning forward for the next nondelimiter byte in I<str>.  If such a byte is found, it is taken as the start of the next token.  If no such byte is found, then there are no more tokens, and B<strtok>()  returns NULL.  (A string that is empty or that contains only delimiters will thus cause B<strtok>()  to return NULL on the first call.)"
3107 msgstr "同じ文字列に対して操作を行う B<strtok>() を連続して呼び出す場合、 次のトークンを探し始める位置を決めるためのポインタが保持される。 最初の B<strtok> の呼び出しでは、 このポインタは対象の文字列の最初のバイトにセットされる。 次のトークンの先頭は、 I<str> 内で次の区切りバイト以外のバイトを前方に検索して決定される。 区切りバイト以外のバイトが見つからなかった場合は、 トークンはこれ以上なく、 B<strtok>() は NULL を返す (したがって、 空の文字列や区切りバイトだけを含む文字列の場合には、 最初の B<strtok>() の呼び出しで NULL が返ることになる)。"
3108
3109 #. type: Plain text
3110 #: build/C/man3/strtok.3:117
3111 msgid "The end of each token is found by scanning forward until either the next delimiter byte is found or until the terminating null byte (\\(aq\\e0\\(aq) is encountered.  If a delimiter byte is found, it is overwritten with a null byte to terminate the current token, and B<strtok>()  saves a pointer to the following byte; that pointer will be used as the starting point when searching for the next token.  In this case, B<strtok>()  returns a pointer to the start of the found token."
3112 msgstr "各トークンの末尾は、次の区切りバイトが見つかるか、終端のヌルバイト (\\(aq\\e0\\(aq) に達するまで文字列を前方に検索することで見つかる。 区切りバイトが見つかった場合には、 現在のトークンの終わりを示すために、 見つかった区切りバイトがヌルバイトで上書きされ、 B<strtok>() はポインタを次のバイトに設定する。 このポインタは、次のトークンを検索する際の開始点として使用される。 この場合、 B<strtok>() は見つかったトークンの先頭へのポインタを返す。"
3113
3114 #. type: Plain text
3115 #: build/C/man3/strtok.3:131
3116 msgid "From the above description, it follows that a sequence of two or more contiguous delimiter bytes in the parsed string is considered to be a single delimiter, and that delimiter bytes at the start or end of the string are ignored.  Put another way: the tokens returned by B<strtok>()  are always nonempty strings.  Thus, for example, given the string \"I<aaa;;bbb,>\", successive calls to B<strtok>()  that specify the delimiter string \"I<;,>\" would return the strings \"I<aaa>\" and \"I<bbb>\", and then a null pointer."
3117 msgstr "上記の説明の通り、 解析対象の文字列に 2 つ以上の区切りバイトが連続している場合には、 一つの区切りバイトとみなされ、 文字列の先頭や末尾にある区切りバイトは無視される。 言い換えると、 B<strtok>() が返すトークンは必ず空でない文字列となる。 したがって、例えば \"I<aaa;;bbb,>\" という文字列が与えられたとすると、 区切り文字列 \"I<;,>\" を指定した一連の B<strtok>() の呼び出しでは、 \"I<aaa>\" と I<bbb>\" が返り、その次にヌルポインタが返る。"
3118
3119 #. type: Plain text
3120 #: build/C/man3/strtok.3:144
3121 msgid "The B<strtok_r>()  function is a reentrant version B<strtok>().  The I<saveptr> argument is a pointer to a I<char\\ *> variable that is used internally by B<strtok_r>()  in order to maintain context between successive calls that parse the same string."
3122 msgstr "B<strtok_r>()  関数は B<strtok>()  のリエントラント版である。 I<saveptr> 引き数は I<char\\ *> 変数へのポインタであり、 同じ文字列の解析を行う B<strtok_r>()  の呼び出し間で処理状況を保存するために B<strtok_r>()  内部で使用される。"
3123
3124 #. type: Plain text
3125 #: build/C/man3/strtok.3:156
3126 msgid "On the first call to B<strtok_r>(), I<str> should point to the string to be parsed, and the value of I<saveptr> is ignored.  In subsequent calls, I<str> should be NULL, and I<saveptr> should be unchanged since the previous call."
3127 msgstr "B<strtok_r>()  を最初に呼び出す際には、 I<str> は解析対象の文字列を指していなければならず、 I<saveptr> の値は無視される。それ以降の呼び出しでは、 I<str> は NULL とし、 I<saveptr> は前回の呼び出し以降変更しないようにしなければならない。"
3128
3129 #. type: Plain text
3130 #: build/C/man3/strtok.3:162
3131 msgid "Different strings may be parsed concurrently using sequences of calls to B<strtok_r>()  that specify different I<saveptr> arguments."
3132 msgstr "B<strtok_r>()  の呼び出し時に異なる I<saveptr> 引き数を指定することで、 異なる文字列の解析を同時に行うことができる。"
3133
3134 #. type: Plain text
3135 #: build/C/man3/strtok.3:169
3136 msgid "The B<strtok>()  and B<strtok_r>()  functions return a pointer to the next token, or NULL if there are no more tokens."
3137 msgstr "B<strtok>()  と B<strtok_r>()  は次のトークンへのポインタか、 トークンがなければ NULL を返す。"
3138
3139 #. type: Plain text
3140 #: build/C/man3/strtok.3:174
3141 msgid "The B<strtok>()  function is not thread-safe."
3142 msgstr "The B<strtok>() 関数はスレッドセーフではない。"
3143
3144 #. type: Plain text
3145 #: build/C/man3/strtok.3:178
3146 msgid "The B<strtok_r>()  function is thread-safe."
3147 msgstr "B<strtok_r>() 関数はスレッドセーフである。"
3148
3149 #. type: TP
3150 #: build/C/man3/strtok.3:179
3151 #, no-wrap
3152 msgid "B<strtok>()"
3153 msgstr "B<strtok>()"
3154
3155 #. type: Plain text
3156 #: build/C/man3/strtok.3:182
3157 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3158 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3159
3160 #. type: TP
3161 #: build/C/man3/strtok.3:182
3162 #, no-wrap
3163 msgid "B<strtok_r>()"
3164 msgstr "B<strtok_r>()"
3165
3166 #. type: Plain text
3167 #: build/C/man3/strtok.3:185
3168 msgid "POSIX.1-2001."
3169 msgstr "POSIX.1-2001."
3170
3171 #. type: Plain text
3172 #: build/C/man3/strtok.3:188
3173 msgid "Be cautious when using these functions.  If you do use them, note that:"
3174 msgstr "これらの関数を使うのは慎重に吟味すること。 使用する場合は、以下の点に注意が必要である。"
3175
3176 #. type: Plain text
3177 #: build/C/man3/strtok.3:190
3178 msgid "These functions modify their first argument."
3179 msgstr "これらの関数はその最初の引数を変更する。"
3180
3181 #. type: Plain text
3182 #: build/C/man3/strtok.3:192
3183 msgid "These functions cannot be used on constant strings."
3184 msgstr "これらの関数は const な文字列では使えない。"
3185
3186 #. type: Plain text
3187 #: build/C/man3/strtok.3:194
3188 msgid "The identity of the delimiting byte is lost."
3189 msgstr "区切りバイト自体は失われてしまう。"
3190
3191 #. type: Plain text
3192 #: build/C/man3/strtok.3:201
3193 msgid "The B<strtok>()  function uses a static buffer while parsing, so it's not thread safe.  Use B<strtok_r>()  if this matters to you."
3194 msgstr "B<strtok>()  関数は文字列の解析に静的バッファを用いるので、スレッドセーフでない。 これが問題になる場合は B<strtok_r>()  を用いること。"
3195
3196 #. type: Plain text
3197 #: build/C/man3/strtok.3:210
3198 msgid "The program below uses nested loops that employ B<strtok_r>()  to break a string into a two-level hierarchy of tokens.  The first command-line argument specifies the string to be parsed.  The second argument specifies the delimiter byte(s)  to be used to separate that string into \"major\" tokens.  The third argument specifies the delimiter byte(s)  to be used to separate the \"major\" tokens into subtokens."
3199 msgstr ""
3200 "以下のプログラムは、 B<strtok_r>() を利用するループを入れ子にして使用し、\n"
3201 "文字列を 2 階層のトークンに分割するものである。 1番目のコマンドライン\n"
3202 "引き数には、解析対象の文字列を指定する。 2 番目の引き数には、文字列を\n"
3203 "「大きな」トークンに分割するために 使用する区切りバイトを指定する。\n"
3204 "3 番目の引き数には、「大きな」トークンを細かく分割するために使用する\n"
3205 "区切りバイトを指定する。"
3206
3207 #. type: Plain text
3208 #: build/C/man3/strtok.3:212
3209 msgid "An example of the output produced by this program is the following:"
3210 msgstr "このプログラムの出力例を以下に示す。"
3211
3212 #. type: Plain text
3213 #: build/C/man3/strtok.3:224
3214 #, no-wrap
3215 msgid ""
3216 "$B< ./a.out \\(aqa/bbb///cc;xxx:yyy:\\(aq \\(aq:;\\(aq \\(aq/\\(aq>\n"
3217 "1: a/bbb///cc\n"
3218 "         --E<gt> a\n"
3219 "         --E<gt> bbb\n"
3220 "         --E<gt> cc\n"
3221 "2: xxx\n"
3222 "         --E<gt> xxx\n"
3223 "3: yyy\n"
3224 "         --E<gt> yyy\n"
3225 msgstr ""
3226 "$B< ./a.out \\(aqa/bbb///cc;xxx:yyy:\\(aq \\(aq:;\\(aq \\(aq/\\(aq>\n"
3227 "1: a/bbb///cc\n"
3228 "         --E<gt> a\n"
3229 "         --E<gt> bbb\n"
3230 "         --E<gt> cc\n"
3231 "2: xxx\n"
3232 "         --E<gt> xxx\n"
3233 "3: yyy\n"
3234 "         --E<gt> yyy\n"
3235
3236 #. type: SS
3237 #: build/C/man3/strtok.3:226
3238 #, no-wrap
3239 msgid "Program source"
3240 msgstr "プログラムのソース"
3241
3242 #. type: Plain text
3243 #: build/C/man3/strtok.3:232
3244 #, no-wrap
3245 msgid ""
3246 "#include E<lt>stdio.hE<gt>\n"
3247 "#include E<lt>stdlib.hE<gt>\n"
3248 "#include E<lt>string.hE<gt>\n"
3249 msgstr ""
3250 "#include E<lt>stdio.hE<gt>\n"
3251 "#include E<lt>stdlib.hE<gt>\n"
3252 "#include E<lt>string.hE<gt>\n"
3253
3254 #. type: Plain text
3255 #: build/C/man3/strtok.3:239
3256 #, no-wrap
3257 msgid ""
3258 "int\n"
3259 "main(int argc, char *argv[])\n"
3260 "{\n"
3261 "    char *str1, *str2, *token, *subtoken;\n"
3262 "    char *saveptr1, *saveptr2;\n"
3263 "    int j;\n"
3264 msgstr ""
3265 "int\n"
3266 "main(int argc, char *argv[])\n"
3267 "{\n"
3268 "    char *str1, *str2, *token, *subtoken;\n"
3269 "    char *saveptr1, *saveptr2;\n"
3270 "    int j;\n"
3271
3272 #. type: Plain text
3273 #: build/C/man3/strtok.3:245
3274 #, no-wrap
3275 msgid ""
3276 "    if (argc != 4) {\n"
3277 "        fprintf(stderr, \"Usage: %s string delim subdelim\\en\",\n"
3278 "                argv[0]);\n"
3279 "        exit(EXIT_FAILURE);\n"
3280 "    }\n"
3281 msgstr ""
3282 "    if (argc != 4) {\n"
3283 "        fprintf(stderr, \"Usage: %s string delim subdelim\\en\",\n"
3284 "                argv[0]);\n"
3285 "        exit(EXIT_FAILURE);\n"
3286 "    }\n"
3287
3288 #. type: Plain text
3289 #: build/C/man3/strtok.3:251
3290 #, no-wrap
3291 msgid ""
3292 "    for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {\n"
3293 "        token = strtok_r(str1, argv[2], &saveptr1);\n"
3294 "        if (token == NULL)\n"
3295 "            break;\n"
3296 "        printf(\"%d: %s\\en\", j, token);\n"
3297 msgstr ""
3298 "    for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {\n"
3299 "        token = strtok_r(str1, argv[2], &saveptr1);\n"
3300 "        if (token == NULL)\n"
3301 "            break;\n"
3302 "        printf(\"%d: %s\\en\", j, token);\n"
3303
3304 #. type: Plain text
3305 #: build/C/man3/strtok.3:259
3306 #, no-wrap
3307 msgid ""
3308 "        for (str2 = token; ; str2 = NULL) {\n"
3309 "            subtoken = strtok_r(str2, argv[3], &saveptr2);\n"
3310 "            if (subtoken == NULL)\n"
3311 "                break;\n"
3312 "            printf(\"\\t --E<gt> %s\\en\", subtoken);\n"
3313 "        }\n"
3314 "    }\n"
3315 msgstr ""
3316 "        for (str2 = token; ; str2 = NULL) {\n"
3317 "            subtoken = strtok_r(str2, argv[3], &saveptr2);\n"
3318 "            if (subtoken == NULL)\n"
3319 "                break;\n"
3320 "            printf(\"\\t --E<gt> %s\\en\", subtoken);\n"
3321 "        }\n"
3322 "    }\n"
3323
3324 #. type: Plain text
3325 #: build/C/man3/strtok.3:262
3326 #, no-wrap
3327 msgid ""
3328 "    exit(EXIT_SUCCESS);\n"
3329 "}\n"
3330 msgstr ""
3331 "    exit(EXIT_SUCCESS);\n"
3332 "}\n"
3333
3334 #. type: Plain text
3335 #: build/C/man3/strtok.3:268
3336 msgid "Another example program using B<strtok>()  can be found in B<getaddrinfo_a>(3)."
3337 msgstr "B<strtok>()  を使った別のプログラム例が B<getaddrinfo_a>(3)  にある。"
3338
3339 #. type: Plain text
3340 #: build/C/man3/strtok.3:279
3341 msgid "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wcstok>(3)"
3342 msgstr "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wcstok>(3)"
3343
3344 #. type: TH
3345 #: build/C/man3/strverscmp.3:25
3346 #, no-wrap
3347 msgid "STRVERSCMP"
3348 msgstr "STRVERSCMP"
3349
3350 #. type: TH
3351 #: build/C/man3/strverscmp.3:25
3352 #, no-wrap
3353 msgid "2001-12-19"
3354 msgstr "2001-12-19"
3355
3356 #. type: Plain text
3357 #: build/C/man3/strverscmp.3:28
3358 msgid "strverscmp - compare two version strings"
3359 msgstr "strverscmp - 2つのバージョン文字列を比較する"
3360
3361 #. type: Plain text
3362 #: build/C/man3/strverscmp.3:35
3363 #, no-wrap
3364 msgid "B<int strverscmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
3365 msgstr "B<int strverscmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
3366
3367 #.  classical solution: "rename jan jan0 jan?"
3368 #. type: Plain text
3369 #: build/C/man3/strverscmp.3:52
3370 msgid "Often one has files I<jan1>, I<jan2>, ..., I<jan9>, I<jan10>, ...  and it feels wrong when B<ls>(1)  orders them I<jan1>, I<jan10>, ..., I<jan2>, ..., I<jan9>.  In order to rectify this, GNU introduced the I<-v> option to B<ls>(1), which is implemented using B<versionsort>(3), which again uses B<strverscmp>()."
3371 msgstr "I<jan1>, I<jan2>, ..., I<jan9>, I<jan10>, ...  といった名前のファイルがある状況はよくあるが、 B<ls>(1)  を実行したときに I<jan1>, I<jan10>, ..., I<jan2>, ..., I<jan9> の順番で表示されるのには違和感がある。 これを修正するために、GNU は B<ls>(1)  に I<-v> オプションを導入した。 この機能は B<versionsort>(3)  を使って実装されているが、この中で B<strverscmp>()  が使用されている。"
3372
3373 #. type: Plain text
3374 #: build/C/man3/strverscmp.3:63
3375 msgid "Thus, the task of B<strverscmp>()  is to compare two strings and find the \"right\" order, while B<strcmp>(3)  finds only the lexicographic order.  This function does not use the locale category B<LC_COLLATE>, so is meant mostly for situations where the strings are expected to be in ASCII."
3376 msgstr "このように B<strverscmp>()  の役目は2つの文字列を比較して「正しい」順序を探すことである。 これに対して B<strcmp>(3)  は辞書順だけで比較した結果を返す。 関数 B<strverscmp>()  はロケールのカテゴリである B<LC_COLLATE> を使用しない。 このことから、この関数が主にアスキー文字から成る文字列を 想定していることが分かる。"
3377
3378 #. type: Plain text
3379 #: build/C/man3/strverscmp.3:81
3380 msgid "What this function does is the following.  If both strings are equal, return 0.  Otherwise, find the position between two bytes with the property that before it both strings are equal, while directly after it there is a difference.  Find the largest consecutive digit strings containing (or starting at, or ending at) this position.  If one or both of these is empty, then return what B<strcmp>(3)  would have returned (numerical ordering of byte values).  Otherwise, compare both digit strings numerically, where digit strings with one or more leading zeros are interpreted as if they have a decimal point in front (so that in particular digit strings with more leading zeros come before digit strings with fewer leading zeros).  Thus, the ordering is I<000>, I<00>, I<01>, I<010>, I<09>, I<0>, I<1>, I<9>, I<10>."
3381 msgstr "この関数の動作は以下の通りである。 両方の文字列が等しい場合、0 を返す。 それ以外の場合、その直前までは両方の文字列が等しく、 その直後のバイトで両者に違いがあるような、バイトの境界を探す。 見つかったバイト境界を含む数字列(数字だけの文字列)の最長一致検索を行う。 (数字列は境界から始まっていても、境界で終わっていてもよい)。 2つの文字列から得られた数字列の一方または両方が空であれば、 B<strcmp>(3)  が返した結果を関数の返り値として返す。 すなわち、バイト値を比較した結果を返す。 それ以外の(数字列が両方とも空でない)場合、両方の数字列を数字順で比較する。 このとき、1つ以上の 0 が先頭にある数字列は、前に小数点がついているものと 解釈される。(先頭に 0 が多くある数字列ほど前に来ることになる)  この結果、順序は次のようになる: I<000>, I<00>, I<01>, I<010>, I<09>, I<0>, I<1>, I<9>, I<10>"
3382
3383 #. type: Plain text
3384 #: build/C/man3/strverscmp.3:90
3385 msgid "The B<strverscmp>()  function returns an integer less than, equal to, or greater than zero if I<s1> is found, respectively, to be earlier than, equal to, or later than I<s2>."
3386 msgstr "関数 B<strverscmp>()  は、ゼロよりも 1)小さい、2)等しい、3)大きいのいずれかの整数を返す。 それぞれは、I<s1> が I<s2> よりも、 1)小さい、2)等しい、3)大きい ことを示す。"
3387
3388 #. type: Plain text
3389 #: build/C/man3/strverscmp.3:97
3390 msgid "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
3391 msgstr "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
3392
3393 #. type: TH
3394 #: build/C/man3/strxfrm.3:30
3395 #, no-wrap
3396 msgid "STRXFRM"
3397 msgstr "STRXFRM"
3398
3399 #. type: TH
3400 #: build/C/man3/strxfrm.3:30
3401 #, no-wrap
3402 msgid "2012-05-10"
3403 msgstr "2012-05-10"
3404
3405 #. type: Plain text
3406 #: build/C/man3/strxfrm.3:33
3407 msgid "strxfrm - string transformation"
3408 msgstr "strxfrm - 文字列の変換"
3409
3410 #. type: Plain text
3411 #: build/C/man3/strxfrm.3:38
3412 #, no-wrap
3413 msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3414 msgstr "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3415
3416 #. type: Plain text
3417 #: build/C/man3/strxfrm.3:62
3418 msgid "The B<strxfrm>()  function transforms the I<src> string into a form such that the result of B<strcmp>(3)  on two strings that have been transformed with B<strxfrm>()  is the same as the result of B<strcoll>(3)  on the two strings before their transformation.  The first I<n> bytes of the transformed string are placed in I<dest>.  The transformation is based on the program's current locale for category B<LC_COLLATE>.  (See B<setlocale>(3))."
3419 msgstr ""
3420 "B<strxfrm>() 関数は、文字列 I<src> に対して、次のような変換を行う。\n"
3421 "変換は、ある二つの文字列に対して、それぞれを B<strxfrm>() で変換\n"
3422 "した文字列に対して B<strcmp>(3) を行った結果が、 \n"
3423 "変換を行わずにB<strcoll>(3) を行った結果と同じとなるように行う。\n"
3424 "変換された文字列の先頭から I<n> バイト分が I<dest> に代入される。\n"
3425 "変換は、プログラムの現在のロケールのカテゴリ B<LC_COLLATE> に\n"
3426 "基づいて行われる (B<setlocale>(3) を参照)。"
3427
3428 #. type: Plain text
3429 #: build/C/man3/strxfrm.3:76
3430 msgid "The B<strxfrm>()  function returns the number of bytes required to store the transformed string in I<dest> excluding the terminating null byte (\\(aq\\e0\\(aq).  If the value returned is I<n> or more, the contents of I<dest> are indeterminate."
3431 msgstr "B<strxfrm>()  関数は、変換された文字列を I<dest> に代入するときに 必要なバイト数から、終端のヌルバイト (\\(aq\\e0\\(aq) の分を 引いたものを返す。もし返り値が I<n> 以上の場合、 I<dest> の内容は不定となる。"
3432
3433 #. type: Plain text
3434 #: build/C/man3/strxfrm.3:88
3435 msgid "In the I<POSIX> or I<C> locales B<strxfrm>()  is equivalent to copying the string with B<strncpy>(3)."
3436 msgstr "I<POSIX> または I<C> ロケールでは、関数 B<strxfrm>()  は、 関数 B<strncpy>(3)  を使って文字列をコピーするのと同じである。"
3437
3438 #. type: Plain text
3439 #: build/C/man3/strxfrm.3:96
3440 msgid "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3)"
3441 msgstr "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3)"