ret += ": " + param.substr(tmp, rtmp);
我尝试并搜索了一些有用的东西来大写上面一行的第一个字母(substring),但没有成功。
std::string ret = "stackoverflow";
if(param.length())
{
trimString(param);
size_t tmp = 0, rtmp = param.length();
if(param[0] == '"')
tmp = 1;
if(param[rtmp] == '"')
rtmp -= 1;
ret += ": " + param.substr(tmp, rtmp);
}
它如何运作?
文本
stackoverflow "whatever
输出
stackoverflow: whatever
这就是我要找的东西
stackoverflow: Whatever
答案 0 :(得分:0)
取
ret += ": " + param.substr(tmp, rtmp);
首先,将子字符串提取为临时变量,然后将第一个字母大写:
std::string s=param.substr(tmp, rtmp);
s[0]=toupper(s[0]);
ret += ": " + s;