問題タブ [widestring]
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++ - Windows上のC++でのUnicodeでの大文字と小文字を区別しない検索
昨日同様の質問をしましたが、別の方法でリフェーズする必要があることを認識しています。
つまり、WindowsのC ++で、文字列がUnicode形式(ワイド文字、wchar_t)であり、文字列の言語がわからない場合に、大文字と小文字を区別せずに文字列(別の文字列内)を検索するにはどうすればよいですか? 。針が干し草の山にあるかどうか知りたいだけです。針の位置は私には関係ありません。
背景:多くのメール本文を含むリポジトリがあります。メッセージはさまざまな言語(日本語、ドイツ語、ロシア語、フィンランド語、名前を付けます)で書かれています。すべてのデータはUnicode形式であり、C ++アプリケーションのワイド文字列(wchar_t)にロードします(本文はMIMEデコードされているため、デバッガーでは実際の日本語、ドイツ語の文字を確認できます)。電子メールメッセージにはその詳細が含まれていないため、メッセージの言語がわかりません。また、単一の電子メール本文に複数の言語の文字が含まれている場合があります。
私はwcsstrのようなものを探していますが、ケースに敏感でない方法で検索を実行する機能を備えています。テキストの言語を知らなければ、大文字から小文字に100%適切に変換することは不可能であることを私は知っています。可能な99%のケースで機能するソリューションが必要です。
Visual Studio 2008をC++、STL、Boostで使用しています。
c++ - ワイド文字列リテラルと文字列マクロの組み合わせ
次のような文字列のマクロがあります。
次に、次のようにして、このマクロを使用して幅の広い文字列を作成します。
ただし、これにより「不一致の文字列を連結する」コンパイルエラーが生成されます。
APPNAMEマクロをワイド文字列リテラルに変換する方法はありますか?
c++ - System ::WideStringをchar*に、またはその逆に変換するにはどうすればよいですか?
とを比較する必要がある状況がありchar*
ますWideString
。
WideStringをC++でchar*に変換するにはどうすればよいですか?
visual-c++ - Visual C 2008 Express の wctype はどこにありますか?
Visual C 2008 Express を使用して、サードパーティ ソフトウェアを Linux から Windows に移植しています。
関数 `wctype' だけに問題があります。%VCDIR%/include/wctype.h ファイルで次のように宣言されています。
ただし、リンクしようとすると、次のエラーが発生します。
テストコードは次のとおりです。
エラー メッセージでわかるように、コードは正常にコンパイルされていますが、リンクできません。
何をすべきか?私はこのソフトウェアの開発者ではないので、元の開発者を混乱させる可能性があるため、「wctype」関数を別のものに置き換えたくありません。
お待ちいただきありがとうございます。
PS Dependency Walker を使用して MSVCRT90.DLL ファイルのインポート テーブルも調べましたが、「wctype」関数はありません。
delphi - Delphi、文字列とワイド文字列のメモリ使用量の問題、Unicode 以外の VCL (D7)
それらを説明するWideStringパラメーター(名前、説明など)を持ついくつかのクラスを保存しています。これらすべての WideString を単純な「文字列」に変更すると (実際にはエイリアスを使用しているため、1 行だけ変更する必要があります)、メモリ使用量が約 5% 大きくなります!! 以前よりも...文字列の各文字が WideChar の 2 倍小さいため、どのように可能でしょうか?
前もって感謝します!
メートル。
delphi - Delphiでのワイドストリングの互換性の問題
Delphi2006を使用したdllビルド
Delphi2010でビルドされた実行可能ファイル
dllにステップインすると、aPath='123'になります。実際、私が渡す文字列はすべて正確に半分にカットされます。
1.)文字通り半分になるのはなぜですか?2.)どうすれば修正できますか?
delphi - Delphi2010ワイド関数と文字列関数
現在、Delphi2007プロジェクトをDelphi2010に変換しています。すでにUnicodeを使用していました(WideStringsおよびTNT Unicodeコントロールを介して)。
WideUpperCaseなどのすべてのWide関数を、UpperCaseなどの同等の関数に置き換えることを期待していましたが、同じようには機能しません。たとえば、WideUpperCaseはUpperCaseとは動作が異なります。WideUpperCaseはCampañasを正しく大文字にしますが、UpperCaseはñを小文字のままにします。
他に知っておくべき違いはありますか?たとえば、WideFormatとFormatは同じように機能しますか?
ありがとう
c++ - GCC での 2 バイト (UCS-2) 幅の文字列
Visual C++ プロジェクトを GCC に移植するときに、wchar_t データ型がデフォルトで 4 バイトの UTF-32 であることがわかりました。コンパイラ オプションでこれをオーバーライドできますが、4 バイト幅の文字列を想定しているため、RTL の wcs* (wcslen、wcscmp など) の部分全体が使用できなくなります。
今のところ、これらの関数の 5 ~ 6 個をゼロから再実装し、実装を #define しました。しかし、より洗練されたオプションがありますか?たとえば、2 バイトの wchar-t を使用して GCC RTL をビルドし、リンクされる?
私が求めている GCC の特定のフレーバーは、Mac OS X 上の Xcode、Cygwin、および Debian Linux Etch に付属するものです。
c++ - sprintf が失敗するのはいつ、なぜですか?
swprintf を使用して文字列をバッファに作成しています (特にループを使用しています)。
テスト中にアサートがヒットしない場合、実際のコードではヒットしないと確信できますか? つまり、nWritten < 0 であるかどうかを確認して処理する必要がありますか?それとも、問題がないと安全に想定できますか?
どのような状況で -1 を返すことができますか? ドキュメントには、多かれ少なかれ「関数が失敗した場合」と記載されています。ある場所で、引数(つまり、フォーマット文字列と可変引数)が一致しない場合に失敗することを読んだことがありますが、それは心配ありません。
この場合、バッファ オーバーランについても心配していません。バッファが十分に大きいことはわかっています。