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で解放する。



glib.h
ヘッダファイルをインクルードする。

#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;
}

結果

basename: chap19.html
dirname: /home/user/ocn

と表示される。


前章  | 目次 |  次章



トップ



/