本文整理汇总了C++中AvmCore::newStringUTF16方法的典型用法代码示例。如果您正苦于以下问题:C++ AvmCore::newStringUTF16方法的具体用法?C++ AvmCore::newStringUTF16怎么用?C++ AvmCore::newStringUTF16使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvmCore
的用法示例。
在下文中一共展示了AvmCore::newStringUTF16方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
ArrayObject * ProgramClass::_getEnviron()
{
Toplevel *toplevel = this->toplevel();
AvmCore *core = this->core();
ArrayObject *array = toplevel->arrayClass()->newArray();
#if AVMSYSTEM_WIN32
wchar **cur = VMPI_GetEnviron16();
int i = 0;
while( cur[i] )
{
Stringp value = core->newStringUTF16(cur[i]);
StUTF8String valueUTF8(value);
array->setUintProperty( i, core->newStringUTF8( valueUTF8.c_str() )->atom() );
i++;
}
#else
char **cur = VMPI_GetEnviron();
int i = 0;
while( cur[i] )
{
array->setUintProperty( i, core->newStringUTF8( cur[i] )->atom() );
i++;
}
#endif
return array;
}
示例2:
/*static*/ Stringp CStdlibClass::getenv(ScriptObject* self, Stringp name)
{
AvmCore *core = self->core();
Toplevel* toplevel = self->toplevel();
if( !name )
{
toplevel->throwArgumentError(kNullArgumentError, "name");
}
#if AVMSYSTEM_WIN32
StUTF16String nameUTF16(name);
const wchar * str = VMPI_getenv16( nameUTF16.c_str() );
Stringp value = core->newStringUTF16( str );
StUTF8String valueUTF8(value);
return core->newStringUTF8( valueUTF8.c_str() );
#else
StUTF8String nameUTF8(name);
const char * str = VMPI_getenv( nameUTF8.c_str() );
return core->newStringUTF8( str );
#endif
}