説明
C言語で
探してみると意外と見つからないので登録しておきます。
コメント

- 3:ゲスト (うーん)
- 2007/08/02 04:37
使いかたのサンプルなんでエラーチェックとかを多少省くのはいいのかもしれませんが、iconv_closeの前にiconv(cd,

- 4:hykw
- 2007/08/02 07:50
コメントありがとうございます。
実は(C言語から)
どなたか、よろしければ「俺ならこう書く」して頂けると助かるのですが

- 5:ゲスト
- 2007/08/02 20:43
iconv(1)
あまり良い

- 8:どよび
- 2007/08/05 00:21
>5:
時代はICUっすねw
で、いきなりえらそうな事を言ってしまったので
責任もって「俺ならこう書く」を投稿させていただきますm(__)m
....と思ったら「俺ならこう書く」、投稿できないorz
また明日来ます。
とりあえず今のコードの問題点をば
--
1.
2.
3.
以下、あんまり重要じゃないきがするけど気になった場所
a.
b.
c.
d.
e.
細かいところばっかごちゃごちゃとすんません。
逆に、細かい問題点しか思い浮かばないということは「全然ひどくない」ということなんすよね。

- 9:どよび
- 2007/08/06 03:48
ちょっと致命的っぽいバグ?があるので報告します。
どうやら、iconvはolen分だけ(NULL終端の分を余らせないで)
しっかりデータを書き込んでくれるみたいなので、
*pout
はアクセス違反を起こす可能性があります。
それと、配列の宣言時にサイズをconst定数で指定する方法がVisualC8.0だとダメでした。(拡張子をcppやccにすればOK)
やっぱりC言語の場合素直に#defineを使うほうがよいのではと思いました。

- 10:ゲスト (通りすがりの者ですが)
- 2007/09/10 01:43
tarのiconvとかを見てると参考になりますよ。
#include
#include
#include
#include
#ifdef
#
#endif
#ifndef
#
#endif
#ifndef
#
#
#
#
#
#
#endif
static
static
utf8_init
{
}
bool
utf8_convert
{
}
bool
string_ascii_p
{
}

- 12:どよび
- 2008/08/16 00:09
strlen使ってるのでUTF-16とかの入力があったとき失敗することがあるみたいです。
http://code.nanigac.com/source/view/126
正直iconvのインターフェースはstrncpyやgets並に悪意がこもっていると思います。

- 13:l-w-i
- 2008/08/21 02:28
軟弱者の僕はコマンドでやっちゃってます...
(Solarisの場合)
http://l-w-i.net/t/solaris/iconv_001.txt

- 14:ゲスト (iconv初心者)
- 2008/08/23 01:02
iconvを使っているんですが、
詳しい方に教えて頂きたいことがあります。
iconv_openの中では何をしているんでしょうか?
っというのも、iconv_openの前にcallocをしているんですが、
iconv_open実行後にそのcallocで確保したメモリの中を
破壊しているようなんです。
言語はc言語です。
OSは若干特殊でHP-UXを使っています。
どなたか、わかる方がいらっしゃいましたら教えてください。
よろしくお願いします。

- 15:ゲスト
- 2008/12/16 17:25
http://altalt.dyndns.ws:8080/blog/blosxom.cgi?path=/misc_...
手もとで検証する限りは、正しく動作しました。
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。









これはひどいタグが付いちゃってますね(^ ^;)
ちょっと理解しずらいコードかもしれません。
コメント無いし。
以下のページも参考に...
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv.3...