东风冷雪
//大约就是这样
/*
我是在 vs上 ,open函数不能用,你自己编译器看看,应该没有问题。
*/
#include<stdio.h>
int fun(char *fileName, float p[]);
int main()
{
char *fileName;
float p[128];
int sum;
//文件路径
fileName = "D:\\file.txt";
sum=fun(fileName, p);
printf("sum=%d", sum);
return 0;
}
int fun(char *fileName, float p[])
{
FILE *fp; char c;
int num[128] = {0};
int sum = 0,i;
fp = fopen(fileName, "r");
while ((c=fgetc(fp))!=EOF)
{
num[c]++; //统计相同的字符个数
for (i = 0; i < 128; i++)
{
//总次数
sum += num[i];
}
for (i = 0; i < 128; i++)
{
p[i] = num[i] /(float) sum;
}
}
fclose(fp);
return sum;
}