Linuxって wsprintf 使えないぞ
■ このスレッドは過去ログ倉庫に格納されています
0031デフォルトの名無しさん
NGNGめちゃくちゃなのはお前の方。どんな環境で動かしても同じような
結果になる。まず、国際化プログラミング関係の本をちゃんと読み、
ワイドキャラクタやlocaleについて勉強しろ。
ISO C localeモデルに従ってプログラミングするには、まずsetlocaleを
呼び出してlocaleを設定しなければならない。特別なことをしないの
なら、setlocale(LC_ALL, "")を最初に呼び出し現在のlocaleで動作
するようにする。setlocaleを呼ばなければC localeで動作するので
日本語は当然認識されない。
--enable-c-mbchar付けてコンパイルしたgccならワイド文字列定数を
コンパイル時のlocaleに従って処理してくれるので、mainの直後に
setlocale(LC_ALL, "")を付け加え、日本語localeでコンパイルし実行
すれば期待通りの動作をするはず。
でも--enable-c-mbcharってバグっているっぽい、っていうかかなり
逝ってよしな仕様。ちゃんと国際化しないとだめじゃん。まあ、国際化
の作法に従うなら、C localeで扱えない文字をソースに埋め込まず、
catgetやgettextを使用するようにしないといかんのだが。
■ このスレッドは過去ログ倉庫に格納されています