問題タブ [wchar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
9597 参照

c++ - wchar_t の配列

wchar_t の配列が欲しいです。

以下の作品:

しかし、これはしません

エラーは発生しませんが、wcAltFinalText は不適切な ptr です

ヘルプとコメントは大歓迎です。

0 投票する
2 に答える
474 参照

oracle - OCI、OCILIB、ODBC ワイド文字 (wchar) のサポート

OCI、OCILIB、ODBC、またはその他のライブラリのうち、ワイド文字列 (wchar) をサポートしているのはどれですか?

0 投票する
5 に答える
19575 参照

c++ - WideCharToMultiByte()とwcstombs()

WideCharToMultiByte()とwcstombs()の違いは何ですか?いつどちらを使用するのですか?

0 投票する
2 に答える
1793 参照

c++ - C++でCHAR変数をWCHAR変数にコピーするにはどうすればよいですか

CHAR ファイルを UNICODE ファイルに変換したい。CHAR ファイル タイプでファイルを 1 文字ずつ読み取り、この文字を CHAR 変数に保存します。次に、この CHAR 変数を WCHAR 変数にコピーし、WCHAR 変数を UNICODE ファイルに書き込みます。

コードは次のとおりです。

太字のコードが問題です。CHAR変数をWCHAR変数にコピーするにはどうすればよいですか。_tccpy 関数と strcpy 関数はこれを行うことができません。これは、両方のプロトタイプが char または wachar であるためです。

0 投票する
3 に答える
207 参照

com - COM インターフェイスの WCHAR は良いことですか?

COM インターフェイスの WCHAR は良いことですか?

私はインターネットでこの質問に対する答えを探していましたが、結果はありませんでした。

基本的に、COM で char* / wchar* を使用する必要がありますか、代わりに BSTR を使用する必要がありますか?

それは安全ですか、それとも依存していますか?

このコード例では、その文字列 (ランダム ソースから取得したコード):

COM について話すときに出てくるすべてのマーシャリング、メモリ境界などで何をいつ使用するかについて、私は混乱しています。

データ バッファ (byte*) はどうですか?

0 投票する
1 に答える
1688 参照

c++ - c ++ 0xでのwchar_tの運命は何ですか?

新しい文字タイプ、、、およびをwchar_t考慮したc ++ 0xでの運命は何ですか?char8_tchar16_tchar32_t

さらに重要なのは、、std::wstringなどはstd::wcoutどうですか?

w *ファミリークラスは非推奨ですか?新しいキャラクタータイプの新しいクラス
はありますか?std::ustringstd::Ustring

0 投票する
2 に答える
3945 参照

c# - C# によって呼び出される C++ からの関数ポインターを渡す - 関数の引数には、ワイド char 文字列 (LPCWSTR) が含まれます。

ネイティブ C++ アプリケーションで使用する C# ライブラリを作成しています。相互運用メカニズムとして C++/CLI を使用しています。

C++ から C# にコールバック関数を渡す必要があります (中間層として C++/CLI を使用)。C# ライブラリは、ゼロで終了するワイド文字の文字列を使用して C++ 関数を呼び出す必要があります。つまり、コールバック関数のプロトタイプは

Func(LPCWSTR pszString);

他にもパラメータはありますが、この説明では重要ではありません。

私はネットを検索し、使用できる Marshal.GetDelegateForFunctionPointer Method を見つけました。これの問題は、 System.String を C# から char* に変換し、探している wchar_t* に変換しないことです。

また、可能であれば、C++/CLI 部分を含むこのコード例を実現するための最良の方法は何ですか。C++/CLI dll は C# dll に依存しています。メソッドは同期的に呼び出す必要があります。

0 投票する
1 に答える
3575 参照

c++ - 文字列マクロ/定数をワイド文字/Unicodeに変換する

サードパーティのライブラリを使用するUnicodeWin32アプリケーションがあります。その一部は、バージョン情報の定数を#defined(狭い)文字列として提供します。たとえば、libpngには次のものがあります。

静的にリンクされたさまざまなライブラリのバージョン情報をAboutBoxに追加して、バージョンを簡単に追跡できるようにしています。この定数を幅の広い文字列に変換するのは簡単なようです。

私の最初の試みはTEXT(PNG_HEADER_VERSION_STRING)でしたが、それは次のように失敗します。

..そしてLPNGHEADER_VERSION_STRINGはもちろん存在しません。

そこで、ダブルラッピングマクロのいくつかの組み合わせと、マクロ化された定数にLプレフィックスを追加するためのあらゆる種類の##トリックを試しましたが、できませんでした。私は何か簡単なものが欠けていますか?どのように処理しますか:

プログラム的に、重複するL "Test V1.2.3"を追加するだけでなく、サードパーティのライブラリとの同期を維持する必要もありません。

Unicode用にビルドしている場合は、実行時に変換できることはわかっていますが、この定数を再定義する簡単な方法があると確信していました。

- -アップデート - -

インクルード構造で本当に愚かなことをして、プロットを逃しました。二重定義ラッパーが正常に機能できるように修正しました。私の側では愚かです。

0 投票する
2 に答える
190 参照

multithreading - hash_mapの代わりに使用するデータ構造

そのうちの1つがキーになるように、3つのワイド文字配列を含む配列を作成したいと思います。

「LPWCH、LPWCH、LPWCH」はタグと見なされるため、大なり記号/小なり記号を使用できませんでした

Hash_mapではペアのみを使用できます。wKeyとそれに関連付けられた要素。これを使用できる別のデータ構造はありますか?

このセットは、ほぼ同時に異なるスレッドによって更新されます。そして、それが、残りの2つのワイド文字配列を定義するためにクラスや別の構造体を使用したくない理由です。

0 投票する
3 に答える
1754 参照

c++ - Win32 API呼び出しに「A」サフィックスが必要なのはなぜですか?それを修正する必要がありますか?

Winシェルからコマンドを実行するには、必要でした

そして今、私はForgers Win32チュートリアルを進めていますが、画面にゴミが印刷されないようにするために必要なAサフィックスを見つけています。これは、OSのデフォルトの文字形式と関係があることを私は知っています。2番目の例で使用する*A関数の数に関係なくNULLが返されるため、OSを「正規化」できれば、これが最善の解決策になる可能性がありますRegisterClassExA(* Aサフィックスのllloottttssssを追加して以下に再現)

上記のコードを再検討してForgers(* Aを削除)のようL""にし、代わりに文字列初期化子を使用しましたが、割り当て中にエラーが発生しますconst char g_szClassName[] = L"myWindowClass";

エラーC2053:'g_szClassName':ワイド文字列の不一致

に置き換えるcharと、認識されたタイプではないwcharことを示すコンパイラエラーメッセージが生成されます。wchar

_編集_

L""私は文字列指定子が好ましい解決策であり、私が追求したいものであることを収集します。私の質問が茂みの周りを打ち負かしているようであれば申し訳ありませんが、私は提案を受け入れています。

そのコードを現在使用しているものに更新し、到達できないものを切り取りました。

_編集_

wchar_tエラーコードは87、無効なパラメータなので、パラメータ( )の割り当ては結局間違っていると思い wc.lpszClassName = g_szClassName;ます...:@(

_編集_

間違っていると思いますか?!const LPCTSTR g_szClassName = L"myWindowClass";物事を修正(または破壊)しませんでした。