Open In App

strtoul() function in C/C++

The strtoul() function in C/C++ which converts the initial part of the string in str to an unsigned long int value according to the given base, which must be between 2 and 36 inclusive, or be the special value 0. This function discard any white space characters until the first non-whitespace character is found, then takes as many characters as possible to form a valid base-n unsigned integer number representation and converts them to an integer value.

Syntax:  



unsigned long int strtoul(const char *str, char **end, int base)

Parameter: The function accepts three mandatory parameters which are described below:  

Return value: The function returns two value as below:  



Below programs illustrate the above function:

Program 1:  




// C++ program to illustrate the
// strtoul() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // initializing the string
    char str[256] = "90600 Geeks For Geeks";
 
    // reference pointer
    char* end;
    long result;
 
    // finding the unsigned long
    // integer with base 36
    result = strtoul(str, &end, 36);
 
    // printing the unsigned number
    cout << "The unsigned long integer is : "
         << result << endl;
    cout << "String in str is : " << end;
 
    return 0;
}

Output: 
The unsigned long integer is : 15124320
String in str is :  Geeks For Geeks

 

Program 2: 




// C++ program to illustrate the
// strtoul() function with
// different bases
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // initializing the string
    char str[256] = "12345 GFG";
 
    // reference pointer
    char* end;
    long result;
 
    // finding the unsigned long integer
    // with base 36
    result = strtoul(str, &end, 0);
    cout << "The unsigned long integer is : "
         << result << endl;
    cout << "String in str is : " << end << endl;
 
    // finding the unsigned long integer
    // with base 12
    result = strtoul(str, &end, 12);
    cout << "The unsigned long integer is : "
         << result << endl;
    cout << "String in str is : " << end << endl;
 
    // finding the unsigned long integer
    // with base 30
    result = strtoul(str, &end, 30);
    cout << "The unsigned long integer is : "
         << result << endl;
    cout << "String in str is : " << end << endl;
 
    return 0;
}

Output: 
The unsigned long integer is : 12345
String in str is :  GFG
The unsigned long integer is : 24677
String in str is :  GFG
The unsigned long integer is : 866825
String in str is :  GFG

 


Article Tags :
C++