1.C语言读文件的数据和平时你自己测试手打的数据原理一样,只是多了一个打开文件的过程。所以按行不按行神马的不是很重要只要有空白符号能表达隔断就行了,比如space
2.统计数据的个数要么你就把整个文件读完,自己数;如果某个文件中的元素是确定只有一种类型的,那你可以查看该文件属性,文件大小/结构大小=数量
3.和平时手大数据做ACM题目一样,不知道数据大小,通常的做法是用链表了啦,这是数据结构的问题。如果非要用数组,要么就是定义一个足够大的空间,要么就是加上一个冲突处理机制(每当读入的数据量大于当前我准备的空间时,我就重新申请一块空间,然后...)。如果那个文件是你自己写的,那么在写文件的开头你就可以自己先写上数据规模,然后开始存入数据,方便后期使用。
4.malloc是内存里的事情,文件是保存在硬盘的。就好像你写.txt,难道每写几个字就要malloc一个空间?写文件的时候基本不考虑空间够不够的问题。
平时我们运行程序时候弹出的那个小黑框其实就是一个特殊的写文件的地方,他只有当你每次单击回车的时候才会保存一次你的输入到文件,然后让你的程序从文件里得到那些数据得以继续运行。文件读写其实我们从第一个“HELLO WORLD”就开始使用了,所谓的printf()就是写到一个文件里去,然后小黑框读取文件里的信息并处理成我们看到的那个样子。
以上是我对文件读写的理解。欢迎指点