一道关于动态内存分配和文件读取的C++题目

问题描述:
统计一个文本文件(文件名从键盘输入)中字母A-Z分别出现的次数(不区分大、小写),并在屏幕上显示统计结果。

注意:

(1)假设只有N个字节(N为从键盘输入的整数)的内存区域可以用来作为缓冲区存储文本文件中的内容,也就是每次最多只能从文件读取N个字节,如果文件很大,需要分几次才能将完整的文件读完。

(2)应充分考虑最后一次读取时,文件剩下的部分可能不足N个字节。

没有太看明白,既然定死了A-Z,那么可以做一个26元素的数组,分别记录A-Z的互相次数不就可以了吗?
既然用N个字节作为缓存,那就N个进来处理一次,再出来下一次的读入呀?操作系统有自己的缓存的呀,读到EOF就可以终止了。
如果你希望使用动态分配内存,那你可能还得需要realloc扩大分配的内存,因为开始你并不知道自己动态申请多少合适的。
这个取决于你是否需要在内存保留你文件的内容。还是只需要屏幕上显示整个统计结果。

这个问题我回答过
https://ask.csdn.net/questions/763806

采纳留下email,完整代码发给你