C programming stdlib.h function - double strtod(const char *str, char **endptr)
The strtod
function in the stdlib.h
library of the C programming language is used to convert a string that represents a floating-point number into a double
value. The syntax of the strtod
function is as follows:
double strtod(const char *str, char **endptr);Source:witfigi.wwdea.com
Here, the argument str
is a pointer to the null-terminated string to be converted, and endptr
is a pointer to a char *
variable. If endptr
is not NULL
, the strtod
function sets *endptr
to the first character in str
that is not part of the number being converted.
The strtod
function scans the input string pointed to by str
, and converts it to a double
value. The function stops scanning the input string when it encounters the first character that cannot be part of a floating-point number. The function returns the converted value as a double
value.
For example, the following code uses the strtod
function to convert a string representing a floating-point number into a double
value:
#include <stdio.h> #include <stdlib.h> int main() { char str[] = "3.14159"; char *endptr; double value; value = strtod(str, &endptr); printf("The converted value is: %f\n", value); return 0; }
In this example, the input string is the null-terminated string "3.14159"
. The strtod
function converts this string to the double
value 3.14159
, which is stored in the value
variable. The program then uses the printf
function to print the converted value. The output of the program is:
The converted value is: 3.141590
Note that the strtod
function returns 0.0
if the input string is not a valid floating-point number. If endptr
is not NULL
, the strtod
function sets *endptr
to the first character in str
that is not part of the number being converted. If the entire input string is part of the number being converted, *endptr
is set to the null character ('\0'
). It is the responsibility of the caller to check the value of *endptr
to determine if the conversion was successful.