本文整理汇总了C++中CStdStringW::GetBuf方法的典型用法代码示例。如果您正苦于以下问题:C++ CStdStringW::GetBuf方法的具体用法?C++ CStdStringW::GetBuf怎么用?C++ CStdStringW::GetBuf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStdStringW
的用法示例。
在下文中一共展示了CStdStringW::GetBuf方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OutputDebugString
void CLog::OutputDebugString(const std::string& line)
{
#if defined(_DEBUG) || defined(PROFILE)
#if defined(TARGET_WINDOWS)
// we can't use charsetconverter here as it's initialized later than CLog and deinitialized early
int bufSize = MultiByteToWideChar(CP_UTF8, 0, line.c_str(), -1, NULL, 0);
CStdStringW wstr (L"", bufSize);
if ( MultiByteToWideChar(CP_UTF8, 0, line.c_str(), -1, wstr.GetBuf(bufSize), bufSize) == bufSize )
{
wstr.RelBuf();
::OutputDebugStringW(wstr.c_str());
}
else
#endif // TARGET_WINDOWS
::OutputDebugString(line.c_str());
::OutputDebugString("\n");
#endif
}
示例2: strW
static BOOL CALLBACK DSEnumCallback(LPGUID lpGuid, LPCTSTR lpcstrDescription, LPCTSTR lpcstrModule, LPVOID lpContext)
{
DSDevice dev;
std::list<DSDevice> &enumerator = *static_cast<std::list<DSDevice>*>(lpContext);
int bufSize = MultiByteToWideChar(CP_ACP, 0, lpcstrDescription, -1, NULL, 0);
CStdStringW strW (L"", bufSize);
if ( bufSize == 0 || MultiByteToWideChar(CP_ACP, 0, lpcstrDescription, -1, strW.GetBuf(bufSize), bufSize) != bufSize )
strW.clear();
strW.RelBuf();
dev.name = localWideToUtf(strW);
dev.lpGuid = lpGuid;
if (lpGuid)
enumerator.push_back(dev);
return TRUE;
}