c++输出输入流dat与txt有什么区别

图片说明
为什么dat文件改为txt就不会出错了呢,教材上是dat

之后我重新试了一下,如果在项目目录里先建立文件,dat和txt都可以,但是我理解,不是函数自动创建一个文件么???求解释

把sutd.dat文件重命名为stud.txt并用二进制模式读取是没有问题的。
只要用正确的模式打开文件都能正确读取,跟文件名没有太大关系。如果用二进制模式打开文本文件或者用文本模式打开二进制文件都会读取出错

楼主确定是 只改文件名后缀才导致运行结果不一样吗?二进制流打开的话 应该不至于啊。