---
name: "wstrcpy"
section: "3"
platform: "linux"
package: "libsynce0-dev"
version: "0.15-1.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/wstr_to_ascii"
---

# wstrcpy(3)

wide string handling functions

Part of [wstr\_to\_ascii(3)](/wstr_to_ascii/3.md).

## NAME

wstr\_to\_ascii - wide string handling functions

## SYNOPSIS

```
#include <synce.h>

char *wstr_to_ascii(LPCWSTR unicode);
char *wstr_to_utf8(LPCWSTR unicode);
char *wstr_to_current(LPCWSTR unicode);

LPWSTR wstr_from_ascii(const char * ascii);
LPWSTR wstr_from_utf8(const char * utf8);
LPWSTR wstr_from_current(const char * utf8);

void wstr_free_string(void * string);

size_t wstrlen(LPCWSTR unicode);

LPWSTR wstrcpy(LPWSTR dest, LPCWSTR src);

bool wstr_append(LPWSTR dest, LPCWSTR src, size_t max_dest_length);

bool wstr_equal(LPWSTR a, LPWSTR b);

LPWSTR wstrdup(LPCWSTR string);

```

## DESCRIPTION

The **wstr\_to\_xxx**() functions convert a wide char string to the appropriate local string. The  **wstr\_from\_xxx**() functions do the reverse. Use **wstr\_free\_string**() to free memory allocated for wide strings.

**wstrcpy**() requires that **dest** is large enough to contain **src.** No bounds checking is performed.

**wstr\_append**() requires that **dest** is at least **max\_dest\_length** long. No bounds checking is performed.

The remaining functions perform standard string operations on wide char strings.

## RETURN VALUE

**wstr\_to\_xxx**() and **wstr\_from\_xxx**() return pointers to the allocated strings, or NULL on failure, which will occur if a source character cannot be represented in the destination encoding.

**wstrdup**() return a pointer to the allocated string, or NULL on failure. **wstrlen**() returns the string length. **wstrcpy**() returns the pointer to **src.**

**wstr\_append()** returns false on failure eg. if the sum of the lengths is greater than **max\_dest\_length,** true on success.

**wstr\_equal()** returns true if **a** and **b** are equal, false otherwise.

## SEE ALSO

[**synce**(7)](/synce/7.md)
