本文整理汇总了C++中QuickString::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ QuickString::resize方法的具体用法?C++ QuickString::resize怎么用?C++ QuickString::resize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QuickString
的用法示例。
在下文中一共展示了QuickString::resize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getLine
bool BufferedStreamMgr::getLine(QuickString &line)
{
line.clear();
if (_mainBufCurrStartPos >= _mainBufCurrLen) {
if (!readFileChunk()) {
_eof = true;
return false;
}
}
bool retVal = true;
while (1) {
int searchPos = _mainBufCurrStartPos;
while (searchPos < _mainBufCurrLen && _mainBuf[searchPos] != '\n') {
searchPos++;
}
line.append((char *)_mainBuf + _mainBufCurrStartPos, searchPos - _mainBufCurrStartPos);
_mainBufCurrStartPos = searchPos +1;
if (searchPos == _mainBufCurrLen) { //hit end of buffer, but no newline yet
if (!readFileChunk()) { //hit eof
retVal = true;
break;
}
} else if (_mainBuf[searchPos] == '\n') {
retVal = true;
break;
}
}
//strip any whitespace characters, such as DOS newline characters or extra tabs,
//from the end of the line
int lastPos = line.size();
while (isspace(line[lastPos-1])) lastPos--;
line.resize(lastPos);
return retVal;
}
示例2: parseIoBufSize
bool ContextBase::parseIoBufSize(QuickString bufStr)
{
char lastChar = bufStr[bufStr.size()-1];
int multiplier = 1;
if (!isdigit(lastChar)) {
switch (lastChar) {
case 'K':
multiplier = 1 << 10;
break;
case 'M':
multiplier = 1 << 20;
break;
case 'G':
multiplier = 1 << 30;
break;
default:
_errorMsg = "\n***** ERROR: Unrecognized memory buffer size suffix \'";
_errorMsg += lastChar;
_errorMsg += "\' given. *****";
return false;
break;
}
//lop off suffix character
bufStr.resize(bufStr.size()-1);
}
if (!isNumeric(bufStr)) {
_errorMsg = "\n***** ERROR: argument passed to -iobuf is not numeric. *****";
return false;
}
_ioBufSize = str2chrPos(bufStr) * multiplier;
if (_ioBufSize < MIN_ALLOWED_BUF_SIZE) {
_errorMsg = "\n***** ERROR: specified buffer size is too small. *****";
return false;
}
return true;
}