Function
GLibfilename_to_utf8
Declaration
gchar*
g_filename_to_utf8 (
const gchar* opsysstring,
gssize len,
gsize* bytes_read,
gsize* bytes_written,
GError** error
)
Description
Converts a string which is in the encoding used by GLib for filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8 for filenames; on other platforms, this function indirectly depends on the [current locale][setlocale].
The input string shall not contain nul characters even if the len
argument is positive. A nul character found inside the string will result
in error G_CONVERT_ERROR_ILLEGAL_SEQUENCE
.
If the source encoding is not UTF-8 and the conversion output contains a
nul character, the error G_CONVERT_ERROR_EMBEDDED_NUL
is set and the
function returns NULL
. Use g_convert()
to produce output that
may contain embedded nul characters.
Parameters
opsysstring |
const gchar* |
A string in the encoding for filenames. |
|
The data is owned by the caller of the function. | |
The value is a file system path, using the OS encoding. | |
len |
gssize |
The length of the string, or -1 if the string is
nul-terminated (Note that some encodings may allow nul
bytes to occur inside strings. In that case, using -1
for the |
|
bytes_read |
gsize* |
Location to store the number of bytes in the
input string that were successfully converted, or |
|
The argument will be set by the function. | |
The argument can be NULL . | |
bytes_written |
gsize* |
The number of bytes stored in the output buffer (not including the terminating nul). |
|
The argument will be set by the function. | |
The argument can be NULL . | |
error |
GError ** |
The return location for a GError* , or NULL . |