本文整理汇总了C++中buffer::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ buffer::resize方法的具体用法?C++ buffer::resize怎么用?C++ buffer::resize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类buffer
的用法示例。
在下文中一共展示了buffer::resize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadDataFromFile
bool LoadDataFromFile(buffer& buff, const TCHAR* filename, bool text)
{
bool ret = false;
FILE* file = nullptr;
size_t size = 0;
std::string fullpath;
CHECK(filename);
buff.clear();
_tfopen_s(&file, filename, text ? _T("r") : _T("rb"));
CHECK(file);
fseek(file, 0L, SEEK_SET);
fseek(file, 0L, SEEK_END);
size = ftell(file);
buff.resize(text ? size + sizeof(char) : size);
fseek(file, 0L, SEEK_SET);
size = fread(buff.ptr(), 1, size, file);
if (text)
buff.ptr()[size] = 0;
ret = true;
Exit0:
if (file)
fclose(file);
return ret;
}
示例2: get_key
//get data for current record
void BucketIter::get_key(buffer &key)
{
switch (m_riter.get_type())
{
case Record::RECORD_SMALL:
case Record::RECORD_MEDIUM:
key.resize(m_riter.get_keysize());
memcpy(&key[0], m_riter.get_key(), m_riter.get_keysize());
break;
case Record::RECORD_LARGE:
load_overflow();
m_xtra->get_key(key);
break;
}
}
示例3: get_value
void BucketIter::get_value(buffer &value)
{
switch (m_riter.get_type())
{
case Record::RECORD_SMALL:
value.resize(m_riter.get_valuesize());
memcpy(&value[0], m_riter.get_value(), m_riter.get_valuesize());
break;
case Record::RECORD_MEDIUM:
load_overflow();
m_xtra->get_value(value);
break;
case Record::RECORD_LARGE:
load_overflow();
m_xtra->get_value(value);
break;
}
assert (value.size() != 0);
}