!! 基本データ型 教科書p64の'''表4.1'''を参考にしよう.データ型の名前からほぼ,類推できるはず. * C言語の基本的な型名の前に「g」を付与 ** gint, gchar, gdouble, ... * GLib独自の型もあるので注意 ** guint8, gpointer, gboolean, ... !! メモリ割り当て :'''g_new0(struct_type, n_structs)''' ::指定したデータ型 struct_type のメモリ領域を n_structs 分確保し, 0 で初期化した上で先頭アドレスを返す.実体はマクロ. :'''void g_free (gpointer mem)''' ::確保したメモリ領域を解放する. !! 文字列操作 :'''gchar* g_strdup(const gchar *str)''' ::文字列strを新しい文字列としてコピー.((color green 領域は新たに確保))してくれる. :'''gchar* g_strdup_printf(const gchar *format, ...)''' ::printf形式で新しい文字列を生成する.((color green 領域は新たに確保))してくれる. :'''gchar** g_strsplit(const gchar *string, const gchar *delimiter, gint max_token)''' ::文字列 string を,区切り文字 delimiter で最大 max_tokens 個に分割する.戻り値は,文字列の配列へのポインタ.もちろん,((color green 領域は新たに確保))してくれる. !! ファイルアクセス :'''gboolean g_file_test (const gchar *filename, GFileTest test)''' ::ファイルの状態を調べる関数. 第2引数に与える値(下記)によって, ファイルが存在するか,ディレクトリか,などを調へられる. ||G_FILE_TEST_IS_REGULAR|ファイルか ||G_FILE_TEST_IS_SYMLINK| シンボリックリンクか ||G_FILE_TEST_IS_DIR | ディレクトリか ||G_FILE_TEST_IS_EXECUTABLE | 実行可能か ||G_FILE_TEST_EXISTS | 存在するか :'''GDir* g_dir_open (const gchar *path, guint flags, GError **error)''' ::ディレクトリをオープンする. :'''G_CONST_RETURN gchar* g_dir_read_name (GDir *dir)''' ::ディレクトリ内のファイル名を調べる. 呼び出されるごとに,順番にファイル名を返す. 最後にNULLが返る. :'''void g_dir_close (GDir *dir)''' ::ディレクトリをクローズする. :'''G_CONST_RETURN gchar* g_get_home_dir (void)''' ::ホームディレクトリを取得する. :'''gchar* g_get_current_dir (void)''' ::現在のディレクトリを取得する. :'''gchar* g_path_get_basename (const gchar *file_name)''' ::パスを含んだbasenameから,最後のファイル名(またはディレクトリ名)を返す. :gchar* g_path_get_dirname (const gchar *file_name); ::パスを含んだbasenameから,最後のファイル名を取り除いたディレクトリ部分を返す. :gchar* g_build_filename (const gchar *first_element , ...); ::引数に与えた文字列(可変個)をファイル名用の区切り文字 (例えば/) で結合し,1つの文字列を作成する.引数の最後は NULL で終える必要がある. !! Unicode関係 * 日本語を扱いたい場合,基本的には((colo red ソースに記述する日本語をUTF-8で書けばOK)). * 他の文字コードとUTF-8を相互変換する関数群も提供されている. ** g_locale_to_utf8, g_locale_from_utf8 ** g_filename_to_utf8, g_filename_from_utf8 !! 連結リスト !! ハッシュ !! タイマー