wstr_to_ascii man page

wstr_to_ascii — wide string handling functions


#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);


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


Referenced By

Explore man page connections for wstr_to_ascii(3).

wstr_append(3), wstrcpy(3), wstrdup(3), wstr_equal(3), wstr_free_string(3), wstr_from_ascii(3), wstr_from_current(3), wstr_from_utf8(3), wstrlen(3), wstr_to_current(3) and wstr_to_utf8(3) are aliases of wstr_to_ascii(3).