C++ 将符号插入C+中*字符类型的数组中+;

C++ 将符号插入C+中*字符类型的数组中+;,c++,arrays,string,C++,Arrays,String,根据我的任务,我需要创建一个类的方法,它允许我在字符串中的每五个符号之后插入符号“+”(在我的例子中是*字符数组) class String { private: char* st; public: int length; int get_length(); //method for finding length of the string char* insert_plus(); }; char* String:: insert_plus() { in

根据我的任务,我需要创建一个类的方法,它允许我在字符串中的每五个符号之后插入符号“+”(在我的例子中是*字符数组)

class String
{
private:
    char* st;
public:
    int length;
    int get_length(); //method for finding length of the string
    char* insert_plus();
};

char* String:: insert_plus()
{
    int i = 0,
    k = 0;
    int length_origin = get_length();

    while (get_length() < length_origin + k )
    {
        if (i % 5)
        {
            st.insert(i, '+');
            k++;
        }
    }
    return st;
}
我知道st不是一个类,但我在MSDN上读到这是插入符号的正确方法。所以请帮我解决这个问题。
请不要对我苛刻,我只是在学习。

st
声明为
字符串
类事件:

string st;
现在您可以使用字符串类成员函数,如
string::insert()

然后使用
string::c_str()
为return语句获取st的char*值

return st.c_str();
<>我没有“长时间”讲C++,检查C.STR最终参数的在线文档。

注意:如果尚未包含,请不要忘记包含字符串类头文件:

#include <string>
#包括

你在哪里读到这种东西的?你能发一个链接吗?可能是关于
string
,而不是
char*
?比char数组中的复杂一点。可能最简单的方法是创建一个新数组,比第一个数组大以容纳额外的“+”,并从源数组中复制五个以上的字符,放置一个加号,再复制五个字符,等等。。。直到完成。然后删除源数组并替换为新数组。您是想自己实现一个字符串类作为学习练习,还是只想使用一些字符串?(在后一种情况下,只需使用
std::string
)如果您想创建自己的字符串,请使用
size\u t
来存储大小。除了您要问的问题之外,我认为您应该检查您的整个逻辑:(1)您的while循环不会运行一次(
length\u origin
等于
get\u length()
,并且
k
为零,因此
get\u length
不能是
length\u origin+0
)。(2) 并且
0模5
变为零,你的条件代码不会运行,所以因为你从来没有递增
i
你有一个无限循环,什么都不做。
#include <string>