C 파일에서 문자열의 빈도

이 C 프로그램은 텍스트 파일에서 검색된 모든 문자의 발생 횟수를 계산합니다.

예:
텍스트 파일에는 "저는 프로그래머입니다".


찾고 있는 문자: j, s, p, e.
발생 횟수:
    j : 1
    s : 1< / span>
    u: 3
    E: 2

 
#include < stdio.h>
#include < stdlib.h입니다>

void rech_caracteres(char characters[],int size)
{
//읽기 모드에서 파일 열기
FILE *file = fopen("C:/test.txt","r");
char c;
//repeats
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 < size; i++)
{
//같으면 increment
//문자와 관련된 카운터
if(c==characters[i])
repeat[i]++;
}
}
//닫기 file
fclose(file);
//display
printf("반복 횟수:\n");
for(int i = 0 ; i < 크기; i++)
printf("\t%c : %d\n",문자[i],반복[i]);
}
else
printf("\aERROR: 파일을 열 수 없음: %s", file);
}

int main()
{
char string[]="프로그래머";
// sizeof(string)-1: 배열의 크기
// ('\0'을 계산하지 않으려면 -1)
// '\0'은 배열의 끝을 나타냅니다
rech_caracteres(string,sizeof(string)-1);
시스템("일시 중지");
}