为什么Createfile()没有二进制标志

Mar*_*ett 6 c++ winapi

Windows编程的一大好处是记住在所有文件打开调用中放入'wb'或'rb'或ios :: binary,这样Windows就不会快速转换所有的0x13.

我只需要转换一堆很好的标准代码来使用Createfile()来获取某个标志 - 而且我发现没有办法指定二进制文件.
怎么知道的?我真的不希望它改变我的MP4流中的字节谢谢你非常多.

小智 8

因为CreateFile不执行"文本模式"/换行转换.这些都是在更高级别处理,无论是在CRT的FILE还是在C++的iostreams中.


Ger*_*ald 6

就Windows API而言,一切都是二进制的.就个人而言,我更喜欢它.我从不在标准库中使用"文本模式".