問題タブ [wstring]

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 投票する
2 に答える
554 参照

c++ - 供給している文字列が既に wstring であることを wstring に伝えるにはどうすればよいですか?

テキスト バッファとして std::string を使用しています。次に、そのバッファーに含まれるデータが UTF-16 (つまり、実際には std::wstring) であると確信しています。std::string を std::wstring に強制するにはどうすればよいですか? std::string は誤称です。データは実際には wstring です。

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

c++ - c++は、iconvを使用してUTF-8からwstringに変換します

次を実行するC++ Linuxアプリケーションがあります。

UTF-8 char ベクトルを wstring に変換したいのですが、上記のコードは次の結果を返します。

iconv 結果は、最初の文字を別の文字に変換します。

注: UCS-4 -INTERNAL の WCHAR_T を置き換えると、wstr には何も含まれません。

助けはありますか?

ありがとう!

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

c++ - wstring と wchar_t のオーバーロードにおける同様の変換 *

私は次のコードを持っています:

そして私は得ています:

wstring と wchar_t * の間に暗黙的な変換があってはなりません (そうすべきでしょうか?)。

前もって感謝します

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

c++ - std::wstringの最初の文字のみをブーストシリアル化します

ブーストを使用して、テキストアーカイブでstd::wstring変数をシリアル化します。std :: stringに切り替えると非常にうまく機能しますが、wstringを使用すると、1文字しかシリアル化されません。なんで?

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

c++ - std::wstringでヒープメモリ割り当てがクラッシュする

std::wstringのメモリ割り当てに大きな問題があります。このコードを使おうとすると、プログラムがクラッシュします。

クラッシュは最後の行にあり、次の行を使用しても発生しません。

エラーはメモリヒープ割り当ての失敗であり、結果はプログラムのクラッシュです。なんで?どうしたの?

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

c++ - wstring->ShellExecuteのLPCWSTRでエラーLNK2028およびLNK2019が発生します

こんにちは私はUniCODEと/clrを使用してVisualC++ 2010(スペイン語)でプログラミングしています。「fileFuncs.h」というヘッダーファイルがあります。

しかし、コンパイルすると、次のエラーが発生します。

  • エラーLNK2028:未解決のシンボル(トークン)を参照(0A0004A5) "extern" C "struct HINSTANCE__ * stdcall ShellExecuteW(struct HWND *、wchar_t const *、wchar_t const *、wchar_t const *、wchar_t const *、int)"(? ShellExecuteW @@ $$ J224YGPAUHINSTANCE_ @@ PAUHWND _ @@ PB_W111H @ Z)関数 "void __cdecl callSystem(class std :: basic_string、class std :: allocator>)"(?callSystem @@ $$ FYAXV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@

  • エラーLNK2019:外部シンボル "extern" C "struct HINSTANCE__ * stdcall ShellExecuteW(struct HWND *、wchar_t const *、wchar_t const *、wchar_t const *、wchar_t const *、int)"(?ShellExecuteW @@ $$ J224YGPAUHINSTANCE_ @@ PAUHWND _ @@ PB_W111H @ Z) "void __cdecl callSystem(class std :: basic_string、classstd :: allocator)"関数(?callSystem @@ $$ FYAXV?$ basic_string @ DU?$ char_traits @ D @ std @ @V?$ allocator @ D @ 2 @@ std @@@ Z)

ある種の構成ですか?

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

c++ - `std::wstring` に格納されているコンソール コマンドの実行

次のようなコンソールコマンドがあります。

このコマンドを実行したい。
どうすればいいのですか?

(Win32 API 関数または標準 C/C++ ライブラリの場合があります。)

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

android-ndk - AndroidNDKでstd::wstringサポートが欠落している場合の解決策?

何千もの場所で基本的な文字列型としてstd::wstringを使用し、wchar_tとその関数(wcsicmp()wcslen()vsprintf()など)を操作するゲームがあります。

問題は、wstringがR5c(この書き込みの時点で最新のndk)でサポートされていないことです。

国際化のためにstd::stringを使用するようにコードを変更できず、多くのゲームで使用されているゲームエンジンを壊してしまいます...

どのオプションがありますか?

1-stringとwstringを独自の文字列クラスに置き換えます

これにより、プラットフォームの独立性が向上しますが、ホイールを再実装するのはばかげています。私はすでに文字列のCOW実装から始めました。hash_mapsのキーとして使用するため、COWである必要があります。もちろん、これは多くの作業とエラーが発生しやすいです...しかし、それは私ができることのようです。

2-C標準ライブラリ(wcslen、mbstowcs ...)のワイド文字列関数の独自の実装を使用してSTLPortを再コンパイルするNDKを修正してみてください

これは好ましい方法です...しかし、私はそれを行う方法がわかりません:(

libstdc ++。aまたはlibstlport_static.aの関数(たとえばwcslen)を置き換えるにはどうすればよいですか?(どこにあるかわからない:()

また、どの関数を再実装する必要があるのか​​わからないので、wcslenが機能していないことはわかっているので、すべてである必要があると思います...

3-他に何かアイデアはありますか?

これに対する公式の修正を待つことはできません。#2の方法がわからない場合は、オプション#1を選択する必要があります。

2.3をターゲットにするとwstringsを使用できるとどこかで読んだことがありますが、Android2.1をターゲットにする必要があります。

PS:もちろんSTLを使用する必要があると言うのを忘れましたが、RTTIはなく、例外なく生きることができます。

前もって感謝します!

0 投票する
0 に答える
338 参照

c++ - C++でStringCchVPrintfW文字列フォーマットバッファを割り当てていますか?

Microsoft Windows SDK の例でこのコードを見つけました。

MAX_VPRINTF_BUFFER_SIZE大きな定数 (4096) です。今:

wstring実際には UTF-16 でエンコードされているため、可変長形式 (特定の外国文字に 2 バイト以上を使用) ではありませんか?

ただし、 のbufferサイズが 4096 * 2 バイトに変更された場合、バイトStringCchVPrintfW数ではなく文字数でカウントされるため、2 バイトを超える文字が検出されると、バッファ オーバーフローが発生する可能性があります。

私の仮定は正しいですか?この問題はどのように対処できますか?

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

c++ - TCHAR を wstring に追加する: 機能しない

私は非常に簡単なことをしています。ユーザーに文字入力を求め、その文字を文字列に保存しようとしています。次に、その文字列全体を出力します。

プログラムはWindows用ですが、プログラムをASCIIとUnicodeの両方で動作させたいので、TCHARとwstringを使用しています。

私の問題: (ユーザーが入力した) 文字を wstring に追加できません。その変数には格納されません。なんで?

私の簡単なコード: