在C++、Delphi等高级语言应用程序中,使用流进行输入输出操作已经成为了不可缺少的部分。长时间用惯了Delphi,偶尔用一下C,总觉得直接使用文件函数和内存管理函数很不方便,于是便写了几个C语言流函数,考虑到有时要用到接口流IStream,如我在《在C语言Windows应用程序中使用GDI+》介绍的C语言GDI+图像操作函数就用到了IStream,所以便修改成了本文介绍的内容。
下面是是我用C写的有关流的结构和函数代码文件,文件中与流操作无关的内容都进行了删除:
定义头文件:
通用的文件和内存管理函数代码文件:
流函数代码文件(包括IStream、文件流、内存流及资源流函数代码):
由于前面的头文件中对各个函数的功能、参数、返回值及注意事项都作了较详尽的注释,所以本文只作代码展示得了。
需要说明的是本文代码只适用于Windows应用程序,而且代码测试也只是在BCB2010中进行的。
下面给出一个简单的Windows应用程序测试代码:
代码中分别使用了3种流进行IStream测试,其中也用到了C语言版的GDI+函数(见《在C语言Windows应用程序中使用GDI+》),必须在工程中加入Gdiplus.lib(BCB2010自带)。
使用资源流测试时,还需要写一个资源文件加入到工程中,下面是一个简单的RC文件:
代码使用过程中,如有错误,或者你有好的建议,请发送邮件到我的信箱:maozefa@hotmail.com
最后祝各位春节后工作愉快顺心!!!
后记(2010.3.10 11:40):对本文代码作了一些修改,主要是将IStream所用的引用计数变量隐藏起来了,以防止误操作。