2010-08-09 4 views
1

안녕하세요, C++ 프로그램에 포함 된 v8 엔진을 사용하고있어서 문자열 문제가 발생했습니다.Google V8 엔진에서 utf8 문자열을 만드는 방법

당연히 v8 엔진은 utf8 문자열을 완벽하게 지원합니다. 그러나 나는 그 방법을 모릅니다.

char path[ 1024 ]; 

GetCurrentDirectory(1024, (LPWSTR)path); 

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

그러나, 결과는 유일한 문자 "D"입니다, 문자열 :: 새로운에만 문자 *와 utf_16 *

내가 V8 문서를 확인하고 UTF8 문자열을 만들 수있는 방법을 찾을 수 없습니다를 받아 아무도 도와 줄 수 있니?

답변

3

LPWSTR에 "path"를 캐스팅해야했기 때문에 GetCurrentDirectory (UTF-16) 용 와이드 문자열 (유니 코드) Win32 API를 호출하는 것처럼 보입니다. "path"를 wchar_t로 대신 선언하십시오. utf_16이 wchar_t의 typedef이면 String :: New로 직접 작동 할 수 있습니다.

+0

너의 힌트를 위해서, 그것이 마지막 작업 코드이다 : \t WCHAR 경로 [1024]; \t GetCurrentDirectory (1024, (LPWSTR) 경로); \t script-> Path = String :: New ((uint16_t *) path, wcslen (path)); – Cauly

관련 문제