Reference

_i64toa(3w)

NAME

_i64toa (NTDLL.@)

SYNOPSIS

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.

DESCRIPTION

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".

History