You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The **`errno`** constants are values assigned to [`errno`](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) in the event of various error conditions.
19
19
20
-
ERRNO.H contains the definitions of the **`errno`** values. However, not all the definitions given in ERRNO.H are used in 32-bit Windows operating systems. Some of the values in ERRNO.H are present to maintain compatibility with the UNIX family of operating systems. The **`errno`** values in a 32-bit Windows operating system are a subset of the values for **`errno`** in UNIX systems.
20
+
`ERRNO.H` contains the definitions of the **`errno`** values. However, not all the definitions given in `ERRNO.H` are used in 32-bit Windows operating systems. Some of the values in `ERRNO.H` are present to maintain compatibility with the UNIX family of operating systems. The **`errno`** values in a 32-bit Windows operating system are a subset of the values for **`errno`** in UNIX systems.
21
21
22
22
The **`errno`** value isn't necessarily the same as the actual error code returned by a system call from the Windows operating system. To access the actual operating system error code, use the [`_doserrno`](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) variable, which contains this value.
23
23
@@ -37,7 +37,7 @@ The following **`errno`** values are supported:
37
37
|`EEXIST`| Files exists. An attempt has been made to create a file that already exists. For example, the `_O_CREAT` and `_O_EXCL` flags are specified in an `_open` call, but the named file already exists. | 17 |
38
38
|`EFAULT`| Bad address. | 14 |
39
39
|`EFBIG`| File too large. | 27 |
40
-
|`EILSEQ`| Illegal sequence of bytes (for example, in an MBCS string). | 42 |
40
+
|`EILSEQ`| Illegal sequence of bytes (for example, in an `MBCS` string). | 42 |
41
41
|`EINTR`| Interrupted function. | 4 |
42
42
|`EINVAL`| Invalid argument. An invalid value was given for one of the arguments to a function. For example, the value given for the origin when positioning a file pointer (by means of a call to `fseek`) is before the beginning of the file. | 22 |
Each function returns the **`double`** value produced by interpreting the input characters as a number. The return value is 0.0 if the input cannot be converted to a value of that type.
47
47
48
-
In all out-of-range cases, **errno** is set to **ERANGE**. If the parameter passed in is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return 0.
48
+
In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
49
49
50
50
## Remarks
51
51
52
52
These functions convert a character string to a double-precision, floating-point value.
53
53
54
54
The input string is a sequence of characters that can be interpreted as a numerical value of the specified type. The function stops reading the input string at the first character that it cannot recognize as part of a number. This character may be the null character ('\0' or L'\0') terminating the string.
55
55
56
-
The *str* argument to **atof** and **_wtof** has the following form:
56
+
The *`str`* argument to **`atof`** and **`_wtof`** has the following form:
A *whitespace* consists of space or tab characters, which are ignored; *sign* is either plus (+) or minus (-); and *digits* are one or more decimal digits. If no digits appear before the decimal point, at least one must appear after the decimal point. The decimal digits may be followed by an exponent, which consists of an introductory letter (**e**, or **E**) and an optionally signed decimal integer.
60
+
A *`whitespace`* consists of space or tab characters, which are ignored; *`sign`* is either plus (+) or minus (-); and *`digits`* are one or more decimal digits. If no digits appear before the decimal point, at least one must appear after the decimal point. The decimal digits may be followed by an exponent, which consists of an introductory letter (**`e`**, or **`E`**) and an optionally signed decimal integer.
61
61
62
-
The UCRT versions of these functions do not support conversion of Fortran-style (**d** or **D**) exponent letters. This non-standard extension was supported by earlier versions of the CRT, and may be a breaking change for your code.
62
+
The UCRT versions of these functions do not support conversion of Fortran-style (**`d`** or **`D`**) exponent letters. This non-standard extension was supported by earlier versions of the CRT, and may be a breaking change for your code.
63
63
64
-
The versions of these functions with the **_l** suffix are identical except that they use the *locale* parameter passed in instead of the current locale.
64
+
The versions of these functions with the **`_l`** suffix are identical except that they use the *`locale`* parameter passed in instead of the current locale.
65
65
66
66
By default, this function's global state is scoped to the application. To change this, see [Global state in the CRT](../global-state.md).
67
67
68
68
### Generic-Text Routine Mappings
69
69
70
-
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
70
+
|`TCHAR.H` routine|`_UNICODE` & `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
Print formatted data to a stream. More secure versions of these functions are available; see [fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md).
14
+
Print formatted data to a stream. More secure versions of these functions are available; see [`fprintf_s`, `_fprintf_s_l`, `fwprintf_s`, `_fwprintf_s_l`](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md).
15
15
16
16
## Syntax
17
17
@@ -42,31 +42,31 @@ int _fwprintf_l(
42
42
43
43
### Parameters
44
44
45
-
*stream*<br/>
45
+
*`stream`*<br/>
46
46
Pointer to **FILE** structure.
47
47
48
-
*format*<br/>
48
+
*`format`*<br/>
49
49
Format-control string.
50
50
51
-
*argument*<br/>
51
+
*`argument`*<br/>
52
52
Optional arguments.
53
53
54
-
*locale*<br/>
54
+
*`locale`*<br/>
55
55
The locale to use.
56
56
57
57
## Return Value
58
58
59
-
**fprintf** returns the number of bytes written. **fwprintf** returns the number of wide characters written. Each of these functions returns a negative value instead when an output error occurs. If *stream* or *format* is **NULL**, these functions invoke the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the functions return -1 and set **errno** to **EINVAL**. The format string is not checked for valid formatting characters as it is when using **fprintf_s** or **fwprintf_s**.
59
+
**`fprintf`** returns the number of bytes written. **`fwprintf`** returns the number of wide characters written. Each of these functions returns a negative value instead when an output error occurs. If *`stream`* or *`format`* is **`NULL`**, these functions invoke the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the functions return -1 and set **`errno`** to **`EINVAL`**. The format string is not checked for valid formatting characters as it is when using **`fprintf_s`** or **`fwprintf_s`**.
60
60
61
-
See [_doserrno, errno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) for more information on these, and other, error codes.
61
+
See [`_doserrno`, `errno`, `_sys_errlist`, and `_sys_nerr`](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) for more information on these, and other, error codes.
62
62
63
63
## Remarks
64
64
65
-
**fprintf** formats and prints a series of characters and values to the output *stream*. Each function *argument* (if any) is converted and output according to the corresponding format specification in *format*. For **fprintf**, the *format* argument has the same syntax and use that it has in **printf**.
65
+
**`fprintf`** formats and prints a series of characters and values to the output *`stream`*. Each function *`argument`* (if any) is converted and output according to the corresponding format specification in *`format`*. For **`fprintf`**, the *`format`* argument has the same syntax and use that it has in **`printf`**.
66
66
67
-
**fwprintf** is a wide-character version of **fprintf**; in **fwprintf**, *format* is a wide-character string. These functions behave identically if the stream is opened in ANSI mode. **fprintf** does not currently support output into a UNICODE stream.
67
+
**`fwprintf`** is a wide-character version of **`fprintf`**; in **`fwprintf`**, *`format`* is a wide-character string. These functions behave identically if the stream is opened in ANSI mode. **`fprintf`** does not currently support output into a UNICODE stream.
68
68
69
-
The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
69
+
The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
70
70
71
71
> [!IMPORTANT]
72
72
> Ensure that *format* is not a user-defined string.
@@ -76,19 +76,19 @@ The versions of these functions with the **_l** suffix are identical except that
76
76
77
77
### Generic-Text Routine Mappings
78
78
79
-
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
79
+
|`TCHAR.H` routine|`_UNICODE` & `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
@@ -49,13 +49,13 @@ Returns the value of *x*<sup>*y*</sup>. No error message is printed on overflow
49
49
50
50
## Remarks
51
51
52
-
**pow** does not recognize integral floating-point values greater than 2<sup>64</sup> (for example, 1.0E100).
52
+
**`pow`** does not recognize integral floating-point values greater than 2<sup>64</sup> (for example, 1.0E100).
53
53
54
-
**pow** has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see [_set_SSE2_enable](set-sse2-enable.md).
54
+
**`pow`** has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see [`_set_SSE2_enable`](set-sse2-enable.md).
55
55
56
-
Because C++ allows overloading, you can call any of the various overloads of **pow**. In a C program, unless you're using the \<tgmath.h> macro to call this function, **pow** always takes two **`double`** values and returns a **`double`** value.
56
+
Because C++ allows overloading, you can call any of the various overloads of **`pow`**. In a C program, unless you're using the `<tgmath.h>` macro to call this function, **`pow`** always takes two **`double`** values and returns a **`double`** value.
57
57
58
-
If you use the \<tgmath.h> `pow()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
58
+
If you use the `<tgmath.h>` `pow()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
59
59
60
60
The `pow(int, int)` overload is no longer available. If you use this overload, the compiler may emit [C2668](../../error-messages/compiler-errors-2/compiler-error-c2668.md). To avoid this problem, cast the first parameter to **`double`**, **`float`**, or **`long double`**.
61
61
@@ -67,8 +67,8 @@ By default, this function's global state is scoped to the application. To change
0 commit comments