2.增加数据增加数据要实现的形态:“123456789”+“abc”得到 “123456789abc
3.删除数据,增加数据要实现的形态:”123456789”-“456” 得到“123789
4.改数据,要求“123456789” 34修改为 abc得到12abc 56789
5.查,123456 差34得到34的位置26.重载=实现int转hstring 字符串
回答不易,求求您采纳点赞哦
1.实现字符串的连接可以通过重载加号运算符的方法,例如定义一个类HString,其中实现了字符串操作,然后在类中实现重载加号运算符,比如这样:
HString operator + (const HString &h) const
{
HString newHString;
newHString.len = len + h.len;
newHString.ch = new char[newHString.len + 1];
strcpy(newHString.ch, ch);
strcat(newHString.ch, h.ch);
return newHString;
}
2.删除字符串中的一段可以通过查找删除位置并复制一段新的字符串来实现,例如:
HString del(int start, int end)
{
HString newHString;
newHString.len = len - (end - start + 1);
newHString.ch = new char[newHString.len + 1];
strncpy(newHString.ch, ch, start);
strcat(newHString.ch, ch + end + 1);
return newHString;
}
3.修改字符串中的一段可以通过查找修改位置并复制一段新的字符串来实现,例如:
HString modify(int start, int end, char *c)
{
HString newHString;
newHString.len = len - (end - start + 1) + strlen(c);
newHString.ch = new char[newHString.len + 1];
strncpy(newHString.ch, ch, start);
strcat(newHString.ch, c);
strcat(newHString.ch, ch + end + 1);
return newHString;
}
4.查找字符串中的一段可以使用C++中的strstr函数,例如:
int search(char *c)
{
char *p = strstr(ch, c);
if (p == NULL)
return -1;
return p - ch;
}
sscanf与sprintf,你可以试一下,应该可以,把它转化成字符串就很好弄了
不知道你这个问题是否已经解决, 如果还没有解决的话: