_i64toa3w
Usage
char * _i64toa
(
LONGLONG value,
char* str,
int radix
)
Params
value [In] Value to be converted.
str [Out] Destination for the converted value.
radix [In] Number base for conversion.
Overview
Converts a large integer to a string.
Returns
str.
Notes
- Converts value to a Nul terminated string which is copied to str.
- The maximum length of the copied str is 65 bytes. If radix is 10 and value is negative, the value is converted with sign.
- Does not check if radix is in the range of 2 to 36.
- If str is NULL it crashes, as the native function does.
Differences
- The native dll converts negative values (for base 10) wrong:
-1 is converted to -18446744073709551615
-2 is converted to -18446744073709551614
-9223372036854775807 is converted to -9223372036854775809
-9223372036854775808 is converted to -9223372036854775808
The native msvcrt _i64toa function and our ntdll _i64toa function do not have this bug.
Implementation
Declared in "msvcrt/stdlib.h".
Implemented in "dlls/ntdll/string.c".
Releases
4 releases since Debian 4.0 (Etch); the text changed 3 times.