本文整理汇总了C++中CryFixedStringT::replace方法的典型用法代码示例。如果您正苦于以下问题:C++ CryFixedStringT::replace方法的具体用法?C++ CryFixedStringT::replace怎么用?C++ CryFixedStringT::replace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CryFixedStringT
的用法示例。
在下文中一共展示了CryFixedStringT::replace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void COptionsManager::CCVarSink::OnElementFound(ICVar *pCVar)
{
if (pCVar == 0)
return;
CryFixedStringT<128> szLine = pCVar->GetName();
CryFixedStringT<128> szValue = pCVar->GetString();
// only save if we have an option to it
std::map<string, SOptionEntry>::const_iterator iter = m_pOptionsManager->m_profileOptions.find(CONST_TEMP_STRING(pCVar->GetName()));
if (iter == m_pOptionsManager->m_profileOptions.end())
return;
const SOptionEntry& entry = iter->second;
if (entry.bWriteToConfig == false)
return;
size_t pos;
// replace \ with \\
pos = 1;
for(;;)
{
pos = szValue.find_first_of("\\", pos);
if (pos == CryFixedStringT<128>::npos)
{
break;
}
szValue.replace(pos, 1, "\\\\", 2);
pos+=2;
}
// replace " with \"
pos = 1;
for(;;)
{
pos = szValue.find_first_of("\"", pos);
if (pos == CryFixedStringT<128>::npos)
{
break;
}
szValue.replace(pos, 1, "\\\"", 2);
pos+=2;
}
if(pCVar->GetType()==CVAR_STRING)
szLine += " = \"" + szValue + "\"\r\n";
else
szLine += " = " + szValue + "\r\n";
fputs(szLine.c_str(), m_pFile);
}