我无法弄清楚在 C++ 中的大写字母字符串中添加空格的过程。如果我有一个字符串“HelloWorld”,如何将其转换为“Hello World”?
我试过使用子字符串和 isupper 函数,但我什么都做不了。
编辑:这是我的代码。我不明白为什么 in = newname 不是有效代码。
string breakStringAtCaps(string in) {
string newname[10];
int j = 0;
for (int i = 0; i < in.size(); i++) {
if (isupper(in[i]) && i != 0) {
newname[j] = " ";
j++;
}
newname[j] = in[i];
j++;
}
in = newname;
return in;
}
最佳答案
你可以这样做:
string breakStringAtCaps(const string& in)
{
string newname;
for(int i = 0; i < in.size(); i++)
{
if(isupper(in[i]) && i != 0)
newname += " ";
newname += in[i];
}
return newname;
}
关于c++ - 在 C++ 的某些地方向字符串添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295756/