If base is 10 and value is negative, the resulting string is preceded with a minus sign (-). With any other base, value is always considered unsigned.
str should be an array long enough to contain any possible value: (sizeof(int)*8+1) for radix=2, i.e. 17 bytes in 16-bits platforms and 33 in 32-bits platforms.
Parameters
- value
- Value to be converted to a string.
- str
- Array in memory where to store the resulting null-terminated string.
- base
- Numerical base used to represent the value as a string, between 2 and 36, where 10 means decimal base, 16 hexadecimal, 8 octal, and 2 binary.
Return Value
A pointer to the resulting null-terminated string, same as parameter str.Portability
This function is not defined in ANSI-C and is not part of C++, but is supported by some compilers.A standard-compliant alternative for some cases may be sprintf:
- sprintf(str,"%d",value) converts to decimal base.
- sprintf(str,"%x",value) converts to hexadecimal base.
- sprintf(str,"%o",value) converts to octal base.
Example
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Output:
Enter a number: 1750 decimal: 1750 hexadecimal: 6d6 binary: 11011010110 |
See also
| sprintf | Write formatted data to string (function) |
| atoi | Convert string to integer (function) |
| atol | Convert string to long integer (function) |
