![]() |
![]() |
![]() |
g_locale_to_utf8
GLibで採用されている国際規格文字コードUnicode(UTF-8)と、 各国環境(ロケール)規定文字コードとの、相互変換を行う関数が用意されている。
これは現在のロケールで与えられた文字列を、UTF-8でエンコードされた文字列に変換する。 変換の際に新たにメモリ領域を確保しているので、使用後はg_freeで解放する。
| 第1引数 | 文字列 |
| 第2引数 | 文字列の長さ(-1を指定すると文字列全体を変換) |
| 第3引数 | 読み込みデータのバイト数 |
| 第4引数 | 書き込みデータのバイト数 |
| 第5引数 | エラー |
| 戻り値 | 変換後の文字列 |

g_locale_from_utf8
g_locale_to_utf8とは逆に、UTF-8でエンコードされた文字列を、現在のロケールの文字列に変換する。 新たにメモリ領域を確保するので、やはり使用後はg_freeで解放する。

g_filename_to_utf8
ファイル名の文字列をUTF-8でエンコードされた文字列に変換する。 やはり、新たにメモリ領域を確保する。

g_filename_from_utf8
g_filename_to_utf8とは逆に、 UTF-8でエンコードされた文字列を、ファイル名用のエンコーディングに変換する。

g_get_home_dir
ユーザーのホームディレクトリを取得する

g_get_currentdir_dir
現在のディレクトリを取得する。メモリ領域を確保するので、使用後はg_freeで解放する。

|
#include <glib.h> int main(int argc, char** argv) { g_print( "Home directory : %s\n", g_get_home_dir() ); gchar *currentdir; currentdir = g_get_current_dir(); g_print( "Current directory : %s\n", currentdir ); g_free( currentdir ); return 0; } |
g_path_get_basename
パスから最後のファイル名を返す。 パスがディレクトリを指す時は、最後のディレクトリ名を返す。

g_path_get_dirname
パスから最後のファイル名を除いたディレクトリ部分を返す。

|
#include <glib.h> #define filename "/home/user/ocn/chap19.html" int main(int argc, char** argv) { gchar *basename; gchar *dirname; basename = g_path_get_basename(filename); dirname = g_path_get_dirname(filename); g_print( "basename: %s\n", basename ); g_print( "dirname: %s\n", dirname ); g_free( basename ); g_free( dirname ); return 0; } |
結果