我正在尝试编写一个获取字符串的程序,并计算在特定文件中找到该字符串的次数。
该文件目前是:你好我的名字你好是oria我喜欢你好编程
我数的词是你好。
这是我的代码
int num_of_words(FILE* stream,char* str)
{
int count=0,i=0,length;
char c;
rewind(stream);
length=strlen(str);
do
{
c=fgetc(stream);
while(c==*(str+i))
{
c=fgetc(stream);
i++;
if(i==length)
{
count++;
i=0;
}
}
i=0;
}while(c!=EOF);
return count;
}
这个想法是有一个特定的索引称为 i,只有当字母之间存在匹配时它才会前进。如果我达到了字符串的长度,则意味着我们连续找到了所有字母,我将计数加一。
由于某种原因,它总是返回零。