我的程序有不同的选项:你可以读取二进制文件或文本文件,但是你可以选择二进制文件选项并选择一个文本文件...我怎样才能检测到你引入了一个不正确的文件#39;这样做
while(fich.read((char *)&struct,sizeof(struct)))
答案 0 :(得分:2)
如何在我执行此操作时检测到您引入了错误的文件
简单的答案是:你做不到。
无法区分普通(例如ASCII编码)文本文件和二进制文件。
从文件中读取的任何介绍性字节序列都可能对两者都有效。
这个问题的愚蠢但常见的解决方案是: