問題タブ [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.
gdb - gdbでwstringを印刷する方法
gdbでwstringを出力するにはどうすればよいですか?
c++ - std :: wstring VS std :: string
std::string
との違いがわかりませんstd::wstring
。wstring
Unicode文字などのワイド文字をサポートしていることは知っています。次の質問があります。
- いつ使い替えるべきです
std::wstring
かstd::string
? std::string
特殊文字を含むASCII文字セット全体を保持できますか?std::wstring
すべての一般的なC++コンパイラでサポートされていますか?- 正確には「ワイド文字」とは何ですか?
c++ - C++ で移植可能な wchar_t
C++ に移植可能な wchar_t はありますか? Windows では、2 バイトです。それ以外はすべて 4 バイトです。アプリケーションで wstring を使用したいのですが、これを移植することに決めた場合、問題が発生します。
c++ - C++0x は、UTF-8 バイト シーケンスとの間の std::wstring 変換をサポートしていますか?
C++0x が UTF-8、UTF-16、および UTF-32 リテラルのサポートを追加することを確認しました。しかし、3 つの表現の間の変換はどうでしょうか。
コードのどこでも std::wstring を使用する予定です。しかし、ファイルやネットワークを扱うときは、UTF-8 でエンコードされたデータを操作する必要もあります。C++0x もこれらの操作をサポートしますか?
c++ - エラー C2593: 演算子 = があいまいです
エラー C2593: 演算子 = があいまいです
上記の割り当てでこのエラーが発生するのはなぜですか? VC6で動作します。VC9 ではコンパイルされません。
c++ - vc6 dll から wstring を作成するときのポインタまたはリンクの問題
VC6 で生成された DLLwstring
を使用して、VC9 プロジェクトで使用しようとしています。この DLL にはwstring
、 と呼ばれるを操作する上位レベルのクラスがありUtfString
ます。
プロジェクトにすべてが正しくインポートされましたが、呼び出すと:
関数プロトタイプがライブラリにある場合でも、リンクしません...
もう 1 つの発行者は、新しい UtfString を作成し、アプリをデバッグすると、新しいポインタが<Bad Ptr>
.
wstring
VC6と VC9の競合が疑われますが、よくわかりwstring
ません。元の Dll を変更することは避けたいです。
誰かが私のために物事をより明確にし、問題の本当の理由が何であるかを説明してくれれば素晴らしいと思います.
回答ありがとうございます、ボリス
c++ - UCS-2LE テキスト ファイルの解析
Microsoft レポート ツールを使用して作成されたテキスト ファイルがあります。テキスト ファイルにはBOM
0xFFFE
、先頭に が含まれ、次にASCII
文字間にヌルがある文字出力 (" F.i.e.l.d.1.
") が含まれます。これを使用して、これを入力形式および出力形式として使用iconv
するように変換できます...うまく機能します。UTF-8
UCS-2LE
UTF-8
私の問題は、UCS-2LE
ファイルから文字列に行単位で読み取り、フィールド値を解析してからASCII
テキスト ファイル (つまりField1 Field2
) に書き出すことです。string
のおよびwstring
ベースのバージョンを試しましたgetline
– ファイルから文字列を読み取る間、関数のような関数substr(start, length)
は文字列を値として解釈する8-bit
ため、開始値と長さの値はオフです。
UCS-2LE
データをC++
文字列に読み込み、データ値を抽出するにはどうすればよいですか? 私は数多くのグーグル検索と同様に見てきましたがboost
、icu
うまくいくものは見つかりませんでした。ここで何が欠けていますか?助けてください!
私のコード例は次のようになります。
したがって、たとえば" "srcBuf
が含まれている場合、上記は " " の代わりに " " を返します。 W.e. t.h.i.n.k. i.n. g.e.n.e.r.a.l.i.t.i.e.s.
substr()
.k. i.n. g.e
g.e.n.e.r.a.l.i.t.i.e.s.
私が望むのは、マルチバイト表現を気にせずに文字列を読み込んで処理することです。boost
これらの文字列をファイルから読み取り、内部使用のために固定幅表現に変換するために (または他の何かを) 使用する例はありますか?
ところで、私は Eclipse と gcc を使用して Mac を使用してSTL
います。ワイド文字列を理解できない可能性はありますか?
ありがとう!
c++ - C ++wstringNULLで終了するwchar_t配列から割り当てる方法
C ++標準ライブラリのほとんどのテキストでは、charではなくwchar_tでパラメータ化されていることを除いて、wstringはstringと同等であると記載されており、文字列のみのデモンストレーションに進みます。
まあ、時々、いくつかの特定の癖があります、そしてここに1つあります:私は16ビット文字のNULLで終了する配列からwstringを割り当てることができないようです。問題は、割り当てがヌル文字とそれに続くゴミを実際の文字としてうまく使用することです。これは非常に小さな削減です:
この時点で、lは予想される6( "RKData"の文字数)ではありませんが、はるかに大きくなっています。私のテストランでは29です。なぜ29なのですか?わからない。メモリダンプには、29番目の文字の特定の値は表示されません。
だから質問:これは私の標準C ++ライブラリ(Mac OS X Snow Leopard)のバグですか、それとも私のコードのバグですか?16ビット文字のnullで終了する配列をwstringに割り当てるにはどうすればよいですか?
ありがとう
c++ - wstringでstd::use_facetを使用するQt
ワイド文字列の先頭のスペースをスキップするには、クロスプラットフォーム コードが必要です。g++ (および Qt は明らかに) はワイド文字列のスロットをまったく初期化しないようです。したがって、次のコードは VC++ では正常に動作しますが、ほとんどの g++ は bad_cast 例外で失敗します。
仕様によると: 「ロケール オブジェクトのファセット リポジトリに、要求された locale::id のファセットが含まれていない場合の bad_cast 例外」
では、g++ がワイド文字列をどのように扱うのかという一般的な質問はありますか? より狭い質問 - 少なくとも ctype のファセットを初期化する方法は?
更新: いくつかの実験の後、Linux g++ がワイド文字列のファセットを正しく初期化することを発見しました。そのため、コードは機能します。説明されている問題は、mingw のみの場合の機能です。
cstring - Wstring を CString に変換する
Cstring の変数があり、それを wstring に変換する必要があります。