問題タブ [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.

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

delphi - WideString を PWideChar に変換する

Delphiで画像をOCRするためにNicomsoft OCRライブラリを使用しています。それは私のタスクに適しており、Delphi ユニット ラッパーを備えているため、Delphi で簡単に使用できます。ただし、一部の OCR 関数に空の文字列をパラメータ値として渡すと、Delphi デバッガに「Range Error」メッセージが表示されます。ラッパー コードを確認したところ、DLL ライブラリ関数はパラメーターとして PWideChars を受け入れますが、ラッパーは WideString を受け入れます。unit-wrapper の内部には、次の変換があります。

私はいくつかの調査を行い、多くの FAQ がそのような変換を提供していることを発見しました

「a」が空の文字列でない場合は機能しますが、空の文字列の場合は「Range」エラーが発生します。空の文字列であっても、WideString 変数の最初の文字へのポインターを正しく取得するにはどうすればよいですか? 私が理解している限り、文字列が空の場合でも、ゼロ文字が含まれている必要があり、PWideChar 変数はそれを指している必要があります。

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

c++ - バイトベクトルとwstringの間のC++変換

ワイド文字列に格納されたデータを低レベルで処理する必要があります。次の方法vectorで ofに変換できます。Bytes

ただし、別の方法で問題が発生しています。キャスティングについてはよくわかりません。を に変換するvectorにはどうすればよいですか?Byteswstring

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

c - C でのワイド文字/文字列の適切な操作

OS X Yosemite 10.10.5 XCode 7.2

私は一日中、Cのワイド文字/文字列について読んで実験してきましたが、まだうまくいきません。

次のようなワイド文字のみで構成されるファイルを読み取ろうとしています。

一度に 1 文字だけを読み取り、他のファイル内にすぐに書き込みたい。

出力は次のとおりです。

私の問題はおそらくデータの読み取り方にあることは理解できますが、代替案について考えると、完全に立ち往生しています。

  • fgetwsを使用してみましたが、文字を別の文字から分離することはできません。
  • %lsでfwscanfを使用しようとしましたが、空のファイルになってしまいました。
  • 関連するマニュアルページで言及されていても、MAC OSはfgetwc実装を提供していないことに気付きました.AFAIK getwcはfgetwcのマクロ実装である必要があります。
  • これが重要かどうかはわかりませんが、touchコマンドを使用してソース ファイルを作成しました。

手伝って頂けますか?

PS: 議論に関するさらなる読み物へのリンクも大歓迎です。この問題に関する文書はかなり不足しています。


XCodeの問題

この問題により、当初、 Jonathan Lefflerソリューションが機能していないと思いました。実際、コードを XCodeCMD+RまたはTerminalを介して実行すると、コードは異なる出力を生成します。

私の知る限り、ソース宛先のパラメーターをハードコーディングしても間違った出力が生成されるため、XCodeが実行時に使用する何らかの属性/プロパティ/設定に問題があるはずです。

わかりやすくするために、コードにエクスポートされたスキームを提供しています。

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

java - user32 libのMessageBoxW関数を呼び出すJavaでワイド文字列を渡す方法

MessageBoxW現在、Javaで関数を使用するのに苦労しています。user32 ライブラリを正常に呼び出してMessageBoxA関数を使用することができました。以下は私のコードです:

私は周りを見回しましたが、決定的な答えを見つけることができませんでしたが、この問題に取り組むにはもっと洗練されたコーディングが必要であることがわかりました. これについての助けは大歓迎です。

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

c++ - XCode で va_args がワイド文字列関数 (swprintf) を壊す

Xcode でのみ (Visual Studio は問題ありません)、va_args を使用してラッパー関数に配置しようとすると、swprintf が壊れます。

簡単な例:

どんな助けでも感謝します、それはかなりのスタンパーです。問題はXCodeの癖にあると思います。

この質問で提案されているように、私はすでにロケール設定とファイル プロパティをいじっています。

ありがとう。

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

c - 標準ライブラリを使用してcharをwchar_tに変換しますか?

パラメータとして配列を期待する関数がありwchar_tます。char から への変換を行う標準ライブラリ関数を知らないwchar_tので、簡単な汚い関数を書きましたが、バグや未定義の動作のない信頼できるソリューションが必要です。標準ライブラリには、この変換を行う関数がありますか?

私のコード:

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

rust - FFI のコンテキストで可変参照を渡すか、変数の所有権を譲渡する必要がありますか?

C FFI (winapi-rs 経由) 経由で Wi​​ndows API を利用するプログラムがあります。関数の 1 つは、文字列へのポインターへのポインターを出力パラメーターとして予期します。関数はその結果をこの文字列に格納します。この文字列にタイプの変数を使用していWideCStringます。

この関数 (unsafe ブロック内) の文字列への ref への変更可能な ref を "ただ" 渡すことはできますか、それとも変数の所有権を C 関数に移動する.into_raw()ような機能を使用する必要がありますか?.from_raw()

どちらのバージョンもコンパイルして動作しますが、直接的な方法で不利な点を購入しているのかどうか疑問に思っています.

.into_rawと を使用しているコードの関連行を次に示します.from_raw

MSDN のこのパラメーターの説明には、次のように書かれています。

nullで終わるセキュリティ記述子文字列へのポインターを受け取る変数へのポインター。文字列形式の説明については、セキュリティ記述子文字列形式を参照してください。返されたバッファを解放するには、LocalFree関数を呼び出します。

関数が変数の値を変更することを期待しています。それは - 定義上 - 私が所有権を移動していることを意味しませんか?