[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
- 楽天がTBSの筆頭株主に (1 PV)
- レスポンシブウェブデザイン (1 PV)
- AWSの開発者向けイベント「AWS Dev Day Tokyo 2017」が5月31日から6月2日に開催される (1 PV)
- GCC開発者らがGoogleの「Go言語」をサポートする方針を発表 - SourceForge.JP Magazine (1 PV)
- WordPressが使いやすい (1 PV)
- PRISM(プリズム) (1 PV)
- 民主党小沢代表辞意撤回の茶番劇 (1 PV)
- 話題のナンピンマーチンEA「NPNM_v3」をバックテストしてみました (1 PV)
- イスラム帝国 (1 PV)
- バーチャルFXがリニューアル、なんと優勝賞品がこれまでの10倍の現金100万円に (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (345 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (43 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (31 PV)
- [PR]noteで販売している自作EAの一覧 (31 PV)
- DECOLOG(デコログ) (29 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (28 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (27 PV)
- Google News (グーグルニュース)日本版 (26 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (23 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (22 PV)
アクセス統計
ディレクトリ
関連サイト