您的位置:首页 > 其它

windows API读写二进制文件

2015-12-21 10:05 489 查看
其实,如果你学习过C语言的话,直接用 stdio.h

中函数是最简单的,也就是使用 fopen( "xxxx.xxx", "rb" ); 然后再调用 fread/fwrite; 关闭时调用 fclose 就可以了。

如果使用 Windows Native API 中的 CreateFile, 是不需要区分什么二进制不二进制的,只要此函数的返回值不是 INVALID_HANDLE_VALUE, 就可以继续使用 ReadFile/WriteFile 来进行读写,最后再用 CloseHandle 来关闭。这在 MSDN 的 "Platform SDK: Files and I/O" 中直接有例子。

再深入一点说,stdio.h 中 fopen 时所谓的 "rb" 或 "wb" 的 "b" 即二进制模式,与文本模式("t")的区别仅仅在于对于是否解析 0x0D & 0x0A (回车和换行符)而已,这主要表现在 fgets / fscanf 之类要对字符串进行操作的函数上,事实上即使用 "b" 方式调用 fopen 后 fgets/fscanf 等函数也是可用的。如果不涉及字符串,"b" 和 "t" 没有多大的差别。

什么是二进制:

通用二进制程序就是一个包,Bundle,又译束,是Mac OS X系统中一种应用程序格式,实际上是特殊的文件夹可以直接双击来运行,文件夹中包含主程序、各种资源、文档和帮助文件等,使得Mac OS X中的软件一般无需安装,复制到硬盘上即可运行,且易于本地化和国际化。Carbon和Cocoa是两种Mac平台的应用程序框架(类似于MFC、VCL、GTK+、Qt等),前者能兼容Mac OS 8-9的API,因此能够生成可以运行于Mac OS Classic和OS X的应用程序,后者则只能生成OS X程序,但可能能够运行于IBM PowerPC RISC芯片和Intel x86 CISC芯片两种构架的Mac OS X系统中,即Universal Binary ——通用二进制程序。]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: