Knowledge

C string handling

Source 📝

5612: 548:. In fact all lengths are defined as being in bytes and this is true in all implementations, and these functions work as well with UTF-8 as with single-byte encodings. The BSD documentation has been fixed to make this clear, but POSIX, Linux, and Windows documentation still uses "character" in many places where "byte" or "wchar_t" is the correct term. 2023:(used by software on Linux), on the basis of allegedly being inefficient, encouraging the use of C strings (instead of some superior alternative form of string), and hiding other potential errors. Even while glibc hadn't added support, strlcat and strlcpy have been implemented in a number of other C libraries including ones for OpenBSD, 2018:
2.4 in December, 1998. These functions always write one NUL to the destination buffer, truncating the result if necessary, and return the size of buffer that would be needed, which allows detection of the truncation and provides a size for creating a new buffer that will not truncate. For a long time
4677:
This API has been adopted by most modern operating systems and many standalone software packages . The notable exception is the GNU standard C library, glibc, whose maintainer steadfastly refuses to include these improved APIs, labelling them "horribly inefficient BSD crap", despite prior evidence
2002:
have the desired behavior; however, neither function was designed for this (they were intended to manipulate null-padded fixed-size string buffers, a data format less commonly used in modern software), and the behavior and arguments are non-intuitive and often written incorrectly even by expert
2118:
suggesting use of these functions instead of standard ones. This has been speculated by some to be an attempt by Microsoft to lock developers into its platform. Experience with these functions has shown significant problems with their adoption and errors in usage, so the removal of Annex K is
2113:
proposed by ISO/IEC WDTR 24731. These functions perform various checks including whether the string is too long to fit in the buffer. If the checks fail, a user-specified "runtime-constraint handler" function is called, which usually aborts the program. These functions attracted considerable
323:
into the source), but this will cause the string to end at that point. The rest of the literal will be placed in memory (with another zero code unit added to the end) but it is impossible to know those code units were translated from the string literal, therefore such source code is
384:, can be stored. (The standard requires a "type that holds any wide character", which on Windows no longer holds true since the UCS-2 to UTF-16 shift. This was recognized as a defect in the standard and fixed in C++.) C++11 and 598:
when not used carefully and properly, causing the programmers to prefer safer and possibly less portable variants, out of which some popular ones are listed below. Some of these functions also violate
4766:"However, one may question the validity of such optimizations, as they defeat the whole purpose of strlcpy() and strlcat(). As a matter of fact, the first version of this manual page got it wrong." 263:
of a string is the number of code units before the zero code unit. The memory occupied by a string is always one more code unit than the length, as space is needed to store the zero terminator.
2094:
as they do not repeatedly check for NUL (this is less true on modern processors). Since they need a buffer length as a parameter, correct setting of this parameter can avoid buffer overflows.
1429:
object, originally in static memory (making the functions not be thread-safe) and in later additions the caller must maintain. This was originally intended to track shift states in the
1453:
twice for a single character. Later additions to the standard admit that the only conversion programmers are interested in is between UTF-8 and UTF-16 and directly provide this.
315:
in the C source code) are converted to arrays during compilation. The result is an array of code units containing all the characters plus a trailing zero code unit. In C90
544:
In historical documentation the term "character" was often used instead of "byte" for C strings, which leads many to believe that these functions somehow do not work for
778:, the type is used for UTF-32 on that system. This is always the case in C23. C++ does not define such a macro, but the type is always used for UTF-32 in that language. 752:, the type is used for UTF-16 on that system. This is always the case in C23. C++ does not define such a macro, but the type is always used for UTF-16 in that language. 2075:
notes that as of glibc 2.38, the code has been committed and thereby added. These functions were standardized as part of POSIX.1-2024, the Austin Group Defect Tracker
708:
Integer type that can hold any value of a wchar_t as well as the value of the macro WEOF. This type is unchanged by integral promotions. Usually a 32 bit signed value.
364:(even though a 16-bit code unit might be nonzero, its high or low byte might be zero). The encodings that can be stored in wide strings are defined by the width of 551:
Functions for handling memory buffers can process sequences of bytes that include null-byte as part of the data. Names of these functions typically start with
686:
code unit, which can be half a code point. On other platforms it is defined as 32-bit and a Unicode code point always fits. The C standard only requires that
426:
can produce invalid sequences at the end of the string. This can be unsafe if the truncated parts are interpreted by code that assumes the input is valid.
1994:
with functions that do not allow buffer overflows, no accepted standard has arisen. This is partly due to the mistaken belief by many C programmers that
5139: 305:
are different types, the functions that process wide strings are different than the ones processing normal strings and have different names.
4441: 4419: 594:, they are guaranteed to work on any platform which supports C. However, some security issues exist with these functions, such as potential 476:
where compilers might just copy whatever is between the quotes. Some compilers or editors will require entering all non-ASCII characters as
5021: 180: 583:
in C++). These headers also contain declarations of functions used for handling memory buffers; the name is thus something of a misnomer.
1706:
functions, for which reason neither C95 nor any later standard provides wide-character versions of these functions. The argument against
1636:
The C standard library contains several functions for numeric conversions. The functions that deal with byte strings are defined in the
2098: 4740:
Correct string handling means that you always know how long your strings are and therefore you can you memcpy (instead of strcpy).
2114:
criticism because initially they were implemented only on Windows and at the same time warning messages started to be produced by
523:
type was added that is meant to store UTF-8 characters and the types of u8 prefixed character and string literals were changed to
2420: 4838: 1433:
encodings, but modern ones such as UTF-8 do not need this. However these functions were designed on the assumption that the
5132: 5068: 259:
code unit). This means a string cannot contain the zero code unit, as the first one seen marks the end of the string. The
2143: 5648: 5452: 1983: 4692: 5638: 5616: 2478: 1449:
has been reused to keep track of surrogate pairs in the wide encoding, though the caller must still detect and call
3986: 173: 5433: 5342: 5125: 210: 5551: 1445:
at a time, passing it by value rather than using a string pointer. As UTF-16 is a variable-width encoding, the
213:
and searching are supported. For character strings, the standard library uses the convention that strings are
1759: 4579: 3940: 2109:(along with many others). These functions were standardized with some minor changes as part of the optional 5571: 5523: 4992: 4953: 4397: 2381: 2303: 2264: 2225: 788:
Contains all the information about the conversion state required from one call to a function to the other.
4861: 2494: 472:) is implementation defined, and may require that the source code be in the same encoding, especially for 5643: 5581: 5566: 5272: 2567: 166: 92: 4601: 4375: 4353: 5528: 5257: 4463: 2317: 2032: 239:
The only support for strings in the programming language proper is that the compiler translates quoted
62: 4303: 402:
can be used in both byte strings and wide strings. String length and offsets are measured in bytes or
5576: 5282: 5179: 5174: 5169: 2110: 1765: 1692: 1419:
Converts a single code point from UTF-32 to a narrow multibyte character representation, given state
1399:
Converts a single code point from UTF-16 to a narrow multibyte character representation, given state
1139: 1116: 733: 516: 385: 198: 82: 28: 4507: 3965: 2445: 1379:
Converts a single code point from UTF-8 to a narrow multibyte character representation, given state
5556: 5267: 5215: 5148: 5087: 4291: 2584: 2052: 691: 194: 87: 72: 5419: 5394: 4708: 4704: 4700: 2072: 1438: 399: 5025: 4818: 4797: 5437: 5379: 2115: 222: 214: 17: 2468: 2044: 4271: 3834: 3812: 5047: 4967: 4928: 4907:"The Safe C Library provides bound checking memory and string functions per ISO/IEC TR24731" 3926: 3912: 3898: 3884: 3658: 3636: 2598: 2550: 2352: 2278: 2239: 2200: 5399: 3870: 3856: 3790: 3768: 3724: 2519: 938: 611: 319:
produces a wide string. A string literal can contain the zero code unit (one way is to put
107: 4884: 3746: 3614: 3592: 2395: 8: 5414: 5409: 5371: 5262: 5111: 5006: 3702: 3680: 3570: 77: 1768:, copies between two non-overlapping memory areas, stopping when a given byte is found. 336:
Each string ends at the first occurrence of the zero code unit of the appropriate kind (
5480: 5245: 5210: 5114:, multiple C coding examples to target different types of CPU instruction architectures 4485: 3460: 3322: 1949: 591: 202: 42: 4249: 4227: 4095: 3548: 3504: 3438: 3413: 3366: 3212: 3190: 3168: 3146: 3080: 3058: 2992: 2970: 2948: 2926: 2816: 2794: 2772: 2750: 2681: 2659: 5313: 5308: 4986: 4947: 4532: 4205: 4183: 4161: 4139: 4117: 4073: 4051: 3526: 3482: 3391: 3344: 3300: 3278: 3256: 3234: 3124: 3102: 3036: 3014: 2904: 2882: 2860: 2838: 2728: 2706: 2637: 2615: 2474: 2375: 2297: 2258: 2219: 1680: 599: 102: 97: 4029: 4007: 2334: 2138: 2051:, introduced in 2011, and the source code added directly to other projects such as 422:
is 16 bits. Truncating strings with variable-width characters using functions like
297:
Strings are passed to functions by passing a pointer to the first code unit. Since
4643: 4624: 2076: 5424: 5384: 5292: 4885:"Repel Attacks on Your Code with the Visual Studio 2005 Safe C and C++ Libraries" 4696: 4662: 595: 275: 4849: 1031:
Returns the number of initial bytes in a string that are not in a second string
5597: 5442: 5404: 5330: 5230: 4307: 642:
constant; that is, a constant representing a pointer value which is guaranteed
357: 349: 308: 240: 610:
pointer within the string. To correct this, some have been separated into two
5632: 5500: 5490: 5429: 2020: 1644:
header in C++). The functions that deal with wide strings are defined in the
206: 2470:
Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard
1487:
converts a string to a floating-point value ('atof' means 'ASCII to float')
1016:
Returns the number of initial bytes in a string that are in a second string
575:
in C++), while functions that operate on C wide strings are declared in the
5470: 5235: 4689: 4328: 2135: – source code syntax, including backslash escape sequences 2132: 2068: 690:
be wide enough to hold the widest character set among the supported system
639: 57: 2536: 5561: 5117: 4565: 1879:
that is thread-safe. The GNU version is incompatible with the POSIX one.
1409:
Converts the next multibyte character to a UTF-32 character, given state
1389:
Converts the next multibyte character to a UTF-16 character, given state
1319:
Returns the number of bytes in the next multibyte character, given state
1369:
Converts the next multibyte character to a UTF-8 character, given state
406:, not in "characters", which can be confusing to beginning programmers. 5205: 5184: 4566:"strlcpy and strlcat – consistent, safe, string copy and concatenation" 4272:"WG14-N3020 : Qualifier-preserving standard library functions, v4" 1339:
Converts a wide character to its multibyte representation, given state
1329:
Converts the next multibyte character to a wide character, given state
2123:
has been suggested as a way to avoid unwanted compiler optimizations.
657: 484:
for each word of UTF-16. Since C11 (and C++11), a new literal prefix
411: 252: 4753: 1860:
Part of the C standard since C23, allocates and duplicates a string
567:
Most of the functions that operate on C strings are declared in the
5505: 5495: 5475: 5320: 5287: 5225: 5097: 4906: 4763: 4731: 4719: 490:
is available that guarantees UTF-8 for a bytestring literal, as in
286:, which is 16 or 32 bits on modern machines. This was intended for 152: 143: 125: 4776: 4533:"strlcpy, strlcat — size-bounded string copying and concatenation" 1299:
Converts a wide character to a single-byte character, if possible
5189: 5093: 4536: 4332: 2024: 2015: 1093: 675: 661: 512: 287: 134: 2101:, Microsoft introduced a family of "secure" functions including 1787:
returning a pointer to the byte following the last written byte
1289:
Converts a single-byte character to wide character, if possible
5460: 5357: 5352: 5159: 2060: 2028: 683: 415: 381: 361: 4678:
that they are faster is most cases than the APIs they replace.
5546: 5485: 5465: 5389: 5337: 5325: 4759: 2064: 1943: 1855: 679: 545: 407: 373: 353: 291: 5048:"Field Experience With Annex K — Bounds Checking Interfaces" 1239:
Returns the number of bytes in the next multibyte character
5347: 4563: 2318:"Relax requirements on wchar_t to match existing practices" 2119:
proposed for the next revision of the C standard. Usage of
2056: 2048: 2043:, as well as in alternative C libraries for Linux, such as 2036: 1933:
that truncates the result to fit in the destination buffer
1914:
that truncates the result to fit in the destination buffer
1161:
Copies one buffer to another, possibly overlapping, buffer
2421:"c++ - What is the use of wchar_t in general programming?" 1359:
Converts a wide string to a multibyte string, given state
1349:
Converts a multibyte string to a wide string, given state
1259:
Converts a wide character to its multibyte representation
1249:
Converts the next multibyte character to a wide character
1046:
Finds in a string the first occurrence of a byte in a set
372:
is at least 16 bits, and so all 16-bit encodings, such as
5164: 2040: 1741: 1710:
is that they do not differentiate between an error and a
1557: 1544: 1534: 1521: 1509: 255:
terminated by the first zero code unit (often called the
4683: 722:, a type that is suitable for storing UTF-8 characters. 3433: 3431: 1841:
that checks the destination buffer size before copying
1822:
that checks the destination buffer size before copying
3386: 3384: 2701: 2699: 2610: 2608: 1092:
Returns a string containing a message derived from an
1061:
Finds the first occurrence of a substring in a string
971:
Compares two strings according to the current locale
3428: 2079:
tracked some discussion about such plans for POSIX.
902:
Transforms a string according to the current locale
4527: 4525: 3987:"Contents of /stable/11/lib/libc/locale/c16rtomb.c" 3381: 2696: 2605: 956:Compares a specific number of bytes in two strings 682:) character, but is now only enough to represent a 1691:pointer within the string. This has been fixed in 1309:Checks if a state object represents initial state 274:, which is exactly 8 bits on all modern machines. 197:has a set of functions implementing operations on 1191:Finds the first occurrence of a byte in a buffer 986:Finds the first occurrence of a byte in a string 34:Handling of strings in the C programming language 5630: 4522: 3941:"6.3.2 Representing the state of the conversion" 2579: 2577: 1001:Finds the last occurrence of a byte in a string 251:A string is defined as a contiguous sequence of 4699:, selected messages from 8 August 2000 thread: 4321: 1441:and thus are designed to deal with exactly one 1746:Fills a buffer with zero bytes, deprecated by 1146:was added to efficiently concatenate strings. 646:to be a valid address of an object in memory. 590:are extremely popular since, as a part of the 270:means a string where the code unit is of type 5133: 4850:https://news.ycombinator.com/item?id=36765747 2574: 2090:are used, as they may be more efficient than 1698:Also, since the Normative Amendment 1 (C95), 1279:Converts a wide string to a multibyte string 1269:Converts a multibyte string to a wide string 174: 4442:"strcpy_s, wcscpy_s, _mbscpy_s, _mbscpy_s_l" 4162:"wcstof, wcstod, wcstold - cppreference.com" 4140:"wcstof, wcstod, wcstold - cppreference.com" 4118:"wcstof, wcstod, wcstold - cppreference.com" 4096:"strtof, strtod, strtold - cppreference.com" 4074:"strtof, strtod, strtold - cppreference.com" 4052:"strtof, strtod, strtold - cppreference.com" 2495:"char, wchar_t, char8_t, char16_t, char32_t" 2473:. Addison-Wesley Professional. p. 714. 1563:converts a string to a floating-point value 1176:Compares two buffers (three-way comparison) 1115:Fills a buffer with a repeated byte. Since 766:, a type capable of holding 32 bits even if 740:, a type capable of holding 16 bits even if 614:in the C++ version of the standard library. 201:(character strings and byte strings) in its 5069:"MSC06-C. Beware of compiler optimizations" 2195: 2193: 2191: 1626:refers either to byte string or wide string 853:bytes, copying from source or adding nulls 380:is 32-bits, then 32-bit encodings, such as 5147: 5140: 5126: 4904: 4641: 4622: 2562: 2560: 668:extensively, it's defined as 16-bit which 360:, but not characters in encodings such as 181: 167: 4434: 4412: 1609:converts a string to an unsigned integer 480:sequences for each byte of UTF-8, and/or 4559: 4557: 4555: 4553: 2531: 2529: 2188: 414:are often used in C byte strings, while 5019: 4720:The ups and downs of strlcpy(); LWN.net 3281:. En.cppreference.com. 3 September 2013 3017:. En.cppreference.com. 23 February 2014 2841:. En.cppreference.com. 27 December 2013 2557: 2345: 2163:On GitHub, there are 7,813,206 uses of 294:in normal strings for Unicode instead. 205:. Various operations, such as copying, 14: 5631: 4660: 4564:Todd C. Miller; Theo de Raadt (1999). 4250:"wcstoul, wcstoull - cppreference.com" 4230:. En.cppreference.com. 4 February 2014 4228:"strtoul, strtoull - cppreference.com" 4186:. En.cppreference.com. 4 February 2014 4098:. En.cppreference.com. 4 February 2014 4076:. En.cppreference.com. 4 February 2014 4054:. En.cppreference.com. 4 February 2014 4032:. En.cppreference.com. 18 January 2014 4030:"atoi, atol, atoll - cppreference.com" 3617:. En.cppreference.com. 4 February 2014 3441:. En.cppreference.com. 25 January 2014 3237:. En.cppreference.com. 16 October 2013 2466: 2446:"stddef.h - standard type definitions" 1586:converts a string to a signed integer 1456: 1218: 617: 331: 5121: 4550: 4264: 2709:. En.cppreference.com. 8 October 2013 2662:. En.cppreference.com. 4 October 2013 2618:. En.cppreference.com. 2 January 2014 2526: 2006:The most popular replacement are the 1717: 1702:functions are considered subsumed by 1204:For wide string functions substitute 1138:Copies one buffer to another. Since 762:Part of the C standard since C11, in 718:Part of the C standard since C23, in 429:Support for Unicode literals such as 418:is often used in C wide strings when 290:but it is increasingly common to use 4206:"wcstol, wcstoll - cppreference.com" 4184:"strtol, strtoll - cppreference.com" 1679:and their wide counterparts are not 1512:) ('atoi' means 'ASCII to integer') 4398:"strcasecmp(3) - Linux manual page" 2144:Perl Compatible Regular Expressions 2019:they have not been included in the 1948:returns string representation of a 1123:was added to erase sensitive data. 694:and be greater or equal in size to 606:string pointer and returning a non- 388:add two types with explicit widths 24: 4882: 4010:. En.cppreference.com. 31 May 2013 3325:. En.cppreference.com. 31 May 2013 3193:. En.cppreference.com. 31 May 2013 3149:. En.cppreference.com. 31 May 2013 2753:. En.cppreference.com. 1 July 2013 232:elements, the last of which is a " 25: 5660: 5105: 4486:"strerror(3) - Linux manual page" 1508:converts a string to an integer ( 922:Returns the length of the string 887:bytes from one string to another 236:character" with numeric value 0. 5611: 5610: 5079: 5061: 5040: 5013: 4999: 4960: 4921: 4898: 4876: 4854: 4843: 4832: 4811: 4790: 4769: 4745: 4724: 4713: 4654: 4635: 4616: 4594: 4572: 4500: 4478: 4456: 4390: 4376:"mempcpy(3) - Linux manual page" 4368: 4346: 2157: 1687:string pointer and return a non- 1504: 1483: 1088: 344:). Consequently, a byte string ( 221:characters is represented as an 4661:Miller, Damien (October 2005). 4420:"strcat_s, wcscat_s, _mbscat_s" 4296: 4285: 4242: 4220: 4198: 4176: 4154: 4132: 4110: 4088: 4066: 4044: 4022: 4000: 3979: 3966:"root/src/multibyte/c16rtomb.c" 3958: 3933: 3919: 3905: 3891: 3877: 3863: 3849: 3827: 3805: 3783: 3761: 3739: 3717: 3695: 3673: 3651: 3629: 3607: 3585: 3563: 3541: 3519: 3497: 3475: 3453: 3406: 3359: 3337: 3315: 3293: 3271: 3249: 3227: 3205: 3183: 3161: 3139: 3117: 3095: 3073: 3051: 3029: 3007: 2985: 2963: 2941: 2919: 2897: 2875: 2853: 2831: 2809: 2787: 2765: 2743: 2721: 2674: 2652: 2630: 2591: 2543: 2512: 2487: 2460: 2120: 2071:. This did change in 2024, the 1977: 1711: 1707: 1703: 1699: 1688: 1684: 1676: 1672: 1668: 1664: 1660: 1656: 1649: 1645: 1641: 1637: 1616: 1198: 491: 485: 473: 469: 448: 430: 393: 389: 345: 3835:"wcsrtombs - cppreference.com" 3813:"mbsrtowcs - cppreference.com" 2438: 2413: 2388: 2353:"The C99 standard draft + TC3" 2327: 2310: 2279:"The C99 standard draft + TC3" 2271: 2240:"The C99 standard draft + TC3" 2232: 2201:"The C99 standard draft + TC3" 2099:Security Development Lifecycle 868:Appends one string to another 770:is another size. If the macro 744:is another size. If the macro 539: 468:(UTF-16 or UTF-32, depends on 282:which use a code unit of type 246: 243:into null-terminated strings. 13: 1: 3927:"c23rtomb - cppreference.com" 3913:"mbrtoc32 - cppreference.com" 3899:"c16rtomb - cppreference.com" 3885:"mbrtoc16 - cppreference.com" 3659:"wcstombs - cppreference.com" 3637:"mbstowcs - cppreference.com" 3461:"wmemmove - cppreference.com" 3323:"strerror - cppreference.com" 2182: 2067:, and even internally in the 2014:functions, which appeared in 1874: 1764:Part of the C standard since 1208:for "byte" in the description 834:Copies one string to another 732:Part of the C standard since 3871:"c8rtomb - cppreference.com" 3857:"mbrtoc8 - cppreference.com" 3791:"wcrtomb - cppreference.com" 3769:"mbrtowc - cppreference.com" 3725:"mbsinit - cppreference.com" 3549:"wmemchr - cppreference.com" 3505:"wmemcmp - cppreference.com" 3439:"memmove - cppreference.com" 3414:"wmemcpy - cppreference.com" 3367:"wmemset - cppreference.com" 3213:"wcspbrk - cppreference.com" 3191:"strpbrk - cppreference.com" 3169:"wcscspn - cppreference.com" 3147:"strcspn - cppreference.com" 3081:"wcsrchr - cppreference.com" 3059:"strrchr - cppreference.com" 2993:"wcscoll - cppreference.com" 2971:"strcoll - cppreference.com" 2949:"wcsncmp - cppreference.com" 2927:"strncmp - cppreference.com" 2817:"wcsxfrm - cppreference.com" 2795:"strxfrm - cppreference.com" 2773:"wcsncat - cppreference.com" 2751:"strncat - cppreference.com" 2682:"wcsncpy - cppreference.com" 2660:"strncpy - cppreference.com" 1892:case-insensitive version of 1800:case-insensitive version of 1076:Splits a string into tokens 794: 7: 4819:"root/src/string/strlcat.c" 4798:"root/src/string/strlcpy.c" 4732:"Adding strlcpy() to glibc" 3747:"mbrlen - cppreference.com" 3615:"wctomb - cppreference.com" 3593:"mbtowc - cppreference.com" 3527:"memchr - cppreference.com" 3483:"memcmp - cppreference.com" 3392:"memcpy - cppreference.com" 3345:"memset - cppreference.com" 3301:"wcstok - cppreference.com" 3279:"strtok - cppreference.com" 3257:"wcsstr - cppreference.com" 3235:"strstr - cppreference.com" 3125:"wcsspn - cppreference.com" 3103:"strspn - cppreference.com" 3037:"wcschr - cppreference.com" 3015:"strchr - cppreference.com" 2905:"wcscmp - cppreference.com" 2883:"strcmp - cppreference.com" 2861:"wcslen - cppreference.com" 2839:"strlen - cppreference.com" 2729:"wcscat - cppreference.com" 2707:"strcat - cppreference.com" 2638:"wcscpy - cppreference.com" 2616:"strcpy - cppreference.com" 2284:. Section 6.4.5 footnote 66 2126: 1966: 1928: 1909: 1836: 1817: 1782: 1425:These functions all need a 664:, the only platform to use 534: 368:. In most implementations, 10: 5665: 5524:Compatibility of C and C++ 5073:SEI CERT C Coding Standard 5024:. InformIT. Archived from 4510:. C Programming Expert.com 3703:"wctob - cppreference.com" 3681:"btowc - cppreference.com" 3571:"mblen - cppreference.com" 2537:"<cuchar> (uchar.h)" 2047:, introduced in 2008, and 906: 562: 26: 5649:String (computer science) 5606: 5590: 5537: 5514: 5451: 5370: 5301: 5253: 5244: 5198: 5155: 4508:"String | stricmp()" 4008:"atof - cppreference.com" 1984:the well-established need 1613: 1195: 1099: 818: 29:C string (disambiguation) 5639:C (programming language) 4991:: CS1 maint: location ( 4968:"The C11 standard draft" 4952:: CS1 maint: location ( 4929:"The C11 standard draft" 2467:Gillam, Richard (2003). 2380:: CS1 maint: location ( 2302:: CS1 maint: location ( 2263:: CS1 maint: location ( 2224:: CS1 maint: location ( 2171:(and 15,286,150 uses of 2167:, versus 38,644 uses of 2150: 674:enough to represent any 400:Variable-width encodings 63:Character classification 4690:libc-alpha mailing list 4292:C99 Rationale, 7.20.1.1 2568:"Replacing text macros" 2133:C syntax § Strings 1870:POSIX 1, GNU 1439:variable-width encoding 638:Macro expanding to the 5529:Comparison with Pascal 5149:C programming language 5007:"Parameter Validation" 3929:. En.cppreference.com. 3915:. En.cppreference.com. 3901:. En.cppreference.com. 3887:. En.cppreference.com. 3873:. En.cppreference.com. 3859:. En.cppreference.com. 1683:, since they accept a 937:Compares two strings ( 660:in "wide" strings. On 586:Functions declared in 195:C programming language 5022:"They're at it again" 4252:. En.cppreference.com 4208:. En.cppreference.com 4164:. En.cppreference.com 4142:. En.cppreference.com 4120:. En.cppreference.com 3837:. En.cppreference.com 3815:. En.cppreference.com 3793:. En.cppreference.com 3771:. En.cppreference.com 3749:. En.cppreference.com 3727:. En.cppreference.com 3705:. En.cppreference.com 3683:. En.cppreference.com 3661:. En.cppreference.com 3639:. En.cppreference.com 3595:. En.cppreference.com 3573:. En.cppreference.com 3551:. En.cppreference.com 3529:. En.cppreference.com 3507:. En.cppreference.com 3485:. En.cppreference.com 3463:. En.cppreference.com 3416:. En.cppreference.com 3394:. En.cppreference.com 3369:. En.cppreference.com 3347:. En.cppreference.com 3303:. En.cppreference.com 3259:. En.cppreference.com 3215:. En.cppreference.com 3171:. En.cppreference.com 3127:. En.cppreference.com 3105:. En.cppreference.com 3083:. En.cppreference.com 3061:. En.cppreference.com 3039:. En.cppreference.com 2995:. En.cppreference.com 2973:. En.cppreference.com 2951:. En.cppreference.com 2929:. En.cppreference.com 2907:. En.cppreference.com 2885:. En.cppreference.com 2863:. En.cppreference.com 2819:. En.cppreference.com 2797:. En.cppreference.com 2775:. En.cppreference.com 2731:. En.cppreference.com 2684:. En.cppreference.com 2640:. En.cppreference.com 883:Appends no more than 555:, as opposite to the 116:Miscellaneous headers 4864:. Pubs.opengroup.org 4663:"Secure Portability" 4604:. Pubs.opengroup.org 4582:. Pubs.opengroup.org 4466:. Pubs.opengroup.org 4444:. docs.microsoft.com 4422:. docs.microsoft.com 4356:. Pubs.opengroup.org 2116:Microsoft Visual C++ 2097:As part of its 2004 1971:that is thread-safe 939:three-way comparison 612:overloaded functions 376:, can be stored. If 266:Generally, the term 27:For other uses, see 4839:strlc{py|at} commit 4695:9 June 2007 at the 4648:BSD Cross Reference 4629:BSD Cross Reference 2585:"Fundamental types" 2400:en.cppreference.com 2339:en.cppreference.com 2335:"Fundamental types" 1952:. Not thread safe. 1457:Numeric conversions 1219:Multibyte functions 618:Constants and types 332:Character encodings 5644:C standard library 5096:Library Functions 5028:on 15 January 2012 5009:. 21 October 2022. 4762:Library Functions 2499:docs.microsoft.com 2360:Translation phases 1718:Popular extensions 1437:encoding is not a 592:C standard library 505:"φωωβαρ" 462:"φωωβαρ" 441:"φωωβαρ" 348:) can contain non- 328:a string literal. 108:Alternative tokens 43:C standard library 5626: 5625: 5366: 5365: 3945:The GNU C Library 2396:"string literals" 1975: 1974: 1634: 1633: 1423: 1422: 1216: 1215: 1121:memset_explicit() 792: 791: 600:const-correctness 191: 190: 93:Memory allocation 78:File input/output 16:(Redirected from 5656: 5614: 5613: 5251: 5250: 5246:Standard library 5142: 5135: 5128: 5119: 5118: 5112:Fast memcpy in C 5100: 5091: 5090: 5083: 5077: 5076: 5065: 5059: 5058: 5056: 5054: 5044: 5038: 5037: 5035: 5033: 5017: 5011: 5010: 5003: 4997: 4996: 4990: 4982: 4980: 4978: 4972: 4964: 4958: 4957: 4951: 4943: 4941: 4939: 4933: 4925: 4919: 4918: 4916: 4914: 4905:Safe C Library. 4902: 4896: 4895: 4893: 4891: 4883:Lovell, Martyn. 4880: 4874: 4873: 4871: 4869: 4858: 4852: 4847: 4841: 4836: 4830: 4829: 4827: 4825: 4815: 4809: 4808: 4806: 4804: 4794: 4788: 4787: 4785: 4783: 4773: 4767: 4757: 4756: 4749: 4743: 4742: 4728: 4722: 4717: 4711: 4687: 4681: 4680: 4674: 4672: 4667: 4658: 4652: 4651: 4642:Todd C. Miller. 4639: 4633: 4632: 4623:Todd C. Miller. 4620: 4614: 4613: 4611: 4609: 4598: 4592: 4591: 4589: 4587: 4576: 4570: 4569: 4561: 4548: 4547: 4545: 4543: 4529: 4520: 4519: 4517: 4515: 4504: 4498: 4497: 4495: 4493: 4482: 4476: 4475: 4473: 4471: 4460: 4454: 4453: 4451: 4449: 4438: 4432: 4431: 4429: 4427: 4416: 4410: 4409: 4407: 4405: 4394: 4388: 4387: 4385: 4383: 4372: 4366: 4365: 4363: 4361: 4350: 4344: 4343: 4341: 4339: 4325: 4319: 4318: 4316: 4314: 4300: 4294: 4289: 4283: 4282: 4276: 4268: 4262: 4261: 4259: 4257: 4246: 4240: 4239: 4237: 4235: 4224: 4218: 4217: 4215: 4213: 4202: 4196: 4195: 4193: 4191: 4180: 4174: 4173: 4171: 4169: 4158: 4152: 4151: 4149: 4147: 4136: 4130: 4129: 4127: 4125: 4114: 4108: 4107: 4105: 4103: 4092: 4086: 4085: 4083: 4081: 4070: 4064: 4063: 4061: 4059: 4048: 4042: 4041: 4039: 4037: 4026: 4020: 4019: 4017: 4015: 4004: 3998: 3997: 3995: 3993: 3983: 3977: 3976: 3974: 3972: 3962: 3956: 3955: 3953: 3951: 3937: 3931: 3930: 3923: 3917: 3916: 3909: 3903: 3902: 3895: 3889: 3888: 3881: 3875: 3874: 3867: 3861: 3860: 3853: 3847: 3846: 3844: 3842: 3831: 3825: 3824: 3822: 3820: 3809: 3803: 3802: 3800: 3798: 3787: 3781: 3780: 3778: 3776: 3765: 3759: 3758: 3756: 3754: 3743: 3737: 3736: 3734: 3732: 3721: 3715: 3714: 3712: 3710: 3699: 3693: 3692: 3690: 3688: 3677: 3671: 3670: 3668: 3666: 3655: 3649: 3648: 3646: 3644: 3633: 3627: 3626: 3624: 3622: 3611: 3605: 3604: 3602: 3600: 3589: 3583: 3582: 3580: 3578: 3567: 3561: 3560: 3558: 3556: 3545: 3539: 3538: 3536: 3534: 3523: 3517: 3516: 3514: 3512: 3501: 3495: 3494: 3492: 3490: 3479: 3473: 3472: 3470: 3468: 3457: 3451: 3450: 3448: 3446: 3435: 3426: 3425: 3423: 3421: 3410: 3404: 3403: 3401: 3399: 3388: 3379: 3378: 3376: 3374: 3363: 3357: 3356: 3354: 3352: 3341: 3335: 3334: 3332: 3330: 3319: 3313: 3312: 3310: 3308: 3297: 3291: 3290: 3288: 3286: 3275: 3269: 3268: 3266: 3264: 3253: 3247: 3246: 3244: 3242: 3231: 3225: 3224: 3222: 3220: 3209: 3203: 3202: 3200: 3198: 3187: 3181: 3180: 3178: 3176: 3165: 3159: 3158: 3156: 3154: 3143: 3137: 3136: 3134: 3132: 3121: 3115: 3114: 3112: 3110: 3099: 3093: 3092: 3090: 3088: 3077: 3071: 3070: 3068: 3066: 3055: 3049: 3048: 3046: 3044: 3033: 3027: 3026: 3024: 3022: 3011: 3005: 3004: 3002: 3000: 2989: 2983: 2982: 2980: 2978: 2967: 2961: 2960: 2958: 2956: 2945: 2939: 2938: 2936: 2934: 2923: 2917: 2916: 2914: 2912: 2901: 2895: 2894: 2892: 2890: 2879: 2873: 2872: 2870: 2868: 2857: 2851: 2850: 2848: 2846: 2835: 2829: 2828: 2826: 2824: 2813: 2807: 2806: 2804: 2802: 2791: 2785: 2784: 2782: 2780: 2769: 2763: 2762: 2760: 2758: 2747: 2741: 2740: 2738: 2736: 2725: 2719: 2718: 2716: 2714: 2703: 2694: 2693: 2691: 2689: 2678: 2672: 2671: 2669: 2667: 2656: 2650: 2649: 2647: 2645: 2634: 2628: 2627: 2625: 2623: 2612: 2603: 2602: 2595: 2589: 2588: 2581: 2572: 2571: 2564: 2555: 2554: 2547: 2541: 2540: 2533: 2524: 2523: 2516: 2510: 2509: 2507: 2505: 2491: 2485: 2484: 2464: 2458: 2457: 2455: 2453: 2448:. The Open Group 2442: 2436: 2435: 2433: 2431: 2417: 2411: 2410: 2408: 2406: 2392: 2386: 2385: 2379: 2371: 2369: 2367: 2357: 2349: 2343: 2342: 2331: 2325: 2324: 2322: 2314: 2308: 2307: 2301: 2293: 2291: 2289: 2283: 2275: 2269: 2268: 2262: 2254: 2252: 2250: 2244: 2236: 2230: 2229: 2223: 2215: 2213: 2211: 2205: 2197: 2176: 2174: 2170: 2166: 2161: 2139:String functions 2122: 2108: 2104: 2093: 2089: 2085: 2013: 2009: 2001: 1997: 1993: 1989: 1969: 1959: 1940: 1931: 1921: 1912: 1902: 1895: 1886: 1877: 1867: 1852: 1848: 1839: 1829: 1820: 1810: 1803: 1794: 1785: 1775: 1756: 1749: 1738: 1722: 1721: 1713: 1709: 1705: 1701: 1690: 1686: 1678: 1674: 1670: 1666: 1662: 1658: 1652:header in C++). 1651: 1647: 1643: 1639: 1627: 1620: 1606: 1602: 1597: 1593: 1583: 1579: 1574: 1570: 1555: 1551: 1542: 1532: 1528: 1519: 1502: 1498: 1494: 1481: 1461: 1460: 1452: 1448: 1444: 1436: 1432: 1428: 1416: 1406: 1396: 1386: 1376: 1366: 1356: 1346: 1336: 1326: 1316: 1306: 1296: 1286: 1276: 1266: 1256: 1246: 1236: 1223: 1222: 1209: 1207: 1202: 1188: 1183: 1173: 1168: 1158: 1153: 1145: 1135: 1130: 1122: 1112: 1107: 1086: 1073: 1068: 1058: 1053: 1043: 1038: 1028: 1023: 1013: 1008: 998: 993: 983: 978: 968: 963: 953: 948: 934: 929: 919: 914: 899: 894: 886: 880: 875: 865: 860: 852: 846: 841: 831: 826: 799: 798: 785: 773: 769: 765: 759: 747: 743: 739: 729: 721: 715: 705: 697: 689: 667: 656:Type used for a 653: 635: 622: 621: 609: 605: 596:buffer overflows 589: 582: 578: 574: 570: 558: 554: 530: 526: 522: 510: 509: 506: 503: 500: 497: 494: 489: 488: 483: 479: 475: 471: 467: 466: 463: 460: 457: 454: 451: 446: 445: 442: 439: 436: 433: 425: 421: 405: 395: 391: 379: 371: 367: 347: 343: 339: 322: 318: 314: 304: 300: 285: 273: 241:string constants 235: 231: 220: 203:standard library 183: 176: 169: 156: 147: 138: 129: 39: 38: 21: 5664: 5663: 5659: 5658: 5657: 5655: 5654: 5653: 5629: 5628: 5627: 5622: 5602: 5586: 5539: 5533: 5517:other languages 5516: 5515:Comparison with 5510: 5447: 5385:Borland Turbo C 5362: 5302:Implementations 5297: 5240: 5194: 5151: 5146: 5108: 5103: 5086: 5085: 5084: 5080: 5067: 5066: 5062: 5052: 5050: 5046: 5045: 5041: 5031: 5029: 5018: 5014: 5005: 5004: 5000: 4984: 4983: 4976: 4974: 4970: 4966: 4965: 4961: 4945: 4944: 4937: 4935: 4931: 4927: 4926: 4922: 4912: 4910: 4903: 4899: 4889: 4887: 4881: 4877: 4867: 4865: 4860: 4859: 4855: 4848: 4844: 4837: 4833: 4823: 4821: 4817: 4816: 4812: 4802: 4800: 4796: 4795: 4791: 4781: 4779: 4775: 4774: 4770: 4752: 4751: 4750: 4746: 4730: 4729: 4725: 4718: 4714: 4697:Wayback Machine 4688: 4684: 4670: 4668: 4665: 4659: 4655: 4640: 4636: 4621: 4617: 4607: 4605: 4600: 4599: 4595: 4585: 4583: 4578: 4577: 4573: 4562: 4551: 4541: 4539: 4531: 4530: 4523: 4513: 4511: 4506: 4505: 4501: 4491: 4489: 4484: 4483: 4479: 4469: 4467: 4462: 4461: 4457: 4447: 4445: 4440: 4439: 4435: 4425: 4423: 4418: 4417: 4413: 4403: 4401: 4396: 4395: 4391: 4381: 4379: 4374: 4373: 4369: 4359: 4357: 4352: 4351: 4347: 4337: 4335: 4327: 4326: 4322: 4312: 4310: 4302: 4301: 4297: 4290: 4286: 4281:. 13 June 2022. 4274: 4270: 4269: 4265: 4255: 4253: 4248: 4247: 4243: 4233: 4231: 4226: 4225: 4221: 4211: 4209: 4204: 4203: 4199: 4189: 4187: 4182: 4181: 4177: 4167: 4165: 4160: 4159: 4155: 4145: 4143: 4138: 4137: 4133: 4123: 4121: 4116: 4115: 4111: 4101: 4099: 4094: 4093: 4089: 4079: 4077: 4072: 4071: 4067: 4057: 4055: 4050: 4049: 4045: 4035: 4033: 4028: 4027: 4023: 4013: 4011: 4006: 4005: 4001: 3991: 3989: 3985: 3984: 3980: 3970: 3968: 3964: 3963: 3959: 3949: 3947: 3939: 3938: 3934: 3925: 3924: 3920: 3911: 3910: 3906: 3897: 3896: 3892: 3883: 3882: 3878: 3869: 3868: 3864: 3855: 3854: 3850: 3840: 3838: 3833: 3832: 3828: 3818: 3816: 3811: 3810: 3806: 3796: 3794: 3789: 3788: 3784: 3774: 3772: 3767: 3766: 3762: 3752: 3750: 3745: 3744: 3740: 3730: 3728: 3723: 3722: 3718: 3708: 3706: 3701: 3700: 3696: 3686: 3684: 3679: 3678: 3674: 3664: 3662: 3657: 3656: 3652: 3642: 3640: 3635: 3634: 3630: 3620: 3618: 3613: 3612: 3608: 3598: 3596: 3591: 3590: 3586: 3576: 3574: 3569: 3568: 3564: 3554: 3552: 3547: 3546: 3542: 3532: 3530: 3525: 3524: 3520: 3510: 3508: 3503: 3502: 3498: 3488: 3486: 3481: 3480: 3476: 3466: 3464: 3459: 3458: 3454: 3444: 3442: 3437: 3436: 3429: 3419: 3417: 3412: 3411: 3407: 3397: 3395: 3390: 3389: 3382: 3372: 3370: 3365: 3364: 3360: 3350: 3348: 3343: 3342: 3338: 3328: 3326: 3321: 3320: 3316: 3306: 3304: 3299: 3298: 3294: 3284: 3282: 3277: 3276: 3272: 3262: 3260: 3255: 3254: 3250: 3240: 3238: 3233: 3232: 3228: 3218: 3216: 3211: 3210: 3206: 3196: 3194: 3189: 3188: 3184: 3174: 3172: 3167: 3166: 3162: 3152: 3150: 3145: 3144: 3140: 3130: 3128: 3123: 3122: 3118: 3108: 3106: 3101: 3100: 3096: 3086: 3084: 3079: 3078: 3074: 3064: 3062: 3057: 3056: 3052: 3042: 3040: 3035: 3034: 3030: 3020: 3018: 3013: 3012: 3008: 2998: 2996: 2991: 2990: 2986: 2976: 2974: 2969: 2968: 2964: 2954: 2952: 2947: 2946: 2942: 2932: 2930: 2925: 2924: 2920: 2910: 2908: 2903: 2902: 2898: 2888: 2886: 2881: 2880: 2876: 2866: 2864: 2859: 2858: 2854: 2844: 2842: 2837: 2836: 2832: 2822: 2820: 2815: 2814: 2810: 2800: 2798: 2793: 2792: 2788: 2778: 2776: 2771: 2770: 2766: 2756: 2754: 2749: 2748: 2744: 2734: 2732: 2727: 2726: 2722: 2712: 2710: 2705: 2704: 2697: 2687: 2685: 2680: 2679: 2675: 2665: 2663: 2658: 2657: 2653: 2643: 2641: 2636: 2635: 2631: 2621: 2619: 2614: 2613: 2606: 2597: 2596: 2592: 2583: 2582: 2575: 2566: 2565: 2558: 2549: 2548: 2544: 2535: 2534: 2527: 2518: 2517: 2513: 2503: 2501: 2493: 2492: 2488: 2481: 2465: 2461: 2451: 2449: 2444: 2443: 2439: 2429: 2427: 2419: 2418: 2414: 2404: 2402: 2394: 2393: 2389: 2373: 2372: 2365: 2363: 2355: 2351: 2350: 2346: 2333: 2332: 2328: 2320: 2316: 2315: 2311: 2295: 2294: 2287: 2285: 2281: 2277: 2276: 2272: 2256: 2255: 2248: 2246: 2242: 2238: 2237: 2233: 2217: 2216: 2209: 2207: 2203: 2199: 2198: 2189: 2185: 2180: 2179: 2172: 2168: 2164: 2162: 2158: 2153: 2129: 2106: 2102: 2091: 2087: 2083: 2011: 2007: 1999: 1995: 1991: 1987: 1980: 1967: 1957: 1938: 1929: 1919: 1910: 1900: 1893: 1884: 1875: 1865: 1850: 1846: 1837: 1827: 1818: 1808: 1801: 1792: 1783: 1773: 1754: 1747: 1736: 1720: 1630: 1621: 1617: 1604: 1603: 1600: 1595: 1594: 1591: 1581: 1580: 1577: 1572: 1571: 1568: 1553: 1552: 1549: 1548: 1540: 1530: 1529: 1526: 1525: 1517: 1500: 1499: 1496: 1495: 1492: 1479: 1470: 1465: 1459: 1450: 1446: 1442: 1434: 1430: 1426: 1414: 1404: 1394: 1384: 1374: 1364: 1354: 1344: 1334: 1324: 1314: 1304: 1294: 1284: 1274: 1264: 1254: 1244: 1234: 1221: 1212: 1205: 1203: 1199: 1186: 1181: 1171: 1166: 1156: 1151: 1143: 1133: 1128: 1120: 1110: 1105: 1101: 1084: 1071: 1066: 1056: 1051: 1041: 1036: 1026: 1021: 1011: 1006: 996: 991: 981: 976: 966: 961: 951: 946: 932: 927: 917: 912: 908: 897: 892: 884: 878: 873: 863: 858: 850: 849:Writes exactly 844: 839: 829: 824: 820: 810: 805: 797: 783: 772:__STDC_UTF_32__ 771: 767: 764:<uchar.h> 763: 757: 746:__STDC_UTF_16__ 745: 741: 738:<uchar.h> 737: 727: 720:<uchar.h> 719: 713: 703: 695: 687: 665: 651: 633: 620: 607: 603: 602:by accepting a 587: 580: 576: 572: 568: 565: 556: 552: 542: 537: 528: 524: 520: 507: 504: 501: 498: 495: 492: 486: 481: 477: 464: 461: 458: 455: 452: 449: 443: 440: 437: 434: 431: 423: 419: 403: 377: 369: 365: 358:ASCII extension 341: 337: 334: 320: 316: 312: 309:String literals 302: 298: 283: 271: 249: 233: 226: 218: 215:null-terminated 187: 150: 141: 132: 123: 98:Process control 35: 32: 23: 22: 15: 12: 11: 5: 5662: 5652: 5651: 5646: 5641: 5624: 5623: 5621: 5620: 5607: 5604: 5603: 5601: 5600: 5598:Dennis Ritchie 5594: 5592: 5588: 5587: 5585: 5584: 5579: 5574: 5569: 5564: 5559: 5554: 5549: 5543: 5541: 5535: 5534: 5532: 5531: 5526: 5520: 5518: 5512: 5511: 5509: 5508: 5503: 5498: 5493: 5488: 5483: 5478: 5473: 5468: 5463: 5457: 5455: 5449: 5448: 5446: 5445: 5440: 5427: 5422: 5417: 5412: 5407: 5402: 5397: 5392: 5387: 5382: 5376: 5374: 5368: 5367: 5364: 5363: 5361: 5360: 5355: 5350: 5345: 5340: 5335: 5334: 5333: 5323: 5318: 5317: 5316: 5305: 5303: 5299: 5298: 5296: 5295: 5290: 5285: 5280: 5275: 5273:Dynamic memory 5270: 5265: 5260: 5254: 5248: 5242: 5241: 5239: 5238: 5233: 5228: 5223: 5218: 5213: 5208: 5202: 5200: 5196: 5195: 5193: 5192: 5187: 5182: 5177: 5172: 5167: 5162: 5156: 5153: 5152: 5145: 5144: 5137: 5130: 5122: 5116: 5115: 5107: 5106:External links 5104: 5102: 5101: 5078: 5060: 5039: 5012: 4998: 4973:. §K.3.6.1.1p4 4959: 4920: 4897: 4875: 4853: 4842: 4831: 4810: 4789: 4768: 4744: 4723: 4712: 4682: 4653: 4634: 4615: 4593: 4571: 4549: 4521: 4499: 4477: 4455: 4433: 4411: 4389: 4367: 4345: 4320: 4308:The Open Group 4295: 4284: 4263: 4241: 4219: 4197: 4175: 4153: 4131: 4109: 4087: 4065: 4043: 4021: 3999: 3978: 3957: 3932: 3918: 3904: 3890: 3876: 3862: 3848: 3826: 3804: 3782: 3760: 3738: 3716: 3694: 3672: 3650: 3628: 3606: 3584: 3562: 3540: 3518: 3496: 3474: 3452: 3427: 3405: 3380: 3358: 3336: 3314: 3292: 3270: 3248: 3226: 3204: 3182: 3160: 3138: 3116: 3094: 3072: 3050: 3028: 3006: 2984: 2962: 2940: 2918: 2896: 2874: 2852: 2830: 2808: 2786: 2764: 2742: 2720: 2695: 2673: 2651: 2629: 2604: 2590: 2573: 2556: 2542: 2525: 2511: 2486: 2479: 2459: 2437: 2425:Stack Overflow 2412: 2387: 2344: 2326: 2309: 2270: 2231: 2186: 2184: 2181: 2178: 2177: 2155: 2154: 2152: 2149: 2148: 2147: 2141: 2136: 2128: 2125: 1979: 1976: 1973: 1972: 1963: 1960: 1954: 1953: 1946: 1941: 1935: 1934: 1925: 1922: 1916: 1915: 1906: 1903: 1897: 1896: 1890: 1887: 1881: 1880: 1871: 1868: 1862: 1861: 1858: 1853: 1843: 1842: 1833: 1830: 1824: 1823: 1814: 1811: 1805: 1804: 1798: 1795: 1789: 1788: 1779: 1776: 1770: 1769: 1762: 1757: 1751: 1750: 1744: 1739: 1733: 1732: 1729: 1726: 1719: 1716: 1655:The functions 1632: 1631: 1629: 1628: 1614: 1611: 1610: 1607: 1598: 1588: 1587: 1584: 1575: 1565: 1564: 1561: 1538: 1514: 1513: 1506: 1503: 1489: 1488: 1485: 1482: 1476: 1475: 1472: 1467: 1458: 1455: 1421: 1420: 1417: 1411: 1410: 1407: 1401: 1400: 1397: 1391: 1390: 1387: 1381: 1380: 1377: 1371: 1370: 1367: 1361: 1360: 1357: 1351: 1350: 1347: 1341: 1340: 1337: 1331: 1330: 1327: 1321: 1320: 1317: 1311: 1310: 1307: 1301: 1300: 1297: 1291: 1290: 1287: 1281: 1280: 1277: 1271: 1270: 1267: 1261: 1260: 1257: 1251: 1250: 1247: 1241: 1240: 1237: 1231: 1230: 1227: 1220: 1217: 1214: 1213: 1211: 1210: 1196: 1193: 1192: 1189: 1184: 1178: 1177: 1174: 1169: 1163: 1162: 1159: 1154: 1148: 1147: 1136: 1131: 1125: 1124: 1113: 1108: 1103: 1097: 1096: 1090: 1087: 1082: 1081:Miscellaneous 1078: 1077: 1074: 1069: 1063: 1062: 1059: 1054: 1048: 1047: 1044: 1039: 1033: 1032: 1029: 1024: 1018: 1017: 1014: 1009: 1003: 1002: 999: 994: 988: 987: 984: 979: 973: 972: 969: 964: 958: 957: 954: 949: 943: 942: 935: 930: 924: 923: 920: 915: 910: 904: 903: 900: 895: 889: 888: 881: 876: 870: 869: 866: 861: 855: 854: 847: 842: 836: 835: 832: 827: 822: 816: 815: 812: 807: 802: 796: 793: 790: 789: 786: 780: 779: 774:is defined as 760: 754: 753: 748:is defined as 730: 724: 723: 716: 710: 709: 706: 700: 699: 654: 648: 647: 636: 630: 629: 626: 619: 616: 564: 561: 541: 538: 536: 533: 531:respectively. 352:characters in 333: 330: 248: 245: 217:: a string of 189: 188: 186: 185: 178: 171: 163: 160: 159: 158: 157: 148: 139: 130: 118: 117: 113: 112: 111: 110: 105: 100: 95: 90: 85: 80: 75: 70: 65: 60: 52: 51: 50:General topics 47: 46: 33: 9: 6: 4: 3: 2: 5661: 5650: 5647: 5645: 5642: 5640: 5637: 5636: 5634: 5619: 5618: 5609: 5608: 5605: 5599: 5596: 5595: 5593: 5589: 5583: 5580: 5578: 5575: 5573: 5570: 5568: 5565: 5563: 5560: 5558: 5555: 5553: 5550: 5548: 5545: 5544: 5542: 5536: 5530: 5527: 5525: 5522: 5521: 5519: 5513: 5507: 5504: 5502: 5501:Visual Studio 5499: 5497: 5494: 5492: 5491:GNOME Builder 5489: 5487: 5484: 5482: 5479: 5477: 5474: 5472: 5469: 5467: 5464: 5462: 5459: 5458: 5456: 5454: 5450: 5444: 5441: 5439: 5435: 5431: 5430:Visual Studio 5428: 5426: 5423: 5421: 5418: 5416: 5413: 5411: 5408: 5406: 5403: 5401: 5398: 5396: 5393: 5391: 5388: 5386: 5383: 5381: 5378: 5377: 5375: 5373: 5369: 5359: 5356: 5354: 5351: 5349: 5346: 5344: 5341: 5339: 5336: 5332: 5329: 5328: 5327: 5324: 5322: 5319: 5315: 5312: 5311: 5310: 5307: 5306: 5304: 5300: 5294: 5291: 5289: 5286: 5284: 5281: 5279: 5276: 5274: 5271: 5269: 5266: 5264: 5261: 5259: 5256: 5255: 5252: 5249: 5247: 5243: 5237: 5234: 5232: 5229: 5227: 5224: 5222: 5219: 5217: 5214: 5212: 5209: 5207: 5204: 5203: 5201: 5197: 5191: 5188: 5186: 5183: 5181: 5178: 5176: 5173: 5171: 5168: 5166: 5163: 5161: 5158: 5157: 5154: 5150: 5143: 5138: 5136: 5131: 5129: 5124: 5123: 5120: 5113: 5110: 5109: 5099: 5095: 5092: –  5089: 5082: 5074: 5070: 5064: 5049: 5043: 5027: 5023: 5020:Danny Kalev. 5016: 5008: 5002: 4994: 4988: 4969: 4963: 4955: 4949: 4930: 4924: 4909:. Sourceforge 4908: 4901: 4886: 4879: 4863: 4857: 4851: 4846: 4840: 4835: 4820: 4814: 4799: 4793: 4778: 4772: 4765: 4761: 4758: –  4755: 4748: 4741: 4737: 4733: 4727: 4721: 4716: 4710: 4706: 4702: 4698: 4694: 4691: 4686: 4679: 4664: 4657: 4649: 4645: 4638: 4630: 4626: 4619: 4603: 4597: 4581: 4575: 4568:. USENIX '99. 4567: 4560: 4558: 4556: 4554: 4538: 4534: 4528: 4526: 4509: 4503: 4487: 4481: 4465: 4459: 4443: 4437: 4421: 4415: 4399: 4393: 4377: 4371: 4355: 4349: 4334: 4330: 4324: 4309: 4305: 4299: 4293: 4288: 4280: 4273: 4267: 4251: 4245: 4229: 4223: 4207: 4201: 4185: 4179: 4163: 4157: 4141: 4135: 4119: 4113: 4097: 4091: 4075: 4069: 4053: 4047: 4031: 4025: 4009: 4003: 3988: 3982: 3967: 3961: 3946: 3942: 3936: 3928: 3922: 3914: 3908: 3900: 3894: 3886: 3880: 3872: 3866: 3858: 3852: 3836: 3830: 3814: 3808: 3792: 3786: 3770: 3764: 3748: 3742: 3726: 3720: 3704: 3698: 3682: 3676: 3660: 3654: 3638: 3632: 3616: 3610: 3594: 3588: 3572: 3566: 3550: 3544: 3528: 3522: 3506: 3500: 3484: 3478: 3462: 3456: 3440: 3434: 3432: 3415: 3409: 3393: 3387: 3385: 3368: 3362: 3346: 3340: 3324: 3318: 3302: 3296: 3280: 3274: 3258: 3252: 3236: 3230: 3214: 3208: 3192: 3186: 3170: 3164: 3148: 3142: 3126: 3120: 3104: 3098: 3082: 3076: 3060: 3054: 3038: 3032: 3016: 3010: 2994: 2988: 2972: 2966: 2950: 2944: 2928: 2922: 2906: 2900: 2884: 2878: 2862: 2856: 2840: 2834: 2818: 2812: 2796: 2790: 2774: 2768: 2752: 2746: 2730: 2724: 2708: 2702: 2700: 2683: 2677: 2661: 2655: 2639: 2633: 2617: 2611: 2609: 2600: 2594: 2586: 2580: 2578: 2569: 2563: 2561: 2552: 2546: 2538: 2532: 2530: 2521: 2515: 2500: 2496: 2490: 2482: 2480:9780201700527 2476: 2472: 2471: 2463: 2447: 2441: 2426: 2422: 2416: 2401: 2397: 2391: 2383: 2377: 2361: 2354: 2348: 2340: 2336: 2330: 2319: 2313: 2305: 2299: 2280: 2274: 2266: 2260: 2241: 2235: 2227: 2221: 2202: 2196: 2194: 2192: 2187: 2160: 2156: 2145: 2142: 2140: 2137: 2134: 2131: 2130: 2124: 2117: 2112: 2111:C11 (Annex K) 2100: 2095: 2080: 2078: 2074: 2070: 2066: 2062: 2058: 2054: 2050: 2046: 2042: 2038: 2034: 2030: 2026: 2022: 2021:GNU C library 2017: 2004: 2003:programmers. 1985: 1970: 1965:a variant of 1964: 1961: 1956: 1955: 1951: 1947: 1945: 1942: 1937: 1936: 1932: 1927:a variant of 1926: 1923: 1918: 1917: 1913: 1908:a variant of 1907: 1904: 1899: 1898: 1891: 1888: 1883: 1882: 1878: 1873:a variant of 1872: 1869: 1864: 1863: 1859: 1857: 1854: 1845: 1844: 1840: 1835:a variant of 1834: 1831: 1826: 1825: 1821: 1816:a variant of 1815: 1812: 1807: 1806: 1799: 1796: 1791: 1790: 1786: 1781:a variant of 1780: 1777: 1772: 1771: 1767: 1763: 1761: 1758: 1753: 1752: 1745: 1743: 1740: 1735: 1734: 1730: 1727: 1724: 1723: 1715: 1696: 1694: 1682: 1681:const-correct 1653: 1625: 1619: 1615: 1612: 1608: 1599: 1590: 1589: 1585: 1576: 1567: 1566: 1562: 1559: 1546: 1539: 1536: 1523: 1516: 1515: 1511: 1507: 1491: 1490: 1486: 1478: 1477: 1473: 1468: 1463: 1462: 1454: 1440: 1418: 1413: 1412: 1408: 1403: 1402: 1398: 1393: 1392: 1388: 1383: 1382: 1378: 1373: 1372: 1368: 1363: 1362: 1358: 1353: 1352: 1348: 1343: 1342: 1338: 1333: 1332: 1328: 1323: 1322: 1318: 1313: 1312: 1308: 1303: 1302: 1298: 1293: 1292: 1288: 1283: 1282: 1278: 1273: 1272: 1268: 1263: 1262: 1258: 1253: 1252: 1248: 1243: 1242: 1238: 1233: 1232: 1228: 1225: 1224: 1201: 1197: 1194: 1190: 1185: 1180: 1179: 1175: 1170: 1165: 1164: 1160: 1155: 1150: 1149: 1141: 1137: 1132: 1127: 1126: 1118: 1114: 1109: 1104: 1102:manipulation 1098: 1095: 1091: 1083: 1080: 1079: 1075: 1070: 1065: 1064: 1060: 1055: 1050: 1049: 1045: 1040: 1035: 1034: 1030: 1025: 1020: 1019: 1015: 1010: 1005: 1004: 1000: 995: 990: 989: 985: 980: 975: 974: 970: 965: 960: 959: 955: 950: 945: 944: 940: 936: 931: 926: 925: 921: 916: 911: 905: 901: 896: 891: 890: 882: 877: 872: 871: 867: 862: 857: 856: 848: 843: 838: 837: 833: 828: 823: 821:manipulation 817: 813: 808: 803: 801: 800: 787: 782: 781: 777: 761: 756: 755: 751: 735: 731: 726: 725: 717: 712: 711: 707: 702: 701: 693: 685: 681: 677: 673: 672: 663: 659: 655: 650: 649: 645: 641: 637: 632: 631: 627: 624: 623: 615: 613: 601: 597: 593: 584: 560: 549: 547: 532: 518: 514: 427: 417: 413: 409: 401: 397: 387: 383: 375: 363: 359: 355: 351: 329: 327: 310: 306: 295: 293: 289: 281: 277: 269: 264: 262: 258: 254: 244: 242: 237: 229: 224: 216: 212: 208: 207:concatenation 204: 200: 196: 184: 179: 177: 172: 170: 165: 164: 162: 161: 154: 149: 145: 140: 136: 131: 127: 122: 121: 120: 119: 115: 114: 109: 106: 104: 101: 99: 96: 94: 91: 89: 86: 84: 81: 79: 76: 74: 71: 69: 66: 64: 61: 59: 56: 55: 54: 53: 49: 48: 44: 41: 40: 37: 30: 19: 5615: 5471:Code::Blocks 5443:Watcom C/C++ 5277: 5231:Preprocessor 5220: 5211:Header files 5081: 5072: 5063: 5051:. Retrieved 5042: 5030:. Retrieved 5026:the original 5015: 5001: 4975:. Retrieved 4962: 4936:. Retrieved 4934:. §K.3.1.4p2 4923: 4911:. Retrieved 4900: 4888:. Retrieved 4878: 4866:. Retrieved 4856: 4845: 4834: 4822:. Retrieved 4813: 4801:. Retrieved 4792: 4780:. Retrieved 4771: 4747: 4739: 4735: 4726: 4715: 4685: 4676: 4669:. Retrieved 4656: 4647: 4637: 4628: 4618: 4606:. Retrieved 4596: 4584:. Retrieved 4574: 4540:. Retrieved 4512:. Retrieved 4502: 4490:. Retrieved 4480: 4468:. Retrieved 4458: 4446:. Retrieved 4436: 4424:. Retrieved 4414: 4402:. Retrieved 4400:. Kernel.org 4392: 4380:. Retrieved 4378:. Kernel.org 4370: 4358:. Retrieved 4348: 4336:. Retrieved 4323: 4311:. Retrieved 4298: 4287: 4279:open-std.org 4278: 4266: 4254:. Retrieved 4244: 4232:. Retrieved 4222: 4210:. Retrieved 4200: 4188:. Retrieved 4178: 4166:. Retrieved 4156: 4144:. Retrieved 4134: 4122:. Retrieved 4112: 4100:. Retrieved 4090: 4078:. Retrieved 4068: 4056:. Retrieved 4046: 4034:. Retrieved 4024: 4012:. Retrieved 4002: 3990:. Retrieved 3981: 3969:. Retrieved 3960: 3948:. Retrieved 3944: 3935: 3921: 3907: 3893: 3879: 3865: 3851: 3839:. Retrieved 3829: 3817:. Retrieved 3807: 3795:. Retrieved 3785: 3773:. Retrieved 3763: 3751:. Retrieved 3741: 3729:. Retrieved 3719: 3707:. Retrieved 3697: 3685:. Retrieved 3675: 3663:. Retrieved 3653: 3641:. Retrieved 3631: 3619:. Retrieved 3609: 3597:. Retrieved 3587: 3575:. Retrieved 3565: 3553:. Retrieved 3543: 3531:. Retrieved 3521: 3509:. Retrieved 3499: 3487:. Retrieved 3477: 3465:. Retrieved 3455: 3443:. Retrieved 3418:. Retrieved 3408: 3396:. Retrieved 3371:. Retrieved 3361: 3349:. Retrieved 3339: 3327:. Retrieved 3317: 3305:. Retrieved 3295: 3283:. Retrieved 3273: 3261:. Retrieved 3251: 3239:. Retrieved 3229: 3217:. Retrieved 3207: 3195:. Retrieved 3185: 3173:. Retrieved 3163: 3151:. Retrieved 3141: 3129:. Retrieved 3119: 3107:. Retrieved 3097: 3085:. Retrieved 3075: 3063:. Retrieved 3053: 3041:. Retrieved 3031: 3019:. Retrieved 3009: 2997:. Retrieved 2987: 2975:. Retrieved 2965: 2953:. Retrieved 2943: 2931:. Retrieved 2921: 2909:. Retrieved 2899: 2887:. Retrieved 2877: 2865:. Retrieved 2855: 2843:. Retrieved 2833: 2821:. Retrieved 2811: 2799:. Retrieved 2789: 2777:. Retrieved 2767: 2755:. Retrieved 2745: 2733:. Retrieved 2723: 2711:. Retrieved 2686:. Retrieved 2676: 2664:. Retrieved 2654: 2642:. Retrieved 2632: 2620:. Retrieved 2593: 2545: 2514: 2502:. Retrieved 2498: 2489: 2469: 2462: 2450:. Retrieved 2440: 2428:. Retrieved 2424: 2415: 2403:. Retrieved 2399: 2390: 2364:. Retrieved 2359: 2347: 2338: 2329: 2312: 2286:. Retrieved 2273: 2247:. Retrieved 2234: 2208:. Retrieved 2159: 2096: 2081: 2069:Linux kernel 2005: 1981: 1978:Replacements 1731:Description 1697: 1654: 1635: 1623: 1618: 1474:Description 1424: 1229:Description 1200: 909:examination 814:Description 775: 749: 670: 669: 643: 640:null pointer 585: 566: 550: 543: 428: 398: 335: 325: 307: 296: 280:wide strings 279: 267: 265: 260: 256: 250: 238: 227: 211:tokenization 192: 88:Localization 67: 36: 5562:Objective-C 5343:Windows CRT 5088:memset_s(3) 5032:10 November 4977:13 February 4938:13 February 4890:13 February 4868:5 September 4782:21 November 4644:"strlcat.c" 4625:"strlcpy.c" 4580:"strsignal" 4338:27 November 4313:27 November 2405:23 December 2366:23 December 2358:. §5.1.1.2 1986:to replace 1950:signal code 540:Terminology 447:(UTF-8) or 247:Definitions 73:Mathematics 5633:Categories 5538:Descendant 5410:Norcroft C 5236:Data types 5185:Embedded C 5053:5 November 4824:28 January 4803:28 January 4754:strlcpy(3) 4492:3 November 4488:. man7.org 4329:"bzero(3)" 3992:31 January 3971:31 January 3950:31 January 2599:"char32_t" 2551:"char16_t" 2452:28 January 2245:. §6.4.5p7 2206:. §7.1.1p1 2183:References 2082:Sometimes 1944:POSIX:2008 1866:strerror_r 1793:strcasecmp 1094:error code 253:code units 58:Data types 5540:languages 5372:Compilers 5314:libhybris 5216:Operators 5206:Functions 4862:"strlcat" 4354:"memccpy" 2520:"char8_t" 2288:7 January 2249:7 January 2210:7 January 2073:glibc FAQ 1939:strsignal 1447:mbstate_t 1427:mbstate_t 1355:wcsrtombs 1345:mbsrtowcs 1144:memccpy() 795:Functions 784:mbstate_t 658:code unit 412:Shift JIS 303:wchar_t * 83:Date/time 5617:Category 5591:Designer 5506:NetBeans 5496:KDevelop 5476:CodeLite 5321:dietlibc 5288:Variadic 5263:File I/O 5199:Features 4987:cite web 4948:cite web 4777:"libbsd" 4693:Archived 4602:"strtok" 4464:"strdup" 4448:22 April 4426:22 April 2504:1 August 2430:1 August 2376:cite web 2298:cite web 2259:cite web 2220:cite web 2169:strcpy_s 2127:See also 2121:memset_s 2107:strcat_s 2103:strcpy_s 1982:Despite 1958:strtok_r 1889:Windows 1876:strerror 1832:Windows 1828:strcpy_s 1813:Windows 1809:strcat_s 1704:strtoxxx 1648:header ( 1640:header ( 1638:stdlib.h 1605:wcstoull 1596:strtoull 1415:c32rtomb 1405:mbrtoc32 1395:c16rtomb 1385:mbrtoc16 1275:wcstombs 1265:mbstowcs 1157:wmemmove 1085:strerror 758:char32_t 728:char16_t 588:string.h 579:header ( 571:header ( 569:string.h 559:prefix. 535:Features 511:. Since 394:char32_t 390:char16_t 278:defines 153:stdarg.h 144:setjmp.h 126:assert.h 5481:Eclipse 5434:Express 5190:MISRA C 5094:FreeBSD 4913:6 March 4736:lwn.net 4671:26 June 4608:6 March 4586:6 March 4537:OpenBSD 4514:6 March 4470:6 March 4404:6 March 4382:6 March 4360:6 March 4333:OpenBSD 4304:"bzero" 4256:6 March 4234:6 March 4212:6 March 4190:6 March 4168:6 March 4146:6 March 4124:6 March 4102:6 March 4080:6 March 4058:6 March 4036:6 March 4014:6 March 3841:6 March 3819:6 March 3797:6 March 3775:6 March 3753:6 March 3731:6 March 3709:6 March 3687:6 March 3665:6 March 3643:6 March 3621:6 March 3599:6 March 3577:6 March 3555:6 March 3533:6 March 3511:6 March 3489:6 March 3467:6 March 3445:6 March 3420:6 March 3398:6 March 3373:6 March 3351:6 March 3329:6 March 3307:6 March 3285:6 March 3263:6 March 3241:6 March 3219:6 March 3197:6 March 3175:6 March 3153:6 March 3131:6 March 3109:6 March 3087:6 March 3065:6 March 3043:6 March 3021:6 March 2999:6 March 2977:6 March 2955:6 March 2933:6 March 2911:6 March 2889:6 March 2867:6 March 2845:6 March 2823:6 March 2801:6 March 2779:6 March 2757:6 March 2735:6 March 2713:6 March 2688:6 March 2666:6 March 2644:6 March 2622:6 March 2165:strlcpy 2088:memmove 2033:Solaris 2025:FreeBSD 2016:OpenBSD 2012:strlcpy 2008:strlcat 2000:strncpy 1996:strncat 1920:strlcat 1901:strlcpy 1885:stricmp 1851:strndup 1774:mempcpy 1755:memccpy 1669:strrchr 1665:strpbrk 1661:bsearch 1646:wchar.h 1642:cstdlib 1601:wcstoul 1592:strtoul 1582:wcstoll 1573:strtoll 1554:wcstold 1531:strtold 1471:string 1466:string 1443:wchar_t 1375:c8rtomb 1365:mbrtoc8 1335:wcrtomb 1325:mbrtowc 1305:mbsinit 1206:wchar_t 1187:wmemchr 1172:wmemcmp 1152:memmove 1134:wmemcpy 1111:wmemset 1042:wcspbrk 1037:strpbrk 1027:wcscspn 1022:strcspn 997:wcsrchr 992:strrchr 967:wcscoll 962:strcoll 952:wcsncmp 947:strncmp 898:wcsxfrm 893:strxfrm 879:wcsncat 874:strncat 845:wcsncpy 840:strncpy 811:string 806:string 768:wchar_t 742:wchar_t 714:char8_t 692:locales 688:wchar_t 676:Unicode 666:wchar_t 662:Windows 652:wchar_t 577:wchar.h 573:cstring 563:Headers 529:char8_t 525:char8_t 521:char8_t 470:wchar_t 450:wchar_t 424:strncpy 420:wchar_t 404:wchar_t 378:wchar_t 370:wchar_t 366:wchar_t 356:or any 342:wchar_t 317:L"text" 288:Unicode 284:wchar_t 199:strings 135:errno.h 103:Signals 68:Strings 5461:Anjuta 5358:uClibc 5353:Newlib 5331:EGLIBC 5309:Bionic 5278:String 5226:Syntax 5221:String 5160:ANSI C 5098:Manual 4764:Manual 4542:26 May 2477:  2173:strcpy 2146:(PCRE) 2092:strcpy 2084:memcpy 2077:ID 986 2061:ffmpeg 2045:libbsd 2039:, and 2029:NetBSD 1992:strcpy 1988:strcat 1968:strtok 1962:POSIX 1930:strcat 1911:strcpy 1894:strcmp 1849:& 1847:strdup 1838:strcpy 1819:strcat 1802:strcmp 1784:memcpy 1748:memset 1728:Source 1677:memchr 1673:strstr 1657:strchr 1650:cwchar 1624:string 1578:wcstol 1569:strtol 1550:wcstod 1541:wcstof 1527:strtod 1518:strtof 1451:mbtowc 1315:mbrlen 1255:wctomb 1245:mbtowc 1182:memchr 1167:memcmp 1129:memcpy 1106:memset 1100:Memory 1072:wcstok 1067:strtok 1057:wcsstr 1052:strstr 1012:wcsspn 1007:strspn 982:wcschr 977:strchr 933:wcscmp 928:strcmp 918:wcslen 913:strlen 907:String 864:wcscat 859:strcat 830:wcscpy 825:strcpy 819:String 704:wint_t 684:UTF-16 628:Notes 581:cwchar 482:\uNNNN 416:UTF-16 382:UTF-32 362:UTF-16 313:"text" 299:char * 268:string 261:length 45:(libc) 18:Strcat 5572:Limbo 5486:Geany 5466:CLion 5390:Clang 5338:klibc 5326:glibc 5293:POSIX 4971:(PDF) 4932:(PDF) 4760:Linux 4666:(PDF) 4275:(PDF) 2356:(PDF) 2321:(PDF) 2282:(PDF) 2243:(PDF) 2204:(PDF) 2151:Notes 2065:rsync 1856:POSIX 1737:bzero 1708:atoxx 1700:atoxx 1689:const 1685:const 1622:Here 1501:atoll 1295:wctob 1285:btowc 1235:mblen 1226:Name 736:, in 680:UCS-2 608:const 604:const 546:UTF-8 513:C++20 408:UTF-8 374:UCS-2 354:ASCII 346:char* 292:UTF-8 223:array 5582:Vala 5567:Alef 5453:IDEs 5420:SDCC 5348:musl 5283:Time 5268:Math 5258:Char 5055:2015 5034:2011 4993:link 4979:2013 4954:link 4940:2013 4915:2013 4892:2015 4870:2024 4826:2017 4805:2017 4784:2022 4673:2016 4610:2014 4588:2014 4544:2016 4516:2014 4494:2019 4472:2014 4450:2022 4428:2022 4406:2014 4384:2014 4362:2014 4340:2017 4315:2017 4258:2014 4236:2014 4214:2014 4192:2014 4170:2014 4148:2014 4126:2014 4104:2014 4082:2014 4060:2014 4038:2014 4016:2014 3994:2017 3973:2017 3952:2017 3843:2014 3821:2014 3799:2014 3777:2014 3755:2014 3733:2014 3711:2014 3689:2014 3667:2014 3645:2014 3623:2014 3601:2014 3579:2014 3557:2014 3535:2014 3513:2014 3491:2014 3469:2014 3447:2014 3422:2014 3400:2014 3375:2014 3353:2014 3331:2014 3309:2014 3287:2014 3265:2014 3243:2014 3221:2014 3199:2014 3177:2014 3155:2014 3133:2014 3111:2014 3089:2014 3067:2014 3045:2014 3023:2014 3001:2014 2979:2014 2957:2014 2935:2014 2913:2014 2891:2014 2869:2014 2847:2014 2825:2014 2803:2014 2781:2014 2759:2014 2737:2014 2715:2014 2690:2014 2668:2014 2646:2014 2624:2014 2506:2022 2475:ISBN 2454:2017 2432:2022 2407:2019 2382:link 2368:2011 2362:, p1 2304:link 2290:2011 2265:link 2251:2011 2226:link 2212:2011 2105:and 2057:GLib 2049:musl 2037:OS X 2010:and 1998:and 1990:and 1924:BSD 1905:BSD 1797:BSD 1778:GNU 1760:SVID 1725:Name 1497:atol 1493:atoi 1480:atof 1469:Wide 1464:Byte 809:Wide 804:Byte 696:char 634:NULL 625:Name 527:and 519:, a 515:and 493:char 478:\xNN 474:char 432:char 410:and 392:and 338:char 301:and 272:char 193:The 155:> 151:< 146:> 142:< 137:> 133:< 128:> 124:< 5547:C++ 5438:C++ 5425:TCC 5415:PCC 5405:LCC 5400:ICC 5395:GCC 5380:ACK 5180:C23 5175:C17 5170:C11 5165:C99 2086:or 2053:SDL 2041:QNX 1766:C23 1742:BSD 1693:C23 1558:C99 1545:C99 1535:C99 1522:C99 1510:C99 1140:C23 1117:C23 734:C11 671:was 644:not 557:str 553:mem 517:C23 496:foo 453:foo 435:foo 386:C11 350:NUL 340:or 326:not 276:C90 257:NUL 234:NUL 230:+ 1 225:of 5635:: 5577:Go 5552:C# 5436:, 5432:, 5071:. 4989:}} 4985:{{ 4950:}} 4946:{{ 4738:. 4734:. 4709:61 4707:, 4705:60 4703:, 4701:53 4675:. 4646:. 4627:. 4552:^ 4535:. 4524:^ 4331:. 4306:. 4277:. 3943:. 3430:^ 3383:^ 2698:^ 2607:^ 2576:^ 2559:^ 2528:^ 2497:. 2423:. 2398:. 2378:}} 2374:{{ 2337:. 2300:}} 2296:{{ 2261:}} 2257:{{ 2222:}} 2218:{{ 2190:^ 2175:). 2063:, 2059:, 2055:, 2035:, 2031:, 2027:, 1695:. 1675:, 1671:, 1667:, 1663:, 1659:, 1560:) 1537:) 1505:— 1484:— 1435:wc 1431:mb 1142:, 1119:, 1089:— 941:) 698:, 502:u8 487:u8 396:. 321:\0 209:, 5557:D 5141:e 5134:t 5127:v 5075:. 5057:. 5036:. 4995:) 4981:. 4956:) 4942:. 4917:. 4894:. 4872:. 4828:. 4807:. 4786:. 4650:. 4631:. 4612:. 4590:. 4546:. 4518:. 4496:. 4474:. 4452:. 4430:. 4408:. 4386:. 4364:. 4342:. 4317:. 4260:. 4238:. 4216:. 4194:. 4172:. 4150:. 4128:. 4106:. 4084:. 4062:. 4040:. 4018:. 3996:. 3975:. 3954:. 3845:. 3823:. 3801:. 3779:. 3757:. 3735:. 3713:. 3691:. 3669:. 3647:. 3625:. 3603:. 3581:. 3559:. 3537:. 3515:. 3493:. 3471:. 3449:. 3424:. 3402:. 3377:. 3355:. 3333:. 3311:. 3289:. 3267:. 3245:. 3223:. 3201:. 3179:. 3157:. 3135:. 3113:. 3091:. 3069:. 3047:. 3025:. 3003:. 2981:. 2959:. 2937:. 2915:. 2893:. 2871:. 2849:. 2827:. 2805:. 2783:. 2761:. 2739:. 2717:. 2692:. 2670:. 2648:. 2626:. 2601:. 2587:. 2570:. 2553:. 2539:. 2522:. 2508:. 2483:. 2456:. 2434:. 2409:. 2384:) 2370:. 2341:. 2323:. 2306:) 2292:. 2267:) 2253:. 2228:) 2214:. 1714:. 1712:0 1556:( 1547:) 1543:( 1533:( 1524:) 1520:( 885:n 851:n 776:1 750:1 678:( 508:; 499:= 465:; 459:L 456:= 444:; 438:= 311:( 228:n 219:n 182:e 175:t 168:v 31:. 20:)

Index

Strcat
C string (disambiguation)
C standard library
Data types
Character classification
Strings
Mathematics
File input/output
Date/time
Localization
Memory allocation
Process control
Signals
Alternative tokens
assert.h
errno.h
setjmp.h
stdarg.h
v
t
e
C programming language
strings
standard library
concatenation
tokenization
null-terminated
array
string constants
code units

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.