---
name: "_i64tow"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/_i64tow"
---

# \_i64tow(3w)

## NAME

**\_i64tow** (NTDLL.@)

## SYNOPSIS

LPWSTR \_i64tow\
  (\
   LONGLONG *value*,\
   LPWSTR   *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 unicode string.

## RETURNS

Always returns *str*.

## NOTES

Converts *value* to a **' '** terminated wstring which is copied to *str*. The maximum length of the copied *str* is **33** 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 just returns **NULL**.

## 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 \_i64tow function and our ntdll function do not have this bug.

## IMPLEMENTATION

Declared in **"msvcrt/stdlib.h"**.

Implemented in **"dlls/ntdll/wcstring.c"**.
