tmp/tmpoupzvy0l/{from.md → to.md}
RENAMED
|
@@ -2,46 +2,46 @@
|
|
| 2 |
|
| 3 |
The C standard library makes widespread use of characters and character
|
| 4 |
sequences that follow a few uniform conventions:
|
| 5 |
|
| 6 |
- A *letter* is any of the 26 lowercase or 26 uppercase letters in the
|
| 7 |
-
basic execution character set.
|
| 8 |
- The *decimal-point character* is the (single-byte) character used by
|
| 9 |
functions that convert between a (single-byte) character sequence and
|
| 10 |
a value of one of the floating-point types. It is used in the
|
| 11 |
character sequence to denote the beginning of a fractional part. It is
|
| 12 |
represented in Clauses [[language.support]] through [[thread]] and
|
| 13 |
Annex [[depr]] by a period, `'.'`, which is also its value in the
|
| 14 |
`"C"` locale, but may change during program execution by a call to
|
| 15 |
-
`setlocale(int, const char*)`,[^
|
| 16 |
object, as described in Clauses [[locales]] and [[input.output]].
|
| 17 |
-
- A *character sequence* is an array object ([[dcl.array]])
|
| 18 |
-
can be declared as `T A[N]`, where
|
| 19 |
`unsigned char`, or `signed char` ([[basic.fundamental]]), optionally
|
| 20 |
qualified by any combination of `const` or `volatile`. The initial
|
| 21 |
elements of the array have defined contents up to and including an
|
| 22 |
element determined by some predicate. A character sequence can be
|
| 23 |
-
designated by a pointer value
|
| 24 |
|
| 25 |
###### Byte strings <a id="byte.strings">[[byte.strings]]</a>
|
| 26 |
|
| 27 |
A *null-terminated byte string*, or NTBS, is a character sequence whose
|
| 28 |
highest-addressed element with defined content has the value zero (the
|
| 29 |
*terminating null* character); no other element in the sequence has the
|
| 30 |
-
value zero. [^
|
| 31 |
|
| 32 |
The *length* of an NTBS is the number of elements that precede the
|
| 33 |
terminating null character. An *empty* NTBS has a length of zero.
|
| 34 |
|
| 35 |
The *value* of an NTBS is the sequence of values of the elements up to
|
| 36 |
and including the terminating null character.
|
| 37 |
|
| 38 |
-
A *static* NTBS is an NTBSwith static storage duration.[^
|
| 39 |
|
| 40 |
###### Multibyte strings <a id="multibyte.strings">[[multibyte.strings]]</a>
|
| 41 |
|
| 42 |
-
A *null-terminated multibyte string
|
| 43 |
constitutes a sequence of valid multibyte characters, beginning and
|
| 44 |
-
ending in the initial shift state.[^
|
| 45 |
|
| 46 |
A *static* NTMBS is an NTMBSwith static storage duration.
|
| 47 |
|
|
|
|
| 2 |
|
| 3 |
The C standard library makes widespread use of characters and character
|
| 4 |
sequences that follow a few uniform conventions:
|
| 5 |
|
| 6 |
- A *letter* is any of the 26 lowercase or 26 uppercase letters in the
|
| 7 |
+
basic execution character set.
|
| 8 |
- The *decimal-point character* is the (single-byte) character used by
|
| 9 |
functions that convert between a (single-byte) character sequence and
|
| 10 |
a value of one of the floating-point types. It is used in the
|
| 11 |
character sequence to denote the beginning of a fractional part. It is
|
| 12 |
represented in Clauses [[language.support]] through [[thread]] and
|
| 13 |
Annex [[depr]] by a period, `'.'`, which is also its value in the
|
| 14 |
`"C"` locale, but may change during program execution by a call to
|
| 15 |
+
`setlocale(int, const char*)`,[^8] or by a change to a `locale`
|
| 16 |
object, as described in Clauses [[locales]] and [[input.output]].
|
| 17 |
+
- A *character sequence* is an array object ([[dcl.array]]) `A` that
|
| 18 |
+
can be declared as `T A[N]`, where `T` is any of the types `char`,
|
| 19 |
`unsigned char`, or `signed char` ([[basic.fundamental]]), optionally
|
| 20 |
qualified by any combination of `const` or `volatile`. The initial
|
| 21 |
elements of the array have defined contents up to and including an
|
| 22 |
element determined by some predicate. A character sequence can be
|
| 23 |
+
designated by a pointer value `S` that points to its first element.
|
| 24 |
|
| 25 |
###### Byte strings <a id="byte.strings">[[byte.strings]]</a>
|
| 26 |
|
| 27 |
A *null-terminated byte string*, or NTBS, is a character sequence whose
|
| 28 |
highest-addressed element with defined content has the value zero (the
|
| 29 |
*terminating null* character); no other element in the sequence has the
|
| 30 |
+
value zero. [^9]
|
| 31 |
|
| 32 |
The *length* of an NTBS is the number of elements that precede the
|
| 33 |
terminating null character. An *empty* NTBS has a length of zero.
|
| 34 |
|
| 35 |
The *value* of an NTBS is the sequence of values of the elements up to
|
| 36 |
and including the terminating null character.
|
| 37 |
|
| 38 |
+
A *static* NTBS is an NTBSwith static storage duration.[^10]
|
| 39 |
|
| 40 |
###### Multibyte strings <a id="multibyte.strings">[[multibyte.strings]]</a>
|
| 41 |
|
| 42 |
+
A *null-terminated multibyte string*, or NTMBS, is an NTBSthat
|
| 43 |
constitutes a sequence of valid multibyte characters, beginning and
|
| 44 |
+
ending in the initial shift state.[^11]
|
| 45 |
|
| 46 |
A *static* NTMBS is an NTMBSwith static storage duration.
|
| 47 |
|