/*****************
实现读取文件,并统计每个字符出现的个数
*****************/
#include <stdio.h>
#include <stdlib.h>
unsigned long file_size;
unsigned int frequency_count[512];
FILE* infilepointer;
void get_frequency_count ()
{
for (unsigned int i = 0; i < file_size; i++)
{
frequency_count[getc(infilepointer)]++;
//getc (infilepointer)从文件指针指向的文件读入一个字符
}
}
bool func(const char* infilename)
{
if(( infilepointer = fopen(infilename, "rb") ) != NULL)
{
fseek( infilepointer, 0L, 2);//将文件位置指针指向文件末尾
file_size = (unsigned long) ftell(infilepointer);
fseek( infilepointer, 0L, 0);
get_frequency_count ();
fclose (infilepointer);
return 1;
}
else
{
printf("Error! can't open %s",infilename);
return 0;
}
}
int main()
{
func("C:\\Users\\Pacer95\\Desktop\\12.txt");
printf("%d,",frequency_count[48]);
//这里48是0的ascii值,即打印出12.txt里0字符的个数,想打印哪个字符,改成对应ascii
}
12.txt里的内容
统计出0字符的个数,如图