本文整理汇总了C++中CStr::RTrim方法的典型用法代码示例。如果您正苦于以下问题:C++ CStr::RTrim方法的具体用法?C++ CStr::RTrim怎么用?C++ CStr::RTrim使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStr
的用法示例。
在下文中一共展示了CStr::RTrim方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadHSet
void LoadHSet(qCtx *ctx) {
//core
CStr tmpName;
tmpName = getenv("SMXHOME");
if (tmpName.IsEmpty()) {
#ifdef WIN32
tmpName = getenv("TEMP");
if (tmpName.IsEmpty()) {
tmpName = getenv("HOMEDRIVE");
if (!tmpName.IsEmpty()) {
tmpName += getenv("HOMEPATH");
tmpName.RTrim('/'); tmpName.RTrim('\\');
} else {
tmpName = ".";
}
}
tmpName = tmpName + "\\.smx";
CreateDirectory(tmpName,NULL);
tmpName = tmpName + "\\hset.db";
#else
tmpName = getenv("HOME");
if (tmpName.IsEmpty())
tmpName = "/tmp";
mkdir(tmpName,0750);
tmpName = tmpName + "/.smx";
mkdir(tmpName,0750);
tmpName = tmpName + "/hset.db";
#endif
} else {
#ifdef WIN32
tmpName = tmpName + "\\hset.db";
#else
tmpName = tmpName + "/hset.db";
#endif
}
#ifdef WIN32
remove(tmpName);
#endif
qObjHCtx *hCtx = new qObjHCtx(ctx);
hCtx->SetPath(tmpName, true);
ctx->MapObj(hCtx, EvalHSet, "hset");
ctx->MapObj(hCtx, EvalHSet, "hdel");
ctx->MapObj(hCtx, EvalHGet, "hget");
ctx->MapObj(hCtx, EvalHExists, "hexists");
ctx->MapObj(hCtx, EvalHFile, "hdbfile");
ctx->MapObj(hCtx, EvalHEnumValues, "henumvalues");
ctx->MapObj(hCtx, EvalHEnumKeys, "henumkeys");
ctx->MapObj(hCtx, EvalHEnumTree, "henumtree");
ctx->MapObj(hCtx, "<hctx>");
}
示例2: EvalRTrim
void EvalRTrim(const void *data, qCtx *ctx, qStr *out, qArgAry *args) {
VALID_ARGC("ltrim", 1, 2);
if (args->Count() > 1) {
CStr str = (*args)[0];
if (str.IsEmpty())
return;
CStr toks = (*args)[1];
if (toks.Length() == 0)
out->PutS(str);
else if (toks.Length() == 1)
out->PutS(str.RTrim(*toks));
else {
const char *p, *b = str;
p = b + str.Length() - 1;
while(p >= b && strchr((const char *)toks, *p))
--p;
++p;
out->PutS(b, p - b);
}
} else
out->PutS((*args)[0].RTrim());
}