C 文件中字符串的频率

此 C 程序计算搜索的所有字符在文本文件中的出现次数。

示例:
文本文件包含文本 我是程序员”.


你要找的字符:j、s、p、e.
出现次数:
  J : 1
  s:1
  u:3
  E: 2

 
#include
#include

void rech_caracteres(char characters[],int size)
{
//以读取模式打开文件
FILE *file = fopen(C:/test.txt”,r”);
char c;
//保存重复数组
int repeat[size];
//初始化为 0
for(int i = 0 ; i < size; i++)
repeat[i]=0;
//如果文件存在
if(file)
{
//只要不是文件末尾
//读取字符
while((c=(char)getc(file))!=EOF)
{
//读取字符比较
//搜索到的所有字符
for(int i = 0 ; i <大小; i++)
{
//如果相等,increment
//与字符关联的计数器
if(c==characters[i])
repeat[i]++;
}
}
//close file
fclose(file);
//display
printf(重复次数:\n”);
for(int i = 0 ; i < size; i++)
printf(\t%c : %d\n”,characters[i],repeat[i]);
}
else
printf(\aERROR: 无法打开文件: %s”, file);
}

int main()
{
char string[]=程序员”;
// sizeof(string)-1: 数组的大小
// (-1 不计算 '\0')
// '\0' 表示数组的结尾
rech_caracteres(string,sizeof(string)-1);
system(暂停”);
}