在C语言应用程序中使用兼容IStream的流

    在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所用的引用计数变量隐藏起来了,以防止误操作。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值