
Linux 上で以下のようなプログラム(文字コードのEUC/SJIS変換)を実行すると「II」が変換できず(正確にはNULLになってしまう。)に文字列が破壊されてしまいます。
実際使用するデータの中には「II」が存在するので、この文字(ギリシャ文字全部?その他にもありますかね?)を使用不可とするのは難しいので、上手く変換できるようにしたいのですが、iconv_openの代わりになる関数(あるいは上手く変換させる方法)ってありませんか?
#include <stdlib.h>
#include <iconv.h>
int main(int ac,char **av){
int desc = 0;
char r[512];
char w[512];
char *rr;
char *ww;
rr = r;
ww = w;
int a,b;
a = 256;
b = 256;
if((desc = iconv_open( "SHIFT-JIS", "EUC-JP" )) != -1){
strcpy(r,"aIIa\n");
iconv(desc,&rr,&a,&ww,&b);
printf("%s\n",w);
}
}
No.1ベストアンサー
- 回答日時:
昔、iconvでうまく行かなかったときは、iconvを使用するのはやめて、nkfを使用しました。
nkfはソースもあり不具合が有れば、自分で修整すれば良いので以後は、すべてnkfを使用していました。
当時を思い出すと。。。「iconvは癖があり使い方が面倒で、いちいち調べるより、ソースが簡単だったのでnkfを利用した方が、時間的にも短かった」様な気がします。
参考URL:http://sourceforge.jp/projects/nkf/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAの自動変換機能?
-
Mac 乗数の入力方法
-
NumericUpDownを使用してテキス...
-
緯度、経度の 10進法と 60進法...
-
VC++2005で、CString型に16進...
-
C++からCへのソース変換について
-
FortranをC++(VC++)へ変換
-
.sb3のファイルを.sb2に変換す...
-
C#で漢数字をアラビア数字に変...
-
VB.NETからJavaに変換するツー...
-
ASP.NET SJIS→UTF-8文字コード...
-
gmtime()とlocaltime()は
-
COMP-3
-
Excel(全シート) → PDF変換を...
-
WinHelpからHTML Helpに変換
-
Windows ce と utf-8
-
10進数をBCDに変換する方法
-
VC++での色抽出。
-
C#でのpngからbmpへの変換について
-
UTF8→ShiftJISに変換したいです!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
VB.NETをJavaに変換するツール...
-
c++でmatからvectorへの変換の...
-
分を時間に変換するプログラム
-
緯度、経度の 10進法と 60進法...
-
逆コンパイルと逆アセンブルの...
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
C++からCへのソース変換について
-
VB6で10進数を32進数に変換する...
-
php
-
画像ファイル変換(Tiff→PDF)
-
VB.NETからJavaに変換するツー...
-
PHPで、日本語からアルファベッ...
-
WinHelpからHTML Helpに変換
-
マンセル⇔XYZ,RGB変換式或いは...
おすすめ情報