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>