本文整理汇总了C++中exlib::string::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ string::resize方法的具体用法?C++ string::resize怎么用?C++ string::resize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类exlib::string
的用法示例。
在下文中一共展示了string::resize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CHECK_ERROR
result_t X509Cert::get_serial(exlib::string &retVal)
{
mbedtls_x509_crt *crt = get_crt();
if (!crt)
return CHECK_ERROR(CALL_E_INVALID_CALL);
int32_t ret;
mbedtls_mpi serial;
mbedtls_mpi_init(&serial);
ret = mbedtls_mpi_read_binary(&serial, crt->serial.p, crt->serial.len);
if (ret != 0)
return CHECK_ERROR(_ssl::setError(ret));
retVal.resize(8192);
size_t sz = retVal.length();
ret = mbedtls_mpi_write_string(&serial, 10, &retVal[0], sz, &sz);
mbedtls_mpi_free(&serial);
if (ret != 0)
return CHECK_ERROR(_ssl::setError(ret));
retVal.resize(sz - 1);
return 0;
}
示例2: _escape
inline void _escape(const char* str, int32_t sz, bool mysql, exlib::string& retVal)
{
int32_t len, l;
const char* src;
char* bstr;
char ch;
for (len = 0, src = str, l = sz; l > 0; len++, l--) {
ch = (unsigned char)*src++;
if (ch == '\'')
len++;
else if (mysql) {
if (ch == 0 || ch == 0x1a || ch == '\r' || ch == '\n' || ch == '\\'
|| ch == '\"')
len++;
}
}
retVal.resize(len);
bstr = &retVal[0];
for (src = str, l = sz; l > 0; l--) {
ch = (unsigned char)*src++;
if (ch == '\'') {
*bstr++ = '\'';
*bstr++ = '\'';
} else if (mysql) {
switch (ch) {
case 0:
*bstr++ = '\\';
*bstr++ = '0';
break;
case 0x1a:
*bstr++ = '\\';
*bstr++ = 0x1a;
break;
case '\r':
*bstr++ = '\\';
*bstr++ = 'r';
break;
case '\n':
*bstr++ = '\\';
*bstr++ = 'n';
break;
case '\\':
*bstr++ = '\\';
*bstr++ = '\\';
break;
case '\"':
*bstr++ = '\\';
*bstr++ = '\"';
break;
default:
*bstr++ = ch;
break;
}
} else
*bstr++ = ch;
}
}