File Utilities

Do not use these APIs unless you are porting a POSIX application to Windows. A more high-level file access API is provided as GIO; see the documentation for GFile.

POSIX File Wrappers

There is a group of functions which wrap the common POSIX functions dealing with filenames:

The point of these wrappers is to make it possible to handle file names with any Unicode characters in them on Windows without having to use #ifdefs and the wide character API in the application code.

On some Unix systems, these APIs may be defined as identical to their POSIX counterparts. For this reason, you must check for and include the necessary header files (such as fcntl.h) before using functions like g_creat(). You must also define the relevant feature test macros.

The pathname argument should be in the GLib file name encoding. On POSIX this is the actual on-disk encoding which might correspond to the locale settings of the process (or the G_FILENAME_ENCODING environment variable), or not.

On Windows the GLib file name encoding is UTF-8. Note that the Microsoft C library does not use UTF-8, but has separate APIs for current system code page and wide characters (UTF-16). The GLib wrappers call the wide character API if present (on modern Windows systems), otherwise convert to/from the system code page.

POSIX Directory Wrappers

Another group of functions allows to open and read directories in the GLib file name encoding:

Error Handling

Setting/Getting File Contents

File Tests

Temporary File Handling

Building and Manipulating Paths

Creating Directories

Deprecated API