C语言中,我定义了一个长度为10的结构体数组,并把该数组存入了二进制文件中,如果是事先不知道文件中

C语言中,我定义了一个长度为10的结构体数组,并把该数组存入了二进制文件中,如果是事先不知道文件中存的数据长度为10,有什么办法可以测得数据长度?

声明一个同类型的结构体变量,反复向这个变量中读文件数据,用一个初值为0的计数变量,读一个数据就为变量增1,直到文件结束,计数变量的值就是长度。如果文件是是按一行一个结构体元素存储的,那就更简单一些,直接读字符,逢'\n'为计数变量增1,直到文件结束,读了几个'\n'长度就是几。供参考……
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-09
可以在开始的位置把长度也一起写下去,读取的时候先读取长度追问

还有没有其他长度?

追答

没有未卜先知是,要不就把长度写到文件名上

本回答被提问者和网友采纳
相似回答