[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
[1982] Posted by kagahiro at 2010/07/26 09:54:29
オープン | 0 point | Link (2) | Trackback (0) | Comment (0)
オープン | 0 point | Link (2) | Trackback (0) | Comment (0)
キーワード
[gcc]iconvで文字エンコードを変換するサンプルプログラム 関連リンク
C言語 | |
C言語とは、AT&T社のベル研究所でデニス・リッチー氏とカーニハン氏の両氏によって開発されたプログラミング言語のことで、アメリカ規格協会(ANSI)によって1986年に標準化され、国際標準化機構(ISO)や日本工業規格(J... |
[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード | |
1バイト(8bit)の10進数を2進数の文字列に変換するコードのC言語版です。C言語では、PerlやPHPなどのように2進文字列に変換してくれる便利な関数は関数はないので、ビット演算子を使ってビットのオン・オフを判定して... |
[gcc]iconvで文字エンコードを変換するサンプルプログラム トラックバック
トラックバックURL :
[gcc]iconvで文字エンコードを変換するサンプルプログラムへのコメント
アクセスランキング
今日のアクセスランキング TOP 10
- 2chまとめサイト - 痛いニュース(ノ∀`) (3 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (2 PV)
- Google News (グーグルニュース)日本版 (2 PV)
- MySQLのINSERT ... SELECT文でLIMIT句を使用して上位3件のレコードをテーブルに追加する (1 PV)
- 裁量トレードで買い(BUY)か売り(SELL)かを判断する方法 (1 PV)
- A8.net(エーハチネット)、アフィリエイト商品DBをソニーの「FLO:Q」に提供 (1 PV)
- [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (1 PV)
- 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (1 PV)
- [YouTube]森高千里 公式チャンネル (1 PV)
- Exness ソーシャルトレーディングの戦略プロバイダーになりました (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1111 PV)
- Google News (グーグルニュース)日本版 (239 PV)
- 日経平均株価(にっけいへいきんかぶか) (132 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (102 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (94 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (94 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (90 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (87 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (73 PV)
- 裁量トレードで買い(BUY)か売り(SELL)かを判断する方法 (71 PV)
アクセス統計
ディレクトリ
関連サイト