[Armadillo:08625] Re: ARMADILLO-440でiconvを使う

SAITOH akinori email@hidden
2013年 2月 22日 (金) 10:28:32 JST


齊藤と申します

(2013/02/21 19:22), watanabe wrote:
> 渡辺と申します。
> 
> シフトJISとUnicodeの変換を行いたくてiconvを使おうとしていますが、
> うまく行きません。
> 
> 	iconv_t ic = iconv_open("UTF-8", "SJIS");
> 	memcpy( in, sjis, sizeof(sjis) );
> 	rtn = iconv( ic, &in, &in_size, &out, &out_size );
> 	iconv_close(ic);
とりあえず if(rtn==-1)perror("iconv");を入れてみて
ERRNOが何になってるか確認してはどうでしょうか

マニュアルには
「4.  出力バッファーに次の変換された文字列のための空きがない場合。 この
場合、 errno が E2BIG に設定され、 (size_t) -1 が返される。 」とあります.
・out_sizeの値が小さすぎる
・out_sizeに値が設定されていないままiconvを呼び出している
あたりが疑われますが・・・

メールに書かれたプログラム断片にはin_sizeの値設定も
書かれて居ないのが気になります

-- 
	齊藤明紀 email@hidden



armadillo メーリングリストの案内