?? glib-miscellaneous-utility-functions.html
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Miscellaneous Utility Functions</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GLib Reference Manual"><link rel="up" href="glib-utilities.html" title="GLib Utilities"><link rel="prev" href="glib-Hook-Functions.html" title="Hook Functions"><link rel="next" href="glib-Lexical-Scanner.html" title="Lexical Scanner"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="glib.html" title="GLib Overview"><link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"><link rel="chapter" href="glib-core.html" title="GLib Core Application Support"><link rel="chapter" href="glib-utilities.html" title="GLib Utilities"><link rel="chapter" href="glib-data-types.html" title="GLib Data Types"><link rel="chapter" href="tools.html" title="GLib Tools"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"><link rel="index" href="ix09.html" title="Index of new symbols in 2.14"><link rel="index" href="ix10.html" title="Index of new symbols in 2.16"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="glib-Hook-Functions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GLib Reference Manual</th><td><a accesskey="n" href="glib-Lexical-Scanner.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id3068375" class="shortcut">Top</a>  |  <a href="#id3069350" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="glib-Miscellaneous-Utility-Functions"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3068375"></a><span class="refentrytitle">Miscellaneous Utility Functions</span></h2><p>Miscellaneous Utility Functions — a selection of portable utility functions</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include <glib.h>const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-application-name">g_get_application_name</a> (void);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-application-name">g_set_application_name</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *application_name);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-prgname">g_get_prgname</a> (void);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-prgname">g_set_prgname</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *prgname);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-getenv">g_getenv</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *variable);<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-setenv">g_setenv</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *variable, const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *value, <a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> overwrite);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-unsetenv">g_unsetenv</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *variable);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>** <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-listenv">g_listenv</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-user-name">g_get_user_name</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-real-name">g_get_real_name</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-user-cache-dir">g_get_user_cache_dir</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-user-data-dir">g_get_user_data_dir</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-user-config-dir">g_get_user_config_dir</a> (void);enum <a class="link" href="glib-Miscellaneous-Utility-Functions.html#GUserDirectory">GUserDirectory</a>;const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-user-special-dir">g_get_user_special_dir</a> (<a class="link" href="glib-Miscellaneous-Utility-Functions.html#GUserDirectory">GUserDirectory</a> directory);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* const * <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-system-data-dirs">g_get_system_data_dirs</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* const * <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-system-config-dirs">g_get_system_config_dirs</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-host-name">g_get_host_name</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-home-dir">g_get_home_dir</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-tmp-dir">g_get_tmp_dir</a> (void);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-current-dir">g_get_current_dir</a> (void);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-basename">g_basename</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *file_name);#define <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-dirname">g_dirname</a><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-path-is-absolute">g_path_is_absolute</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *file_name);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-path-skip-root">g_path_skip_root</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *file_name);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-path-get-basename">g_path_get_basename</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *file_name);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-path-get-dirname">g_path_get_dirname</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *file_name);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-build-filename">g_build_filename</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *first_element, ...);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-build-filenamev">g_build_filenamev</a> (<a class="link" href="glib-Basic-Types.html#gchar">gchar</a> **args);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-build-path">g_build_path</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *separator, const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *first_element, ...);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-build-pathv">g_build_pathv</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *separator, <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> **args);char* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-format-size-for-display">g_format_size_for_display</a> (<a class="link" href="glib-Basic-Types.html#goffset">goffset</a> size);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-find-program-in-path">g_find_program_in_path</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *program);<a class="link" href="glib-Basic-Types.html#gint">gint</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-bit-nth-lsf">g_bit_nth_lsf</a> (<a class="link" href="glib-Basic-Types.html#gulong">gulong</a> mask, <a class="link" href="glib-Basic-Types.html#gint">gint</a> nth_bit);<a class="link" href="glib-Basic-Types.html#gint">gint</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-bit-nth-msf">g_bit_nth_msf</a> (<a class="link" href="glib-Basic-Types.html#gulong">gulong</a> mask, <a class="link" href="glib-Basic-Types.html#gint">gint</a> nth_bit);<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-bit-storage">g_bit_storage</a> (<a class="link" href="glib-Basic-Types.html#gulong">gulong</a> number);<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-spaced-primes-closest">g_spaced_primes_closest</a> (<a class="link" href="glib-Basic-Types.html#guint">guint</a> num);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-atexit">g_atexit</a> (<a class="link" href="glib-Miscellaneous-Utility-Functions.html#GVoidFunc">GVoidFunc</a> func);<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-parse-debug-string">g_parse_debug_string</a> (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *string, const <a class="link" href="glib-Miscellaneous-Utility-Functions.html#GDebugKey">GDebugKey</a> *keys, <a class="link" href="glib-Basic-Types.html#guint">guint</a> nkeys); <a class="link" href="glib-Miscellaneous-Utility-Functions.html#GDebugKey">GDebugKey</a>;void (<a class="link" href="glib-Miscellaneous-Utility-Functions.html#GVoidFunc">*GVoidFunc</a>) (void);void (<a class="link" href="glib-Miscellaneous-Utility-Functions.html#GFreeFunc">*GFreeFunc</a>) (<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-qsort-with-data">g_qsort_with_data</a> (<a class="link" href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> pbase, <a class="link" href="glib-Basic-Types.html#gint">gint</a> total_elems, <a class="link" href="glib-Basic-Types.html#gsize">gsize</a> size, <a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc">GCompareDataFunc</a> compare_func, <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);void <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-nullify-pointer">g_nullify_pointer</a> (<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> *nullify_location);</pre></div><div class="refsect1" lang="en"><a name="id3069350"></a><h2>Description</h2><p>These are portable utility functions.</p></div><div class="refsect1" lang="en"><a name="id3069365"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3069376"></a><h3><a name="g-get-application-name"></a>g_get_application_name ()</h3><a class="indexterm" name="id3069391"></a><pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* g_get_application_name (void);</pre><p>Gets a human-readable name for the application, as set by<a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-application-name"><code class="function">g_set_application_name()</code></a>. This name should be localized ifpossible, and is intended for display to the user. Contrast with<a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-prgname"><code class="function">g_get_prgname()</code></a>, which gets a non-localized name. If<a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-application-name"><code class="function">g_set_application_name()</code></a> has not been called, returns the result of<a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-prgname"><code class="function">g_get_prgname()</code></a> (which may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-prgname"><code class="function">g_set_prgname()</code></a> has also notbeen called).</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td> human-readable application name. may return <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></td></tr></tbody></table></div><p class="since">Since 2.2</p></div><hr><div class="refsect2" lang="en"><a name="id3069518"></a><h3><a name="g-set-application-name"></a>g_set_application_name ()</h3><a class="indexterm" name="id3069533"></a><pre class="programlisting">void g_set_application_name (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *application_name);</pre><p>Sets a human-readable name for the application. This name should belocalized if possible, and is intended for display to the user.Contrast with <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-prgname"><code class="function">g_set_prgname()</code></a>, which sets a non-localized name.<a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-prgname"><code class="function">g_set_prgname()</code></a> will be called automatically by <ahref="/usr/share/gtk-doc/html/gtk/gtk-General.html#gtk-init"><code class="function">gtk_init()</code></a>,but <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-application-name"><code class="function">g_set_application_name()</code></a> will not.</p><p>Note that for thread safety reasons, this function can onlybe called once.</p><p>The application name will be used in contexts such as error messages,or when displaying an application's name in the task list.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>application_name</code></em> :</span></p></td><td> localized name of the application</td></tr></tbody></table></div><p class="since">Since 2.2</p></div><hr><div class="refsect2" lang="en"><a name="id3069646"></a><h3><a name="g-get-prgname"></a>g_get_prgname ()</h3><a class="indexterm" name="id3069659"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* g_get_prgname (void);</pre><p>Gets the name of the program. This name should <span class="emphasis"><em>not</em></span> be localized, contrast with <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-application-name"><code class="function">g_get_application_name()</code></a>.(If you are using GDK or GTK+ the program name is set in <ahref="/usr/share/gtk-doc/html/gdk/gdk-General.html#gdk-init"><code class="function">gdk_init()</code></a>, which is called by <ahref="/usr/share/gtk-doc/html/gtk/gtk-General.html#gtk-init"><code class="function">gtk_init()</code></a>. The program name is found by taking the last component of <code class="literal">argv[0]</code>.)</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td> the name of the program. The returned string belongs to GLib and must not be modified or freed.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3069744"></a><h3><a name="g-set-prgname"></a>g_set_prgname ()</h3><a class="indexterm" name="id3069757"></a><pre class="programlisting">void g_set_prgname (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *prgname);</pre><p>Sets the name of the program. This name should <span class="emphasis"><em>not</em></span> be localized, contrast with <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-set-application-name"><code class="function">g_set_application_name()</code></a>. Note that for thread-safety reasons this function can only be called once.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>prgname</code></em> :</span></p></td><td> the name of the program.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3069824"></a><h3><a name="g-getenv"></a>g_getenv ()</h3><a class="indexterm" name="id3069836"></a><pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>* g_getenv (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *variable);</pre><p>Returns the value of an environment variable. The name and valueare in the GLib file name encoding. On UNIX, this means the actualbytes which might or might not be in some consistent character setand encoding. On Windows, it is in UTF-8. On Windows, in case theenvironment variable's value contains references to otherenvironment variables, they are expanded.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top">
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -