[gcc]iconvで文字エンコードを変換するサンプルプログラム

単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、 ときにはプログラム内部で取得した文字列の文字エンコードを変換したい場合もあります。

以下のプログラムはLinuxやCygwinの環境でC言語のプログラムからiconvを呼び出して文字エンコードを変換する場合の手順を示したサンプルプログラムです。

--- tst_iconv.c ---

#include <stdio.h>
#include <iconv.h>

#define  BUFSIZE  1024

char outbuf[BUFSIZE];

int convert(char const *src,
            char const *dest,
            char const *text,
            char *buf,
            size_t bufsize);

main(void)
{
    int ret;

    ret = convert("SHIFT-JIS", "UTF-8",
                  "日本語テストメッセージおはよう",
                  outbuf, sizeof(outbuf));
    if (ret) {
        printf("%s\n", outbuf);
    }
    else {
        printf("Oops!\n");
    }
}

int convert(char const *src,
            char const *dest,
            char const *text,
            char *buf,
            size_t bufsize)
{
    iconv_t cd;
    size_t srclen, destlen;
    size_t ret;

    cd = iconv_open(dest, src);
    if (cd == (iconv_t)-1) {
        perror("iconv open");
        return 0;
    }

    srclen = strlen(text);
    destlen = bufsize - 1;
    memset(buf, '\0', bufsize);

    ret = iconv(cd, &text, &srclen, &buf, &destlen);
    if (ret == -1) {
        perror("iconv");
        return 0;
    }

    iconv_close(cd);
    return 1;
}

コンパイル方法
$ gcc -o tst_iconv tst_iconv.c -liconv

ICONV

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
ソフトバンククリエイティブ 著者:青木 峰郎 価格:2,940円 評価:★★★★★


  • 良書だと思います ★★★★★
  • Linuxを学ぶ為の読本、Cプログラムミングを学ぶなら別の本で ★★★★★
  • 基礎を学ぶには良い書籍だと思います ★★★★★
  • 入門書としては良い ★★★★
  • Linuxプログラミングを始めたい人にオススメ ★★★★★

powered by amalink
[2182] Posted by kagahiro at 2010/08/06 00:29:29
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)

キーワード
gcc C言語 Linux Cygwin 文字エンコード 変換 サンプル プログラム

語句検索のホームページ


[gcc]iconvで文字エンコードを変換するサンプルプログラム 関連リンク

C言語
C言語は、AT&T社のベル研究所でデニス・リッチー氏とカーニハン氏の両氏によって開発されたプログラミング言語で、プログラムサイズが小さく高速のプログラムの作成が可能であるため、パソコンソフトや組み込み用のソ...

[gcc]iconvで文字エンコードを変換するサンプルプログラム トラックバック

トラックバックURL :


[gcc]iconvで文字エンコードを変換するサンプルプログラムへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前のスレッド      次のスレッド >

アクセスランキング

今日のアクセスランキング(上位10件)

  1. PHP、MySQLで動くオープンソース掲示板ソフト (7 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (6 PV)
  3. 2chまとめサイト(ブログ)検索 (2 PV)
  4. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (2 PV)
  5. 警視庁がチャゲアスのASKA(宮崎重明)を覚せい剤取締法違反で逮捕、本人は容疑を否認 (2 PV)
  6. [動画]中国共産党の正体 第一評 共産党とは一体何ものか (1 PV)
  7. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (1 PV)
  8. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (1 PV)
  9. さくらのレンタルサーバ - レンタルサーバー (1 PV)
  10. [画像]シンディ・クロフォードさんの下着姿の無修正写真が出まわる (1 PV)

今月のアクセスランキング(上位10件)

  1. PHP、MySQLで動くオープンソース掲示板ソフト (87 PV)
  2. 岡沢高宏の相棒でヤクザの金村剛弘(金剛弘)が西新宿の路上で襲撃され死亡 (74 PV)
  3. 2chまとめサイト(ブログ)検索 (56 PV)
  4. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (52 PV)
  5. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (50 PV)
  6. 警視庁がチャゲアスのASKA(宮崎重明)を覚せい剤取締法違反で逮捕、本人は容疑を否認 (48 PV)
  7. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (43 PV)
  8. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (38 PV)
  9. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (36 PV)
  10. [B-CAS]平成の龍馬(多田光宏)逮捕 (34 PV)

アクセス統計

ディレクトリ

関連サイト