本文整理汇总了C++中StringT::c_str方法的典型用法代码示例。如果您正苦于以下问题:C++ StringT::c_str方法的具体用法?C++ StringT::c_str怎么用?C++ StringT::c_str使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringT
的用法示例。
在下文中一共展示了StringT::c_str方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
void __stdcall BlackConfigurator::Save(const StringT& filename)
{
FILE* fp = NULL;
if (_tfopen_s(&fp, filename.c_str(), _T("wb+, ccs=UTF-8")) != 0) {
SXLOG_INF(g_local_logger) << _X(" open file for write failed! filepath:") << filename.c_str() << LBT << END;
return;
}
ConfItemDictFileWriter writer(this, fp, 0);
writer.Write();
fclose(fp);
}
示例2: Load
bool __stdcall BlackConfigurator::Load(const StringT& filename)
{
//Clear();
FILE* fp = NULL;
if (_tfopen_s(&fp, filename.c_str(), _T("rb+, ccs=UTF-8")) != 0) {
SXLOG_INF(g_local_logger) << _X(" open file for read failed! filepath:") << filename.c_str() << LBT << END;
return false;
}
ConfItemDictFileReader reader(fp);
ConfItemDict* result_dict = reader.Read();
return false;
}
示例3: CompiledFunction
Value * Compiler::lookup (Symbol * identifier) {
StringT functionName = identifier->value();
llvm::Function* code = m_engine->FindFunctionNamed(functionName.c_str());
if (!code) {
return NULL;
}
return new CompiledFunction(code);
}
示例4: uchar_val
inline void
validate_identifier_name (StringT const &name, std::size_t line,
std::size_t column, StringT const &file_name)
{
using namespace std; // some systems have strtoul in namespace std::
typename StringT::size_type pos = name.find_first_of('\\');
while (StringT::npos != pos) {
// the identifier name contains a backslash (must be universal char)
BOOST_ASSERT('u' == name[pos+1] || 'U' == name[pos+1]);
StringT uchar_val(name.substr(pos+2, ('u' == name[pos+1]) ? 4 : 8));
universal_char_type type =
classify_universal_char(strtoul(uchar_val.c_str(), 0, 16));
if (universal_char_type_valid != type) {
// an invalid char was found, so throw an exception
StringT error_uchar(name.substr(pos, ('u' == name[pos+1]) ? 6 : 10));
if (universal_char_type_invalid == type) {
BOOST_WAVE_LEXER_THROW(lexing_exception, universal_char_invalid,
error_uchar, line, column, file_name.c_str());
}
else if (universal_char_type_base_charset == type) {
BOOST_WAVE_LEXER_THROW(lexing_exception, universal_char_base_charset,
error_uchar, line, column, file_name.c_str());
}
else {
BOOST_WAVE_LEXER_THROW(lexing_exception, universal_char_not_allowed,
error_uchar, line, column, file_name.c_str());
}
}
// find next universal char (if appropriate)
pos = name.find_first_of('\\', pos+2);
}
}
示例5: dims
void
WriteStringT( hid_t iParent,
const std::string &iAttrName,
const StringT &iString )
{
// Verify that no NULL characters have been hidden in the string.
CharT NullChar = ( CharT )0;
ABCA_ASSERT( iString.find( NullChar ) == StringT::npos,
"Illegal NULL character found in string in WriteStringT" );
// Create the dataspace.
size_t len = iString.length();
Dimensions dims( len + 1 );
HDimensions hdims( dims );
size_t npoints = hdims.numPoints();
ABCA_ASSERT( npoints > 0,
"Cannot create degenerate dataspace" );
hid_t dspaceId = H5Screate_simple( hdims.rank(), hdims.rootPtr(), NULL );
DspaceCloser dspaceCloser( dspaceId );
// Get the data.
const CharT *data;
if ( len == 0 )
{
data = &NullChar;
}
else
{
data = iString.c_str();
}
// Write into it.
WriteDataToAttr( iParent, dspaceId, iAttrName,
GetFileDtype<CharT>(), GetNativeDtype<CharT>(),
( const void * )data );
}
示例6: parse
/** main method to perform options parsing
*
* @opts map to gather (item_name, value) association
* @params container to gather parameters
*/
int parse(int argc, char const* const* argv,
map_type &opts,
std::vector<char const*> ¶ms) const
{
enum stages {
option,
opt_param
};
stages stage = option;
StringT name;
bool is_leave_param = false;
auto parse_short = [&](char const *s, size_t len) {
auto p = short_opts_.find(s[1]);
if (p == short_opts_.end()) {
params.push_back(s);
return;
}
name = p->second;
is_leave_param = (leave_in_params_.count(name) != 0);
if (is_leave_param)
params.push_back(s);
if (!opt_with_params_.count(name)) {
opts[name] = "";
} else if (len > 2) {
opts[name] = &s[2];
if (is_leave_param)
params.push_back(&s[2]);
} else {
stage = opt_param;
}
};
auto parse_long = [&](char const *s, size_t) {
char const *pname = &s[2];
char const *peq = strchr(pname, '=');
name = (peq
? std::string(pname, peq - pname)
: std::string(pname));
auto p = long_opts_.find(name);
if (p == long_opts_.end()) {
params.push_back(s);
return;
}
// unified name is taken from map
name = p->second;
is_leave_param = (leave_in_params_.count(name) != 0);
if (is_leave_param)
params.push_back(s);
auto p_has = opt_with_params_.find(name);
if (p_has == opt_with_params_.end()) {
if (peq)
throw cor::Error("option %s, unexpected param %s",
name.c_str(), peq);
opts[name] = "";
} else {
if (peq)
opts[name] = &peq[1];
else
stage = opt_param;
}
};
auto parse_opt_param = [&](char const *s, size_t len) {
if (len >= 1 && s[0] == '-')
throw std::logic_error(s);
opts[name] = s;
if (is_leave_param)
params.push_back(s);
stage = option;
};
auto parse_option = [&](char const *s, size_t len) {
if (s[0] == '-') {
if (len > 2 && s[1] == '-') {
parse_long(s, len);
} else {
parse_short(s, len);
}
} else {
params.push_back(s);
}
};
auto process = [&](char const *v) {
size_t len = std::strlen(v);
if (!len)
return;
switch (stage) {
//.........这里部分代码省略.........
示例7: mg_write
static int inline mg_write(struct mg_connection* conn, const StringT& string)
{
return mg_write(conn, string.c_str(), string.size());
}