我必须在更大的字符串中计算特定 C 字符串的出现次数。我正在使用 strstr() 函数在大 C 字符串中使用 char 指针进行计数和前进。问题是它似乎计数得太少,就像文本的减少速度越来越快,跳过了大块的字符。我正在使用一个名为“x”的 int 类型变量来从左到右“减少”文本,但我不知道分配新值是否存在问题。
int x=0;
while((p=strstr(text+x,triG))!=NULL)
{
v[i]++;
x+=x+3+(p-(text+x));
}
text 是 char* 类型,动态分配。triG 是 char[4] 类型,p 是 char* 类型。