問題タブ [wchar-t]
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++ - OStream への Unicode 文字の書き込み
私はユニコード/ワイド文字を扱っており、toString メソッド ( Java ::toString equiv ) を作成しようとしています。ostream はワイド文字を処理しますか?もしそうなら、それが Unicode であることをストリームの消費者に警告する方法はありますか?
c++ - Unicode、char ポインター、および wcslen
いくつかのグラフィックスに cpw ライブラリを使用しようとしています。セットアップしましたが、コンパイルに問題があるようです。つまり、文字列ヘッダーでは、次を介してユニコードのサポートを提供します
さて、Windows afaikにはwstrlenのようなものはないので、それをwcslenに変更しようとしましたが、char *をwchar_t *に変換しようとしたため、エラーが発生しました。どちらかの方法で strlen を使用すると、何かが台無しになるのではないかとちょっと怖いです。
スタックオーバーフローはどう思いますか?
c++ - wchar_t に相当する isalpha
wchar_t を使用した isalpha または isalnum の同等の関数は何ですか?
wctype ?
例もいいでしょう
ありがとう
c++ - C ++:ファイル、エンコーディング、データ型
----閉じてください----
- - - 編集 - - - - -
問題がどこにあるかを見つけました。本当の問題について新しい質問を始めます…。
----------------------
やあ、
私の状況:
ただし、プラットフォームに依存しない必要があります
のような特殊文字を含むテキストファイル(UTF-8)があります¥ © ® Ỳ È Ð
。std::map
これらの特殊文字を保持するためのキーのデータ型が必要な場所があります。現在、を使用してwchar_t
います。
次に、これらの文字を含めることができる文字列を使用する必要があります。今私はを使用してstd::wstring
います。
そのUTF-8ファイルを読む必要があります。だから、私はを使用して考えましたwifstream
。そして、ライン処理には、を使用しwstringstream
ました。
これは悪くないと思います、私がこれまでにやったことです...そうでなければ、何が良いですか?
何が問題になっていますか:
もちろん、私はそのファイルを読まなければなりません。ただし、行の読み取りは、特別な文字を使用して最初の行で停止します。要するに、これは私がしたことです:
したがって、問題は次のとおりです。wifstreamを使用して特殊文字を含むファイルを読み取る方法は?
前もって感謝します!
ファイルの外観:
...。
c++ - char *(ポインタ)をwchar_t *(ポインタ)に変換する必要があります
コンピューター制御のポンプにシリアルポート通信を行っています。通信に使用したcreatefile関数では、comポート名をwchar_tポインターとして解析する必要があります。
また、QTを使用してフォームを作成し、COMポート名をQStringとして取得しています。
このQStringはchar配列に変換され、次のように示されます。
次に、ポンプオブジェクトにwchar_t*として保存されているポート番号を設定する必要があります。これを行うには、次の関数を呼び出します。
したがって、char *(mychar)をwchar_t *(portNumber)に変更するにはどうすればよいですか?
ありがとう。
c++ - QChar から wchar_t
QChar を wchar_t に変換する必要があります
私は次のことを試しました:
ああ、誰かが .toWCharArray(wchar_t* array) 関数の使用を提案する前に、私はそれを試しましたが、基本的に上記と同じことを行い、必要な文字を転送しません。
あなたが私を信じていない場合、以下はそのコードです:
助けてください、私はこの単純な問題に何日も悩まされてきました。理想的には wchar_t をまったく使用したくないのですが、残念ながら、シリアル RS232 コマンドを使用してポンプを制御するには、サードパーティ関数でこの型へのポインターが必要です。
ありがとう。
編集: このコードを実行するには、QT ライブラリが必要です。これらは、QT クリエーターをダウンロードして取得できます。コンソールで出力を取得するには、コマンド「CONFIG += console」を .pro ファイルに追加する必要があります ( QT 作成者) または netbeans プロジェクトを使用している場合は、プロパティの下のカスタム定義に。
編集:
以下の Vlad の正しい回答に感謝します。
これは同じことを行うための更新されたコードですが、char メソッドによる転送を使用し、null 終端を追加することを忘れないでください。
c++ - 文字列 const からの非推奨の変換。wchar_t* へ
こんにちは、「com9」などのポート アドレスを含む wchar_t 配列へのポインターであるメンバー変数を使用する必要があるポンプ クラスがあります。
問題は、コンストラクターでこの変数を初期化すると、コンパイラーが減価償却の警告を出すことです。
これは問題なく動作しますが、コンパイルするたびに警告が表示されるのが面倒で、何か間違ったことをしているように感じます。
配列を作成してから、メンバー変数を次のように設定してみました。
しかし、何らかの理由で、これによりポート番号が「F」を指します。
明らかに、私の側の別の概念上の問題です。
私の初心者の質問を手伝ってくれてありがとう。
編集:
リクエストに応じて、portNumber の定義は次のとおりです。
回答のおかげで、次のように変更されました。
c - char を wchar_t に変換する際の問題 (長さが間違っています)
ASCII 文字列と Unicode 文字列を簡単に相互に変換できる単純なデータ構造を作成しようとしています。私の問題は、関数 mbstowcs によって返される長さは正しいが、新しく作成された wchar_t 文字列で関数 wcslen によって返される長さが正しくないことです。ここで何か不足していますか?
c++ - 構造体がwchar_tを受け入れない
それが私が考えることができる唯一のことです。物事は感性です。
私は次のような構造体を持っています:
ctorを使用して、コピーの割り当てとコンストラクターを
これは私の最後の問題の拡張であり、文字ポインタのリストを、などの特殊な(ドイツ語の)文字を含むものでソートする方法を求めていましたü, ä, ö
。
解決策はワイド文字タイプを使用しているようですが、コンパイラーは何らかの理由で100を超える変換エラーをスローしています。
サンプル入力:
const char *
コンパイラは、をに変換できないと文句を言っていますwchar_t
。結構です、push_backを次のように変更します
コンパイラエラー:すべての引数を受け入れるNumPairコンストラクタが見つかりません。
何。。地獄。VSC ++ 10がおかしくなっていると思って、完全な再構築を試みました。いいえ、違います。
私は何が間違っているのですか?
コード
ctor、assignment、およびcopy構文はすべて、以下のようなwchar_tポインターのディープコピーです。
wchar.hが含まれています。
c - wchar_t を 2byte に定義する
私のアプリケーションでは、常に wchar_t を 2 バイトにする必要があります。-fshort-wchar でこれができることはわかっています。しかし、これは zSeries では使用できません。wchar_t を 2 バイトに定義する他の方法はありますか?