【发布时间】:2018-12-12 08:50:50
【问题描述】:
我试图在 string1 中计算 string2 存在的次数。例如: string1 = abababd。 字符串 2 = ab。 结果:3。
(我必须为这个问题使用指针)
到目前为止我所拥有的:
int mystr(char* s, char* t) {
int counter = 0;
int length = strlen(t);
while (*s != '\0')
{
char d[] = *s.substr(0, 2);
if (*s == *t)
counter++;
*s += length;
}
return counter;
}
我不断收到问题: 此行的表达式必须具有类类型: char d[] = *s.substr(0, 2); 有人可以帮忙吗?
【问题讨论】:
-
s是一个指向char的指针,它没有任何substr方法,你显然把它误认为std::string -
你也不能像那样初始化一个数组
-
子字符串可以相互重叠吗?
"aba"在"abababd"。 -
auto d = std::string_view(s, length).substr(0, 2);? -
我是 C++ 新手。那我应该怎么初始化呢?