本文整理汇总了C++中UT_String::data方法的典型用法代码示例。如果您正苦于以下问题:C++ UT_String::data方法的具体用法?C++ UT_String::data怎么用?C++ UT_String::data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UT_String
的用法示例。
在下文中一共展示了UT_String::data方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UT_Compare
int UT_Compare( const UT_String& rhs, const UT_String& lhs )
{
#if defined(TARGET_IOS) || defined(TARGET_MACOS)
CFStringRef theString1 = CFStringCreateWithCharactersNoCopy( 0, rhs.data(), rhs.length(), kCFAllocatorNull );
CFStringRef theString2 = CFStringCreateWithCharactersNoCopy( 0, lhs.data(), lhs.length(), kCFAllocatorNull );
CFComparisonResult result = CFStringCompare( theString1, theString2, kCFCompareLocalized );
CFRelease( theString1 );
CFRelease( theString2 );
return result;
#else
return rhs.compare(lhs);
#endif
}
示例2: UT_W2S
//======================== METHOD DECLARATION =======================
// METHOD NAME : UT_W2S
//---------------------------------------------------------------------
/// \param src
/// \param dst
/// \return
//---------------------------------------------------------------------
// DESCRIPTION :
/// Convert a 'wstring' to a string.
//=====================================================================
void UT_W2S( const UT_String &src, string &dst )
{
#if defined(TARGET_IOS) || defined(TARGET_MACOS)
CFStringRef strref = CFStringCreateWithCharactersNoCopy( 0, src.data(), src.length(), kCFAllocatorNull );
CFIndex usedBufLen;
CFStringGetBytes( strref, CFRangeMake( 0, src.length() ), CFStringGetSystemEncoding(), '?', false, NULL, 0, &usedBufLen );
char *buffer = (char*)MEM_ALLOC(usedBufLen * sizeof(char));
CFStringGetBytes( strref, CFRangeMake( 0, src.length() ), CFStringGetSystemEncoding(), '?', false, (UInt8 *) buffer, usedBufLen, &usedBufLen );
CFRelease( strref );
dst.assign( buffer, usedBufLen );
MEM_DEALLOC(buffer);
if ( ! dst.empty() )
dst.erase(dst.begin(), dst.end());
copy( src.begin(), src.end(), back_inserter( dst ));
#else
#ifndef TARGET_WIN32
dst = string();
if (src.length() < 1)
{
return;
}
unsigned char *dstC = (unsigned char*)MEM_ALLOC(6 * src.length() * sizeof(unsigned char));
unsigned char *initial = dstC;
UTF16 *srcC = const_cast<UTF16*>(src.c_str());
ConvertUTF16toUTF8(&srcC, srcC + src.length(), &dstC, dstC + 6 * src.length());
dst.append((const char *)dstC);
MEM_DEALLOC(initial);
#else // TARGET_WIN32
(void)src;
(void)dst;
#endif
#endif
}