use of the features specified in the library clause (clause 7) is confined to the contents of
the standard headers <a href="#7.7"><float.h></a>, <a href="#7.9"><iso646.h></a>, <a href="#7.10"><limits.h></a>, <a href="#7.15"><stdalign.h></a>,
<a href="#7.16"><stdarg.h></a>, <a href="#7.18"><stdbool.h></a>, <a href="#7.19"><stddef.h></a>, <a href="#7.20"><stdint.h></a>, and
use of the features specified in the library clause (clause 7) is confined to the contents of
the standard headers <a href="#7.7"><float.h></a>, <a href="#7.9"><iso646.h></a>, <a href="#7.10"><limits.h></a>, <a href="#7.15"><stdalign.h></a>,
<a href="#7.16"><stdarg.h></a>, <a href="#7.18"><stdbool.h></a>, <a href="#7.19"><stddef.h></a>, <a href="#7.20"><stdint.h></a>, and
</ul>
<p><a name="5.2.4.2.1p2" href="#5.2.4.2.1p2"><small>2</small></a>
If the value of an object of type char is treated as a signed integer when used in an
expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the
value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of
CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of
</ul>
<p><a name="5.2.4.2.1p2" href="#5.2.4.2.1p2"><small>2</small></a>
If the value of an object of type char is treated as a signed integer when used in an
expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the
value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of
CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of
All integer values in the <a href="#7.7"><float.h></a> header, except FLT_ROUNDS, shall be constant
expressions suitable for use in #if preprocessing directives; all floating values shall be
constant expressions. All except DECIMAL_DIG, FLT_EVAL_METHOD, FLT_RADIX,
All integer values in the <a href="#7.7"><float.h></a> header, except FLT_ROUNDS, shall be constant
expressions suitable for use in #if preprocessing directives; all floating values shall be
constant expressions. All except DECIMAL_DIG, FLT_EVAL_METHOD, FLT_RADIX,
- 0 1 2 3 4 5 6 7
- hexadecimal-digit: one of
- 0 1 2 3 4 5 6 7 8 9
- a b c d e f
- A B C D E F
- integer-suffix:
- unsigned-suffix long-suffix<sub>opt</sub>
- unsigned-suffix long-long-suffix
- long-suffix unsigned-suffix<sub>opt</sub>
- long-long-suffix unsigned-suffix<sub>opt</sub>
- unsigned-suffix: one of
- u U
- long-suffix: one of
- l L
- long-long-suffix: one of
- ll LL
+ 0 1 2 3 4 5 6 7
+ hexadecimal-digit: one of
+ 0 1 2 3 4 5 6 7 8 9
+ a b c d e f
+ A B C D E F
+ integer-suffix:
+ unsigned-suffix long-suffix<sub>opt</sub>
+ unsigned-suffix long-long-suffix
+ long-suffix unsigned-suffix<sub>opt</sub>
+ long-long-suffix unsigned-suffix<sub>opt</sub>
+ unsigned-suffix: one of
+ u U
+ long-suffix: one of
+ l L
+ long-long-suffix: one of
+ ll LL
-<pre>
- Octal or Hexadecimal
-</pre>
- Suffix Decimal Constant Constant
-
- none int int
-<pre>
- long int unsigned int
- long long int long int
- unsigned long int
- long long int
- unsigned long long int
-</pre>
-
- u or U unsigned int unsigned int
-<pre>
- unsigned long int unsigned long int
- unsigned long long int unsigned long long int
-</pre>
-
- l or L long int long int
-<pre>
- long long int unsigned long int
- long long int
- unsigned long long int
-</pre>
-
- Both u or U unsigned long int unsigned long int
- and l or L unsigned long long int unsigned long long int
-
- ll or LL long long int long long int
-<pre>
- unsigned long long int
-</pre>
-
- Both u or U unsigned long long int unsigned long long int
- and ll or LL
+<table border=1>
+<tr><th> Suffix <th>Decimal Constant <th>Octal or Hexadecimal Constant
+<tr><td> none
+<td><pre>
+int
+long int
+long long int
+</pre>
+<td><pre>
+int
+unsigned int
+long int
+unsigned long int
+long long int
+unsigned long long int
+</pre>
+<tr><td> u or U
+<td><pre>
+unsigned int
+unsigned long int
+unsigned long long int
+</pre>
+<td><pre>
+unsigned int
+unsigned long int
+unsigned long long int
+</pre>
+<tr><td> l or L
+<td><pre>
+long int
+long long int
+</pre>
+<td><pre>
+long int
+unsigned long int
+long long int
+unsigned long long int
+</pre>
+<tr><td> Both u or U and l or L
+<td><pre>
+unsigned long int
+unsigned long long int
+</pre>
+<td><pre>
+unsigned long int
+unsigned long long int
+</pre>
+<tr><td> ll or LL
+<td><pre>
+long long int
+</pre>
+<td><pre>
+long long int
+unsigned long long int
+</pre>
+<tr><td> Both u or U and ll or LL
+<td><pre>
+unsigned long long int
+</pre>
+<td><pre>
+unsigned long long int
+</pre>
+</table>
string literal of the form "Mmm dd yyyy", where the names of the
months are the same as those generated by the asctime function, and the
first character of dd is a space character if the value is less than 10. If the
date of translation is not available, an implementation-defined valid date
shall be supplied.
string literal of the form "Mmm dd yyyy", where the names of the
months are the same as those generated by the asctime function, and the
first character of dd is a space character if the value is less than 10. If the
date of translation is not available, an implementation-defined valid date
shall be supplied.
- 0 No space separates the currency symbol and value.
- 1 If the currency symbol and sign string are adjacent, a space separates them from the
-<pre>
- value; otherwise, a space separates the currency symbol from the value.
-</pre>
- 2 If the currency symbol and sign string are adjacent, a space separates them;
-<pre>
+<dl>
+<dt> 0 <dd>No space separates the currency symbol and value.
+<dt> 1 <dd>If the currency symbol and sign string are adjacent, a space separates them from the
+ value; otherwise, a space separates the currency symbol from the value.
+<dt> 2 <dd>If the currency symbol and sign string are adjacent, a space separates them;
For int_p_sep_by_space and int_n_sep_by_space, the fourth character of
int_curr_symbol is used instead of a space.
<p><a name="7.11.2.1p6" href="#7.11.2.1p6"><small>6</small></a>
The values of p_sign_posn, n_sign_posn, int_p_sign_posn, and
int_n_sign_posn are interpreted according to the following:
For int_p_sep_by_space and int_n_sep_by_space, the fourth character of
int_curr_symbol is used instead of a space.
<p><a name="7.11.2.1p6" href="#7.11.2.1p6"><small>6</small></a>
The values of p_sign_posn, n_sign_posn, int_p_sign_posn, and
int_n_sign_posn are interpreted according to the following:
- SIGABRT abnormal termination, such as is initiated by the abort function
- SIGFPE an erroneous arithmetic operation, such as zero divide or an operation
- resulting in overflow
- SIGILL detection of an invalid function image, such as an invalid instruction
- SIGINT receipt of an interactive attention signal
- SIGSEGV an invalid access to storage
- SIGTERM a termination request sent to the program
+ SIGABRT abnormal termination, such as is initiated by the abort function
+ SIGFPE an erroneous arithmetic operation, such as zero divide or an operation
+ resulting in overflow
+ SIGILL detection of an invalid function image, such as an invalid instruction
+ SIGINT receipt of an interactive attention signal
+ SIGSEGV an invalid access to storage
+ SIGTERM a termination request sent to the program
- atomic_store_explicit(&y, 42, memory_order_relaxed);
- r1 = atomic_load_explicit(&y, memory_order_relaxed);
- atomic_store_explicit(&x, r1, memory_order_relaxed);
- r2 = atomic_load_explicit(&x, memory_order_relaxed);
+ atomic_store_explicit(&y, 42, memory_order_relaxed);
+ r1 = atomic_load_explicit(&y, memory_order_relaxed);
+ atomic_store_explicit(&x, r1, memory_order_relaxed);
+ r2 = atomic_load_explicit(&x, memory_order_relaxed);
- Atomic type name Direct type
- atomic_bool _Atomic _Bool
- atomic_char _Atomic char
- atomic_schar _Atomic signed char
- atomic_uchar _Atomic unsigned char
- atomic_short _Atomic short
- atomic_ushort _Atomic unsigned short
- atomic_int _Atomic int
- atomic_uint _Atomic unsigned int
- atomic_long _Atomic long
- atomic_ulong _Atomic unsigned long
- atomic_llong _Atomic long long
- atomic_ullong _Atomic unsigned long long
- atomic_char16_t _Atomic char16_t
- atomic_char32_t _Atomic char32_t
- atomic_wchar_t _Atomic wchar_t
- atomic_int_least8_t _Atomic int_least8_t
- atomic_uint_least8_t _Atomic uint_least8_t
- atomic_int_least16_t _Atomic int_least16_t
- atomic_uint_least16_t _Atomic uint_least16_t
- atomic_int_least32_t _Atomic int_least32_t
- atomic_uint_least32_t _Atomic uint_least32_t
- atomic_int_least64_t _Atomic int_least64_t
- atomic_uint_least64_t _Atomic uint_least64_t
- atomic_int_fast8_t _Atomic int_fast8_t
- atomic_uint_fast8_t _Atomic uint_fast8_t
- atomic_int_fast16_t _Atomic int_fast16_t
- atomic_uint_fast16_t _Atomic uint_fast16_t
- atomic_int_fast32_t _Atomic int_fast32_t
- atomic_uint_fast32_t _Atomic uint_fast32_t
- atomic_int_fast64_t _Atomic int_fast64_t
- atomic_uint_fast64_t _Atomic uint_fast64_t
- atomic_intptr_t _Atomic intptr_t
- atomic_uintptr_t _Atomic uintptr_t
- atomic_size_t _Atomic size_t
- atomic_ptrdiff_t _Atomic ptrdiff_t
- atomic_intmax_t _Atomic intmax_t
- atomic_uintmax_t _Atomic uintmax_t
+ Atomic type name Direct type
+
+ atomic_bool _Atomic _Bool
+ atomic_char _Atomic char
+ atomic_schar _Atomic signed char
+ atomic_uchar _Atomic unsigned char
+ atomic_short _Atomic short
+ atomic_ushort _Atomic unsigned short
+ atomic_int _Atomic int
+ atomic_uint _Atomic unsigned int
+ atomic_long _Atomic long
+ atomic_ulong _Atomic unsigned long
+ atomic_llong _Atomic long long
+ atomic_ullong _Atomic unsigned long long
+ atomic_char16_t _Atomic char16_t
+ atomic_char32_t _Atomic char32_t
+ atomic_wchar_t _Atomic wchar_t
+ atomic_int_least8_t _Atomic int_least8_t
+ atomic_uint_least8_t _Atomic uint_least8_t
+ atomic_int_least16_t _Atomic int_least16_t
+ atomic_uint_least16_t _Atomic uint_least16_t
+ atomic_int_least32_t _Atomic int_least32_t
+ atomic_uint_least32_t _Atomic uint_least32_t
+ atomic_int_least64_t _Atomic int_least64_t
+ atomic_uint_least64_t _Atomic uint_least64_t
+ atomic_int_fast8_t _Atomic int_fast8_t
+ atomic_uint_fast8_t _Atomic uint_fast8_t
+ atomic_int_fast16_t _Atomic int_fast16_t
+ atomic_uint_fast16_t _Atomic uint_fast16_t
+ atomic_int_fast32_t _Atomic int_fast32_t
+ atomic_uint_fast32_t _Atomic uint_fast32_t
+ atomic_int_fast64_t _Atomic int_fast64_t
+ atomic_uint_fast64_t _Atomic uint_fast64_t
+ atomic_intptr_t _Atomic intptr_t
+ atomic_uintptr_t _Atomic uintptr_t
+ atomic_size_t _Atomic size_t
+ atomic_ptrdiff_t _Atomic ptrdiff_t
+ atomic_intmax_t _Atomic intmax_t
+ atomic_uintmax_t _Atomic uintmax_t
- r open text file for reading
- w truncate to zero length or create text file for writing
- wx create text file for writing
- a append; open or create text file for writing at end-of-file
- rb open binary file for reading
- wb truncate to zero length or create binary file for writing
-
-
+<dl>
+<dt> r <dd>open text file for reading
+<dt> w <dd>truncate to zero length or create text file for writing
+<dt> wx <dd>create text file for writing
+<dt> a <dd>append; open or create text file for writing at end-of-file
+<dt> rb <dd>open binary file for reading
+<dt> wb <dd>truncate to zero length or create binary file for writing
- wbx create binary file for writing
- ab append; open or create binary file for writing at end-of-file
- r+ open text file for update (reading and writing)
- w+ truncate to zero length or create text file for update
- w+x create text file for update
- a+ append; open or create text file for update, writing at end-of-file
- r+b or rb+ open binary file for update (reading and writing)
- w+b or wb+ truncate to zero length or create binary file for update
- w+bx or wb+x create binary file for update
- a+b or ab+ append; open or create binary file for update, writing at end-of-file
+<dt> wbx <dd>create binary file for writing
+<dt> ab <dd>append; open or create binary file for writing at end-of-file
+<dt> r+ <dd>open text file for update (reading and writing)
+<dt> w+ <dd>truncate to zero length or create text file for update
+<dt> w+x <dd>create text file for update
+<dt> a+ <dd>append; open or create text file for update, writing at end-of-file
+<dt> r+b or rb+ <dd>open binary file for update (reading and writing)
+<dt> w+b or wb+ <dd>truncate to zero length or create binary file for update
+<dt> w+bx or wb+x <dd>create binary file for update
+<dt> a+b or ab+ <dd>append; open or create binary file for update, writing at end-of-file
+</dl>
the precision, if and only if necessary, to force the first digit of the result to be a
zero (if the value and precision are both 0, a single 0 is printed). For x (or X)
conversion, a nonzero result has 0x (or 0X) prefixed to it. For a, A, e, E, f, F, g,
the precision, if and only if necessary, to force the first digit of the result to be a
zero (if the value and precision are both 0, a single 0 is printed). For x (or X)
conversion, a nonzero result has 0x (or 0X) prefixed to it. For a, A, e, E, f, F, g,
-</pre>
- 0 For d, i, o, u, x, X, a, A, e, E, f, F, g, and G conversions, leading zeros
-<pre>
+<dt> 0 <dd>For d, i, o, u, x, X, a, A, e, E, f, F, g, and G conversions, leading zeros
(following any indication of sign or base) are used to pad to the field width rather
than performing space padding, except when converting an infinity or NaN. If the
0 and - flags both appear, the 0 flag is ignored. For d, i, o, u, x, and X
(following any indication of sign or base) are used to pad to the field width rather
than performing space padding, except when converting an infinity or NaN. If the
0 and - flags both appear, the 0 flag is ignored. For d, i, o, u, x, and X
long int or unsigned long int argument; that a following n
conversion specifier applies to a pointer to a long int argument; that a
following c conversion specifier applies to a wint_t argument; that a
following s conversion specifier applies to a pointer to a wchar_t
argument; or has no effect on a following a, A, e, E, f, F, g, or G conversion
specifier.
long int or unsigned long int argument; that a following n
conversion specifier applies to a pointer to a long int argument; that a
following c conversion specifier applies to a wint_t argument; that a
following s conversion specifier applies to a pointer to a wchar_t
argument; or has no effect on a following a, A, e, E, f, F, g, or G conversion
specifier.
decimal (u), or unsigned hexadecimal notation (x or X) in the style dddd; the
letters abcdef are used for x conversion and the letters ABCDEF for X
conversion. The precision specifies the minimum number of digits to appear;
if the value being converted can be represented in fewer digits, it is expanded
with leading zeros. The default precision is 1. The result of converting a
zero value with a precision of zero is no characters.
decimal (u), or unsigned hexadecimal notation (x or X) in the style dddd; the
letters abcdef are used for x conversion and the letters ABCDEF for X
conversion. The precision specifies the minimum number of digits to appear;
if the value being converted can be represented in fewer digits, it is expanded
with leading zeros. The default precision is 1. The result of converting a
zero value with a precision of zero is no characters.
any n-char-sequence, is implementation-defined. The F conversion specifier
produces INF, INFINITY, or NAN instead of inf, infinity, or nan,
respectively.<sup><a href="#note277"><b>277)</b></a></sup>
any n-char-sequence, is implementation-defined. The F conversion specifier
produces INF, INFINITY, or NAN instead of inf, infinity, or nan,
respectively.<sup><a href="#note277"><b>277)</b></a></sup>
style f or e (or in style F or E in the case of a G conversion specifier),
depending on the value converted and the precision. Let P equal the
precision if nonzero, 6 if the precision is omitted, or 1 if the precision is zero.
Then, if a conversion with style E would have an exponent of X:
style f or e (or in style F or E in the case of a G conversion specifier),
depending on the value converted and the precision. Let P equal the
precision if nonzero, 6 if the precision is omitted, or 1 if the precision is zero.
Then, if a conversion with style E would have an exponent of X:
Finally, unless the # flag is used, any trailing zeros are removed from the
fractional portion of the result and the decimal-point character is removed if
there is no fractional portion remaining.
A double argument representing an infinity or NaN is converted in the style
of an f or F conversion specifier.
Finally, unless the # flag is used, any trailing zeros are removed from the
fractional portion of the result and the decimal-point character is removed if
there is no fractional portion remaining.
A double argument representing an infinity or NaN is converted in the style
of an f or F conversion specifier.
unsigned char, and the resulting character is written.
If an l length modifier is present, the wint_t argument is converted as if by
an ls conversion specification with no precision and an argument that points
to the initial element of a two-element array of wchar_t, the first element
containing the wint_t argument to the lc conversion specification and the
second a null wide character.
unsigned char, and the resulting character is written.
If an l length modifier is present, the wint_t argument is converted as if by
an ls conversion specification with no precision and an argument that points
to the initial element of a two-element array of wchar_t, the first element
containing the wint_t argument to the lc conversion specification and the
second a null wide character.
- fprintf(stdout, "|1234567890123|\n");
- fprintf(stdout, "|%13ls|\n", wstr);
- fprintf(stdout, "|%-13.9ls|\n", wstr);
- fprintf(stdout, "|%13.10ls|\n", wstr);
- fprintf(stdout, "|%13.11ls|\n", wstr);
- fprintf(stdout, "|%13.15ls|\n", &wstr[2]);
- fprintf(stdout, "|%13lc|\n", (wint_t) wstr[5]);
+ fprintf(stdout, "|1234567890123|\n");
+ fprintf(stdout, "|%13ls|\n", wstr);
+ fprintf(stdout, "|%-13.9ls|\n", wstr);
+ fprintf(stdout, "|%13.10ls|\n", wstr);
+ fprintf(stdout, "|%13.11ls|\n", wstr);
+ fprintf(stdout, "|%13.15ls|\n", &wstr[2]);
+ fprintf(stdout, "|%13lc|\n", (wint_t) wstr[5]);
to an argument with type pointer to long int or unsigned long
int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to
an argument with type pointer to double; or that a following c, s, or [
conversion specifier applies to an argument with type pointer to wchar_t.
to an argument with type pointer to long int or unsigned long
int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to
an argument with type pointer to double; or that a following c, s, or [
conversion specifier applies to an argument with type pointer to wchar_t.
same as the set of sequences that may be produced by the %p conversion of
the fprintf function. The corresponding argument shall be a pointer to a
pointer to void. The input item is converted to a pointer value in an
implementation-defined manner. If the input item is a value converted earlier
during the same program execution, the pointer that results shall compare
equal to that value; otherwise the behavior of the %p conversion is undefined.
same as the set of sequences that may be produced by the %p conversion of
the fprintf function. The corresponding argument shall be a pointer to a
pointer to void. The input item is converted to a pointer value in an
implementation-defined manner. If the input item is a value converted earlier
during the same program execution, the pointer that results shall compare
equal to that value; otherwise the behavior of the %p conversion is undefined.
signed integer into which is to be written the number of characters read from
the input stream so far by this call to the fscanf function. Execution of a
%n directive does not increment the assignment count returned at the
completion of execution of the fscanf function. No argument is converted,
but one is consumed. If the conversion specification includes an assignment-
suppressing character or a field width, the behavior is undefined.
signed integer into which is to be written the number of characters read from
the input stream so far by this call to the fscanf function. Execution of a
%n directive does not increment the assignment count returned at the
completion of execution of the fscanf function. No argument is converted,
but one is consumed. If the conversion specification includes an assignment-
suppressing character or a field width, the behavior is undefined.
- static const char wday_name[7][3] = {
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
- };
- static const char mon_name[12][3] = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
- };
- static char result[26];
-</pre>
-
-
-
+ char *asctime(const struct tm *timeptr)
+ {
+ static const char wday_name[7][3] = {
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+ static const char mon_name[12][3] = {
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+ };
+ static char result[26];
- %a is replaced by the locale's abbreviated weekday name. [tm_wday]
- %A is replaced by the locale's full weekday name. [tm_wday]
- %b is replaced by the locale's abbreviated month name. [tm_mon]
- %B is replaced by the locale's full month name. [tm_mon]
- %c is replaced by the locale's appropriate date and time representation. [all specified
-<pre>
+<dl>
+<dt> %a <dd>is replaced by the locale's abbreviated weekday name. [tm_wday]
+<dt> %A <dd>is replaced by the locale's full weekday name. [tm_wday]
+<dt> %b <dd>is replaced by the locale's abbreviated month name. [tm_mon]
+<dt> %B <dd>is replaced by the locale's full month name. [tm_mon]
+<dt> %c <dd>is replaced by the locale's appropriate date and time representation. [all specified
-</pre>
- %h is equivalent to ''%b''. [tm_mon]
- %H is replaced by the hour (24-hour clock) as a decimal number (00-23). [tm_hour]
- %I is replaced by the hour (12-hour clock) as a decimal number (01-12). [tm_hour]
- %j is replaced by the day of the year as a decimal number (001-366). [tm_yday]
- %m is replaced by the month as a decimal number (01-12). [tm_mon]
- %M is replaced by the minute as a decimal number (00-59). [tm_min]
- %n is replaced by a new-line character.
- %p is replaced by the locale's equivalent of the AM/PM designations associated with a
-<pre>
+<dt> %h <dd>is equivalent to ''%b''. [tm_mon]
+<dt> %H <dd>is replaced by the hour (24-hour clock) as a decimal number (00-23). [tm_hour]
+<dt> %I <dd>is replaced by the hour (12-hour clock) as a decimal number (01-12). [tm_hour]
+<dt> %j <dd>is replaced by the day of the year as a decimal number (001-366). [tm_yday]
+<dt> %m <dd>is replaced by the month as a decimal number (01-12). [tm_mon]
+<dt> %M <dd>is replaced by the minute as a decimal number (00-59). [tm_min]
+<dt> %n <dd>is replaced by a new-line character.
+<dt> %p <dd>is replaced by the locale's equivalent of the AM/PM designations associated with a
-</pre>
- %r is replaced by the locale's 12-hour clock time. [tm_hour, tm_min, tm_sec]
- %R is equivalent to ''%H:%M''. [tm_hour, tm_min]
- %S is replaced by the second as a decimal number (00-60). [tm_sec]
- %t is replaced by a horizontal-tab character.
- %T is equivalent to ''%H:%M:%S'' (the ISO 8601 time format). [tm_hour, tm_min,
-<pre>
+<dt> %r <dd>is replaced by the locale's 12-hour clock time. [tm_hour, tm_min, tm_sec]
+<dt> %R <dd>is equivalent to ''%H:%M''. [tm_hour, tm_min]
+<dt> %S <dd>is replaced by the second as a decimal number (00-60). [tm_sec]
+<dt> %t <dd>is replaced by a horizontal-tab character.
+<dt> %T <dd>is equivalent to ''%H:%M:%S'' (the ISO 8601 time format). [tm_hour, tm_min,
-</pre>
- %Om is replaced by the month, using the locale's alternative numeric symbols.
- %OM is replaced by the minutes, using the locale's alternative numeric symbols.
- %OS is replaced by the seconds, using the locale's alternative numeric symbols.
- %Ou is replaced by the ISO 8601 weekday as a number in the locale's alternative
+<dt> %Om <dd>is replaced by the month, using the locale's alternative numeric symbols.
+<dt> %OM <dd>is replaced by the minutes, using the locale's alternative numeric symbols.
+<dt> %OS <dd>is replaced by the seconds, using the locale's alternative numeric symbols.
+<dt> %Ou <dd>is replaced by the ISO 8601 weekday as a number in the locale's alternative
- %a the first three characters of %A.
- %A one of ''Sunday'', ''Monday'', ... , ''Saturday''.
- %b the first three characters of %B.
- %B one of ''January'', ''February'', ... , ''December''.
- %c equivalent to ''%a %b %e %T %Y''.
- %p one of ''AM'' or ''PM''.
- %r equivalent to ''%I:%M:%S %p''.
- %x equivalent to ''%m/%d/%y''.
- %X equivalent to %T.
- %Z implementation-defined.
+<dl>
+<dt> %a <dd>the first three characters of %A.
+<dt> %A <dd>one of ''Sunday'', ''Monday'', ... , ''Saturday''.
+<dt> %b <dd>the first three characters of %B.
+<dt> %B <dd>one of ''January'', ''February'', ... , ''December''.
+<dt> %c <dd>equivalent to ''%a %b %e %T %Y''.
+<dt> %p <dd>one of ''AM'' or ''PM''.
+<dt> %r <dd>equivalent to ''%I:%M:%S %p''.
+<dt> %x <dd>equivalent to ''%m/%d/%y''.
+<dt> %X <dd>equivalent to %T.
+<dt> %Z <dd>implementation-defined.
+</dl>
the precision, if and only if necessary, to force the first digit of the result to be a
zero (if the value and precision are both 0, a single 0 is printed). For x (or X)
conversion, a nonzero result has 0x (or 0X) prefixed to it. For a, A, e, E, f, F, g,
the precision, if and only if necessary, to force the first digit of the result to be a
zero (if the value and precision are both 0, a single 0 is printed). For x (or X)
conversion, a nonzero result has 0x (or 0X) prefixed to it. For a, A, e, E, f, F, g,
-</pre>
- 0 For d, i, o, u, x, X, a, A, e, E, f, F, g, and G conversions, leading zeros
-<pre>
+<dt> 0 <dd>For d, i, o, u, x, X, a, A, e, E, f, F, g, and G conversions, leading zeros
(following any indication of sign or base) are used to pad to the field width rather
than performing space padding, except when converting an infinity or NaN. If the
0 and - flags both appear, the 0 flag is ignored. For d, i, o, u, x, and X
conversions, if a precision is specified, the 0 flag is ignored. For other
conversions, the behavior is undefined.
(following any indication of sign or base) are used to pad to the field width rather
than performing space padding, except when converting an infinity or NaN. If the
0 and - flags both appear, the 0 flag is ignored. For d, i, o, u, x, and X
conversions, if a precision is specified, the 0 flag is ignored. For other
conversions, the behavior is undefined.
following c conversion specifier applies to a wint_t argument; that a
following s conversion specifier applies to a pointer to a wchar_t
argument; or has no effect on a following a, A, e, E, f, F, g, or G conversion
specifier.
following c conversion specifier applies to a wint_t argument; that a
following s conversion specifier applies to a pointer to a wchar_t
argument; or has no effect on a following a, A, e, E, f, F, g, or G conversion
specifier.
decimal (u), or unsigned hexadecimal notation (x or X) in the style dddd; the
letters abcdef are used for x conversion and the letters ABCDEF for X
conversion. The precision specifies the minimum number of digits to appear;
if the value being converted can be represented in fewer digits, it is expanded
with leading zeros. The default precision is 1. The result of converting a
zero value with a precision of zero is no wide characters.
decimal (u), or unsigned hexadecimal notation (x or X) in the style dddd; the
letters abcdef are used for x conversion and the letters ABCDEF for X
conversion. The precision specifies the minimum number of digits to appear;
if the value being converted can be represented in fewer digits, it is expanded
with leading zeros. The default precision is 1. The result of converting a
zero value with a precision of zero is no wide characters.
any n-wchar-sequence, is implementation-defined. The F conversion
specifier produces INF, INFINITY, or NAN instead of inf, infinity, or
nan, respectively.<sup><a href="#note332"><b>332)</b></a></sup>
any n-wchar-sequence, is implementation-defined. The F conversion
specifier produces INF, INFINITY, or NAN instead of inf, infinity, or
nan, respectively.<sup><a href="#note332"><b>332)</b></a></sup>
style f or e (or in style F or E in the case of a G conversion specifier),
depending on the value converted and the precision. Let P equal the
precision if nonzero, 6 if the precision is omitted, or 1 if the precision is zero.
Then, if a conversion with style E would have an exponent of X:
style f or e (or in style F or E in the case of a G conversion specifier),
depending on the value converted and the precision. Let P equal the
precision if nonzero, 6 if the precision is omitted, or 1 if the precision is zero.
Then, if a conversion with style E would have an exponent of X:
element of a character array containing a multibyte character sequence
beginning in the initial shift state. Characters from the array are converted as
if by repeated calls to the mbrtowc function, with the conversion state
described by an mbstate_t object initialized to zero before the first
multibyte character is converted, and written up to (but not including) the
element of a character array containing a multibyte character sequence
beginning in the initial shift state. Characters from the array are converted as
if by repeated calls to the mbrtowc function, with the conversion state
described by an mbstate_t object initialized to zero before the first
multibyte character is converted, and written up to (but not including) the
to an argument with type pointer to long int or unsigned long
int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to
an argument with type pointer to double; or that a following c, s, or [
conversion specifier applies to an argument with type pointer to wchar_t.
to an argument with type pointer to long int or unsigned long
int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to
an argument with type pointer to double; or that a following c, s, or [
conversion specifier applies to an argument with type pointer to wchar_t.
same as the set of sequences that may be produced by the %p conversion of
the fwprintf function. The corresponding argument shall be a pointer to a
pointer to void. The input item is converted to a pointer value in an
implementation-defined manner. If the input item is a value converted earlier
during the same program execution, the pointer that results shall compare
equal to that value; otherwise the behavior of the %p conversion is undefined.
same as the set of sequences that may be produced by the %p conversion of
the fwprintf function. The corresponding argument shall be a pointer to a
pointer to void. The input item is converted to a pointer value in an
implementation-defined manner. If the input item is a value converted earlier
during the same program execution, the pointer that results shall compare
equal to that value; otherwise the behavior of the %p conversion is undefined.
expressions are not equivalent because of side effects when x or y is a
NaN and the state of the FENV_ACCESS pragma is ''on''. This
transformation, which would be desirable if extra code were required
to cause the ''invalid'' floating-point exception for unordered cases,
could be performed provided the state of the FENV_ACCESS pragma
is ''off''.
expressions are not equivalent because of side effects when x or y is a
NaN and the state of the FENV_ACCESS pragma is ''on''. This
transformation, which would be desirable if extra code were required
to cause the ''invalid'' floating-point exception for unordered cases,
could be performed provided the state of the FENV_ACCESS pragma
is ''off''.
absF fabsf(x), fabs(x), fabsl(x)
exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x)
scaleF scalbnf(x, n), scalbn(x, n), scalbnl(x, n),
absF fabsf(x), fabs(x), fabsl(x)
exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x)
scaleF scalbnf(x, n), scalbn(x, n), scalbnl(x, n),
intpartF modff(x, &y), modf(x, &y), modfl(x, &y)
fractpartF modff(x, &y), modf(x, &y), modfl(x, &y)
eqF x == y
intpartF modff(x, &y), modf(x, &y), modfl(x, &y)
fractpartF modff(x, &y), modf(x, &y), modfl(x, &y)
eqF x == y