1

こんにちはImはC++プログラムに埋め込まれたv8エンジンを使用していて、文字列の問題に遭遇しました。

もちろん、v8エンジンはutf8文字列を完全にサポートしていますが、方法がわかりません。

char path[ 1024 ]; 

GetCurrentDirectory( 1024, (LPWSTR)path );

script->Path = String::New(path);

ただし、結果は唯一の文字「D」です。String:: Newは、char*とutf_16*のみを受け入れます。

v8ドキュメントを確認しましたが、utf8文字列を作成する方法が見つかりませんでした。誰か助けてもらえますか?

4

1 に答える 1

3

LPWSTRに「パス」をキャストする必要があったため、GetCurrentDirectory用のワイド文字列(ユニコード)Win32 API(UTF-16)を呼び出しているように見えます。代わりに、「パス」をwchar_tとして宣言してみてください。utf_16がwchar_tのtypedefである場合、String::Newで直接機能する可能性があります。

于 2010-08-09T03:01:53.237 に答える