本文整理汇总了C++中StdString::size方法的典型用法代码示例。如果您正苦于以下问题:C++ StdString::size方法的具体用法?C++ StdString::size怎么用?C++ StdString::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StdString
的用法示例。
在下文中一共展示了StdString::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setData
bool ColumnEditorModel::setData(QModelIndex const &oIndex, QVariant const &oValue, int nRole)
{
if(!oIndex.isValid())
return QStandardItemModel::setData(oIndex, oValue, nRole);
StdString s = oValue.value<StdString>();
bool rc;
bool update = true;
int n = rowCount()-1;
int ir = oIndex.row();
int ic = oIndex.column();
if(ir == n)
{
// Add new empty line at the end if the last item has got some text
if(ic == COL_NAME && s.size() > 0)
{
updateName(n, s);
insertRow(n+1);
}
}
else
{
if(ic == COL_NAME)
{
if(s.size() == 0)
{
n = oIndex.row();
deleteRow(n);
update = false;
}
else
updateName(ir, s);
}
else
updateType(ir, s);
}
if(update)
rc = QStandardItemModel::setData(oIndex, oValue, nRole);
else
rc = false;
return rc;
}
示例2: WriteString
static void WriteString(HKEY hKey, const TCHAR *name, const StdString &value)
{
const DWORD bytes = (DWORD)((value.size() + 1) * sizeof(TCHAR));
LONG result = RegSetValueEx(hKey, name, NULL, REG_SZ, (BYTE *)value.c_str(), bytes);
//if(result == ERROR_SUCCESS){
}
示例3: createHeader
/*!
\brief Create header of netcdf file
There are some information to fill in header of each netcdf.
*/
void CFile::createHeader(void)
{
CContext* context = CContext::getCurrent();
CContextServer* server = context->server;
if (!allDomainEmpty)
{
StdString filename = getFileOutputName();
// determine splitting format in the file name : firstPart%start_date%middlePart%end_date%lastPart
std::string strStartDate="%start_date%" ;
std::string strEndDate="%end_date%" ;
std::string firstPart ;
std::string middlePart ;
std::string lastPart ;
size_t pos1, pos2 ;
bool hasStartDate=false ;
bool hasEndDate=false ;
bool hasSplit = (!split_freq.isEmpty());
pos1=filename.find(strStartDate) ;
if (pos1!=std::string::npos)
{
firstPart=filename.substr(0,pos1) ;
pos1+=strStartDate.size() ;
hasStartDate=true ;
}
else pos1=0 ;
pos2=filename.find(strEndDate,pos1) ;
if (pos2!=std::string::npos)
{
middlePart=filename.substr(pos1,pos2-pos1) ;
pos2+=strEndDate.size() ;
lastPart=filename.substr(pos2,filename.size()-pos2) ;
hasEndDate=true ;
}
else middlePart=filename.substr(pos1,filename.size()) ;
if (!hasStartDate && !hasEndDate)
{
hasStartDate=true ;
hasEndDate=true;
firstPart=middlePart ;
if (hasSplit) firstPart +="_";
middlePart="-" ;
}
StdOStringStream oss;
if (!split_freq.isEmpty())
{
CDate split_start ;
CDate splitEnd ;
if (!split_start_offset.isEmpty()) split_start=lastSplit + split_start_offset ;
else split_start=lastSplit ;
splitEnd = lastSplit + split_freq ;
if (!split_last_date.isEmpty())
{
CDate splitLastDate=CDate::FromString(split_last_date,*CContext::getCurrent()->getCalendar()) ;
if( splitLastDate < splitEnd) splitEnd=splitLastDate ;
}
if (!split_end_offset.isEmpty()) splitEnd = splitEnd + split_end_offset;
else splitEnd = splitEnd - 1 * Second;
string splitFormat;
if (split_freq_format.isEmpty())
{
if (split_freq.getValue().second != 0) splitFormat = "%y%mo%d%h%mi%s";
else if (split_freq.getValue().minute != 0) splitFormat = "%y%mo%d%h%mi";
else if (split_freq.getValue().hour != 0) splitFormat = "%y%mo%d%h";
else if (split_freq.getValue().day != 0) splitFormat = "%y%mo%d";
else if (split_freq.getValue().month != 0) splitFormat = "%y%mo";
else splitFormat = "%y";
}
else splitFormat = split_freq_format;
oss << firstPart ;
if (hasStartDate) oss << split_start.getStr(splitFormat) ;
oss << middlePart ;
if (hasEndDate) oss << splitEnd.getStr(splitFormat);
oss << lastPart ;
StdString keySuffix("CContext_"+CContext::getCurrent()->getId()+"::CFile_"+getFileOutputName()+"::") ;
context->registryOut->setKey(keySuffix+"splitStart", lastSplit);
context->registryOut->setKey(keySuffix+"splitEnd", splitEnd);
}
else oss<<firstPart<<lastPart ;
bool append = !this->append.isEmpty() && this->append.getValue();
bool useClassicFormat = !format.isEmpty() && format == format_attr::netcdf4_classic;
//.........这里部分代码省略.........