The strtoumax() function in C++ interprets the contents of a string as an integral number of the specified base and return its value as an uintmax_t(maximum width unsigned integer). This function also sets an end pointer that points to the first character after the last valid numeric character of the string, if there is no such character then the pointer is set to null. The return value is set to garbage value when a negative number is entered as a string. This function is defined in cinttypes header file.
uintmax_t strtoumax(const char* str, char** end, int base)
Parameter: The function accepts three mandatory parameters which are described below:
- str: specifies a string consist of an integral number.
- end: specifies a reference to object of type char*. The value of end is set by the function to the next character in str after the last valid numeric character. This parameter can also be a null pointer, in case if it is not used.
- base: specifies the numerical base (radix) that determines the valid characters and their interpretation in the string
Return Type : The strtoimax() function returns two values which are described below:
- If valid conversion occur then the function returns the converted integral number as integer value.
- If no valid conversion could be performed and if the string includes minus sign with the corresponding integer number then the garbage value is returned by the function otherwise a zero value is returned (0)
Below programs illustrate the above function:
Program 1 :
Given String = 999999abcdefg Number with base 10 in string 999999 End String points to abcdefg Given String = 10010 Number with base 2 in string 18 Null pointer
Program 2 :
Given String = -10000 Garbage value stored in num 18446744073709541616 Null pointer Given String = abcd Number with base 10 in string 0 End String points to abcd
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- What happens when a virtual function is called inside a non-virtual function in C++
- Function Overloading vs Function Overriding in C++
- Difference between Virtual function and Pure virtual function in C++
- How to call some function before main() function in C++?
- How to call function within function in C or C++
- Difference between user defined function and library function in C/C++
- Difference between virtual function and inline function in C++
- Write a one line C function to round floating point numbers
- Does C support function overloading?
- How can I return multiple values from a function?
- What is the purpose of a function prototype?
- How to declare a pointer to a function?
- C function to Swap strings
- Can we call an undeclared function in C++?
- What is evaluation order of function parameters in C?
- Can we use function on left side of an expression in C and C++?
- Declare a C/C++ function returning pointer to array of integer pointers
- Function overloading and return type
- Function Pointer in C
- Importance of function prototype in C
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.