Function

GLibfopen

since: 2.6

Declaration

FILE*
g_fopen (
  const gchar* filename,
  const gchar* mode
)

Description

A wrapper for the stdio fopen() function. The fopen() function opens a file and associates a new stream with it.

Because file descriptors are specific to the C library on Windows, and a file descriptor is part of the FILE struct, the FILE* returned by this function makes sense only to functions in the same C library. Thus if the GLib-using code uses a different C library than GLib does, the FILE* returned by this function cannot be passed to C library functions like fprintf() or fread().

See your C library manual for more details about fopen().

As close() and fclose() are part of the C library, this implies that it is currently impossible to close a file if the application C library and the C library used by GLib are different. Convenience functions like g_file_set_contents_full() avoid this problem.

Available since: 2.6

Parameters

filename

Type: const gchar*

A pathname in the GLib file name encoding (UTF-8 on Windows)

The data is owned by the caller of the function.
The value is a file system path, using the OS encoding.
mode

Type: const gchar*

A string describing the mode in which the file should be opened.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.

Return value

Type: FILE*

A FILE* if the file was successfully opened, or NULL if an error occurred.

The data is owned by the called function.
The return value can be NULL.