本文整理汇总了C++中common::UString::substr方法的典型用法代码示例。如果您正苦于以下问题:C++ UString::substr方法的具体用法?C++ UString::substr怎么用?C++ UString::substr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common::UString
的用法示例。
在下文中一共展示了UString::substr方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseOption
static bool parseOption(const Common::UString &arg, Common::UString &key) {
if (arg.size() < 2) {
warning("Unrecognized command line argument \"%s\"", arg.c_str());
return false;
}
Common::UString::iterator start = arg.begin();
++start;
Common::UString value;
if (*start == '-') {
// Long option
++start;
Common::UString::iterator e = arg.findFirst('=');
if (e != arg.end()) {
key = arg.substr(start, e++);
value = arg.substr(e, arg.end());
} else
key = arg.substr(start, arg.end());
} else {
// Short option
key = convertShortToLongOption(*start++);
value = arg.substr(start, arg.end());
}
if (key.empty()) {
warning("Unrecognized command line argument \"%s\"", arg.c_str());
return false;
}
if (value.empty())
return true;
if (!setOption(key, value))
return false;
return true;
}
示例2: relativize
UString FilePath::relativize(const UString &basePath, const UString &path) {
const Common::UString normPath = normalize(path, false);
const Common::UString normBase = normalize(basePath, false);
UString relative = "";
if (normPath.beginsWith(normBase))
relative = normPath.substr(normPath.getPosition(normBase.size() + 1), normPath.end());
return relative;
}
示例3: getHighlight
Common::UString ConsoleWindow::getHighlight() const {
if ((_highlightLength == 0) || (_highlightY >= kConsoleLines))
return "";
int32 start = _highlightX;
int32 end = _highlightX + _highlightLength;
if (start > end)
SWAP(start, end);
Common::UString line;
if (_highlightY == 0) {
start = start - _prompt->get().size();
end = end - _prompt->get().size();
line = _input->get();
} else
line = _lines[_lines.size() - _highlightY]->get();
start = MAX(0, start);
end = MAX(0, end );
return line.substr(line.getPosition(start), line.getPosition(end));
}