[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. SQLプログラミング質問スレ (4 PV)
  2. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (4 PV)
  3. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (2 PV)
  4. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (2 PV)
  5. コピペ新聞 (2 PV)
  6. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (1 PV)
  7. 福島第一原発3号機、自衛隊ヘリでの消火活動を断念 (1 PV)
  8. 東京電力、明日(3月14日)から計画停電(輪番停電)を開始 (1 PV)
  9. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (1 PV)
  10. 闇の声(やみのこえ) (1 PV)

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

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (181 PV)
  2. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (121 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (109 PV)
  4. SQLプログラミング質問スレ (87 PV)
  5. rmQUDCIRhBUcLRZO (81 PV)
  6. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (65 PV)
  7. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (53 PV)
  8. 「ハッスルサーバー」月額208円でPHP、MySQLが使える格安レンタルサーバー (42 PV)
  9. rpNjcMBJJd (41 PV)
  10. [掲示板]59bbs のダウンロード(Perl/CGI)[フリーソフト] (39 PV)

アクセス統計

ディレクトリ

関連サイト