g_file_open_tmp (
  const gchar* tmpl,
  gchar** name_used,
  GError** error


Opens a file for writing in the preferred directory for temporary files (as returned by g_get_tmp_dir()).

tmpl should be a string in the GLib file name encoding containing a sequence of six ‘X’ characters, as the parameter to g_mkstemp(). However, unlike these functions, the template should only be a basename, no directory components are allowed. If template is NULL, a default template is used.

Note that in contrast to g_mkstemp() (and mkstemp()) tmpl is not modified, and might thus be a read-only literal string.

Upon success, and if name_used is non-NULL, the actual name used is returned in name_used. This string should be freed with g_free() when not needed any longer. The returned name is in the GLib file name encoding.


tmpl const gchar*

Template for file name, as in g_mkstemp(), basename only, or NULL for a default template.

 The argument can be NULL.
 The data is owned by the caller of the function.
 The value is a file system path, using the OS encoding.
name_used gchar**

Location to store actual name used, or NULL.

 The argument will be set by the function.
 The called function takes ownership of the data, and is responsible for freeing it.
 The value is a file system path, using the OS encoding.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gint

A file handle (as from open()) to the file opened for reading and writing. The file is opened in binary mode on platforms where there is a difference. The file handle should be closed with close(). In case of errors, -1 is returned and error will be set.