本文整理汇总了C++中AnsiString::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ AnsiString::resize方法的具体用法?C++ AnsiString::resize怎么用?C++ AnsiString::resize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnsiString
的用法示例。
在下文中一共展示了AnsiString::resize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WStoUTF8
AnsiString WStoUTF8(const std::wstring& s){
AnsiString Value;
if (s.size()==0)
{
return Value;
}
int32 len = 3 * s.size() + 1;
Value.resize(len);
UTF8* DestStart = (UTF8*)(&Value[0]);
UTF8* DestEnd = DestStart + len;
#ifdef WIN32
const UTF16* Start = (const UTF16*)s.c_str();
const UTF16* End = Start + s.size();
ConversionResult ret = ConvertUTF16toUTF8(&Start,End,&DestStart,DestEnd, strictConversion);
#else
const UTF32* Start = (const UTF32*)s.c_str();
const UTF32* End = Start + s.size();
ConversionResult ret = ConvertUTF32toUTF8(&Start,End,&DestStart,DestEnd, strictConversion);
#endif
if (ret != conversionOK)
{
//throw std::exception("UFT8 Convert Fail.");这种工具函数扔出例外似乎只会对宿主程序构成骚扰
//改为给出提示+可能的乱码
Value = "UFT16TO8 Convert Fail:";
return Value += (const char*)s.c_str();
}
return Value.c_str();
}