[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. 「暴力と麻薬に汚染された芸能界」を告発する梨元勝の「遺言状」 (28 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (7 PV)
  3. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (5 PV)
  4. 元TBSのフリーアナウンサー「川田亜子」さん他殺の疑い (3 PV)
  5. 高知東生の次に逮捕される芸能人としてN田敏行さんが取りざたされる (2 PV)
  6. ピーアーク三田は許せない 東京都港区 (2 PV)
  7. 2chのヤバイ板偏差値 (2 PV)
  8. 飯島愛さんの遺体から薬物反応、死因はうっ血性心不全か (2 PV)
  9. デスクトップ2ch (1 PV)
  10. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (1 PV)

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

  1. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (290 PV)
  2. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (248 PV)
  3. 「暴力と麻薬に汚染された芸能界」を告発する梨元勝の「遺言状」 (216 PV)
  4. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (209 PV)
  5. PHP、MySQLで動くオープンソース掲示板ソフト (122 PV)
  6. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (116 PV)
  7. 行方不明、家出、人探し掲示板 (107 PV)
  8. 5ちゃんねる(5ch.net)掲示板の検索について (89 PV)
  9. 2chみたいな掲示板「PHP 2chBBS」 (79 PV)
  10. 人気モデルのケイトアプトンさんがGuess(ゲス)創業者ポールマルシアーノ氏のセクハラを告発 (67 PV)

アクセス統計

ディレクトリ

関連サイト