- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Search for |

- File List
- Globals

# putil.h File Reference

C API: Platform Utilities. More...

`#include "unicode/utypes.h"`

Go to the source code of this file.

## Defines
#define | IEEE_754 1
#define | U_FILE_SEP_CHAR '/'
| Filesystem file and path separator characters.
#define | U_FILE_ALT_SEP_CHAR '/'
#define | U_PATH_SEP_CHAR ':'
#define | U_FILE_SEP_STRING "/"
#define | U_FILE_ALT_SEP_STRING "/"
#define | U_PATH_SEP_STRING ":"
## Functions
const char * | u_getDataDirectory (void)
| Return the ICU data directory.
void | u_setDataDirectory (const char *directory)
| Set the ICU data directory.
const char * | uprv_getDefaultCodepage (void)
| Please use ucnv_getDefaultName() instead.
const char * | uprv_getDefaultLocaleID (void)
| Please use uloc_getDefault() instead.
void | u_charsToUChars (const char *cs, UChar *us, int32_t length)
| Convert char characters to UChar characters.
void | u_UCharsToChars (const UChar *us, char *cs, int32_t length)
| Convert UChar characters to char characters.

## Detailed Description

C API: Platform Utilities.

Definition in file putil.h.

## Define Documentation

#define U_FILE_SEP_CHAR '/'

Filesystem file and path separator characters.

Example: '/' and ':' on Unix, '\' and ';' on Windows.

Stable:
  ICU 2.0

Definition at line 133 of file putil.h.

## Function Documentation

void u_charsToUChars | ( | const char * | cs,
|  | UChar * | us,
|  | int32_t | length |
| ) |  |  |

Convert char characters to UChar characters.

This utility function is useful only for "invariant characters" that are encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see U_CHARSET_FAMILY.

Parameters:

  | cs | Input string, points to `length` character bytes from a subset of the platform encoding.
  | us | Output string, points to memory for `length` Unicode characters.
  | length | The number of characters to convert; this may include the terminating `NUL`.

See also:
  U_CHARSET_FAMILY

Stable:
  ICU 2.0

const char* u_getDataDirectory | ( | void |  | ) |

Return the ICU data directory.

The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.

The data directory is determined as follows: If u_setDataDirectory() has been called, that is it, otherwise if the ICU_DATA environment variable is set, use that, otherwise If a data directory was specifed at ICU build time (define ICU_DATA_DIR "path"), use that, otherwise no data directory is available.

Returns:
  the data directory, or an empty string ("") if no data directory has been specified.

Stable:
  ICU 2.0

void u_setDataDirectory | ( | const char * | directory | ) |

Set the ICU data directory.

The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.

This function should be called at most once in a process, before the first ICU operation (e.g., u_init()) that will require the loading of an ICU data file. This function is not thread-safe. Use it before calling ICU APIs from multiple threads.

Parameters:

  | directory | The directory to be set.

See also:
  u_init

Stable:
  ICU 2.0

void u_UCharsToChars | ( | const UChar * | us,
|  | char * | cs,
|  | int32_t | length |
| ) |  |  |

Convert UChar characters to char characters.

This utility function is useful only for "invariant characters" that can be encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see U_CHARSET_FAMILY.

Parameters:

  | us | Input string, points to `length` Unicode characters that can be encoded with the codepage-invariant subset of the platform encoding.
  | cs | Output string, points to memory for `length` character bytes.
  | length | The number of characters to convert; this may include the terminating `NUL`.

See also:
  U_CHARSET_FAMILY

Stable:
  ICU 2.0

const char* uprv_getDefaultCodepage | ( | void |  | ) |

Please use ucnv_getDefaultName() instead.

Return the default codepage for this platform and locale. This function can call setlocale() on Unix platforms. Please read the platform documentation on setlocale() before calling this function.

Returns:
  the default codepage for this platform

Internal:
  Do not use. This API is for interal use only.

const char* uprv_getDefaultLocaleID | ( | void |  | ) |

Please use uloc_getDefault() instead.

Return the default locale ID string by querying ths system, or zero if one cannot be found. This function can call setlocale() on Unix platforms. Please read the platform documentation on setlocale() before calling this function.

Returns:
  the default locale ID string

Internal:
  Do not use. This API is for interal use only.