トップページ > 記事閲覧
DxLib関数にwchar_t の使用はできるのか
名前:Ice 日時: 2020/06/05 00:20

こんばんは。プログラミング初心者です。 ゲームを完成させて配布していたのですが、外国の方のPCで日本語が表示されないうえにファイルの読み込みができないらしく、 ttps://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=3248 を参考に文字列をchar から wchar_t に変換する作業を行っていました。 そこで、ファイルから読み取った文字列を格納した wchar_t 型をLoadGraph などの関数に代入できないという問題が発生してしまいました。 2つ質問したいのですが、 1.この作業で改善される可能性はあるか 2.char型に変換する以外に上記の問題の解決策はあるか が知りたいです。 新しいことばかりで困惑しています。どうか助太刀願います。
メンテ

Page: 1 |

Re: DxLib関数にwchar_t の使用はできるのか ( No.1 )
名前:管理人 日時:2020/06/07 17:28

ご返信が遅くなり申し訳ありません > 1.この作業で改善される可能性はあるか はい、char ではなく wchar_t を使うようにすることで外国の方のPCでも 正常に日本語が表示されるようになると思います > 2.char型に変換する以外に上記の問題の解決策はあるか どのDXライブラリの関数を呼び出すよりも前( ChangeWindowMode や SetGraphMode よりも前 )に SetUseCharCodeFormat( DX_CHARCODEFORMAT_SHIFTJIS ); という関数を実行すれば、char -> wchar_t に変更しなくても正常に日本語が表示される可能性は高いです ( ただ、char から wchar_t への変更を行った方が確実です ) あと、LoadGraph などの関数の引数を wchar_t にする方法がありまして、もし VisualStudio をお使いでしたら プロジェクトを開いた状態で VisualStudio のメニューから 『プロジェクト』→『プロパティ』 を選択してプロジェクトの設定を開き <VisualStudio 2019 の場合>『構成プロパティ』→『詳細』にある『文字セット』を『Unicode 文字セットを使用する』に変更して『OK』 <VisualStudio 2017 の場合>『構成プロパティ』→『全般』にある『文字セット』を『Unicode 文字セットを使用する』に変更して『OK』 と設定を変更することで LoadGraph や DrawString などの文字列を引数に渡す関数の方が char から wchar_t に変更されます よろしければお試しください m(_ _)m
メンテ
Re: DxLib関数にwchar_t の使用はできるのか ( No.2 )
名前:Ice(解決) 日時:2020/06/07 20:53

SetUseCharCodeFormatを使用したところ相手のPCでも正しく動いたようです! 詳しく教えてくださり本当にありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存