[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. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (53 PV)
  2. 浜崎あゆみ(はまさきあゆみ、ayumi hamasaki) (23 PV)
  3. 2ちゃんねるは不法行為で乗っ取られていた、管理人のひろゆきが声明を発表 (20 PV)
  4. 2ちゃんねるまとめブログ「明日もやられやく」の管理人「小林浩忠容疑者」がウイルス作成罪で逮捕 (20 PV)
  5. 橋下市長は正しかった、米兵が日本人女性を二人がかりでレイプか (20 PV)
  6. 闇の声(やみのこえ) (18 PV)
  7. 倉木麻衣(くらきまい) (18 PV)
  8. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (18 PV)
  9. [掲示板]2ちゃんねる(2ch.net) (18 PV)
  10. 掲示板フリーソフト - 無料で利用できる掲示板CGI (17 PV)

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

  1. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (53 PV)
  2. 浜崎あゆみ(はまさきあゆみ、ayumi hamasaki) (23 PV)
  3. 2ちゃんねるは不法行為で乗っ取られていた、管理人のひろゆきが声明を発表 (20 PV)
  4. 2ちゃんねるまとめブログ「明日もやられやく」の管理人「小林浩忠容疑者」がウイルス作成罪で逮捕 (20 PV)
  5. 橋下市長は正しかった、米兵が日本人女性を二人がかりでレイプか (20 PV)
  6. 闇の声(やみのこえ) (18 PV)
  7. 倉木麻衣(くらきまい) (18 PV)
  8. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (18 PV)
  9. [掲示板]2ちゃんねる(2ch.net) (18 PV)
  10. 掲示板フリーソフト - 無料で利用できる掲示板CGI (17 PV)

アクセス統計

ディレクトリ

関連サイト