0001 uint32_t* stat(char* sample_text_file, char s, char t) { //统计[s,t)范围内字符的频数 0002 uint32_t* freq = new uint32_t[t-s]; //以下统计需随机访问,故以数组记录各字符出现次数 0003 memset(freq, 0, sizeof(int)*(t-s)); //清零 0004 FILE* fp = fopen(sample_text_file, "r"); //assert: 文件存在且可正确打开 0005 for (char ch; 0 < fscanf(fp, "%c", &ch); ) //扫描样本文件,统计各字符出现频数 0006 if ((s <= ch) && (ch < t)) freq[ch-s]++; 0007 fclose(fp); return freq; 0008 } //stat