問題タブ [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.
c++ - 供給している文字列が既に wstring であることを wstring に伝えるにはどうすればよいですか?
テキスト バッファとして std::string を使用しています。次に、そのバッファーに含まれるデータが UTF-16 (つまり、実際には std::wstring) であると確信しています。std::string を std::wstring に強制するにはどうすればよいですか? std::string は誤称です。データは実際には wstring です。
c++ - c++は、iconvを使用してUTF-8からwstringに変換します
次を実行するC++ Linuxアプリケーションがあります。
UTF-8 char ベクトルを wstring に変換したいのですが、上記のコードは次の結果を返します。
iconv 結果は、最初の文字を別の文字に変換します。
注: UCS-4 -INTERNAL の WCHAR_T を置き換えると、wstr には何も含まれません。
助けはありますか?
ありがとう!
c++ - wstring と wchar_t のオーバーロードにおける同様の変換 *
私は次のコードを持っています:
そして私は得ています:
wstring と wchar_t * の間に暗黙的な変換があってはなりません (そうすべきでしょうか?)。
前もって感謝します
c++ - std::wstringの最初の文字のみをブーストシリアル化します
ブーストを使用して、テキストアーカイブでstd::wstring変数をシリアル化します。std :: stringに切り替えると非常にうまく機能しますが、wstringを使用すると、1文字しかシリアル化されません。なんで?
c++ - std::wstringでヒープメモリ割り当てがクラッシュする
std::wstringのメモリ割り当てに大きな問題があります。このコードを使おうとすると、プログラムがクラッシュします。
クラッシュは最後の行にあり、次の行を使用しても発生しません。
エラーはメモリヒープ割り当ての失敗であり、結果はプログラムのクラッシュです。なんで?どうしたの?
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)
ある種の構成ですか?
c++ - `std::wstring` に格納されているコンソール コマンドの実行
次のようなコンソールコマンドがあります。
このコマンドを実行したい。
どうすればいいのですか?
(Win32 API 関数または標準 C/C++ ライブラリの場合があります。)
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はなく、例外なく生きることができます。
前もって感謝します!
c++ - C++でStringCchVPrintfW文字列フォーマットバッファを割り当てていますか?
Microsoft Windows SDK の例でこのコードを見つけました。
はMAX_VPRINTF_BUFFER_SIZE
大きな定数 (4096) です。今:
はwstring
実際には UTF-16 でエンコードされているため、可変長形式 (特定の外国文字に 2 バイト以上を使用) ではありませんか?
ただし、 のbuffer
サイズが 4096 * 2 バイトに変更された場合、バイトStringCchVPrintfW
数ではなく文字数でカウントされるため、2 バイトを超える文字が検出されると、バッファ オーバーフローが発生する可能性があります。
私の仮定は正しいですか?この問題はどのように対処できますか?
c++ - TCHAR を wstring に追加する: 機能しない
私は非常に簡単なことをしています。ユーザーに文字入力を求め、その文字を文字列に保存しようとしています。次に、その文字列全体を出力します。
プログラムはWindows用ですが、プログラムをASCIIとUnicodeの両方で動作させたいので、TCHARとwstringを使用しています。
私の問題: (ユーザーが入力した) 文字を wstring に追加できません。その変数には格納されません。なんで?
私の簡単なコード: