Knowledge

C string handling

Source 📝

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

Index

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
C90

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