Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

wcstof function in C library

  • Last Updated : 07 Jul, 2021

The wcstof() functions convert the initial portion of the wide-character string pointed to by str to a float point value. The str parameter points to a sequence of characters that can be interpreted as a numeric floating-point value. These functions stop reading the string at the first character that it cannot recognize as part of a number i.e. if the first character is any of any type except numbers the function terminates there only. This character can be the wchar_t null character at the end of the string. 
The standard library functions beginning with ‘wcs’ are declared in wchar.h library in C.
Syntax : 
 

float wcstof (const wchar_t* str, wchar_t** endptr);
Parameters :
str : C wide string beginning with the 
representation of a floating-point number.
endptr : Reference to an already allocated object 
of type wchar_t*, whose value is set by the function 
to the next character in str after the numerical value.
This parameter can also be a null pointer.

Return value : Floating point value corresponding 
to the contents of str on success. If the converted value 
falls out of range of corresponding return type, 
range error occurs and is returned.

 

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.

C




// C code to convert string having
// floating point as its content
// using wcstof function
 
#include <stdio.h>
 
// header file containing wcstof function
#include <wchar.h>
 
int main()
{
    // wide Character array to be parsed
    wchar_t str[] = L"58.152 9.26";
 
    // Wide Character array to be parsed
    wchar_t* pEnd;
 
    // float variable to store floating point values
    float f1, f2;
 
    // Parsing the float values to f1 and f2
    f1 = wcstof(str, &pEnd);
    f2 = wcstof(pEnd, NULL);
    f2 = 2 * f2;
 
    // Printing parsed float values of f1 and f2
    wprintf(L"%.2f\n%.2f\n", f1, f2);
 
    // operation being performed on the values parsed
    wprintf(L"Value of Pie is %.2f .\n", f1 / f2);
 
    return 0;
}

Output: 
 

58.15
18.52
Value of Pie is 3.14 .

 

My Personal Notes arrow_drop_up
Recommended Articles
Page :