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.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2012-04-25 05:37+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man3/bcmp.3:29
26 #: build/C/man3/bcmp.3:29 build/C/man3/bzero.3:29
32 #: build/C/man3/bcmp.3:29 build/C/man3/bcopy.3:31 build/C/man3/bzero.3:29
38 #: build/C/man3/bcmp.3:29 build/C/man3/bcopy.3:31 build/C/man3/bstring.3:30 build/C/man3/bzero.3:29 build/C/man3/ffs.3:31 build/C/man3/index.3:29 build/C/man3/memccpy.3:28 build/C/man3/memchr.3:30 build/C/man3/memcmp.3:28 build/C/man3/memcpy.3:28 build/C/man3/memfrob.3:28 build/C/man3/memmem.3:28 build/C/man3/memmove.3:28 build/C/man3/mempcpy.3:6 build/C/man3/memset.3:28 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:12 build/C/man3/strcasecmp.3:28 build/C/man3/strcat.3:30 build/C/man3/strchr.3:31 build/C/man3/strcmp.3:30 build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29 build/C/man3/strerror.3:37 build/C/man3/strfry.3:28 build/C/man3/string.3:28 build/C/man3/strlen.3:28 build/C/man3/strnlen.3:11 build/C/man3/strpbrk.3:28 build/C/man3/strsep.3:31 build/C/man3/strsignal.3:28 build/C/man3/strspn.3:28 build/C/man3/strstr.3:31 build/C/man3/strtok.3:28 build/C/man3/strverscmp.3:23 build/C/man3/strxfrm.3:28
40 msgid "Linux Programmer's Manual"
44 #: build/C/man3/bcmp.3:30 build/C/man3/bcopy.3:32 build/C/man3/bstring.3:31 build/C/man3/bzero.3:30 build/C/man3/ffs.3:32 build/C/man3/index.3:30 build/C/man3/memccpy.3:29 build/C/man3/memchr.3:31 build/C/man3/memcmp.3:29 build/C/man3/memcpy.3:29 build/C/man3/memfrob.3:29 build/C/man3/memmem.3:29 build/C/man3/memmove.3:29 build/C/man3/mempcpy.3:7 build/C/man3/memset.3:29 build/C/man3/stpcpy.3:26 build/C/man3/stpncpy.3:13 build/C/man3/strcasecmp.3:29 build/C/man3/strcat.3:31 build/C/man3/strchr.3:32 build/C/man3/strcmp.3:31 build/C/man3/strcoll.3:29 build/C/man3/strcpy.3:34 build/C/man3/strdup.3:30 build/C/man3/strerror.3:38 build/C/man3/strfry.3:29 build/C/man3/string.3:29 build/C/man3/strlen.3:29 build/C/man3/strnlen.3:12 build/C/man3/strpbrk.3:29 build/C/man3/strsep.3:32 build/C/man3/strsignal.3:29 build/C/man3/strspn.3:29 build/C/man3/strstr.3:32 build/C/man3/strtok.3:29 build/C/man3/strverscmp.3:24 build/C/man3/strxfrm.3:29
50 #: build/C/man3/bcmp.3:32
51 msgid "bcmp - compare byte sequences"
55 #: build/C/man3/bcmp.3:32 build/C/man3/bcopy.3:34 build/C/man3/bstring.3:34 build/C/man3/bzero.3:32 build/C/man3/ffs.3:34 build/C/man3/index.3:32 build/C/man3/memccpy.3:31 build/C/man3/memchr.3:33 build/C/man3/memcmp.3:31 build/C/man3/memcpy.3:31 build/C/man3/memfrob.3:31 build/C/man3/memmem.3:31 build/C/man3/memmove.3:31 build/C/man3/mempcpy.3:9 build/C/man3/memset.3:31 build/C/man3/stpcpy.3:28 build/C/man3/stpncpy.3:15 build/C/man3/strcasecmp.3:31 build/C/man3/strcat.3:33 build/C/man3/strchr.3:34 build/C/man3/strcmp.3:33 build/C/man3/strcoll.3:31 build/C/man3/strcpy.3:36 build/C/man3/strdup.3:32 build/C/man3/strerror.3:40 build/C/man3/strfry.3:31 build/C/man3/string.3:34 build/C/man3/strlen.3:31 build/C/man3/strnlen.3:14 build/C/man3/strpbrk.3:31 build/C/man3/strsep.3:34 build/C/man3/strsignal.3:31 build/C/man3/strspn.3:31 build/C/man3/strstr.3:34 build/C/man3/strtok.3:31 build/C/man3/strverscmp.3:26 build/C/man3/strxfrm.3:31
61 #: build/C/man3/bcmp.3:35 build/C/man3/bcopy.3:37 build/C/man3/bzero.3:35 build/C/man3/ffs.3:37 build/C/man3/index.3:35 build/C/man3/strcasecmp.3:34 build/C/man3/string.3:37
63 msgid "B<#include E<lt>strings.hE<gt>>\n"
67 #: build/C/man3/bcmp.3:37
69 msgid "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
73 #: build/C/man3/bcmp.3:38 build/C/man3/bcopy.3:40 build/C/man3/bstring.3:61 build/C/man3/bzero.3:38 build/C/man3/ffs.3:72 build/C/man3/index.3:40 build/C/man3/memccpy.3:37 build/C/man3/memchr.3:52 build/C/man3/memcmp.3:37 build/C/man3/memcpy.3:37 build/C/man3/memfrob.3:38 build/C/man3/memmem.3:39 build/C/man3/memmove.3:37 build/C/man3/mempcpy.3:23 build/C/man3/memset.3:37 build/C/man3/stpcpy.3:53 build/C/man3/stpncpy.3:40 build/C/man3/strcasecmp.3:39 build/C/man3/strcat.3:41 build/C/man3/strchr.3:47 build/C/man3/strcmp.3:41 build/C/man3/strcoll.3:37 build/C/man3/strcpy.3:44 build/C/man3/strdup.3:75 build/C/man3/strerror.3:65 build/C/man3/strfry.3:39 build/C/man3/string.3:88 build/C/man3/strlen.3:37 build/C/man3/strnlen.3:39 build/C/man3/strpbrk.3:37 build/C/man3/strsep.3:48 build/C/man3/strsignal.3:58 build/C/man3/strspn.3:39 build/C/man3/strstr.3:46 build/C/man3/strtok.3:50 build/C/man3/strverscmp.3:34 build/C/man3/strxfrm.3:37
79 #: build/C/man3/bcmp.3:54
81 "The B<bcmp>() function compares the two byte sequences I<s1> and I<s2> of "
82 "length I<n> each. If they are equal, and in particular if I<n> is zero, "
83 "B<bcmp>() returns 0. Otherwise it returns a nonzero result."
87 #: build/C/man3/bcmp.3:54 build/C/man3/bcopy.3:50 build/C/man3/bzero.3:46 build/C/man3/ffs.3:85 build/C/man3/index.3:53 build/C/man3/memccpy.3:45 build/C/man3/memchr.3:97 build/C/man3/memcmp.3:46 build/C/man3/memcpy.3:46 build/C/man3/memfrob.3:51 build/C/man3/memmem.3:45 build/C/man3/memmove.3:51 build/C/man3/mempcpy.3:49 build/C/man3/memset.3:42 build/C/man3/stpcpy.3:61 build/C/man3/stpncpy.3:59 build/C/man3/strcasecmp.3:52 build/C/man3/strcat.3:91 build/C/man3/strchr.3:68 build/C/man3/strcmp.3:54 build/C/man3/strcoll.3:49 build/C/man3/strcpy.3:91 build/C/man3/strdup.3:102 build/C/man3/strerror.3:124 build/C/man3/strfry.3:47 build/C/man3/strlen.3:42 build/C/man3/strnlen.3:49 build/C/man3/strpbrk.3:42 build/C/man3/strsep.3:61 build/C/man3/strsignal.3:73 build/C/man3/strspn.3:51 build/C/man3/strstr.3:58 build/C/man3/strtok.3:104 build/C/man3/strverscmp.3:79 build/C/man3/strxfrm.3:54
93 #: build/C/man3/bcmp.3:59
95 "The B<bcmp>() function returns 0 if the byte sequences are equal, otherwise "
96 "a nonzero result is returned."
100 #: build/C/man3/bcmp.3:59 build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48 build/C/man3/ffs.3:89 build/C/man3/index.3:60 build/C/man3/memccpy.3:51 build/C/man3/memchr.3:116 build/C/man3/memcmp.3:53 build/C/man3/memcpy.3:50 build/C/man3/memfrob.3:56 build/C/man3/memmem.3:50 build/C/man3/memmove.3:55 build/C/man3/mempcpy.3:54 build/C/man3/memset.3:47 build/C/man3/stpcpy.3:66 build/C/man3/stpncpy.3:64 build/C/man3/strcasecmp.3:61 build/C/man3/strcat.3:97 build/C/man3/strchr.3:86 build/C/man3/strcmp.3:63 build/C/man3/strcoll.3:56 build/C/man3/strcpy.3:98 build/C/man3/strdup.3:111 build/C/man3/strerror.3:148 build/C/man3/strfry.3:52 build/C/man3/strlen.3:46 build/C/man3/strnlen.3:56 build/C/man3/strpbrk.3:48 build/C/man3/strsep.3:66 build/C/man3/strsignal.3:80 build/C/man3/strspn.3:63 build/C/man3/strstr.3:61 build/C/man3/strtok.3:111 build/C/man3/strverscmp.3:86 build/C/man3/strxfrm.3:62
102 msgid "CONFORMING TO"
106 #: build/C/man3/bcmp.3:66
108 "4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
109 "B<memcmp>(3) in new programs. POSIX.1-2008 removes the specification of "
114 #: build/C/man3/bcmp.3:66 build/C/man3/bcopy.3:66 build/C/man3/bstring.3:80 build/C/man3/bzero.3:55 build/C/man3/ffs.3:101 build/C/man3/index.3:71 build/C/man3/memccpy.3:53 build/C/man3/memchr.3:128 build/C/man3/memcmp.3:55 build/C/man3/memcpy.3:52 build/C/man3/memfrob.3:61 build/C/man3/memmem.3:63 build/C/man3/memmove.3:57 build/C/man3/mempcpy.3:67 build/C/man3/memset.3:49 build/C/man3/stpcpy.3:98 build/C/man3/stpncpy.3:66 build/C/man3/strcasecmp.3:63 build/C/man3/strcat.3:99 build/C/man3/strchr.3:93 build/C/man3/strcmp.3:65 build/C/man3/strcoll.3:63 build/C/man3/strcpy.3:135 build/C/man3/strdup.3:121 build/C/man3/strerror.3:176 build/C/man3/strfry.3:57 build/C/man3/string.3:92 build/C/man3/strlen.3:48 build/C/man3/strnlen.3:58 build/C/man3/strpbrk.3:50 build/C/man3/strsep.3:86 build/C/man3/strsignal.3:83 build/C/man3/strspn.3:65 build/C/man3/strstr.3:74 build/C/man3/strtok.3:201 build/C/man3/strverscmp.3:88 build/C/man3/strxfrm.3:70
120 #: build/C/man3/bcmp.3:72
122 "B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
123 "B<strncasecmp>(3), B<strncmp>(3)"
127 #: build/C/man3/bcopy.3:31
133 #: build/C/man3/bcopy.3:31
139 #: build/C/man3/bcopy.3:34
140 msgid "bcopy - copy byte sequence"
144 #: build/C/man3/bcopy.3:39
146 msgid "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, size_t >I<n>B<);>\n"
150 #: build/C/man3/bcopy.3:50
152 "The B<bcopy>() function copies I<n> bytes from I<src> to I<dest>. The "
153 "result is correct, even when both areas overlap."
157 #: build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48
162 #: build/C/man3/bcopy.3:66
164 "4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
165 "B<memcpy>(3) or B<memmove>(3) in new programs. Note that the first two "
166 "arguments are interchanged for B<memcpy>(3) and B<memmove>(3). "
167 "POSIX.1-2008 removes the specification of B<bcopy>()."
171 #: build/C/man3/bcopy.3:71
172 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
176 #: build/C/man3/bstring.3:30
182 #: build/C/man3/bstring.3:30
188 #: build/C/man3/bstring.3:34
190 "bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem, "
191 "memmove, memset - byte string operations"
195 #: build/C/man3/bstring.3:37 build/C/man3/ffs.3:41 build/C/man3/memccpy.3:34 build/C/man3/memchr.3:36 build/C/man3/memcmp.3:34 build/C/man3/memcpy.3:34 build/C/man3/memmove.3:34 build/C/man3/mempcpy.3:14 build/C/man3/memset.3:34 build/C/man3/stpcpy.3:31 build/C/man3/stpncpy.3:18 build/C/man3/strcat.3:36 build/C/man3/strchr.3:37 build/C/man3/strcmp.3:36 build/C/man3/strcoll.3:34 build/C/man3/strcpy.3:39 build/C/man3/strdup.3:35 build/C/man3/strerror.3:43 build/C/man3/strfry.3:36 build/C/man3/string.3:47 build/C/man3/strlen.3:34 build/C/man3/strnlen.3:17 build/C/man3/strpbrk.3:34 build/C/man3/strsep.3:37 build/C/man3/strsignal.3:34 build/C/man3/strspn.3:34 build/C/man3/strstr.3:37 build/C/man3/strstr.3:43 build/C/man3/strtok.3:34 build/C/man3/strverscmp.3:31 build/C/man3/strxfrm.3:34
197 msgid "B<#include E<lt>string.hE<gt>>\n"
201 #: build/C/man3/bstring.3:39
203 msgid "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, int >I<n>B<);>\n"
207 #: build/C/man3/bstring.3:41
209 msgid "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, int >I<n>B<);>\n"
213 #: build/C/man3/bstring.3:43
215 msgid "B<void bzero(void *>I<s>B<, int >I<n>B<);>\n"
219 #: build/C/man3/bstring.3:45 build/C/man3/memccpy.3:36
222 "B<void *memccpy(void *>I<dest>B<, const void *>I<src>B<, int >I<c>B<, size_t "
227 #: build/C/man3/bstring.3:47 build/C/man3/memchr.3:38
229 msgid "B<void *memchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
233 #: build/C/man3/bstring.3:49 build/C/man3/memcmp.3:36
235 msgid "B<int memcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
239 #: build/C/man3/bstring.3:51 build/C/man3/memcpy.3:36
241 msgid "B<void *memcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
245 #: build/C/man3/bstring.3:53 build/C/man3/memfrob.3:37
247 msgid "B<void *memfrob(void *>I<s>B<, size_t >I<n>B<);>\n"
251 #: build/C/man3/bstring.3:56
254 "B<void *memmem(const void *>I<needle>B<, size_t >I<needlelen>B<,>\n"
255 "B< const void *>I<haystack>B<, size_t >I<haystacklen>B<);>\n"
259 #: build/C/man3/bstring.3:58 build/C/man3/memmove.3:36
261 msgid "B<void *memmove(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
265 #: build/C/man3/bstring.3:60 build/C/man3/memset.3:36
267 msgid "B<void *memset(void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
271 #: build/C/man3/bstring.3:66
273 "The byte string functions perform operations on strings (byte arrays) that "
274 "are not necessarily null-terminated. See the individual man pages for "
275 "descriptions of each function."
279 #: build/C/man3/bstring.3:66 build/C/man3/ffs.3:98 build/C/man3/strcoll.3:58 build/C/man3/strcpy.3:100 build/C/man3/strsep.3:68 build/C/man3/strxfrm.3:64
284 #. The old functions are not even available on some non-GNU/Linux systems.
286 #: build/C/man3/bstring.3:80
288 "The functions B<bcmp>(), B<bcopy>() and B<bzero>() are obsolete. Use "
289 "B<memcmp>(), B<memcpy>() and B<memset>() instead."
293 #: build/C/man3/bstring.3:91
295 "B<bcmp>(3), B<bcopy>(3), B<bzero>(3), B<memccpy>(3), B<memchr>(3), "
296 "B<memcmp>(3), B<memcpy>(3), B<memfrob>(3), B<memmem>(3), B<memmove>(3), "
301 #: build/C/man3/bzero.3:29
307 #: build/C/man3/bzero.3:32
308 msgid "bzero - write zero-valued bytes"
312 #: build/C/man3/bzero.3:37
314 msgid "B<void bzero(void *>I<s>B<, size_t >I<n>B<);>\n"
318 #: build/C/man3/bzero.3:46
320 "The B<bzero>() function sets the first I<n> bytes of the area starting at "
321 "I<s> to zero (bytes containing \\(aq\\e0\\(aq)."
325 #: build/C/man3/bzero.3:55
327 "4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
328 "B<memset>(3) in new programs. POSIX.1-2008 removes the specification of "
333 #: build/C/man3/bzero.3:57
334 msgid "B<memset>(3), B<swab>(3)"
338 #: build/C/man3/ffs.3:31
344 #: build/C/man3/ffs.3:31 build/C/man3/strcasecmp.3:28 build/C/man3/strchr.3:31 build/C/man3/strcmp.3:30 build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strfry.3:28 build/C/man3/strpbrk.3:28 build/C/man3/strspn.3:28
350 #: build/C/man3/ffs.3:31 build/C/man3/index.3:29 build/C/man3/memccpy.3:28 build/C/man3/memfrob.3:28 build/C/man3/memmem.3:28 build/C/man3/memmove.3:28 build/C/man3/mempcpy.3:6 build/C/man3/memset.3:28 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:12 build/C/man3/strcat.3:30 build/C/man3/strchr.3:31 build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29 build/C/man3/strfry.3:28 build/C/man3/strlen.3:28 build/C/man3/strnlen.3:11 build/C/man3/strsep.3:31 build/C/man3/strsignal.3:28 build/C/man3/strstr.3:31 build/C/man3/strtok.3:28 build/C/man3/strverscmp.3:23 build/C/man3/strxfrm.3:28
356 #: build/C/man3/ffs.3:34
357 msgid "ffs, ffsl, ffsll - find first bit set in a word"
361 #: build/C/man3/ffs.3:39
363 msgid "B<int ffs(int >I<i>B<);>\n"
367 #: build/C/man3/ffs.3:43
369 msgid "B<int ffsl(long int >I<i>B<);>\n"
373 #: build/C/man3/ffs.3:45
375 msgid "B<int ffsll(long long int >I<i>B<);>\n"
379 #: build/C/man3/ffs.3:50 build/C/man3/memchr.3:47 build/C/man3/stpcpy.3:38 build/C/man3/stpncpy.3:25 build/C/man3/strdup.3:48 build/C/man3/strerror.3:56 build/C/man3/strnlen.3:24 build/C/man3/strsep.3:44 build/C/man3/strsignal.3:43 build/C/man3/strtok.3:43
380 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
384 #: build/C/man3/ffs.3:55
389 #: build/C/man3/ffs.3:56
391 msgid "Since glibc 2.12:"
395 #: build/C/man3/ffs.3:60
397 "_SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L || "
398 "_XOPEN_SOURCE\\ E<gt>=\\ 700 ||"
402 #: build/C/man3/ffs.3:60
404 msgid "Before glibc 2.12:"
408 #: build/C/man3/ffs.3:63
413 #: build/C/man3/ffs.3:67
414 msgid "B<ffsl>(), B<ffsll>():"
418 #: build/C/man3/ffs.3:69 build/C/man3/stpcpy.3:50 build/C/man3/stpncpy.3:37 build/C/man3/strdup.3:68 build/C/man3/strnlen.3:36 build/C/man3/strsignal.3:55
423 #: build/C/man3/ffs.3:85
425 "The B<ffs>() function returns the position of the first (least significant) "
426 "bit set in the word I<i>. The least significant bit is position 1 and the "
427 "most significant position is, for example, 32 or 64. The functions "
428 "B<ffsll>() and B<ffsl>() do the same but take arguments of possibly "
433 #: build/C/man3/ffs.3:89
435 "These functions return the position of the first bit set, or 0 if no bits "
440 #: build/C/man3/ffs.3:92
441 msgid "B<ffs>(): 4.3BSD, POSIX.1-2001."
445 #: build/C/man3/ffs.3:98
446 msgid "The B<ffsl>() and B<ffsll>() functions are glibc extensions."
450 #: build/C/man3/ffs.3:101
451 msgid "BSD systems have a prototype in I<E<lt>string.hE<gt>>."
455 #: build/C/man3/ffs.3:102
460 #: build/C/man3/index.3:29
466 #: build/C/man3/index.3:29
472 #: build/C/man3/index.3:32
473 msgid "index, rindex - locate character in string"
477 #: build/C/man3/index.3:37 build/C/man3/string.3:43
479 msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
483 #: build/C/man3/index.3:39 build/C/man3/string.3:45
485 msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
489 #: build/C/man3/index.3:45
491 "The B<index>() function returns a pointer to the first occurrence of the "
492 "character I<c> in the string I<s>."
496 #: build/C/man3/index.3:50
498 "The B<rindex>() function returns a pointer to the last occurrence of the "
499 "character I<c> in the string I<s>."
503 #: build/C/man3/index.3:53
505 "The terminating null byte (\\(aq\\e0\\(aq) is considered to be a part of the "
510 #: build/C/man3/index.3:60
512 "The B<index>() and B<rindex>() functions return a pointer to the matched "
513 "character or NULL if the character is not found."
517 #: build/C/man3/index.3:71
519 "4.3BSD; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the "
520 "specifications of B<index>() and B<rindex>(), recommending B<strchr>(3) "
521 "and B<strrchr>(3) instead."
525 #: build/C/man3/index.3:80
527 "B<memchr>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strrchr>(3), "
528 "B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
532 #: build/C/man3/memccpy.3:28
538 #: build/C/man3/memccpy.3:28
544 #: build/C/man3/memccpy.3:31
545 msgid "memccpy - copy memory area"
549 #: build/C/man3/memccpy.3:43
551 "The B<memccpy>() function copies no more than I<n> bytes from memory area "
552 "I<src> to memory area I<dest>, stopping when the character I<c> is found."
556 #: build/C/man3/memccpy.3:45
557 msgid "If the memory areas overlap, the results are undefined."
561 #: build/C/man3/memccpy.3:51
563 "The B<memccpy>() function returns a pointer to the next character in "
564 "I<dest> after I<c>, or NULL if I<c> was not found in the first I<n> "
565 "characters of I<src>."
569 #: build/C/man3/memccpy.3:53
570 msgid "SVr4, 4.3BSD, POSIX.1-2001."
574 #: build/C/man3/memccpy.3:58
575 msgid "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
579 #: build/C/man3/memchr.3:30
585 #: build/C/man3/memchr.3:30
591 #: build/C/man3/memchr.3:33
592 msgid "memchr, memrchr, rawmemchr - scan memory for a character"
596 #: build/C/man3/memchr.3:40
598 msgid "B<void *memrchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
602 #: build/C/man3/memchr.3:42
604 msgid "B<void *rawmemchr(const void *>I<s>B<, int >I<c>B<);>\n"
608 #: build/C/man3/memchr.3:52
609 msgid "B<memrchr>(), B<rawmemchr>(): _GNU_SOURCE"
613 #: build/C/man3/memchr.3:59
615 "The B<memchr>() function scans the first I<n> bytes of the memory area "
616 "pointed to by I<s> for the character I<c>. The first byte to match I<c> "
617 "(interpreted as an unsigned character) stops the operation."
621 #: build/C/man3/memchr.3:67
623 "The B<memrchr>() function is like the B<memchr>() function, except that it "
624 "searches backward from the end of the I<n> bytes pointed to by I<s> instead "
625 "of forward from the beginning."
629 #: build/C/man3/memchr.3:91
631 "The B<rawmemchr>() function is similar to B<memchr>(): it assumes (i.e., "
632 "the programmer knows for certain) that the character I<c> lies somewhere in "
633 "the string I<s>, and so performs an optimized search for the character I<c> "
634 "(i.e., no use of a count argument argument to limit the range of the "
635 "search). If the character I<c> is not in the string I<s>, then "
636 "B<rawmemchr>() may proceed to search beyond the end of the string, and the "
637 "result is unspecified. The following call is a fast means of locating a "
638 "string's terminating null byte:"
642 #: build/C/man3/memchr.3:95
644 msgid "char *p = rawmemchr(s,\\ \\(aq\\e0\\(aq);\n"
648 #: build/C/man3/memchr.3:105
650 "The B<memchr>() and B<memrchr>() functions return a pointer to the "
651 "matching byte or NULL if the character does not occur in the given memory "
656 #: build/C/man3/memchr.3:110
658 "The B<rawmemchr>() function returns a pointer to the matching byte, if one "
659 "is found. If no matching byte is found, the result is unspecified."
663 #: build/C/man3/memchr.3:110 build/C/man3/mempcpy.3:51 build/C/man3/strchr.3:83
669 #: build/C/man3/memchr.3:113
670 msgid "B<rawmemchr>() first appeared in glibc in version 2.1."
674 #: build/C/man3/memchr.3:116
675 msgid "B<memrchr>() first appeared in glibc in version 2.2."
679 #: build/C/man3/memchr.3:120
680 msgid "The B<memchr>() function conforms to SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
684 #: build/C/man3/memchr.3:124
685 msgid "The B<memrchr>() function is a GNU extension, available since glibc 2.1.91."
689 #: build/C/man3/memchr.3:128
690 msgid "The B<rawmemchr>() function is a GNU extension, available since glibc 2.1."
694 #: build/C/man3/memchr.3:138
696 "B<ffs>(3), B<index>(3), B<rindex>(3), B<strchr>(3), B<strpbrk>(3), "
697 "B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
701 #: build/C/man3/memcmp.3:28
707 #: build/C/man3/memcmp.3:28
713 #: build/C/man3/memcmp.3:31
714 msgid "memcmp - compare memory areas"
718 #: build/C/man3/memcmp.3:46
720 "The B<memcmp>() function compares the first I<n> bytes (each interpreted as "
721 "I<unsigned char>) of the memory areas I<s1> and I<s2>. It returns an "
722 "integer less than, equal to, or greater than zero if I<s1> is found, "
723 "respectively, to be less than, to match, or be greater than I<s2>."
727 #: build/C/man3/memcmp.3:53
729 "The B<memcmp>() function returns an integer less than, equal to, or greater "
730 "than zero if the first I<n> bytes of I<s1> is found, respectively, to be "
731 "less than, to match, or be greater than the first I<n> bytes of I<s2>."
735 #: build/C/man3/memcmp.3:55 build/C/man3/memcpy.3:52 build/C/man3/memmove.3:57 build/C/man3/memset.3:49
736 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
740 #: build/C/man3/memcmp.3:62
742 "B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
743 "B<strncasecmp>(3), B<strncmp>(3), B<wmemcmp>(3)"
747 #: build/C/man3/memcpy.3:28
753 #: build/C/man3/memcpy.3:28
759 #: build/C/man3/memcpy.3:31
760 msgid "memcpy - copy memory area"
764 #: build/C/man3/memcpy.3:46
766 "The B<memcpy>() function copies I<n> bytes from memory area I<src> to "
767 "memory area I<dest>. The memory areas must not overlap. Use B<memmove>(3) "
768 "if the memory areas do overlap."
772 #: build/C/man3/memcpy.3:50
773 msgid "The B<memcpy>() function returns a pointer to I<dest>."
777 #: build/C/man3/memcpy.3:59
779 "B<bcopy>(3), B<memccpy>(3), B<memmove>(3), B<mempcpy>(3), B<strcpy>(3), "
780 "B<strncpy>(3), B<wmemcpy>(3)"
784 #: build/C/man3/memfrob.3:28
790 #: build/C/man3/memfrob.3:28
796 #: build/C/man3/memfrob.3:31
797 msgid "memfrob - frobnicate (encrypt) a memory area"
801 #: build/C/man3/memfrob.3:35
804 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
805 "B<#include E<lt>string.hE<gt>>\n"
809 #: build/C/man3/memfrob.3:48
811 "The B<memfrob>() function encrypts the first I<n> bytes of the memory area "
812 "I<s> by exclusive-ORing each character with the number 42. The effect can "
813 "be reversed by using B<memfrob>() on the encrypted memory area."
817 #: build/C/man3/memfrob.3:51
819 "Note that this function is not a proper encryption routine as the XOR "
820 "constant is fixed, and is only suitable for hiding strings."
824 #: build/C/man3/memfrob.3:56
825 msgid "The B<memfrob>() function returns a pointer to the encrypted memory area."
829 #: build/C/man3/memfrob.3:61
830 msgid "The B<memfrob>() function is unique to the GNU C Library."
834 #: build/C/man3/memfrob.3:62
839 #: build/C/man3/memmem.3:28
845 #: build/C/man3/memmem.3:28
851 #: build/C/man3/memmem.3:31
852 msgid "memmem - locate a substring"
856 #: build/C/man3/memmem.3:35 build/C/man3/strchr.3:44
859 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
860 "B<#include E<lt>string.hE<gt>>\n"
864 #: build/C/man3/memmem.3:38
867 "B<void *memmem(const void *>I<haystack>B<, size_t >I<haystacklen>B<,>\n"
868 "B< const void *>I<needle>B<, size_t >I<needlelen>B<);>\n"
872 #: build/C/man3/memmem.3:45
874 "The B<memmem>() function finds the start of the first occurrence of the "
875 "substring I<needle> of length I<needlelen> in the memory area I<haystack> of "
876 "length I<haystacklen>."
880 #: build/C/man3/memmem.3:50
882 "The B<memmem>() function returns a pointer to the beginning of the "
883 "substring, or NULL if the substring is not found."
887 #: build/C/man3/memmem.3:52 build/C/man3/mempcpy.3:56 build/C/man3/strverscmp.3:88
888 msgid "This function is a GNU extension."
892 #: build/C/man3/memmem.3:52 build/C/man3/stpcpy.3:71 build/C/man3/strcpy.3:124 build/C/man3/strsep.3:77 build/C/man3/strstr.3:68 build/C/man3/strtok.3:118
898 #: build/C/man3/memmem.3:57
900 "This function was broken in Linux libraries up to and including libc 5.0.9; "
901 "there the I<needle> and I<haystack> arguments were interchanged, and a "
902 "pointer to the end of the first occurrence of I<needle> was returned."
906 #: build/C/man3/memmem.3:63
908 "Both old and new libc's have the bug that if I<needle> is empty, "
909 "I<haystack-1> (instead of I<haystack>) is returned. And glibc 2.0 makes it "
910 "worse, returning a pointer to the last byte of I<haystack>. This is fixed "
915 #: build/C/man3/memmem.3:64
920 #: build/C/man3/memmove.3:28
926 #: build/C/man3/memmove.3:28
932 #: build/C/man3/memmove.3:31
933 msgid "memmove - copy memory area"
937 #: build/C/man3/memmove.3:51
939 "The B<memmove>() function copies I<n> bytes from memory area I<src> to "
940 "memory area I<dest>. The memory areas may overlap: copying takes place as "
941 "though the bytes in I<src> are first copied into a temporary array that does "
942 "not overlap I<src> or I<dest>, and the bytes are then copied from the "
943 "temporary array to I<dest>."
947 #: build/C/man3/memmove.3:55
948 msgid "The B<memmove>() function returns a pointer to I<dest>."
952 #: build/C/man3/memmove.3:63
954 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<strncpy>(3), "
959 #: build/C/man3/mempcpy.3:6
965 #: build/C/man3/mempcpy.3:6
971 #: build/C/man3/mempcpy.3:9
972 msgid "mempcpy, wmempcpy - copy memory area"
976 #: build/C/man3/mempcpy.3:12 build/C/man3/mempcpy.3:18 build/C/man3/strfry.3:34 build/C/man3/strstr.3:41 build/C/man3/strverscmp.3:29
978 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
982 #: build/C/man3/mempcpy.3:16
984 msgid "B<void *mempcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
988 #: build/C/man3/mempcpy.3:20
990 msgid "B<#include E<lt>wchar.hE<gt>>\n"
994 #: build/C/man3/mempcpy.3:22
997 "B<wchar_t *wmempcpy(wchar_t *>I<dest>B<, const wchar_t *>I<src>B<, size_t "
1002 #: build/C/man3/mempcpy.3:38
1004 "The B<mempcpy>() function is nearly identical to the B<memcpy>(3) "
1005 "function. It copies I<n> bytes from the object beginning at I<src> into the "
1006 "object pointed to by I<dest>. But instead of returning the value of I<dest> "
1007 "it returns a pointer to the byte following the last written byte."
1011 #: build/C/man3/mempcpy.3:41
1013 "This function is useful in situations where a number of objects shall be "
1014 "copied to consecutive memory positions."
1018 #: build/C/man3/mempcpy.3:49
1020 "The B<wmempcpy>() function is identical but takes I<wchar_t> type arguments "
1021 "and copies I<n> wide characters."
1025 #: build/C/man3/mempcpy.3:51
1026 msgid "I<dest> + I<n>."
1030 #: build/C/man3/mempcpy.3:54
1031 msgid "B<mempcpy>() first appeared in glibc in version 2.1."
1035 #: build/C/man3/mempcpy.3:56 build/C/man3/stpcpy.3:74 build/C/man3/strtok.3:134
1041 #: build/C/man3/mempcpy.3:66
1045 "combine(void *o1, size_t s1, void *o2, size_t s2)\n"
1047 " void *result = malloc(s1 + s2);\n"
1048 " if (result != NULL)\n"
1049 " mempcpy(mempcpy(result, o1, s1), o2, s2);\n"
1055 #: build/C/man3/mempcpy.3:71
1056 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
1060 #: build/C/man3/memset.3:28
1066 #: build/C/man3/memset.3:28
1072 #: build/C/man3/memset.3:31
1073 msgid "memset - fill memory with a constant byte"
1077 #: build/C/man3/memset.3:42
1079 "The B<memset>() function fills the first I<n> bytes of the memory area "
1080 "pointed to by I<s> with the constant byte I<c>."
1084 #: build/C/man3/memset.3:47
1085 msgid "The B<memset>() function returns a pointer to the memory area I<s>."
1089 #: build/C/man3/memset.3:52
1090 msgid "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
1094 #: build/C/man3/stpcpy.3:25
1100 #: build/C/man3/stpcpy.3:25
1106 #: build/C/man3/stpcpy.3:28
1107 msgid "stpcpy - copy a string returning a pointer to its end"
1111 #: build/C/man3/stpcpy.3:33 build/C/man3/string.3:49
1113 msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1117 #: build/C/man3/stpcpy.3:41
1118 msgid "B<stpcpy>():"
1122 #: build/C/man3/stpcpy.3:44 build/C/man3/stpncpy.3:31 build/C/man3/strdup.3:62 build/C/man3/strnlen.3:30 build/C/man3/strsignal.3:49
1124 msgid "Since glibc 2.10:"
1128 #: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:34 build/C/man3/strnlen.3:33 build/C/man3/strsignal.3:52
1129 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1133 #: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:34 build/C/man3/strdup.3:65 build/C/man3/strnlen.3:33 build/C/man3/strsignal.3:52
1135 msgid "Before glibc 2.10:"
1139 #: build/C/man3/stpcpy.3:61
1141 "The B<stpcpy>() function copies the string pointed to by I<src> (including "
1142 "the terminating null byte (\\(aq\\e0\\(aq)) to the array pointed to by "
1143 "I<dest>. The strings may not overlap, and the destination string I<dest> "
1144 "must be large enough to receive the copy."
1148 #: build/C/man3/stpcpy.3:66
1150 "B<stpcpy>() returns a pointer to the B<end> of the string I<dest> (that is, "
1151 "the address of the terminating null byte) rather than the beginning."
1155 #: build/C/man3/stpcpy.3:71
1157 "This function was added to POSIX.1-2008. Before that, it was not part of the "
1158 "C or POSIX.1 standards, nor customary on UNIX systems, but was not a GNU "
1159 "invention either. Perhaps it came from MS-DOS. It is also present on the "
1164 #: build/C/man3/stpcpy.3:74
1165 msgid "This function may overrun the buffer I<dest>."
1169 #: build/C/man3/stpcpy.3:79
1171 "For example, this program uses B<stpcpy>() to concatenate B<foo> and B<bar> "
1172 "to produce B<foobar>, which it then prints."
1176 #: build/C/man3/stpcpy.3:85
1179 "#define _GNU_SOURCE\n"
1180 "#include E<lt>string.hE<gt>\n"
1181 "#include E<lt>stdio.hE<gt>\n"
1185 #: build/C/man3/stpcpy.3:91
1191 " char buffer[20];\n"
1192 " char *to = buffer;\n"
1196 #: build/C/man3/stpcpy.3:96
1199 " to = stpcpy(to, \"foo\");\n"
1200 " to = stpcpy(to, \"bar\");\n"
1201 " printf(\"%s\\en\", buffer);\n"
1206 #: build/C/man3/stpcpy.3:106
1208 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpncpy>(3), "
1209 "B<strcpy>(3), B<string>(3), B<wcpcpy>(3)"
1213 #: build/C/man3/stpncpy.3:12
1219 #: build/C/man3/stpncpy.3:12 build/C/man3/strcat.3:30 build/C/man3/strlen.3:28 build/C/man3/strnlen.3:11 build/C/man3/strsep.3:31 build/C/man3/strstr.3:31 build/C/man3/strxfrm.3:28
1225 #: build/C/man3/stpncpy.3:15
1226 msgid "stpncpy - copy a fixed-size string, returning a pointer to its end"
1230 #: build/C/man3/stpncpy.3:20
1232 msgid "B<char *stpncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1236 #: build/C/man3/stpncpy.3:28
1237 msgid "B<stpncpy>():"
1241 #: build/C/man3/stpncpy.3:54
1243 "The B<stpncpy>() function copies at most I<n> characters from the string "
1244 "pointed to by I<src>, including the terminating null byte (\\(aq\\e0\\(aq), "
1245 "to the array pointed to by I<dest>. Exactly I<n> characters are written at "
1246 "I<dest>. If the length I<strlen(src)> is smaller than I<n>, the remaining "
1247 "characters in the array pointed to by I<dest> are filled with null bytes "
1248 "(\\(aq\\e0\\(aq), If the length I<strlen(src)> is greater or equal to I<n>, "
1249 "the string pointed to by I<dest> will not be null-terminated."
1253 #: build/C/man3/stpncpy.3:56
1254 msgid "The strings may not overlap."
1258 #: build/C/man3/stpncpy.3:59
1260 "The programmer must ensure that there is room for at least I<n> characters "
1265 #: build/C/man3/stpncpy.3:64
1267 "B<stpncpy>() returns a pointer to the terminating null byte in I<dest>, or, "
1268 "if I<dest> is not null-terminated, I<dest + n>."
1272 #: build/C/man3/stpncpy.3:66
1274 "This function was added to POSIX.1-2008. Before that, it was a GNU "
1279 #: build/C/man3/stpncpy.3:68
1280 msgid "B<strncpy>(3), B<wcpncpy>(3)"
1284 #: build/C/man3/strcasecmp.3:28
1290 #: build/C/man3/strcasecmp.3:31
1291 msgid "strcasecmp, strncasecmp - compare two strings ignoring case"
1295 #: build/C/man3/strcasecmp.3:36 build/C/man3/string.3:39
1297 msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1301 #: build/C/man3/strcasecmp.3:38 build/C/man3/string.3:41
1304 "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t "
1309 #: build/C/man3/strcasecmp.3:47
1311 "The B<strcasecmp>() function compares the two strings I<s1> and I<s2>, "
1312 "ignoring the case of the characters. It returns an integer less than, equal "
1313 "to, or greater than zero if I<s1> is found, respectively, to be less than, "
1314 "to match, or be greater than I<s2>."
1318 #: build/C/man3/strcasecmp.3:52
1320 "The B<strncasecmp>() function is similar, except it only compares the first "
1321 "I<n> characters of I<s1>."
1325 #: build/C/man3/strcasecmp.3:61
1327 "The B<strcasecmp>() and B<strncasecmp>() functions return an integer less "
1328 "than, equal to, or greater than zero if I<s1> (or the first I<n> bytes "
1329 "thereof) is found, respectively, to be less than, to match, or be greater "
1334 #: build/C/man3/strcasecmp.3:63
1335 msgid "4.4BSD, POSIX.1-2001."
1339 #: build/C/man3/strcasecmp.3:71
1341 "B<bcmp>(3), B<memcmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3), "
1342 "B<strncmp>(3), B<wcscasecmp>(3), B<wcsncasecmp>(3)"
1346 #: build/C/man3/strcat.3:30
1352 #: build/C/man3/strcat.3:33
1353 msgid "strcat, strncat - concatenate two strings"
1357 #: build/C/man3/strcat.3:38 build/C/man3/string.3:51
1359 msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
1363 #: build/C/man3/strcat.3:40 build/C/man3/string.3:69
1365 msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1369 #: build/C/man3/strcat.3:50
1371 "The B<strcat>() function appends the I<src> string to the I<dest> string, "
1372 "overwriting the terminating null byte (\\(aq\\e0\\(aq) at the end of "
1373 "I<dest>, and then adds a terminating null byte. The strings may not "
1374 "overlap, and the I<dest> string must have enough space for the result."
1378 #: build/C/man3/strcat.3:54
1379 msgid "The B<strncat>() function is similar, except that"
1383 #: build/C/man3/strcat.3:54 build/C/man3/strcat.3:56 build/C/man3/strsep.3:80 build/C/man3/strsep.3:82 build/C/man3/strsep.3:84 build/C/man3/strtok.3:121 build/C/man3/strtok.3:123 build/C/man3/strtok.3:125 build/C/man3/strtok.3:127
1389 #: build/C/man3/strcat.3:56
1390 msgid "it will use at most I<n> characters from I<src>; and"
1394 #: build/C/man3/strcat.3:59
1396 "I<src> does not need to be null-terminated if it contains I<n> or more "
1401 #: build/C/man3/strcat.3:63
1403 "As with B<strcat>(), the resulting string in I<dest> is always "
1408 #: build/C/man3/strcat.3:70
1410 "If I<src> contains I<n> or more characters, B<strncat>() writes I<n+1> "
1411 "characters to I<dest> (I<n> from I<src> plus the terminating null byte). "
1412 "Therefore, the size of I<dest> must be at least I<strlen(dest)+n+1>."
1416 #: build/C/man3/strcat.3:74
1417 msgid "A simple implementation of B<strncat>() might be:"
1421 #: build/C/man3/strcat.3:82
1425 "strncat(char *dest, const char *src, size_t n)\n"
1427 " size_t dest_len = strlen(dest);\n"
1432 #: build/C/man3/strcat.3:86
1435 " for (i = 0 ; i E<lt> n && src[i] != \\(aq\\e0\\(aq ; i++)\n"
1436 " dest[dest_len + i] = src[i];\n"
1437 " dest[dest_len + i] = \\(aq\\e0\\(aq;\n"
1441 #: build/C/man3/strcat.3:89 build/C/man3/strcpy.3:89
1449 #: build/C/man3/strcat.3:97
1451 "The B<strcat>() and B<strncat>() functions return a pointer to the "
1452 "resulting string I<dest>."
1456 #: build/C/man3/strcat.3:99 build/C/man3/strcmp.3:65 build/C/man3/strcoll.3:58 build/C/man3/strcpy.3:100 build/C/man3/strlen.3:48 build/C/man3/strpbrk.3:50 build/C/man3/strspn.3:65 build/C/man3/strxfrm.3:64
1457 msgid "SVr4, 4.3BSD, C89, C99."
1461 #: build/C/man3/strcat.3:107
1463 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<string>(3), "
1464 "B<strncpy>(3), B<wcscat>(3), B<wcsncat>(3)"
1468 #: build/C/man3/strchr.3:31
1474 #: build/C/man3/strchr.3:34
1475 msgid "strchr, strrchr, strchrnul - locate character in string"
1479 #: build/C/man3/strchr.3:39 build/C/man3/string.3:53
1481 msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
1485 #: build/C/man3/strchr.3:41 build/C/man3/string.3:77
1487 msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
1491 #: build/C/man3/strchr.3:46
1493 msgid "B<char *strchrnul(const char *>I<s>B<, int >I<c>B<);>\n"
1497 #: build/C/man3/strchr.3:52
1499 "The B<strchr>() function returns a pointer to the first occurrence of the "
1500 "character I<c> in the string I<s>."
1504 #: build/C/man3/strchr.3:57
1506 "The B<strrchr>() function returns a pointer to the last occurrence of the "
1507 "character I<c> in the string I<s>."
1511 #: build/C/man3/strchr.3:65
1513 "The B<strchrnul>() function is like B<strchr>() except that if I<c> is not "
1514 "found in I<s>, then it returns a pointer to the null byte at the end of "
1515 "I<s>, rather than NULL."
1519 #: build/C/man3/strchr.3:68
1521 "Here \"character\" means \"byte\"; these functions do not work with wide or "
1522 "multibyte characters."
1526 #: build/C/man3/strchr.3:75
1528 "The B<strchr>() and B<strrchr>() functions return a pointer to the matched "
1529 "character or NULL if the character is not found."
1533 #: build/C/man3/strchr.3:83
1535 "The B<strchrnul>() function returns a pointer to the matched character, or "
1536 "a pointer to the null byte at the end of I<s> (i.e., I<s+strlen(s)>) if the "
1537 "character is not found."
1541 #: build/C/man3/strchr.3:86
1542 msgid "B<strchrnul>() first appeared in glibc in version 2.1.1."
1546 #: build/C/man3/strchr.3:93
1548 "B<strchr>() and B<strrchr>() are in SVr4, 4.3BSD, C89, C99. "
1549 "B<strchrnul>() is a GNU extension."
1553 #: build/C/man3/strchr.3:105
1555 "B<index>(3), B<memchr>(3), B<rindex>(3), B<string>(3), B<strlen>(3), "
1556 "B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), "
1557 "B<wcschr>(3), B<wcsrchr>(3)"
1561 #: build/C/man3/strcmp.3:30
1567 #: build/C/man3/strcmp.3:33
1568 msgid "strcmp, strncmp - compare two strings"
1572 #: build/C/man3/strcmp.3:38 build/C/man3/string.3:55
1574 msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1578 #: build/C/man3/strcmp.3:40 build/C/man3/string.3:71
1581 "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t "
1586 #: build/C/man3/strcmp.3:49
1588 "The B<strcmp>() function compares the two strings I<s1> and I<s2>. It "
1589 "returns an integer less than, equal to, or greater than zero if I<s1> is "
1590 "found, respectively, to be less than, to match, or be greater than I<s2>."
1594 #: build/C/man3/strcmp.3:54
1596 "The B<strncmp>() function is similar, except it only compares the first (at "
1597 "most) I<n> characters of I<s1> and I<s2>."
1601 #: build/C/man3/strcmp.3:63
1603 "The B<strcmp>() and B<strncmp>() functions return an integer less than, "
1604 "equal to, or greater than zero if I<s1> (or the first I<n> bytes thereof) is "
1605 "found, respectively, to be less than, to match, or be greater than I<s2>."
1609 #: build/C/man3/strcmp.3:74
1611 "B<bcmp>(3), B<memcmp>(3), B<strcasecmp>(3), B<strcoll>(3), B<string>(3), "
1612 "B<strncasecmp>(3), B<strverscmp>(3), B<wcscmp>(3), B<wcsncmp>(3)"
1616 #: build/C/man3/strcoll.3:28
1622 #: build/C/man3/strcoll.3:31
1623 msgid "strcoll - compare two strings using the current locale"
1627 #: build/C/man3/strcoll.3:36 build/C/man3/string.3:57
1629 msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
1633 #: build/C/man3/strcoll.3:49
1635 "The B<strcoll>() function compares the two strings I<s1> and I<s2>. It "
1636 "returns an integer less than, equal to, or greater than zero if I<s1> is "
1637 "found, respectively, to be less than, to match, or be greater than I<s2>. "
1638 "The comparison is based on strings interpreted as appropriate for the "
1639 "program's current locale for category B<LC_COLLATE>. (See B<setlocale>(3).)"
1643 #: build/C/man3/strcoll.3:56
1645 "The B<strcoll>() function returns an integer less than, equal to, or "
1646 "greater than zero if I<s1> is found, respectively, to be less than, to "
1647 "match, or be greater than I<s2>, when both are interpreted as appropriate "
1648 "for the current locale."
1652 #: build/C/man3/strcoll.3:63
1654 "In the I<\"POSIX\"> or I<\"C\"> locales B<strcoll>() is equivalent to "
1659 #: build/C/man3/strcoll.3:70
1661 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
1662 "B<string>(3), B<strxfrm>(3)"
1666 #: build/C/man3/strcpy.3:33
1672 #: build/C/man3/strcpy.3:36
1673 msgid "strcpy, strncpy - copy a string"
1677 #: build/C/man3/strcpy.3:41 build/C/man3/string.3:59
1679 msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
1683 #: build/C/man3/strcpy.3:43 build/C/man3/string.3:73
1685 msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
1689 #: build/C/man3/strcpy.3:52
1691 "The B<strcpy>() function copies the string pointed to by I<src>, including "
1692 "the terminating null byte (\\(aq\\e0\\(aq), to the buffer pointed to by "
1693 "I<dest>. The strings may not overlap, and the destination string I<dest> "
1694 "must be large enough to receive the copy."
1698 #: build/C/man3/strcpy.3:61
1700 "The B<strncpy>() function is similar, except that at most I<n> bytes of "
1701 "I<src> are copied. B<Warning>: If there is no null byte among the first "
1702 "I<n> bytes of I<src>, the string placed in I<dest> will not be "
1707 #: build/C/man3/strcpy.3:70
1709 "If the length of I<src> is less than I<n>, B<strncpy>() pads the remainder "
1710 "of I<dest> with null bytes."
1714 #: build/C/man3/strcpy.3:74
1715 msgid "A simple implementation of B<strncpy>() might be:"
1719 #: build/C/man3/strcpy.3:81
1723 "strncpy(char *dest, const char *src, size_t n)\n"
1729 #: build/C/man3/strcpy.3:86
1732 " for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
1733 " dest[i] = src[i];\n"
1734 " for ( ; i E<lt> n; i++)\n"
1735 " dest[i] = \\(aq\\e0\\(aq;\n"
1739 #: build/C/man3/strcpy.3:98
1741 "The B<strcpy>() and B<strncpy>() functions return a pointer to the "
1742 "destination string I<dest>."
1746 #: build/C/man3/strcpy.3:109
1748 "Some programmers consider B<strncpy>() to be inefficient and error prone. "
1749 "If the programmer knows (i.e., includes code to test!) that the size of "
1750 "I<dest> is greater than the length of I<src>, then B<strcpy>() can be used."
1754 #: build/C/man3/strcpy.3:116
1756 "If there is no terminating null byte in the first I<n> characters of I<src>, "
1757 "B<strncpy>() produces an unterminated string in I<dest>. Programmers often "
1758 "prevent this mistake by forcing termination as follows:"
1762 #: build/C/man3/strcpy.3:122
1765 "strncpy(buf, str, n);\n"
1767 " buf[n - 1]= \\(aq\\e0\\(aq;\n"
1771 #: build/C/man3/strcpy.3:135
1773 "If the destination string of a B<strcpy>() is not large enough, then "
1774 "anything might happen. Overflowing fixed-length string buffers is a "
1775 "favorite cracker technique for taking complete control of the machine. Any "
1776 "time a program reads or copies data into a buffer, the program first needs "
1777 "to check that there's enough space. This may be unnecessary if you can show "
1778 "that overflow is impossible, but be careful: programs can get changed over "
1779 "time, in ways that may make the impossible possible."
1783 #: build/C/man3/strcpy.3:145
1785 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpcpy>(3), "
1786 "B<stpncpy>(3), B<strdup>(3), B<string>(3), B<wcscpy>(3), B<wcsncpy>(3)"
1790 #: build/C/man3/strdup.3:29
1796 #: build/C/man3/strdup.3:29
1802 #: build/C/man3/strdup.3:32
1803 msgid "strdup, strndup, strdupa, strndupa - duplicate a string"
1807 #: build/C/man3/strdup.3:37 build/C/man3/string.3:63
1809 msgid "B<char *strdup(const char *>I<s>B<);>\n"
1813 #: build/C/man3/strdup.3:39
1815 msgid "B<char *strndup(const char *>I<s>B<, size_t >I<n>B<);>\n"
1819 #: build/C/man3/strdup.3:41
1821 msgid "B<char *strdupa(const char *>I<s>B<);>\n"
1825 #: build/C/man3/strdup.3:43
1827 msgid "B<char *strndupa(const char *>I<s>B<, size_t >I<n>B<);>\n"
1831 #: build/C/man3/strdup.3:53
1832 msgid "B<strdup>():"
1836 #: build/C/man3/strdup.3:56
1838 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
1839 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1843 #: build/C/man3/strdup.3:58
1844 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1848 #: build/C/man3/strdup.3:61
1849 msgid "B<strndup>():"
1853 #: build/C/man3/strdup.3:65
1854 msgid "POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
1858 #: build/C/man3/strdup.3:73
1859 msgid "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
1863 #: build/C/man3/strdup.3:85
1865 "The B<strdup>() function returns a pointer to a new string which is a "
1866 "duplicate of the string I<s>. Memory for the new string is obtained with "
1867 "B<malloc>(3), and can be freed with B<free>(3)."
1871 #: build/C/man3/strdup.3:92
1873 "The B<strndup>() function is similar, but only copies at most I<n> "
1874 "characters. If I<s> is longer than I<n>, only I<n> characters are copied, "
1875 "and a terminating null byte (\\(aq\\e0\\(aq) is added."
1879 #: build/C/man3/strdup.3:102
1881 "B<strdupa>() and B<strndupa>() are similar, but use B<alloca>(3) to "
1882 "allocate the buffer. They are only available when using the GNU GCC suite, "
1883 "and suffer from the same limitations described in B<alloca>(3)."
1887 #: build/C/man3/strdup.3:107
1889 "The B<strdup>() function returns a pointer to the duplicated string, or "
1890 "NULL if insufficient memory was available."
1894 #: build/C/man3/strdup.3:107 build/C/man3/strerror.3:139
1900 #: build/C/man3/strdup.3:108
1906 #: build/C/man3/strdup.3:111
1907 msgid "Insufficient memory available to allocate duplicate string."
1910 #. 4.3BSD-Reno, not (first) 4.3BSD.
1912 #: build/C/man3/strdup.3:121
1914 "B<strdup>() conforms to SVr4, 4.3BSD, POSIX.1-2001. B<strndup>() conforms "
1915 "to POSIX.1-2008. B<strdupa>() and B<strndupa>() are GNU extensions."
1919 #: build/C/man3/strdup.3:128
1921 "B<alloca>(3), B<calloc>(3), B<free>(3), B<malloc>(3), B<realloc>(3), "
1922 "B<string>(3), B<wcsdup>(3)"
1926 #: build/C/man3/strerror.3:37
1932 #: build/C/man3/strerror.3:37
1938 #: build/C/man3/strerror.3:40
1939 msgid "strerror, strerror_r - return string describing error number"
1943 #: build/C/man3/strerror.3:45
1945 msgid "B<char *strerror(int >I<errnum>B<);>\n"
1949 #: build/C/man3/strerror.3:48
1952 "B<int strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
1953 " /* XSI-compliant */\n"
1957 #: build/C/man3/strerror.3:51
1960 "B<char *strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t "
1962 " /* GNU-specific */\n"
1966 #: build/C/man3/strerror.3:61
1967 msgid "The XSI-compliant version of B<strerror_r>() is provided if:"
1971 #: build/C/man3/strerror.3:63
1973 "(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ "
1978 #: build/C/man3/strerror.3:65
1979 msgid "Otherwise, the GNU-specific version is provided."
1983 #: build/C/man3/strerror.3:78
1985 "The B<strerror>() function returns a pointer to a string that describes the "
1986 "error code passed in the argument I<errnum>, possibly using the "
1987 "B<LC_MESSAGES> part of the current locale to select the appropriate "
1988 "language. This string must not be modified by the application, but may be "
1989 "modified by a subsequent call to B<perror>(3) or B<strerror>(). No library "
1990 "function will modify this string."
1994 #: build/C/man3/strerror.3:99
1996 "The B<strerror_r>() function is similar to B<strerror>(), but is thread "
1997 "safe. This function is available in two versions: an XSI-compliant version "
1998 "specified in POSIX.1-2001 (available since glibc 2.3.4), and a GNU-specific "
1999 "version (available since glibc 2.0). The XSI-compliant version is provided "
2000 "with the feature test macros settings shown in the SYNOPSIS; otherwise the "
2001 "GNU-specific version is provided. If no feature test macros are explicitly "
2002 "defined, then (since glibc 2.4) B<_POSIX_SOURCE> is defined by default with "
2003 "the value 200112L, so that the XSI-compliant version of B<strerror_r>() is "
2004 "provided by default."
2008 #: build/C/man3/strerror.3:107
2010 "The XSI-compliant B<strerror_r>() is preferred for portable applications. "
2011 "It returns the error string in the user-supplied buffer I<buf> of length "
2016 #: build/C/man3/strerror.3:124
2018 "The GNU-specific B<strerror_r>() returns a pointer to a string containing "
2019 "the error message. This may be either a pointer to a string that the "
2020 "function stores in I<buf>, or a pointer to some (immutable) static string "
2021 "(in which case I<buf> is unused). If the function stores a string in "
2022 "I<buf>, then at most I<buflen> bytes are stored (the string may be truncated "
2023 "if I<buflen> is too small) and the string always includes a terminating null "
2028 #: build/C/man3/strerror.3:132
2030 "The B<strerror>() and the GNU-specific B<strerror_r>() functions return "
2031 "the appropriate error description string, or an \"Unknown error nnn\" "
2032 "message if the error number is unknown."
2036 #: build/C/man3/strerror.3:139
2038 "The XSI-compliant B<strerror_r>() function returns 0 on success; on error, "
2039 "-1 is returned and I<errno> is set to indicate the error."
2043 #: build/C/man3/strerror.3:140
2049 #: build/C/man3/strerror.3:145
2050 msgid "The value of I<errnum> is not a valid error number."
2054 #: build/C/man3/strerror.3:145
2060 #: build/C/man3/strerror.3:148
2061 msgid "Insufficient storage was supplied to contain the error description string."
2065 #: build/C/man3/strerror.3:153
2067 "B<strerror>() is specified by POSIX.1-2001, C89, C99. B<strerror_r>() is "
2068 "specified by POSIX.1-2001."
2072 #: build/C/man3/strerror.3:157
2073 msgid "The GNU-specific B<strerror_r>() function is a nonstandard extension."
2076 #. e.g., Solaris 8, HP-UX 11
2077 #. e.g., FreeBSD 5.4, Tru64 5.1B
2079 #: build/C/man3/strerror.3:176
2081 "POSIX.1-2001 permits B<strerror>() to set I<errno> if the call encounters "
2082 "an error, but does not specify what value should be returned as the function "
2083 "result in the event of an error. On some systems, B<strerror>() returns "
2084 "NULL if the error number is unknown. On other systems, B<strerror>() "
2085 "returns a string something like \"Error nnn occurred\" and sets I<errno> to "
2086 "B<EINVAL> if the error number is unknown."
2090 #: build/C/man3/strerror.3:181
2091 msgid "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
2095 #: build/C/man3/strfry.3:28
2101 #: build/C/man3/strfry.3:31
2102 msgid "strfry - randomize a string"
2106 #: build/C/man3/strfry.3:38 build/C/man3/string.3:65
2108 msgid "B<char *strfry(char *>I<string>B<);>\n"
2112 #: build/C/man3/strfry.3:47
2114 "The B<strfry>() function randomizes the contents of I<string> by using "
2115 "B<rand>(3) to randomly swap characters in the string. The result is an "
2116 "anagram of I<string>."
2120 #: build/C/man3/strfry.3:52
2121 msgid "The B<strfry>() functions returns a pointer to the randomized string."
2125 #: build/C/man3/strfry.3:57
2126 msgid "The B<strfry>() function is unique to the GNU C Library."
2130 #: build/C/man3/strfry.3:59
2131 msgid "B<memfrob>(3), B<string>(3)"
2135 #: build/C/man3/string.3:28
2141 #: build/C/man3/string.3:28
2147 #: build/C/man3/string.3:34
2149 "stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn, "
2150 "strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk, "
2151 "strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex - string "
2156 #: build/C/man3/string.3:61 build/C/man3/strspn.3:38
2158 msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
2162 #: build/C/man3/string.3:67 build/C/man3/strlen.3:36
2164 msgid "B<size_t strlen(const char *>I<s>B<);>\n"
2168 #: build/C/man3/string.3:75 build/C/man3/strpbrk.3:36
2170 msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2174 #: build/C/man3/string.3:79 build/C/man3/strsep.3:39
2176 msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
2180 #: build/C/man3/string.3:81 build/C/man3/strspn.3:36
2182 msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
2186 #: build/C/man3/string.3:83 build/C/man3/strstr.3:39
2188 msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
2192 #: build/C/man3/string.3:85
2194 msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
2198 #: build/C/man3/string.3:87 build/C/man3/strxfrm.3:36
2201 "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t "
2206 #: build/C/man3/string.3:92
2208 "The string functions perform string operations on null-terminated strings. "
2209 "See the individual man pages for descriptions of each function."
2213 #: build/C/man3/string.3:116
2215 "B<index>(3), B<rindex>(3), B<stpcpy>(3), B<strcasecmp>(3), B<strcat>(3), "
2216 "B<strchr>(3), B<strcmp>(3), B<strcoll>(3), B<strcpy>(3), B<strcspn>(3), "
2217 "B<strdup>(3), B<strfry>(3), B<strlen>(3), B<strncasecmp>(3), B<strncat>(3), "
2218 "B<strncmp>(3), B<strncpy>(3), B<strpbrk>(3), B<strrchr>(3), B<strsep>(3), "
2219 "B<strspn>(3), B<strstr>(3), B<strtok>(3), B<strxfrm>(3)"
2223 #: build/C/man3/strlen.3:28
2229 #: build/C/man3/strlen.3:31
2230 msgid "strlen - calculate the length of a string"
2234 #: build/C/man3/strlen.3:42
2236 "The B<strlen>() function calculates the length of the string I<s>, "
2237 "excluding the terminating null byte (\\(aq\\e0\\(aq)."
2241 #: build/C/man3/strlen.3:46
2242 msgid "The B<strlen>() function returns the number of characters in I<s>."
2246 #: build/C/man3/strlen.3:52
2247 msgid "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
2251 #: build/C/man3/strnlen.3:11
2257 #: build/C/man3/strnlen.3:14
2258 msgid "strnlen - determine the length of a fixed-size string"
2262 #: build/C/man3/strnlen.3:19
2264 msgid "B<size_t strnlen(const char *>I<s>B<, size_t >I<maxlen>B<);>\n"
2268 #: build/C/man3/strnlen.3:27
2269 msgid "B<strnlen>():"
2273 #: build/C/man3/strnlen.3:49
2275 "The B<strnlen>() function returns the number of characters in the string "
2276 "pointed to by I<s>, excluding the terminating null bye (\\(aq\\e0\\(aq), but "
2277 "at most I<maxlen>. In doing this, B<strnlen>() looks only at the first "
2278 "I<maxlen> characters at I<s> and never beyond I<s+maxlen>."
2282 #: build/C/man3/strnlen.3:56
2284 "The B<strnlen>() function returns I<strlen(s)>, if that is less than "
2285 "I<maxlen>, or I<maxlen> if there is no null byte (\\(aq\\e0\\(aq) among the "
2286 "first I<maxlen> characters pointed to by I<s>."
2290 #: build/C/man3/strnlen.3:58
2291 msgid "POSIX.1-2008."
2295 #: build/C/man3/strnlen.3:59
2296 msgid "B<strlen>(3)"
2300 #: build/C/man3/strpbrk.3:28
2306 #: build/C/man3/strpbrk.3:31
2307 msgid "strpbrk - search a string for any of a set of characters"
2311 #: build/C/man3/strpbrk.3:42
2313 "The B<strpbrk>() function locates the first occurrence in the string I<s> "
2314 "of any of the characters in the string I<accept>."
2318 #: build/C/man3/strpbrk.3:48
2320 "The B<strpbrk>() function returns a pointer to the character in I<s> that "
2321 "matches one of the characters in I<accept>, or NULL if no such character is "
2326 #: build/C/man3/strpbrk.3:60
2328 "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
2329 "B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcspbrk>(3)"
2333 #: build/C/man3/strsep.3:31
2339 #: build/C/man3/strsep.3:34
2340 msgid "strsep - extract token from string"
2344 #: build/C/man3/strsep.3:48
2345 msgid "B<strsep>(): _BSD_SOURCE"
2349 #: build/C/man3/strsep.3:61
2351 "If I<*stringp> is NULL, the B<strsep>() function returns NULL and does "
2352 "nothing else. Otherwise, this function finds the first token in the string "
2353 "I<*stringp>, where tokens are delimited by symbols in the string I<delim>. "
2354 "This token is terminated by overwriting the delimiter with a null byte "
2355 "(\\(aq\\e0\\(aq) and I<*stringp> is updated to point past the token. In "
2356 "case no delimiter was found, the token is taken to be the entire string "
2357 "I<*stringp>, and I<*stringp> is made NULL."
2361 #: build/C/man3/strsep.3:66
2363 "The B<strsep>() function returns a pointer to the token, that is, it "
2364 "returns the original value of I<*stringp>."
2368 #: build/C/man3/strsep.3:68
2373 #: build/C/man3/strsep.3:77
2375 "The B<strsep>() function was introduced as a replacement for B<strtok>(3), "
2376 "since the latter cannot handle empty fields. However, B<strtok>(3) "
2377 "conforms to C89/C99 and hence is more portable."
2381 #: build/C/man3/strsep.3:80
2382 msgid "Be cautious when using this function. If you do use it, note that:"
2386 #: build/C/man3/strsep.3:82
2387 msgid "This function modifies its first argument."
2391 #: build/C/man3/strsep.3:84
2392 msgid "This function cannot be used on constant strings."
2396 #: build/C/man3/strsep.3:86 build/C/man3/strtok.3:127
2397 msgid "The identity of the delimiting character is lost."
2401 #: build/C/man3/strsep.3:95
2403 "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
2404 "B<strpbrk>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
2408 #: build/C/man3/strsignal.3:28
2414 #: build/C/man3/strsignal.3:28
2420 #: build/C/man3/strsignal.3:31
2421 msgid "strsignal - return string describing signal"
2425 #: build/C/man3/strsignal.3:36
2427 msgid "B<char *strsignal(int >I<sig>B<);>\n"
2431 #: build/C/man3/strsignal.3:38
2433 msgid "B<extern const char * const >I<sys_siglist>B<[];>\n"
2437 #: build/C/man3/strsignal.3:46
2438 msgid "B<strsignal>():"
2442 #: build/C/man3/strsignal.3:66
2444 "The B<strsignal>() function returns a string describing the signal number "
2445 "passed in the argument I<sig>. The string can only be used until the next "
2446 "call to B<strsignal>()."
2450 #: build/C/man3/strsignal.3:73
2452 "The array I<sys_siglist> holds the signal description strings indexed by "
2453 "signal number. The B<strsignal>() function should be used if possible "
2454 "instead of this array."
2458 #: build/C/man3/strsignal.3:80
2460 "The B<strsignal>() function returns the appropriate description string, or "
2461 "an unknown signal message if the signal number is invalid. On some systems "
2462 "(but not on Linux), a NULL pointer may be returned instead for an invalid "
2467 #: build/C/man3/strsignal.3:83
2468 msgid "POSIX.1-2008. Present on Solaris and the BSDs."
2472 #: build/C/man3/strsignal.3:85
2473 msgid "B<psignal>(3), B<strerror>(3)"
2477 #: build/C/man3/strspn.3:28
2483 #: build/C/man3/strspn.3:31
2484 msgid "strspn, strcspn - search a string for a set of characters"
2488 #: build/C/man3/strspn.3:45
2490 "The B<strspn>() function calculates the length of the initial segment of "
2491 "I<s> which consists entirely of characters in I<accept>."
2495 #: build/C/man3/strspn.3:51
2497 "The B<strcspn>() function calculates the length of the initial segment of "
2498 "I<s> which consists entirely of characters not in I<reject>."
2502 #: build/C/man3/strspn.3:57
2504 "The B<strspn>() function returns the number of characters in the initial "
2505 "segment of I<s> which consist only of characters from I<accept>."
2509 #: build/C/man3/strspn.3:63
2511 "The B<strcspn>() function returns the number of characters in the initial "
2512 "segment of I<s> which are not in the string I<reject>."
2516 #: build/C/man3/strspn.3:76
2518 "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
2519 "B<strpbrk>(3), B<strsep>(3), B<strstr>(3), B<strtok>(3), B<wcscspn>(3), "
2524 #: build/C/man3/strstr.3:31
2530 #: build/C/man3/strstr.3:34
2531 msgid "strstr, strcasestr - locate a substring"
2535 #: build/C/man3/strstr.3:45
2537 msgid "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
2541 #: build/C/man3/strstr.3:52
2543 "The B<strstr>() function finds the first occurrence of the substring "
2544 "I<needle> in the string I<haystack>. The terminating null bytes "
2545 "(\\(aq\\e0\\(aq) are not compared."
2549 #: build/C/man3/strstr.3:58
2551 "The B<strcasestr>() function is like B<strstr>(), but ignores the case of "
2556 #: build/C/man3/strstr.3:61
2558 "These functions return a pointer to the beginning of the substring, or NULL "
2559 "if the substring is not found."
2563 #: build/C/man3/strstr.3:68
2565 "The B<strstr>() function conforms to C89 and C99. The B<strcasestr>() "
2566 "function is a nonstandard extension."
2570 #: build/C/man3/strstr.3:74
2572 "Early versions of Linux libc (like 4.5.26) would not allow an empty "
2573 "I<needle> argument for B<strstr>(). Later versions (like 4.6.27) work "
2574 "correctly, and return I<haystack> when I<needle> is empty."
2578 #: build/C/man3/strstr.3:85
2580 "B<index>(3), B<memchr>(3), B<rindex>(3), B<strcasecmp>(3), B<strchr>(3), "
2581 "B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strtok>(3), "
2586 #: build/C/man3/strtok.3:28
2592 #: build/C/man3/strtok.3:28
2598 #: build/C/man3/strtok.3:31
2599 msgid "strtok, strtok_r - extract tokens from strings"
2603 #: build/C/man3/strtok.3:36
2605 msgid "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
2609 #: build/C/man3/strtok.3:38
2612 "B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char "
2613 "**>I<saveptr>B<);>\n"
2617 #: build/C/man3/strtok.3:49
2619 "B<strtok_r>(): _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 1 "
2620 "|| _XOPEN_SOURCE || _POSIX_SOURCE"
2624 #: build/C/man3/strtok.3:60
2626 "The B<strtok>() function parses a string into a sequence of tokens. On the "
2627 "first call to B<strtok>() the string to be parsed should be specified in "
2628 "I<str>. In each subsequent call that should parse the same string, I<str> "
2633 #: build/C/man3/strtok.3:65
2635 "The I<delim> argument specifies a set of characters that delimit the tokens "
2636 "in the parsed string. The caller may specify different strings in I<delim> "
2637 "in successive calls that parse the same string."
2641 #: build/C/man3/strtok.3:74
2643 "Each call to B<strtok>() returns a pointer to a null-terminated string "
2644 "containing the next token. This string does not include the delimiting "
2645 "character. If no more tokens are found, B<strtok>() returns NULL."
2649 #: build/C/man3/strtok.3:81
2651 "A sequence of two or more contiguous delimiter characters in the parsed "
2652 "string is considered to be a single delimiter. Delimiter characters at the "
2653 "start or end of the string are ignored. Put another way: the tokens "
2654 "returned by B<strtok>() are always nonempty strings."
2658 #: build/C/man3/strtok.3:91
2660 "The B<strtok_r>() function is a reentrant version B<strtok>(). The "
2661 "I<saveptr> argument is a pointer to a I<char *> variable that is used "
2662 "internally by B<strtok_r>() in order to maintain context between successive "
2663 "calls that parse the same string."
2667 #: build/C/man3/strtok.3:100
2669 "On the first call to B<strtok_r>(), I<str> should point to the string to be "
2670 "parsed, and the value of I<saveptr> is ignored. In subsequent calls, I<str> "
2671 "should be NULL, and I<saveptr> should be unchanged since the previous call."
2675 #: build/C/man3/strtok.3:104
2677 "Different strings may be parsed concurrently using sequences of calls to "
2678 "B<strtok_r>() that specify different I<saveptr> arguments."
2682 #: build/C/man3/strtok.3:111
2684 "The B<strtok>() and B<strtok_r>() functions return a pointer to the next "
2685 "token, or NULL if there are no more tokens."
2689 #: build/C/man3/strtok.3:112
2695 #: build/C/man3/strtok.3:115
2696 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
2700 #: build/C/man3/strtok.3:115
2702 msgid "B<strtok_r>()"
2706 #: build/C/man3/strtok.3:118
2707 msgid "POSIX.1-2001."
2711 #: build/C/man3/strtok.3:121
2712 msgid "Be cautious when using these functions. If you do use them, note that:"
2716 #: build/C/man3/strtok.3:123
2717 msgid "These functions modify their first argument."
2721 #: build/C/man3/strtok.3:125
2722 msgid "These functions cannot be used on constant strings."
2726 #: build/C/man3/strtok.3:134
2728 "The B<strtok>() function uses a static buffer while parsing, so it's not "
2729 "thread safe. Use B<strtok_r>() if this matters to you."
2733 #: build/C/man3/strtok.3:143
2735 "The program below uses nested loops that employ B<strtok_r>() to break a "
2736 "string into a two-level hierarchy of tokens. The first command-line "
2737 "argument specifies the string to be parsed. The second argument specifies "
2738 "the delimiter character(s) to be used to separate that string into "
2739 "\"major\" tokens. The third argument specifies the delimiter character(s) "
2740 "to be used to separate the \"major\" tokens into subtokens."
2744 #: build/C/man3/strtok.3:145
2745 msgid "An example of the output produced by this program is the following:"
2749 #: build/C/man3/strtok.3:157
2752 "$B< ./a.out \\(aqa/bbb///cc;xxx:yyy:\\(aq \\(aq:;\\(aq \\(aq/\\(aq>\n"
2764 #: build/C/man3/strtok.3:159
2766 msgid "Program source"
2770 #: build/C/man3/strtok.3:165
2773 "#include E<lt>stdio.hE<gt>\n"
2774 "#include E<lt>stdlib.hE<gt>\n"
2775 "#include E<lt>string.hE<gt>\n"
2779 #: build/C/man3/strtok.3:172
2783 "main(int argc, char *argv[])\n"
2785 " char *str1, *str2, *token, *subtoken;\n"
2786 " char *saveptr1, *saveptr2;\n"
2791 #: build/C/man3/strtok.3:178
2794 " if (argc != 4) {\n"
2795 " fprintf(stderr, \"Usage: %s string delim subdelim\\en\",\n"
2797 " exit(EXIT_FAILURE);\n"
2802 #: build/C/man3/strtok.3:184
2805 " for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {\n"
2806 " token = strtok_r(str1, argv[2], &saveptr1);\n"
2807 " if (token == NULL)\n"
2809 " printf(\"%d: %s\\en\", j, token);\n"
2813 #: build/C/man3/strtok.3:192
2816 " for (str2 = token; ; str2 = NULL) {\n"
2817 " subtoken = strtok_r(str2, argv[3], &saveptr2);\n"
2818 " if (subtoken == NULL)\n"
2820 " printf(\"\\t --E<gt> %s\\en\", subtoken);\n"
2826 #: build/C/man3/strtok.3:195
2829 " exit(EXIT_SUCCESS);\n"
2834 #: build/C/man3/strtok.3:201
2836 "Another example program using B<strtok>() can be found in "
2837 "B<getaddrinfo_a>(3)."
2841 #: build/C/man3/strtok.3:211
2843 "B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
2844 "B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wcstok>(3)"
2848 #: build/C/man3/strverscmp.3:23
2854 #: build/C/man3/strverscmp.3:23
2860 #: build/C/man3/strverscmp.3:26
2861 msgid "strverscmp - compare two version strings"
2865 #: build/C/man3/strverscmp.3:33
2867 msgid "B<int strverscmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
2870 #. classical solution: "rename jan jan0 jan?"
2872 #: build/C/man3/strverscmp.3:50
2874 "Often one has files I<jan1>, I<jan2>, ..., I<jan9>, I<jan10>, ... and it "
2875 "feels wrong when B<ls>(1) orders them I<jan1>, I<jan10>, ..., I<jan2>, ..., "
2876 "I<jan9>. In order to rectify this, GNU introduced the I<-v> option to "
2877 "B<ls>(1), which is implemented using B<versionsort>(3), which again uses "
2882 #: build/C/man3/strverscmp.3:61
2884 "Thus, the task of B<strverscmp>() is to compare two strings and find the "
2885 "\"right\" order, while B<strcmp>(3) only finds the lexicographic order. "
2886 "This function does not use the locale category B<LC_COLLATE>, so is meant "
2887 "mostly for situations where the strings are expected to be in ASCII."
2891 #: build/C/man3/strverscmp.3:79
2893 "What this function does is the following. If both strings are equal, return "
2894 "0. Otherwise find the position between two bytes with the property that "
2895 "before it both strings are equal, while directly after it there is a "
2896 "difference. Find the largest consecutive digit strings containing (or "
2897 "starting at, or ending at) this position. If one or both of these is empty, "
2898 "then return what B<strcmp>(3) would have returned (numerical ordering of "
2899 "byte values). Otherwise, compare both digit strings numerically, where "
2900 "digit strings with one or more leading zeros are interpreted as if they have "
2901 "a decimal point in front (so that in particular digit strings with more "
2902 "leading zeros come before digit strings with fewer leading zeros). Thus, "
2903 "the ordering is I<000>, I<00>, I<01>, I<010>, I<09>, I<0>, I<1>, I<9>, "
2908 #: build/C/man3/strverscmp.3:86
2910 "The B<strverscmp>() function returns an integer less than, equal to, or "
2911 "greater than zero if I<s1> is found, respectively, to be earlier than, equal "
2912 "to, or later than I<s2>."
2916 #: build/C/man3/strverscmp.3:92
2917 msgid "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
2921 #: build/C/man3/strxfrm.3:28
2927 #: build/C/man3/strxfrm.3:31
2928 msgid "strxfrm - string transformation"
2932 #: build/C/man3/strxfrm.3:54
2934 "The B<strxfrm>() function transforms the I<src> string into a form such "
2935 "that the result of B<strcmp>(3) on two strings that have been transformed "
2936 "with B<strxfrm>() is the same as the result of B<strcoll>(3) on the two "
2937 "strings before their transformation. The first I<n> characters of the "
2938 "transformed string are placed in I<dest>. The transformation is based on "
2939 "the program's current locale for category B<LC_COLLATE>. (See "
2944 #: build/C/man3/strxfrm.3:62
2946 "The B<strxfrm>() function returns the number of bytes required to store the "
2947 "transformed string in I<dest> excluding the terminating null byte "
2948 "(\\(aq\\e0\\(aq). If the value returned is I<n> or more, the contents of "
2949 "I<dest> are indeterminate."
2953 #: build/C/man3/strxfrm.3:70
2955 "In the I<\"POSIX\"> or I<\"C\"> locales B<strxfrm>() is equivalent to "
2956 "copying the string with B<strncpy>(3)."
2960 #: build/C/man3/strxfrm.3:77
2962 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
2963 "B<strcoll>(3), B<string>(3)"