本文整理汇总了C++中IsoString::DeleteChar方法的典型用法代码示例。如果您正苦于以下问题:C++ IsoString::DeleteChar方法的具体用法?C++ IsoString::DeleteChar怎么用?C++ IsoString::DeleteChar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IsoString
的用法示例。
在下文中一共展示了IsoString::DeleteChar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetDemangledFunctionName
static IsoString GetDemangledFunctionName( const char* symbol, IsoString& addrStr )
{
IsoString symbolStr( symbol );
addrStr.Clear();
// Get mangled function name. Example:
// /opt/PixInsight/bin/lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x411) [0x7fa271347811]
StringList tokens;
symbolStr.Break( tokens, '(' , true/*trim*/ );
if ( tokens.Length() != 2 )
return symbolStr;
// Take second token and split again.
StringList tokens2;
tokens[1].Break( tokens2, '+' , true/*trim*/ );
if ( tokens2.Length() != 2 )
return symbolStr;
// If there is no function name, do not set the addr string.
if ( !tokens2[0].IsEmpty() )
{
addrStr = tokens2[1];
addrStr.DeleteChar( '(' );
addrStr.DeleteChar( ')' );
}
// The first token of tokens2 contains the mangled string. Demangle it.
size_t funcnameSize = 256;
char funcname[ funcnameSize ];
int status;
IsoString token( tokens2[0] );
const char* demangledFuncname = abi::__cxa_demangle( token.c_str(), funcname, &funcnameSize, &status );
return (status == 0) ? IsoString( demangledFuncname ) : symbolStr;
}